You are on page 1of 10

European Journal of Scientific Research ISSN 1450-216X Vol.65 No.4 (2011), pp. 601-610 EuroJournals Publishing, Inc.

. 2011 http://www.europeanjournalofscientificresearch.com

An Open Multi-Tenant Architecture to Leverage SMEs


Irene S. Harris Computing Department, Shaheed Zulfikar Ali Bhutto Institute of Science and Technology (SZABIST), Islamabad, Pakistan Email: irenesabrina_ben@hotmail.com Zubair Ahmed Computing Department, Shaheed Zulfikar Ali Bhutto Institute of Science and Technology (SZABIST), Islamabad, Pakistan Email: zubair@szabist-isb.edu.pk Abstract In todays era all the enterprises are moving towards automation whether they are large or small. So, keeping in view the changing trends and the interests of the enterprises software vendors are trying to accommodate and facilitate the organizations with the best possible solution within its clients financial capacity. Keeping in view the need SaaS vendors offered a suitable solution via its multi-tenant approach which is viable solution for SMEs as they are financially limited with the resources and yearning for cost effective ERP solutions within their organizations. Multi-tenancy is an approach through which a customized and reliable solution being delivered to various customers with the single application instance. In this article in detail we have tried to study that how SaaS with its multi-tenancy approach along with efficient utilization of SOA leveraging the enterprises. In the reflection of all the discussion carried out in this paper we have proposed an open multi-tenant architectural blueprint based on a real world scenario.

Keywords: SaaS, SOA, Multi-tenancy, Cloud Computing,

1. Introduction
The way the software being delivered to the consumers is altogether been transformed with the evolution of Software as a service (SaaS). At present SaaS has become an acceptable mainstream business model for enterprises. It has bring forth a radical shift in the software selling patterns, as it has posed a major challenge to the businesses following the traditional software delivery model [Nitu, 2009]. With the ever growing concern towards the adoption of SaaS, application consumers are not the only one who could cash the benefits but even the providers of the application can also get the opportunity to cash 10-20x more by selling SaaS applications [S. Merkel]. With the maturing technologies the transformation from traditional approach to multi-tenant SaaS approach has been made achievable in an effective manner [Nitu, 2009]. SaaS facilitates with the fully functional ondemand applications to provide with the specific services such as CRM (e.g. salesforce.com), ERP (e.g. NetSuite), email management (e.g. Google Mail), web conferencing (e.g. WebEx) and an increasingly huge range of other applications [ComputerWeekly, 2010].

An Open Multi-Tenant Architecture to Leverage SMEs

602

