Sei sulla pagina 1di 11

ENGINEER - Vol. XXXXVI,, No. 03, pp.

[page range], 2013


The Institution
ENGINEER of Engineers,
- Vol. XXXXVI, Sri Lanka
No. 03, pp. [21-31], 2013
The Institution of Engineers, Sri Lanka

A Multi-tenancy Aware Architectural Framework for


SaaS Application Development
W. N. T. de Alwis and C. D. Gamage

Abstract: In the era of cloud computing, multi-tenant based Software as a Service (SaaS)
applications have been widely identied as the next generation of cloud applications. SaaS allows
multiple user organizations to customize an application in a reliable and secure manner. However,
this customization is a complex and error prone exercise. In response, researchers and practitioners
have come up with SaaS architectures based on frameworks, platforms and modelling approaches to
ease the complexity of SaaS application development. However, these methods and tools have not
focused on aspect of development methodology being tuned to support long-term maintenance of the
SaaS application.

This paper presents an architectural framework for SaaS application development that incorporates
long-term maintenance requirements arising from multi-tenancy of the application. It consists of a
methodology coupled with a tool chain, which brings multi-tenancy aware features to develop SaaS
solutions that meet critical architectural requirements. It also includes a UML 2.0 based Prole named
SaaSML for designing of main components, a skeletal framework to position these components and a
methodology for benchmark evaluation of key design criteria.

Keywords: Multi-Tenant SaaS web application, SaaS Framework, Software Architecture tools,
UML based modelling tool

1. Introduction software running on the vendors servers,


serving multiple tenants. With a multi-tenant
Software as a Service (SaaS) business model is architecture, a software application is designed
impacting the software industry on how to virtually partition its data and conguration
customers acquire business functionality and so that each client organization works with a
solutions [1]. In this model, application customized virtual application instance. Multi-
functionality is delivered through an online tenancy may be the most signicant paradigm
subscription model. A customer does not take shift that an architect accustomed to designing
ownership of the software, but instead rents a isolated, single-tenant applications has to make
total solution that is delivered remotely. SaaS in the era [5]. This requires an architecture that
has been widely identied as the next maximize the sharing of resources across
generation of cloud applications [1]. This allows tenants, but that is still able to differentiate data
multiple users of dierent organizations belonging to different customers.
(Whom we call as tenants) to use the same
software in a reliable and secure manner. Users In single-tenant software, challenges like
will be given the liberty to customize the conguration and versioning are solved by
application according to their needs by creating a branch in the development tree and
changing user interfaces, work-ows and deploying a separate instance. In a multi-tenant
business processes [2]. With the SaaS model, software, this is no longer acceptable, which
customers can reduce up-front support costs; means that features like these must be
because they no longer need to support integrated in the application architecture,
multiple platforms and versions [3]. The end which inherently increases the code complexity
users customized solution is hosted over the and therefore makes maintenance more
Internet giving customers the opportunity difficult [3]. Wrong architectural choices might
access the service on demand basis [4].
W. N. T. de Alwis, MSc (Moratuwa), BSc (Hons)
For SaaS architectures, multi-tenancy is Information Systems (MMU), attune Lanka (Pvt) Ltd,
considered as the main design principle when Colombo, Sri Lanka
developing SaaS software [5]. Multi-tenancy Eng. (Dr.) C. D. Gamage, PhD (Monash), MEng (AIT),
BSc Eng (Hons) (Moratuwa), MIE(Sri Lanka), CEng,
can be dened as a single instance of the
University of Moratuwa, Moratuwa, Sri Lanka

