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

... 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
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.
Chapter
In last years, more and more cloud providers are making great efforts to offer personalized services that fully match customers’ needs. However, it is not always easy because of the maturity level that requires their customization capabilities in order to design, implement, operate and improve personalized services. Furthermore, there is a lack of tools to help cloud providers to understand what is the current maturity level of their customization processes and the path to improve them. In this context, this work presents our progress for building a maturity model for the customization of cloud services. The model is proposed from a literature review in the area and two interviews to industry experts. The model, that includes two dimensions (customization capabilities and maturity levels) aims at helping researchers to develop new contributions in this research area and practitioners to develop their customization capabilities.
Conference Paper
Software-as-a-service (SaaS) has received significant attention from software providers and users as software delivery model. Most of the existing companies are transferring their business into SaaS model. This intensely competitive environment has imposed many challenges for SaaS developers for the development process. SaaS development is a very complex process and SaaS success depends on its architecture design and development. This paper identifies important key factors from literature and provides guidelines for SaaS developers to support these factors in SaaS architecture development process. Ultimately, it will be beneficial for SaaS developers to improve the development process of SaaS application.
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.