SaaS brought into a new kind of paradigm and a novel business model and through it unveiling the fact that with its adoption the organization would not be requiring any more need to purchase and maintain their own Information and Communication Technology (ICT) infrastructure, instead they could obtain the services from the third party for managing their organization [Bezemer, 2010]. Therefore, at customers end there is no need left for having in-house application developers and experts because the vendor is centrally managing and administering the SaaS applications. Here web is the primary medium for communication and collaboration as everything is being maintained over the cloud infrastructure. SaaS is a software delivery model in which the software and its related services are hosted off-premise and made available via web to a large but manageable number of tenants. As vendors interest lies in capturing the market of SMEs, who could not bear the expensive enterprise software applications e.g. ERP, CRMS, SCM etc., either on-premises or through ASP, has boosted the advent of SaaS. Typical applications offered by the SaaS provider are specifically designed to be hosted off-premise and are delivered via internet to several customers. As more customers started to prefer to perform business operations over the web, this clearly shows the customers comfort. It is realized by some of the organizations that a fine SaaS vendor could be the one to make data more reliable and secure as compared to their own enterprise [Nitu, 2009]. To bring revolution in the IT market concerned with the delivery of the SaaS applications, software vendors need resources and information regarding an effective development of SaaS applications [Chong, 2006]. Ever since the figure of SaaS vendors had increased, and as the customers had not invested in the ICT infrastructure that is why the customers got the benefit of flexibility in making their IT related decisions and could always hold the option for switching to another vendor if required for achieving organizations desired objectives. Moreover, due to the minimal deployment time and faster upgrade cycle of SaaS application; the customers do not need to spend time and money in upgrades and deployment of the software as everything is over the web and controlled by the vendor. Whereas, on vendors part, the vendors not only could strike the newer markets through SaaS besides it they also found themselves getting consistent periodic revenue from subscription model of SaaS which sounds pretty much alluring. In SaaS model, the application is being hosted by the vendor and offered to the customer on subscription as a mode of payment. With ease customers can configure a solution to meet their organizational requirements. It reduces the deployment time and accelerates subscription and services revenue [Nitu, 2009]. Other benefits of SaaS that it provides to its customers are related to: Budgeting SaaS subscription is based on predictable recurring fees instead of large capital expenditures and unexpected maintenance costs. Evaluation online applications are much easier to evaluate than in-house solutions greatly reducing the time to purchase or build the applications. Maintenance organizations do not need to hire IT experts for maintaining their software with the adoption of SaaS they will be leaving that up to the SaaS vendor. Support organizations demand reliable and secure services, and 24x7 available support which cannot be always provided internally, but made possible through SaaS solution. [S. Merkel] 1.1. SaaS - Technology Drivers SaaS has established itself as an acknowledged method to communicate business services across the web. With the emergence of new technologies the market for SaaS solutions started to grow only after 2005-2006. The technologies that proved to be the driving units for the implementation of SaaS solutions include the following key drivers: Web2.0, Rich internet application,

603 Service oriented architecture (soa), Cloud computing, Virtualization, etc. [Nitu, 2009]

Irene S. Harris and Zubair Ahmed

1.2. Types of SaaS Applications There exist three different types of SaaS applications: a) Multi-instance Multi-instance applications are those which are deployed into a shared-web hosting environment. In it a copy of the application is being configured and then deployed into a web directory at the request of the customer. b) Single-instance Applications These are known as the traditional applications that are deployed one customer per application into a server. This approach could be wasteful in terms of resource utilization for example, since each server may be running only at 10% of capacity. c) Multi-tenant Applications Multi-tenant applications provide with a single application shared by multiple customers. In it a configuration file is being created and deployed every time a customer places request for services on a multi-tenant application. [S. Merkel] SaaS is one of the three flavors that are being provided by the cloud computing [Carraro, 2006]. If we look at a level lower to SaaS we will find ourselves into another flavor of cloud computing which is known as PaaS (Platform as a Service). PaaS has placed the concept of virtualization into its third generation category which then taken by the upper level layer i.e. SaaS for realizing the multi-tenancy approach and bringing everything available over the cloud by virtual means [Azeez, 2010]. The providers of SaaS by offering the single common instance of an application to multiple users, making the most out of the economies of scale. The above stated scenario is known as a single instance multi-tenant architecture model. This kind of model requires a high level configurability and isolation capabilities [Mietzner, 2009].

2. Multi-Tenancy
In the realm of SaaS business model a new software architecture principle being originated known as multi-tenancy. This principle makes the maximum usage of the cost that a business obtains, as the multiple tenants connected with the one and the same database and application instance [Bezemer, 2010]. The system must be capable enough to handle different types of tenants and data. For that reason the system requires to be sufficiently scalable meaning, the SaaS solution must be able to be deployed in a limited hardware infrastructure but it should be able to grow with the number of tenants [S. Merkel]. Multi-tenancy made possible the maximum utilization of the sharing of resources across tenants while at the same time maintaining the skill of differentiating the data as per tenant basis. Major requirements of multi-tenant systems are isolation, configuration, user authentication/security, data selection, format conversion, and other various concerns. In multi-tenancy case service consumer subscribes to the services offered by the vendor [Fujita, 2007]. The idea of multi-tenancy originated in 2005. Since then many efforts being made in its exploration but still there is a long way for it to go in order to reach maturity. A tenant is the customer (an organizational entity) which rents the services from the SaaS vendor. Each tenant comprises of a number of end-users which utilizes those rented services. A multi-tenant SaaS solution enables the sharing of common hardware and software resources among various tenants, while facilitating each tenant to configure the provided application as per their need and thus providing them with the feeling that they are running the application in a dedicated surroundings.