1 ENGINEER
21 ENGINEER
degrade the quality attributes of the multi- common services is discussed to help Software
tenant SaaS application over its evolution. Engineers to design and develop a high quality
native multi-tenant application more eciently.
Due to the essential requirement to guarantee
2. Related Work service quality with high share eciency, this
paper presents approaches and principles to
Software Architects from Microsoft and support better isolations among tenants in
Salesforce.com have said that meta-data driven many aspects such as security, performance,
architectures are the core logic that gets applied availability and administration [9].
within multi-tenant SaaS applications [5], [6], Implementation and deployment viewpoints of
[7]. Within a layered architecture of a SaaS web framework are not described fully.
application, the components within each layer
can be conceptually virtualized into tenant Development of SaaS architectures can be done
compartments and they will be governed by through custom SaaS platforms following
tenant specic and shared meta-data based Service Oriented Architecture (SOA) style [10].
XML or runtime specic objects. Salesforce.com SOA requires loose coupling of services, which
allows changing application behaviour in the requires extensive planning and analysis to be
runtime by changing some of these meta-data done by the Software Architect to ensure the
structures. Changed eects can be felt right SOA components and constructs to be
immediately to tenant users through this. placed to get a high degree of performance,
scalability and security [10], [11].
Force.com provides Software Engineers to build
SaaS based applications on Force.com platform An SOA based framework on a series of model
to deliver robust, reliable, Internet-scale engines, model templates, and model
applications. The design concepts used with the description les can be used to come up with a
Force.com platform were derived from over ten multi-tenant architecture using modelling as an
years of development on Salesforce.com approach [12]. Here the execution platform and
application where millions of tenants make use the core engine remains as the core modules of
of Customer Relationship Management (CRM) the architecture. Execution platform is mainly
features [6]. Force.coms foundation is a for service execution management and core
metadata-driven software architecture that module engine is the core business and
enables multi-tenancy to meet the extreme controlling layer for managing models. Once an
demands of its large user population. But it is end user organization gets registered, a model
considered as one of the most expensive cloud description le will be created and saved.
platforms out there. Model description les will contain SaaS multi-
tenant-aware features on dierent layers.
A SaaS platform called ApprendaCloud, Mainly XML based model description les are
developed by Apprenda, Inc. allows used to describe the menu details per user and
Independent Software Vendors (ISVs) to Extensible Stylesheet Language
transform a Microsoft .Net based single tenant Transformations (XSLT) engine is used to
web application to a multi-tenant web generate HTML. Based on versions of this
application [8]. This platform allows a model description les, SaaS features will get
mechanism to support development and active on certain tenants. As the number of
distribution of applications in the SaaS model. tenants increase, the complexity of the model
It contains an ApprendaCloud SDK that can be description les will increase and maintenance
integrated with Visual Studio as the IDE to will become more dicult in the long run.
develop SaaS solutions. Tight vendor lock-in
from data and application is a major limitation An approach name vSaaS in iVIC platform,
within ApprendaCloud. which is considered a virtual computing
environment for Hardware as a Service (HaaS)
Some ISVs have extended their web application is proposed for SaaS applications [13]. The
frameworks to support SaaS features and they required software is deployed on iVIC platform
would act in similar nature the Application to ensure it is accessible through remote
Service Provider (ASP) model based web streaming approach. The disadvantage of this
applications. This paper explores the approach is that only standard software is
requirements and challenges of the native provided to all users with no customization
multi-tenancy pattern for SaaS applications [9]. options. Remote streaming applications tend to
A framework with a set of multi-tenancy based take more bandwidth compared to HTTP based

