Figure 4 - uploaded by Sungwon Kang
Content may be subject to copyright.
Conceptual architecture for SaaS platform 

Conceptual architecture for SaaS platform 

Source publication
Conference Paper
Full-text available
In this paper, the conceptual architecture of a SaaS platform that enables executing of configurable and multitenant SaaS application is proposed. Even though most of organizations utilize a standardized SaaS application developed by a SaaS developer, each of tenants would have unique requirements regarding service components. The platform provides...

Context in source publication

Context 1
... them at the development stage. A tenant ‟ s (configuration) manager can add or delete role sets based on initial roles that SaaS application developer created. The tenant manager also can set a number of authority levels for accessing data model and assign them to each role sets in the organization. After the tenant manager sets a certain authority level for a role, the SaaS platform checks the authority when data model is accessed or service is requested by the tenant user. For example, company ‟ s secure data can be accessed by executives but not by employees. Data that are not opened to suppliers are not seen through supplier ‟ s UI page. Some of workflow such as payroll process cannot be activated by a support division member. 2.2.2. User Interface. Configuration of user interface is to change look and feel of the UI. Tenant manager can change colors of component in UI pages, restructure page layouts, add/delete hyperlinks, or add UI component to show additional data model. Moreover, it is possible to differentiate service components based on different role sets of an organization. Meanwhile, it is important to consider the impact of the change of a component to other aspects. For example, if a new data field is added to any data object, a new column is added in a grid UI component that shows fields of the data object. Similarly, if any data object is deleted from the database, UI page for manipulating the data object is also to be inaccessible. 2.2.3. Data Model. Configuration of data model means the ability to add/delete data object, to add/delete data fields in existing data object, and to change the field name, type, and so forth. Tenant manager can access DBMS of the platform and manage data model of SaaS software. Additionally, the tenant manager can configure access authority of role sets for each data model and data field based on defined authority levels. 2.2.4. Workflow. Since different organizations have unique organizational structures, decision making process, or business rules, workflows designed by application developer should be configured by each tenant. Using the Process Designer tool, the tenant manager can configure various components of business process in terms of workflow, activity type, and business rules. 2.2.5. Business Logic. Business logic is main functionalities of business applications that handle information exchange between a database and a user interface. For example, core business logics of CRM application are „ get list of all customers information ‟ , or „ add all sales together ‟ and of email application are „ reply email to sender ‟ , or „ list address information ‟ . Therefore, fully tenantized business configuration can transubstantiate the purpose of the original application. Nevertheless, we sometimes are asked the tenant ‟ s requests to add new business logic. In this case, tenant manager can create a simple business logic using template class. This class provides several methods to manipulate data model and to return results of arithmetic operations on data in a database. Then, the generated business logic is dynamically loaded on the platform and being serviced via tenant specific URL. Then, the tenant manager creates new UI page and associates with the page and the URL. Since we provide SaaS application for multiple tenants with single service instance, the platform architecture needs to enable self configuration by tenants without changing the SaaS application source code for individual tenant and runtime configuration not to suspend service during the configuration. Metadata driven architecture by Salesforce.com [9] provides solution for self- and runtime configuration of SaaS application. Figure 3 shows the concept of metadata driven architecture. In this architecture, every aspects of SaaS application that are configurable by tenants are stored in metadata database. When a tenant manager configures some aspects of SaaS application, configured information is stored separately in tenant-specific metadata. Runtime engine generates polymorphic application for individual tenant using application codebase and tenant-specific metadata at runtime. Through the polymorphic application, tenant users feel as if they are using their own business application while service instance is shared by every tenant. Even though application data are shared, they are kept secure because the polymorphic application for individual tenant accesses application data independently via optimized query for each tenant. In this paper, we applied metadata driven architecture to achieve multitenancy with single service instance. While Salesforce.com developed their on-premise solution, we adopted open source software. The proposed SaaS platform provides SaaS Application execution environment that serves multiple tenant using a single service instance. To do this, the platform is composed of several key components – configurator, runtime engine, metadata management system, and so on. Figure 4 depicts the conceptual platform architecture for the SaaS platform. Detailed descriptions of the components of the target platform are given in following subsections. Tenants can use SaaS services through a web browser. Enterprise portal provides a workflow application and interfaces to various business applications. When the web browser sends HTTP request, the Tomcat Application Server provides the web application developed in ExtJS based Javascript library and responds to JSON request of the web application. Configurator is an ExtJS based web application used by the tenant manager for configuring various aspects of SaaS application. Configurable aspects in this platform are UI pages, organizational structure of the tenant, data models, workflows, and business logics. Configurator provides a drag-and-drop interface to configure a given web page by arranging ExtJS containers and components in the web page. Moreover, tenant manager can create new web page with various ExtJS containers and components. In the platform, each container and component has unique ID. IDs of container and component that compose a certain web page are stored as UI metadata with a page. When the web page is requested by a tenant, the web page is dynamically generated with the metadata and associated application data. Configurator provides a graphical user interface to configure data model and organizational structure and access authority. Using the configurator, like a database client program, the tenant manager not only is able to view data object and its data fields but manipulates their information and access policy. Configuration of workflows and business logics can be done by a design interface of the configurator. Using the interface, the tenant manager can modify a workflow with several features – rearranging order of activities, changing assigner of an activity, and so on. The tenant manager can compose new workflow with predefined activity types. The tenant manager can add new business logic with the designer as well. One of the activity types is performing database operation. The tenant user can create new business logic by composing a simple workflow with a database operation that processes business logic tenants need. After composing the business logic, it is compiled and deployed in the platform with an accessible URL. By the UI configuration feature, the tenant manager can make new UI page for the new business logic. The SaaS application that operates on the proposed SaaS platform is one packaged business application with web-based user interface to multiple tenants. The purpose of business application such as CRM, ERP, or Groupware is processing business transactions and collaboration among tenants ‟ users with business data in DBMS as the center. The three tier architecture is promoted for operating business application as Figure 1. Configured aspects of SaaS application by the tenant manager are stored as metadata in the metadata database. While, codebase developed by the application developer is stored in the application database. Runtime engine plays a role in generating tenant specific application using codebase and metadata. Followings are subcomponent of runtime ...