An Open Multi-Tenant Architecture to Leverage SMEs 2.1. Benefits of Multi-Tenancy

604

Due to the smaller number of instances (e.g. single instance for each tenant) it becomes much easier and cheaper to manage the deployment of the software updates. Throughout SaaS life cycle the quality of the implementation is extremely crucial. In single-tenant/user software, challenges related to configuration, and versioning are answered by creating a new branch in the development tree, and deploying a separate instance. Whereas in multitenant application, this case is no more acceptable which means, that such kind of features ought to be integrated within the applications architecture. In multi-tenant architectural pattern a single-instance of the application runs on the infrastructure of the service vendor, and multiple tenants are then allowed to access the same instance of the application with different desired configurations. Whereas this is not the case if we look at multi-user model and the multi-instance model. Along with the above mentioned benefits the other major advantages of multi-tenancy includes: a. Amplified consumption of hardware resources, b. Availability of highly configurable application, and c. Improved ease of maintenance. These benefits eventually results in lowering the overall cost of application, and thus making the state of the art technology attractive for service vendors as they capturing the SMEs as these organizations most of the time have limited financial resources and do not required the computational power of a dedicated server, and looking for some favorable solution for running their businesses in an effective and efficient way. These benefits seem very much tempting for many organizations as they are looking forward for switching their single-tenant application into multi-tenant ones. 2.2. Barriers in Multi-Tenancy Besides all the benefits, barriers are also been perceived while adopting the multi-tenant application approach, i.e.: a. The initial start-up cost of re-engineering of the existing single-tenant model into multitenant software model making the companies wary about it. b. A wrong architectural choice might lead in making the maintenance of the multi-tenant architecture a nightmare. Other various challenges faced by multi-tenancy on the way of its implementation include, performance, scalability, security, zero downtime, and maintenance related concerns. 2.3. Types of Multi-Tenancy The idea of multi-tenancy comes in various forms. The rate of utilization of the underlying hardware resources can be maximized depending upon which form has been taken and implemented. The following are the variants of multi-tenancy: 1. Shared application, separate database. 2. Shared application, shared database, separate schema. 3. Shared application, shared database, shared schema (i.e. pure multi-tenant approach). The first and the second multi-tenant variant encounters performance related issues when on the same server a large number of tenants are being placed and loading a database or a table separately for each tenant is an overhead. Where as in the third variant i.e. the pure multi-tenant approach the table along with the schema is loaded only once and used by all the tenants, resulting in accommodating an increased number of tenants connectivity with the system. Throughout this paper, we will be considering the pure multi-tenancy approach [Bezemer, 2010].

605

Irene S. Harris and Zubair Ahmed

3. SAAS and SOA


Moving towards the adoption of the cutting edge technology organizations instead of running their own on-premise applications started to prefer more to outsource the applications and services from the third party service providers for executing and managing their business tasks. Based on SOAs supporting component i.e. web services the services are offered to organizations, either free of charge or on the basis of subscription on a pre-defined sum of money. Because of the popularity of an architectural approach provided by SOA therefore, presently, numerous IT vendors recommend SOA as fundamental architectural fashion for constructing SaaS applications infrastructure [Mietzner, 2009]. Taking the benefits of SOA for multi-tenant SaaS solution would be of great worth [J. Jing, 2010]. SOA approach is important to consider for the construction of a secure SaaS application. Therefore, a shared approach i.e. SaaS along with SOA principles has been made the preference as it is necessary, to trim down the cost of maintenance of SaaS applications, and for that reason SaaS applications have to be comprehended as a set of services. The SaaS applications should be deployed as well defined services and could be accessed via internet. Employing SOA enables the efficient usage of application resources [Fujita, 2007]. One of the prominent benefits of SOA is loose coupling which offers a great deal of flexibility for SaaS applications. SOA based applications deal with the processes and the functionalities as a set of services and enables loose coupling among those services. SOA based application supports rapid secure response and operational agility as new services are welcomed to join the existing loose set of services [J. Jing, 2010]. Another benefit of SOA is reusability as it facilitates in constructing the new applications as they can be assembled with great ease out of the existing services. The reusable components defined by SOA are called Web Services [Mietzner, 2009].