ENGINEER
ENGINEER 2
22
web applications. Limitations within virtualize Extend ASP ISVs extend their
platform may bring in scalability issues for based web frameworks to support SaaS
individual software installed. As for this report, application features and they would act
remotely installed software virtualization will framework in similar nature of the ASP
not be taken into consideration. model base web
applications. With
Web Services Conversation Language (WSCL) evolution, such applications
is used to express the views of tenants within collapse as the requirements
SaaS applications [14]. Here the business logic from different tenant
can be described in a conversation manner and increase during the
the model used is composed of a business production stage. The main
model and tenant model. The two parts reason is that the
involved in the conversation have the same foundation of such
interaction; but individualized operations. architectures was not
Through guidelines in the conversation targeted towards SaaS
manner, WSCL expresses the procedure for multi-tenant principle.
obtaining the relevant tenant model and Standard Provide a SaaS solution for
business model in the runtime. As the tenant software users to access software
needs increase, changes to the models will remotely transparently without
impact on the WSCL les. This will make streamed over considering hardware or
maintenance a dicult engineering task. virtualized software installation and
environment configuration. OS level
Summary of the SaaS application development (iVIC platform) virtualization and remote
architectural approaches are discussed below in display technologies are
Table 1. used. Only standard
Table 1 - Summary SaaS Architecture software is provided to all
development approaches users with no customization
Approach Description options.
SaaS purpose Acts as a powerful web Model driven WSCL is a XML based
built platforms server with a platform API, architecture modelling notation used to
(Eg: Force.com) for SaaS application express the views &
development. They business logic of tenants in
circumvent SaaS a conversation manner [14].
architectural challenges. As the tenant needs
Governance limitations increase, changes to the
within platforms open up models will impact on the
problems during WSCL les. This will make
production stage. Migration maintenance a dicult
from one platform to engineering task.
another will be difficult.
SOA This approach deals with 3. Approach
designing software services
in a bottom up approach
As the approach to develop SaaS applications,
and ensures that multi-
we propose a methodology using SaaS
tenant features remain
architectural framework based on tenant-aware
intact. This approach
services dened within XML les. Third party
requires extensive planning
web application frameworks with specialized
and analysis to be done by
capabilities within dierent layers were
the Software Architect to
integrated as components to solve SaaS
ensure the right SOA
challenges. Model Driven Architecture (MDA)
components and constructs
based tool was incorporated to allow Software
to be placed to get high
Engineers to generate models and express
degree of performance,
dierent architectural viewpoints on functional
scalability and security. In a
requirements and design decisions. MDA tool
short time frame, this is a
artifacts will be placed within the SaaS
difficult task and failing to
application framework that will be used at
plan, could lead to an
dierent layers of the web application.
architectural collapse.

3
23 ENGINEER
ENGINEER
MDA is a software design approach that by changes on the models which will reect on
provides a set of guidelines for the structuring the application code and XML le.
of specications, which are expressed as models
[15], [16], [17]. MDA allows developing SaaSML is based on UML and involves
applications and writing specications, based modelling tenant blocks instead of modelling
on a platform-independent model (PIM) of the classes, thus providing a vocabulary thats
application or specications business suitable for Software Engineering on SaaS
functionality and behaviour [18]. Figure 1 based web application. A tenant block
represents these models as boxes, and their encompasses software components within
transformations as arrows. MDA tools are used dierent layers of the web application. As
to develop, interpret, compare, align, measure, specied in Figure 2, SaaSML reuses a subset of
verify and transform models or meta-models UML2.0. Therefore SaaSML includes ten
[18], [19]. Unied Modelling Language (UML) diagrams based on UML2 Usecase, Class and
has been successfully applied in Software Object diagrams. SaaSML can be easily
Engineering as a general purpose modelling understood by the Software Engineering
language [20]. community, due to its direct relation with
UML2.

SaaSML makes it possible to generate a UML2


based specications for Software Engineering
teams, dealing with the realization of multi-
Figure 1 - Models and transformations in tenant systems with cloud based hardware and
MDA software. Knowledge is thereby captured
through models stored in a single repository,
enhancing communication within the Software
Engineering team. In the long term, tenant
blocks can be reused as their specications and
models enable suitability assessment for tenant
based customization projects.

SaaSML structure diagrams are discussed:


