Abstract:
Serverless Computing is a new approach to cloud computing in which the cloud provider
dynamically manages the allocation of machine resources. The recent trend in writing
serverless applications mainly addresses the web as well as other data-driven and eventdriven distributed applications which frees developers from maintaining a server. Developers
just focus on the application logic in developing applications. Data management is the
foundation of high-quality data-driven serverless applications in use today. Such data-driven
applications are used on multiple devices, over a variety of connections and it is essential to
offer a consistent user experience across different connection types. Particularly, the growing
number of these serverless applications that allow activities such as messaging, commenting
and collaboration present users with updated information using real time ability.
Consequently, design and implementation of behavior of such serverless applications is very
complex especially when data is shared among multiple users. To target this issue, this
research introduces UMSDA (Unified Modeling Language Profile for Serverless Data-driven
Applications) which adapts the concept of UML Class Diagram, Object Diagram and State
Machine Diagram to model the frontend and backend requirements for data-driven serverless
applications at high abstraction level. To resolve the complexity of application behavior,
backend requirements containing data store and sync concepts are modelled in UMSDA. For
integration of data with the view layer, UMSDA covers the frontend requirements including
the user interface and data binding. As a part of research, a complete transformation engine is
developed using Model-to-Text approach to automatically generate frontend and backend low
level implementations of Angular 2 and GraphQL respectively from high level source
UMSDA models. Finally, the validation of this research work is presented through two case
studies: 1) Real-time Chat Application and 2) Weather Forecast Application, deployed on
AWS (Amazon Web Services) Serverless platform. The outcomes prove that the proposed
framework allows the modeling of both frontend as well as backend requirements of datadriven serverless applications with simplicity. Furthermore, a transformation engine is
capable to automatically generate the deployable Angular 2 and GraphQL code. Finally, it
has been concluded that the proposed framework greatly simplifies the design and
implementation complexity of data-driven serverless applications to achieve certain business
objectives like productivity and time to market.