4. Major Concerning Aspects of Multi-Tenancy


4.1. Configuration Configurability is one of the corner stone towards the success of any SaaS software. Configurability in a pure multi-tenant environment leads to bundle of benefits leveraging both the costumers and the vendors and therefore paving the way towards the acceptance and popularity of SaaS. Earlier the adopters of SaaS were multi-tenant stand alone applications having limited set of configurability options and placing the main focus on lowering the total cost of ownership and rapid development for the customer. Before the advent of SaaS, an application consumer could never been able to subscribe to software that it could configure as per need. With the availability of multi-tenant SaaS applications, the tenants users and their IT personnel has access to various features and capabilities offered within the software set and they could fine tune or configure those features and capabilities in order to answer the specific needs of their organization [Nitu, 2009]. Configurability holds three types of patterns: 1. Single instance service, 2. Single configurable instance service, and 3. Multiple instances service. [Mietzner, 2009] A true and pure version of SaaS model adheres to the single instance multi-tenants model of software application delivery. The configuration capability or what we also call fine-tuning of the SaaS application made this single instance multi-tenant model existence achievable. Although a single instance of the application is running, the tenants get a unique view of the application seems as they are the only one who owns it. This has been made possible through the process of configurability as each tenant is allowed to fine-tune the application as per organizations desire and requirements [Nitu, 2009]. This type of configurability is known as single configurable instance service. This pattern allows a single service to behave differently for different tenants based on their configuration data [Mietzner, 2009].

An Open Multi-Tenant Architecture to Leverage SMEs

606

A kind of multi-tenancy that does not allow the vendor for single instance code customization, as customization for one tenant would affect the other tenants as well [Nitu, 2009]. Such type of configurability follows the single instance service pattern as discussed in [Mietzner, 2009]. Configurability forms the basis for any SaaS application. Without this capability SaaS would only be a limited ASP [Nitu, 2009]. In a scenario of single-tenant application, each tenant possess customized version of application instance. On contrary, in case of multi-tenancy, all the tenants share one and the same application instance, whilst it have got to appear to each one of them as if they are using a dedicated one. For this reason, configuration stands as a fundamental obligation for multi-tenant application. Multi-tenancy provides run-time configurability. While offering a flexible customization option to the tenants the vendor should be confident enough that each tenant should only be the one who got access to its very own data and that not of others [Bezemer, 2010]. On the way an important concern is that how to capture, store and represent the configuration data when designing for configurability in SaaS application. The aim of carrying out the configurability task in SaaS is to provide the tenants with the number of options and variations with the utilization of single common base code via common web interface provided to the designer (an IT personnel within the organization), such that enabling the tenants to have software configured uniquely as per each ones requirement. SaaS application carries various configuration aspects which includes, defining user interface, work flow, access control, data etc. According to each tenant desire the look and feel or you can say the layout of the application being configured by the designer, workflows been specified and configured by keeping in view the organizational structure, for security reasons the access control is then specified as per end users roles and activities to avoid malicious behavior and making the data secure. The configurability aspect within the SaaS multi-tenant environment enables customers to model their business process which is unique to their enterprise. Configurability allows for some unique features in each tenants application to some extent but not completely. Therefore, a tenant should not expect everything unique in its application. It is said that if one needs everything customized as per its demand, then one wont be having success with SaaS. The key requirement being, it is architected correctly [Nitu, 2009]. 4.2. Isolation Isolation means that the transactional activity of one tenant by any means should not be interrupted by the transactional activity carried out by the other application consumer. At first a vendor must be providing amongst all the tenants an appropriate isolation at application level. Although essentially various tenants across the network connected at one point and sharing the same single infrastructure and the application instance as well, from the users experience, Quality of Service and management viewpoints, the occupant would naturally be yearning to access and employ the services as being dedicated tenants. Consequently, isolation should be given a vigilant consideration regarding almost all parts of architectural design, from both the functional and nonfunctional aspect, for concerns such as security, administration, performance, and robustness. Usually business processes are used to introduce the way that how to isolate and customize the roles selection of human tasks or processes among tenants in a shared process templates pattern [B. Gao, 2009]. Further we will look into two distinct types of isolation: 4.2.1. Data Isolation Since in the multi-tenant application every tenant uses the identical application and the database instance, so it gives rise to a great call for the isolation of data to make sure the transactional activity of each tenant is secure and reliable. As the existing COTS Database Management Systems lack the