Core Usecase diagram is a Usecase diagram
to model core solution of the SaaS application.
Tenant Org Usecase diagram is a Usecase
Figure 2 - SaaSML and UML representation diagram to model tenant specic customization.
Venn diagram Core Domain diagram is a class diagram to
model core solution of the SaaS application.
UML is a large and a complex language and it Tenant Org Domain diagram is a class di-
provides mechanisms to allow extensions via agram to model different tenant specic
stereo-types [20]. UML prole can be dened as customizations. The User Hierarchy diagram
an extension of the UML standard language is an Object diagram considering authorization
with specic elements. Since standard UML 2.0 User Rights and standard user hierarchies
doesnt fully cater the exact modelling needs or within a tenant organization. The Tenant User
problems of SaaS multi-tenant architectures, a Provisioning diagram is a component diagram
new UML based prole will be introduced to which represents the User repositories (Eg: Ms
model SaaS applications called: Software as a Exchange/Gmail) which require integration as
Service Modelling Language (SaaSML). Based services. The Billing Plans and Metering
on SaaSML diagrams, Eclipse EMF tool will be diagram is a class diagram which represents
used to generate Java code from UML diagrams the SaaS services, billing plans and metering
where Java classes supporting the SaaS options. The SaaS Deployment diagram is a
framework will be developed as SaaS deployment diagram that identies the
application business components and multi- required hardware and software considering
tenant based domain models. Using this SaaS application deployment. SaaS Global
approach, we ensure that the SaaS application Settings is an Object diagram which
can be developed and maintained within a represents the global settings that needs to in-
short time frame using SaaSML models. cooperated into the SaaS application. The SaaS
Evolution of the SaaS application will be done Governance Rules diagram is a based Class
diagram which represents rules which needs to

ENGINEER
ENGINEER 4
24
be taken governance aspects to derive SLAs Admin Portal - SaaS vendor, vendors
against Billing Plans. partners (such as resellers & distributor)
and tenant organizations administrators
4. Multi-Tenant SaaS would login to this portion of the SaaS
application for administrative purposes.
Architectural framework Overview
This application will cater tenant user
organization management, billing plan
A general form of SaaS architectural goals and
management and usage reports
constraints are discussed in the Table 2.
(operational, nancial and quality
Table 2 - SaaS architectural goals and attributes). It will serve as a governance
constraints module to manage all aspects of the SaaS
Requirement Architectural Goal/Decision application. Common features supported:
Modiability Change the presentation layer, management of users, billing plans, pay-
business process layer and ment mechanisms, selection of application
service layer based on tenant services & selection of global parameters
[21]. (currencies, languages, time zones, number
Database Store individual tenant data display format &, date formats).
Conguration within a shared DB schema or User Portal - End users (tenant users) will
different DB schemas [22]. be served through this portion of the
Performance SLA based tenant fair usage application. Based on settings congured
policies for SaaS Services [5]. within Admin portal, the software services
Security User authentication and au- offered by the SaaS solution will be used by
thorization, data security and end users of the tenant. Most of the
Web Service Service security discussions on SaaS functional and non-
[5]. functional requirements are discussed on
Usability Improve user experience of the this area of the application. End user must
software [21] feel the application is personalized to cater
organization specic business needs.
Fault Toler- Ensure proper monitoring
ance mechanisms are in place to
recover from infrastructure SaaS Client Service
Layer Consumer Layer
failures [5].
Scalability Automatically scale SaaS application
Presenatation Layer Service Provider Layer Meta-
infrastructure based on service Technical
Domain Data
usage [5]
z
Domain Business Service Layer Services
Model Service
Layer
Layer
Data Access Layer Service Integration Layer Layer

In the methodology of the multi-tenant SaaS


architectural framework, SaaS application will Database
External
Serices
be designed by formulating architecture views:
such as business usecase view, logical view, Figure 3 - SaaS Logical Architecture
process view, deployment view, SaaS application
implementation view and architectural Presentation Service Layer (Spring
strategies to overcome SaaS challenges. Below Layer (Struts and Web Services)
Tiles) Meta- Technical
we have explained these views and strategies in Domain data Services
detail. Layer Business Service Layer (Spring) services Layer
(Java) Layer (Spring
Service Integration (XML) AOP)
4.1. Business Usecase View Persistence layer
(Spring Web Services
(Spring-Hibernate)
based clients)
SaaS applications allow ISVs to run global
businesses on the cloud. At the start of design Figure 4 - Detailed Implementation
phase, Software Engineers need to plan the Architecture
following parameters for a global live run:
regions or countries, languages, currencies and 4.2. Logical View
regulations within regions. Business Analysts
need to perform a thorough analysis on the We have proposed a SaaS reference architecture
given business domain considering these global in Figure 3 and we have used this for SaaS web
factors. Based on the administrative isolation application proto-type development. The
levels, SaaS applications will be mainly divided following is a description of each of its layers.
into two software components: [9]. SaaS Client layer - browser, plugin or

