Developing an Automatic Software Updater for the Client-Side of Software as a Service (SaaS)

One business model that depends on the existence of the technique of distributing applications through the internet is Software as a Service (SaaS). The Software as a Service (SaaS) model has shortcomings in the customizability aspect, because all users use the same application. This customizabil...

Full description

Saved in:
Bibliographic Details
Main Author: Pintara, Daniel
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/40187
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:One business model that depends on the existence of the technique of distributing applications through the internet is Software as a Service (SaaS). The Software as a Service (SaaS) model has shortcomings in the customizability aspect, because all users use the same application. This customizability aspect can provide a higher value for the application because it can answer more specific needs of the user. However, when the client-side of Software as a Service (SaaS) is developed as a customizable application, it needs a distribution system that can handle these problems. This final project discusses the development of an automatic update system for customized client-side applications in Software as a Service (SaaS). The challenge that needs to be considered in developing this system is how to distribute applications, ensure the application version installed, and ensure that the modules in the application are predictable. This final project provides a solution on how to answer these problems by developing various system entities that interact with each other to achieve this. There are four components built, namely the Control Server to store information about the latest updates, the Repository Server to store the contents of the update, the Developer Tool to assist in making updates, and the Agent to apply updates to the user’s device. Testing and implementation of this final project is carried out in the React Native environment. The results of the testing of this final project indicate that the application update system proposed in this final project answers the problems that have been formulated previously. The update system can distribute applications using the Repository Server and the Agent. Application developers can specify the application version of a particular group of applications using the channel. This solution also ensures that the modules installed are predictable by utilizing the Merkle Tree data structure.