607

Irene S. Harris and Zubair Ahmed

capability of dealing with the multi-tenant approach, that is why in order to make secure the data isolation is supposed to be done by placing a layer between the business logic layer and the applications database. In order to ensure sufficient isolation at data level, the data access layer must efficiently manage the database layer to make sure that queries are well optimized so that each of the tenants could only access its own data [Bezemer, 2010]. Various data isolation patterns have been proposed for making a secure delivery of data possible. E.g. filter-based pattern in application level, permission-based pattern in DBMS level in [Z. H. Wang, 2008], and another pattern from [C. J. Guo, 2007] describes isolation from security perspective. In addition to traditional security measures e.g., authentication, audit, authorization etc., it is also necessary to reflect on the additional potential security risks initiated by other tenants sharing the same instance of the application and related resources in pure multi-tenant applications [C. J. Guo, 2007]. 4.2.2. Execution Isolation To ensure isolation at the time of execution on a per-tenant basis the multi-tenant aware workflow process must make sure that data accessed by a specific desired tenant cannot be accessed by some another tenant and the workflow of one should not be interrupted or disturbed by the other tenant [Mietzner, 2009]. For execution isolation to make the workflow and the tenant activity secure and reliable there are some concerns drawn out by [C. J. Guo, 2007] which are related to performance isolation and availability isolation. Performance isolation is concerned about that during execution the performance of the execution flow of one tenant should not be affected by the other tenants behavior. Tenants and the administrators are very much concerned about this issue, in order to avoid performance degradation at the time of execution. Availability Isolation is about taking care of the system response and avoiding any kind of malicious behavior. 4.3. Versioning As per the versioning requirement, services are provided to each of the service consumer accordingly. Due to the high scale of configurability of multi-tenant applications, it may be crucial for the system to manage the execution of several versions of an application or the various components of the application running concurrently. This kind of scenario might occur for number of reasons like that in case of backward compatibility or in circumstances where the legislation within some country has been altered. Moreover it is considered objectionable the deployment of different instances of a multi-tenant application; therefore the version support should be made a vital part of a multi-tenant system [Bezemer, 2010].

5. Architectural Blueprint Based on MVC


This paper presents Model View Controller based architecture following the singleton design pattern. The defined architecture forms the basis for the realization of multi-tenant SaaS solution. While proposing the model we will consider the case study of ZabDesk a feature of SZABIST developed for managing the information flow across the campus. SZABIST is an educational institute maintaining four campuses at Islamabad, Karachi, Larkana, and Dubai. Factors that convinced them to upgrade includes enhanced workflow features, and the new multi-tenancy capabilities. Consider the following scenario,

An Open Multi-Tenant Architecture to Leverage SMEs

608