5
25 ENGINEER
ENGINEER
mashup customization defined in design time.
Presentation layer - Presentation Multi-Tenant XML definition used to
component such as UI components, work- Work-flow differentiate workflows
ow controller components, Validation layer defined in design time.
and Model objects Multi-Tenant XML definitions used to load
Service Provider layer - External/Internal based tenant specific business
services layers retrieve information within Business logic components defined in design
the application validation time.
Business Service layer - Business Process DB Use XML definition apply
layer containing domain specic business configuration Object Relational Mapping to
logic, rules and constraints for support shared DB schema or
Data Access layer - Data persistent and Multi-tenant tenant specific DB schema.
retrieval layer to backend Databases, local application
le systems, cloud storage (Amazon S3 or Multi-Tenant Generate web service client
Google Storage) based Service code and use XML definitions
Domain Model will represent business Integration to load tenant specific business
domain objects which will be common for and Service components defined in design
all layers above. To support SaaS Exposure time.
Architectural Cross Cutting concerns: Tenant Using AOP based cross cutting
Tenant-aware Services Layer - Tenant specific code to monitor usage service
specic customization of the presentation, Billing metering options and generate
business process, data access, EAI layer Subscription daily usage bills using crone
and Service Provider layer. and jobs.
Technical Services Layer - Which includes Metering
security, logging, performance and SLA Multi-tenant Use Maven - build
based governance restrictions. based soft- management tool to compile
ware build sources, run all test cases and
The Figure 4 represents the third party web environment deploy.
application frameworks used for the SaaS Performance AOP based cross cutting code
application framework. Here we used JSPs, restriction to measure service usage and
Apache Struts, Tiles, Custom Tag libraries, based on restrict based on SLA.
Spring and Hibernate. All these layers are SLA
connected through Spring framework which Security Use a login module based on
drives SaaS multi-tenant based injection. Spring to between central security services for
uses Dependency Injection and Aspect oriented Tenants authentication. Use access
programming (AOP) concepts will be used control module for
bring tenant based dynamic presentation layer, authorization. Apply AOP
work-ow, business rules, service and data cross cutting code to control
access layer. We also used custom annotations access rights in runtime.
evaluate access control of business services
used within dierent layers using Spring 4.4 Process View
Aspect Oriented Programming. Here the The process view describes the how SaaS meta-
domain object identied during domain data services which get triggered within the
analysis and SaaS framework specic controller application. Here a web request-thread based
classes will be called as Plain Old Java Objects place holder (ThreadLocal) was used to keep
(POJO)s. tenant conguration data. A login module was
developed to authenticate tenant users and
4.3 SaaS framework strategy to solve SaaS check if the tenant billing subscription is valid.
Challenges If the authentication is approved, a web session
Table 3 explains the framework strategies will be created and tenant conguration data
adopted to tackle SaaS challenges will be stored within it. Later on subsequent
web requests, the tenant conguration data will
Table 3 - SaaS framework strategies be stored within ThreadLocal variable. During
SaaS SaaS Framework approach rest of the thread execution, objects related
Challenge tenant specic needs will get called within
Multi-tenant XML template definitions used different layers. This process work-ow allows
Presentation to load UI widgets, styles tenant based dynamic behaviour to be triggered
layer sheets and page components at runtime.