Similar publications

Article
Full-text available
Cloud computing has made revolution in next generation information technology. In cloud, everything is provided as subscription based service. Multi-tenancy is an emerging field of research in cloud computing. Scaffolding is a platform, in which, the programmer can specify how application and database can be used. A design for virtual scaffold to a...
Article
Full-text available
The extraction of useful information from data is often a complex process that can be conveniently modeled as a data analysis workflow. When very large data sets must be analyzed and/or complex data mining algorithms must be executed, data analysis workflows may take very long times to complete their execution. Therefore, efficient systems are requ...

Citations

... Support SaaS customization with two-layer database partitioning at the top level, there is a partition for each tenant, Lower level, a larger component for column partitions. In [13] they designed Conceptual architecture of a SaaS platform to Executing of configurable and multitenant SaaS application. Author in [14] they overviewed the multitenancy architecture it increased utilization of hardware resources and improved ease of maintenance. ...
... Sungjoo kang et.al. [11] have proposed a conceptual architecture for multi-tenant SaaS application. They articulated that, every tenant have unique service components based requirement. ...
Chapter
Full-text available
Cloud computing has made revolution in next generation information technology. In cloud, everything is provided as subscription based service. Multi-tenancy is an emerging field of research in cloud computing. Scaffolding is a platform, in which, the programmer can specify how application and database can be used. A design for virtual scaffold to access multi-tenant data model is presented in this paper. It is a composite assemblage of Software-as-a-Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). The motivation behind this virtual scaffolding is to address the concerns of cloud skeptics, by designing, a virtual multi-tenant data center, which will help the tenant to easily deploy data and perform Create, Read, Update, and Delete (CRUD) operations. The resulting solution for each and every tenant after CRUD operations is stored in virtual storage container as eXtendable Markup Language (XML) documents. To sum up, an end-to-end virtual scaffold for multi-tenant data model is presented, which will be a compendium for researcher. CHAPTER-11 179 Advanced Engineering Research and Applications
... Sungjoo kang et.al. [11] have proposed a conceptual architecture for multi-tenant SaaS application. They articulated that, every tenant have unique service components based requirement. ...
Article
Full-text available
Cloud computing has made revolution in next generation information technology. In cloud, everything is provided as subscription based service. Multi-tenancy is an emerging field of research in cloud computing. Scaffolding is a platform, in which, the programmer can specify how application and database can be used. A design for virtual scaffold to access multi-tenant data model is presented in this paper. It is a composite assemblage of Software-as-a-Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). The motivation behind this virtual scaffolding is to address the concerns of cloud skeptics, by designing, a virtual multi-tenant data center, which will help the tenant to easily deploy data and perform Create, Read, Update, and Delete (CRUD) operations. The resulting solution for each and every tenant after CRUD operations is stored in virtual storage container as eXtendable Mark-up Language (XML) documents. To sum up, an end-to-end virtual scaffold for multi-tenant data model is presented, which will be a compendium for researcher.
... More IT resources are deployed in enterprise infrastructures (the IT infrastructure consists of hardware and software resources). At present, PaaS platforms provide users with the fundamental services of software development and research in the SaaS manner, in order to satisfy their changing business requirements[1,2,3,4,5]. Under this situation, although PaaS applications can be used to create enterprise applications in SOA architectures[6,7,8], there are drawbacks in building business systems on PaaS platforms[9]: (1) The requirement that integrates diverse types of business into an enterprise management system cannot be satisfied by the PaaS platforms; (2) The existing IT infrastructures in enterprises cannot be fully protected or utilized; (3) The task schedulers cannot fully utilized CPU resources based on the characteristics of applications and CPU architectures. ...
Article
Full-text available
This study proposes a novel multi-granular application management platform between PaaS and IaaS layers that uses application virtualization techniques. A multi-core-aware parallel scheduling model is then investigated on the platform. Assisted by fine-grained application units, new functions can be created by combining the application units in different granularities based on business requirements. The multi-core-aware parallel scheduling model was developed to process application requests, and not only increases system flexibility and applicability but also improves fine-grained computing resource allocation, resource utilization of the fundamental infrastructure, and system throughput.
... Configuration objects in SaaS can be studied under three different aspects which are user interface, work flow and access control as explained in detail next. 1) User Interface (UI): Configuring UI refers to changing its look and feel [11], [21], [22]. Typically this include: pages layout, theme, titles, fonts, add/delete hyperlinks, etc [11], [21]-[23]. ...
... 2) Workflow: A workflow includes a set of activities, business objects, roles and rules that are unique to the organization. Changing the workflow may change the application behaviour [11], [22]. 3) Access control or (organization structure): This includes both the account type and the allowed accessible resources for it. ...
Conference Paper
Full-text available
Enterprise resource planning (ERP) systems are the organizations tickets to the global market. Thus, organizations can manage and coordinate all functions, processes, resources and data from different departments by a single software. However, many organizations consider the cost of traditional ERP is expensive and look for alternative affordable solutions within their budget. One of these alternative solutions is providing ERP over a software as a service (SaaS) model. A key feature of any SaaS system is the multi-tenancy architecture where multiple customers (tenants) share the system software. However, the SaaS developers accommodate each tenant’s unique requirements by allowing tenant-level customization or configuration. While customization requires source code changes and in most cases a programming experience, the configuration process allows user to change many features within a pre-defined scope in an easy and controlled manner. Although literature provides many techniques to accomplish the configuration process in different SaaS systems, the nature and complexity of SaaS ERP are merely described in previous researches. Thus, this research is built on strong knowledge regarding the configuration in SaaS to define specifically the configuration borders in SaaS ERP and to design a configuration service with the consideration of the different configuration aspects.
... Proposed conceptual architecture of a SaaS platform that enables executing of configurable and multitenant SaaS application. In their paper they explained what are the different objects that can be configured in an ERP systems: organizational structure where the tenant's manager can change the role sets based on initial roles that SaaS application developer created; user interface is to change look and feel of the UI; data model means the ability to add/delete data object, or to add/delete data fields in existing data object; workflow allows the tenant manager to configure various components of business process in terms of workflow, activity type, and business rules; business logic allows tenant the manager can create a simple business logic using template class [15]. Also they proposed an architecture based on metadata where each tenant can have its own specific metadata. ...
Article
Full-text available
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS provides software application as Web based delivery to server many customers. This sharing of infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs, minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is generally developed with standardized software functionalities to serve as many customers as possible. However many customers ask to change the standardized provided functions according to their specific business needs, and this can be achieve through the configuration and customization provided by the SaaS vendor. Allowing many customers to change software configurations without impacting others customers and with preserving security and efficiency of the provided services, becomes a big challenge to SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures allow multiple customers to be consolidated into the same operational system without changing anything in the vendor source code. In this paper, we will present how the configuration can be done on an ERP web application in a Multi-Tenancy SaaS environment.
... The common SaaS maturity levels are Ad hoc/custom, Configurable, Multi-Tenant, and Scalable. Paper [11] decides the axis of maturity model as the core criteria for measuring the degrees of evaluation: service component axis and maturity level axis. ...
Article
Full-text available
This paper proposes a SaaS (Software-as-a-Service) maturity model, and proposes an intelligent SaaS framework. The SaaS maturity has two dimensions. Traditional SaaS for business computing can also be extended to include intelligent behavior by having ontology to describe metadata of those data used in SaaS. Then, this paper proposed a new SaaS architecture SmartSaaS, and illustrate its key features. Finally, a conceivable architecture of implementation and technology roadmap were given.
... In [11] they defined Multi-layered customization framework supporting continuous testing and recoverability. In [12] [29] author they Executing of configurable and multitenant SaaS application. In [13] they depend on Multi-tenancy is increased utilization of hardware resources and improved ease of maintenance. ...
Article
Full-text available
Technology Building a SaaS with existing technology is hard new software technology, useful for both business and education purposes Business can be easily adopted in several domains, such as Healthcare, education and OA (Office Automation). SaaS application gave many aspects of business management. For that it became available and using in many domains. It will be needed to realize customer's requirements from design to runtime. Wherefore the modeling issue is very important for SaaS application. We will follow model driven architecture for mapping from source of model to the target of the model. In this paper we described new model for SaaS application to simplify management. By benefit from meta-model and type graph we dynamically generated instances to our model. And showed two cases study first bank system to show the need of autonomic management for SaaS application and the other SaaSHER to describe the new model for SaaS application.
Article
Full-text available
As a software delivery model, Software as a Service (SaaS) has attracted considerable attention from software providers and users. Most traditional companies are shifting their businesses to an SaaS model. SaaS development is a very complicated process and its success depends on architectural design and development. A Manufacturing Execution System (MES) was used at the expense of licensing fees for features not used in the On-Premise environment, although the features used vary depending on the manufacturing environment. In an SaaS environment, MES is applied with a function-specific container approach through a Microservice Architecture (MSA) to select and employ only the necessary functions. Furthermore, as the number of customers of virtualized applications increases in SaaS-based services, complexity and operating costs increase; thus, Multi-tenancy Architecture (MTA) technology, which serves all customers through a single instance of the application is crucial. Thus, in this study, we investigate the MTA approach and propose a suitable MTA for the manufacturing execution system. Real-time response is crucial to achieving a cyber-physical system of digital manufacturing in SaaS-based MES. Furthermore, SaaS-based big data analytics and decision-making cannot meet the needs of numerous applications in real-time sensitive workplaces. In this study, we propose an SaaS-based MSA/MTA model for real-time control of Internet of Things (IoT) Edge in digital manufacturing (SaaMES), an architecture of SaaS-based MES with MSA and MTA to meet vulnerable workplaces and real-time responses in Cloud environments. The analysis is used by applying the Autoencoder and Generic Adversarial Networks analysis model to IoT Edge for the connection between the Cloud environment and work site to enable real-time response and decision-making through communication using OPC-UA and small-scale analysis.