There are various types of users logging on to the ZabDesk application. Out of many consider the four primary types of users connected with the application concurrently. Their workflow is supposed to be handled separately and securely in an efficient manner. Types of users accessing the system, A From Islamabad campus, student logs on to the system for course registration. B From Karachi campus, Computer Science departments coordinator logs on to the system for updating course details. C From Dubai campus, the finance personnel logs on to the system for identifying fee defaulters. D From Larkana campus, the ASO personnel logs on for result compilation. In this section, we will consider the architecture and will briefly describe the components of our architectural approach for implementing multi-tenancy.
Figure 1: Multi-tenant Architectural Model

Keeping in view each of the above defined cases the execution flow for each of the case would be different with appropriate set of rules required for exact profile assessment while accessing the desired profile against each tenant A, B, C, and D. The set of rules should be well defined at the execution isolation layer in order to ensure reliable delivery of services to the end users. The execution flow of one user should not interrupt the work flow of the other. The application needs to take into account the requirements of different users. Therefore, at configuration layer the tenant and an individual can customize the application to meet their specific needs. A range of aspects of SaaS solution that can be configured are related to defining work flows, user interfaces, access control, data etc.. This multi-tenant architecture model for building a SaaS platform based on SOA follows the singleton pattern concept i.e. there should be one instance against

609

Irene S. Harris and Zubair Ahmed

the application for a single tenant. Depending upon the configuration data web service behaves differently for each tenant. Web services are the preferred standard-based means to realize SOA. The versioning layer handles the various versions of the available services that are already created and therefore, exposing the services to the tenants as per each ones need and requirement for fulfilling its business tasks. Here a new web service can also be made available on demand with little additional subscription fee. E.g. in our case SZABIST (application vendor) established a multi-tenant educational system and offering services to its campuses and other different universities and educational institutes as well over the cloud infrastructure. Universities (tenants) like NUML, COMSATS, AIR etc. can get connected with the service vendor i.e. SZABIST to avail the services. Now besides universities if we consider HEC (Higher Education Commission) as a new tenant although at some level it will be consuming the same services as that offered to all the universities but along with it will also be looking for some additional services as well for maintaining its work process e.g. automating degree attestation process. At this point the requested services would be created and made available to HEC. By exposing the certain required web services would include additional cost charged from the service consumer. Once the web service is created, it is then published over the UDDI (Universal Description, Discovery, and Integration) using Web Services Description Language (WSDL) which is in XML format. Any of the applications consumers wishing to use services invokes Simple Object Access Protocol (SOAP) messages by sending request in order to locate, access and consume the required service. Through data isolation layer the service implementation must ensure that one tenant cannot access data of another tenant. Objective of the data access layer is to make available the right data to the users. In this layer along with the java method some set of rules are also defined for reliable delivery of data. This multi-tenant architecture is based on best practices. The architecture is being designed by keeping the MVC (Model View Controller) design pattern in mind for achieving maximum flexibility. MVC pattern is especially preferred for the development of web applications and thus proved beneficial approach for the realization of our multi-tenant SaaS model. The proposed architecture maintaining configuration data over XML source as it is light weight data carrier. In the architecture flow is based on separation of concerns and hence reducing the complexity while development. It ensures controlled secured sharing of application and data. Besides this, some of the predicted major concerns include consideration for cost required for building the infrastructure, required state of the art resources, extensive maintenance management, and quality of implementation are critical. In the world of software engineering multi-tenancy is relatively a new concept. Our architectural approach is a way to introduce multi-tenancy in an application. From the figure we can clearly see that how each layer talks at each level of concern, and we can also see and therefore can say that multi-tenancy affects almost all the layers in the typical application.

6. Conclusion and Future Work