ENGINEER
ENGINEER 6
26
4.5 Deployment View 4.6 Implementation View
The deployment view will resemble the
Java components based on SaaSML
hardware and web server software layers that
specication which acts as modules within the
the SaaS application will be deployed on. It
Domain and Business layers of the SaaS
needs to support scalability aspects dened
framework. In the Figure 6 component diagram
within SaaS Architectural goals. It should also
of the SaaS Architecture is displayed. These
allow integration between different services
components will be placed within the Business
and access services within the SaaS application
layer of the application. In the following list we
to outsiders on a secure and robust manner.
highlight individual component module, their
Figure 5 shows the main deployment
design rationale and dependency with each
components of the application. Here the SaaS
other modules.
client application will be a browser, mashup,
Core module - The core application
plugin or desktop application that will make
business domain will be represented here.
use of the SaaS application. Currently we have
Mainly the Core Usecase Diagram and
chosen Amazon EC2 based Linux box with
Core Domain Diagram would be used to
Apache Tomcat6 as the deployment
dene the Core module.
environment for the proto-type SaaS
Tenant module - Tenant specic customer
application.
extension to the core module will be
SaaS
SaaS client
client dened within this module. Each
customer specic domain object will be
SaaS Client External kept within a separate package. This
Service Service module will depend on the Core module
Repository components. Tenant Org Usecase Diagram
Internet and Tenant Org Domain Diagram
System User Rights Module - Dene all
user rights of the SaaS application as
Enumerations.
Deployment environment Tenant User Hierarchy Module - Dene
tenant specic user roles and mapping
SaaS Application between the user rights. These roles could
be used within Core module or Tenant
module POJO methods custom
annotation to restrict business method
Database execution based on tenant User-Role or
System specic User Right.
Figure 5 - Deployment Architecture of SaaS
The Billing and Metering Diagram -This
web application (general view)
module will contain the SaaS Services and
its Metering Items. A Billing Plan will
SaaS Application
have any number of services that could be
Presentation layer applied on tenant organizations.
User Portal Admin Portal Tenant specific Service SaaS Global Settings - This module will
Presentation layer Presentation layer Provider module
represent the possible countries, time
Business layer (SaaSML based modules) zones, currencies, date formatting pictures
Global Setting Billing
Billing
Billing Services
and
Services SLA
SLA User
Core Domain
as enumerations that will be used as utility
Management and Metering
and Metering
Metering Governance
Governance Provisioning
module module
module module
module module
module services
The SaaS Governance module -represents
Tenant based Teanant based Teanant based User and Organization
Domain user Hierarchy user Hierarchy Adminstrative Management the possible metering items that require
modules Module Module module monitoring and restriction based on tenant
SLAs.
External Service Integration SaaS application
Data Access layer
layer framework based Java
Emitter Templates
(PSM tools)
SaaSML

Figure 6 - SaaSML based Component Diagram Business models


(CIM)
based UML
models
EMF Ecore
Model (PSM)
Ecore Annotated
Java Classes
(PIM)
SaaS application
framework based Java
Classes

Figure 7- SaaSML based MDA approach to


generate sources

7
27 ENGINEER
ENGINEER
4.6.1 MDA approach to generate SaaSML 4.6.3 How to reuse SaaSML components of
based components one SaaS application in another?

Using Eclipse EMF framework, the UML2.0 Based on SaaSML models, platform specic
based SaaSML diagrams will be used to derive Java sources can be generated using MDA
the SaaS application domain model and approach. These sources can be used within the
business components. The Java code that is SaaS application to represent SaaS
generated through this approach will be based functionality. Assume a new requirement
on Eclipse ECore API. This code will mainly comes to re-use the SaaSML Java sources within
consist of Java Interfaces. The implementation a dierent SaaS application. In such a case, the
of these interfaces can be modied with the use previously generated SaaSML models can be re-
of a Java Emitter Template (JET). Depending on used again, but the platform specic
the SaaS application deployment environment, transformation can be avoided by integrating
the usage of underline infrastructure services previously generated components. JET
and third part libraries will vary. The templates and ECore models can be used to
generation of Java classes which are dependent generate sources which will make use of re-
on the infrastructure services and third party usable component as an external business
libraries, can be done using Java Emitter component. Re-usable SaaSML components can
Templates integrated with the EMF framework. be placed within dierent Maven Projects that
Here ECore models are converted to technology can be mapped as a dependency with other
specic Java implementations. This will help SaaS application Maven projects. With this
Software Engineers to extend the application to approach, SaaSML components can be re-used
multiple platforms even with a common PIM within other SaaS applications.
model based on SaaSML.
5. Evaluation
Usage of SaaSML based MDA approach is
shown in Figure 7. Using SaaSML MDA based Evaluation of the SaaS application was done by
approach; code generated through SaaSML comparing it with Force.com &
diagrams can be re-used on other SaaS ApprendaCloud based SaaS applications. The
applications as libraries. Extension to initial aim of this whole exercise was to compare the
Java classes can be enforced through Java implemented SaaS features against a similar
Emitter Templates which are knowledgeable on product to understand its ranking
re-usable components. (comparatively). As for the SaaS product
evaluation, we used an AHP technique for
4.6.2 How to couple external business prioritizing the product features and expert
components to the SaaS application? judgement based scoring of the products [24].
The ranked sum of weighted scores in
There could be cases where a proven business descending order gives the ranking of the
logic written for specic business domains, products as shown in Table 4. The SaaS
which needs to be coupled within the SaaS prototype application carried a ranking of 0.378
application without developing modules from (low), ApprendaCloud application carried a
scratch. Lets assume a scenario where third ranking of 0.477 (medium). and Force.com
party libraries which handle CRM based billing application carried a ranking of 0.622 (high).
needs to be coupled within the SaaS This shows that even a quickly developed
application. In such a case, the SaaSML -Billing prototype application using the proposed
and Metering diagram needs to be modelled methodology can be competitive with
considering these external components or third established applications from globally
party libraries. A PSM based JET and Ecore recognized SaaS providers.
Models need to be used to generate Java source
compatible for the billing API. With this
approach SaaS application framework based
billing and metering sources (that can be
coupled with the external billing API) can be
generated.