In recent years SaaS has become the leading technology trend which has affected business applications in number of ways. With its state of the art approach i.e. multi-tenancy SaaS establishing its roots deeper into the business world as with its new concepts target is to acquire mid-size enterprises by offering services at affordable range. In our discussion we leaned our focus on multi-tenancy in detail and talked briefly about it and its types, benefits, aspects, and barriers on the way of its implementation. While leveraging SOA we have seen SaaS and its concerning aspects that are crucial to any multi-tenant application during development. In light of these aspects we tried to come up with an architectural model that could be an open architecture i.e. easy to adopt by anyone interested in building its own multi-tenant SaaS environment. This research is carried out by analyzing research articles, studying different industrial requirements, and considering blog entries as well. After deep analysis our focus shifted from vendor

An Open Multi-Tenant Architecture to Leverage SMEs

610

to consumer talk to business-to-business collaboration concerns (a need of the day) as a future work. Future work would also include the implementation and evaluation of our proposed architectural approach.

References
[1] [2] [3] [4] Nitu, "Configurability in SaaS (software as a service) applications," in Proceedings of the 2nd India software engineering conference Pune, India: ACM, 2009. S. Merkel, "Parallels Software as a Service (SaaS)," p. 2. ComputerWeekly.com, "The Computer Weekly guide to Cloud Computing," 2010. C. P. Bezemer and A. Zaidman, "Multi-tenant SaaS applications: maintenance dream or nightmare?," in Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE) Antwerp, Belgium: ACM, 2010. F. Chong and G. Carraro, "Architecture Strategies for Catching the Long Tail," Microsoft Corporation, 2006. F. Chong, G. Carraro, and R. Wolter, "Multi-Tenant Data Architecture," Microsoft Corporation, 2006. A. Azeez, S. Perera, D. Gamage, R. Linton, P. Siriwardana, D. Leelaratne, S. Weerawarana, and P. Fremantle, "Multi-tenant SOA Middleware for Cloud Computing," Cloud Computing, IEEE International Conference on, vol. 0, pp. 458-465, 2010. R. Mietzner, T. Unger, R. Titze, and F. Leymann, "Combining Different Multi-tenancy Patterns in Service-Oriented Applications," Enterprise Distributed Object Computing Conference, IEEE International, vol. 0, pp. 131-140, 2009. T. Hayashi, H. Fukuhara, R. Fujita, T. Miyazaki, and S. Saito, "A Messaging Network to Realize an SOA-Based System," in Seventh International Conference on Computer and Information Technology, Aizu-Wakamatsu, Fukushima, 2007, pp. 1083 - 1088. J. Jing and J. Zhang, "Research on Open SaaS Software Architecture based on SOA," in 2010 International Symposium on Computational Intelligence and Design, Hangzhou, 2010, pp. 144 - 147. B. Gao, D. C. J. Guo, Z. H. Wang, W. Hao, and D. W. Sun, "Develop and Deploy Multi-Tenant Web-delivered Solutions using IBM middleware: Part 3: Resource sharing, isolation and customization in the single instance multi-tenant application," IBM, 2009. Z. H. Wang, C. J. Guo, B. Gao, W. Sun, Z. Zhang, and W. H. An, "A Study and Performance Evaluation of the Multi-Tenant Data Tier Design Patterns for Service Oriented Computing," EBusiness Engineering, IEEE International Conference on, vol. 0, pp. 94-101, 2008. C. J. Guo, W. Sun, Y. Huang, Z. H. Wang, and B. Gao, "A Framework for Native MultiTenancy Application Development and Management," E-Commerce Technology, IEEE International Conference on, and Enterprise Computing, E-Commerce, and E-Services, IEEE International Conference on, vol. 0, pp. 551-558, 2007. Amelia Maurizio, James Sager, Peter Jones, Gail Corbitt, Lou Girolami, Service Oriented Architecture: Challenges for Business and Academia, Proceedings of the 41st Hawaii International Conference on System Sciences, 2008. John Fontanella, B2B E-Business in the Supply Chain: New Services and Technologies Require Companies to Re-evaluate their Strategies, AMR Research, May, 2008. Ben Haines, "Everything you need to get started with codeigniter", 2009. Available: http://net.tutsplus.com/tutorials/php/codeigniter-basics/

[5] [6] [7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15] [16]

You might also like