ENGINEER
ENGINEER 8
28
Table 4 - Ranking of products
Factor Attributes Score Score Score
of of of
Force Appre SaaS
.com ndaCl Proto-
app oud type
app
Tenant 0.06 0.05 0.06 Figure 8 - Graph that represents concurrent
account user sessions (threads) Vs Test duration
Functio man-
nality agement
Metering 0.048 0.04 0.032
and Billing
features
SaaS end
user 0.096 0.04 0.064
features
Provisionin 0.028 0.01 0.012
Figure 9 - Graph that represents Response
g mecha-
time Vs Test duration
nisms
Modiabilit
0.126 0 0.054
y
Security 0.105 0.09 0.045
Performance 0.072 0.05 0.048
Archite
Reliability 0.036 0.02 0.024
cture
Scalability 0.021 0.015 0.009
Easiness to Figure 10 - Graph that represents Throughput
0.018 0.15 0.012
develop Vs Test duration
Governance 0.012 0.018
0.012
restrictions 6. Future Work
Total 0.622 0.477 0.378
Further improvements on the performance side
A performance study on the prototype of framework are required based on the
application was carried out using JMeter based evaluation. Extracting modular artifacts from
stress testing tool with sample data sets which the SaaS framework and porting them to
represented two Tenant users with different support dierent PaaS environments would be
customizations. Tool was used to record a challenging research. SaaS framework
workows of the two types of tenant users and modelling tools for migration between dierent
they were simulated in an iterative manner data modelling options can also be considered
within JMeter Test Plan to generate maximum as a future research topic.
of 100 concurrent transactions per second on
the SaaS web application. Acceptable response 7. Conclusion
time was taken as 5 seconds and throughput as
20 at minimum. By analyzing concurrent user In this Journal paper, authors have proposed a
threads (refer Figure 8), response time (refer SaaS architectural framework that allows MDA
Figure 9) and throughput (refer Figure 10) over based tools to be used in developing SaaS
a predened time duration, we didnt see any solutions. SaaSML based UML prole was
performance bottlenecks and felt the prototype introduced to capture SaaS functional
application performance is acceptable. Further requirements and derive UML2.0 based
testing is required to identify suitable diagrams to generate modular software
deployment environments considering high components. A prototype SaaS application was
performance and scalability aspects. Using developed as a proof of concept. It was
ATAM we have evaluated the SaaS prototype evaluated against Force.com & ApprendaCloud
application. Performance is considered a key based SaaS applications using AHP technique.
sensitivity point which will get impacted by the Results showed that even a quickly developed
dynamic conguration options adopted within prototype application, using the proposed
the framework. methodology can be competitive with

9
29 ENGINEER
ENGINEER
ENGINEER 30
31 ENGINEER

Potrebbero piacerti anche