Authentication must then be intercepted to refer to
the correct database. We ran into the technical prob-
lem that authentication is part of the Tomcat con-
tainer, i.e., to intercept loading the application is not
sufficient. Our attempts to intercept loading Tomcat
failed (but maybe we overlooked a possibility).
6 CONCLUSIONS
This paper presented an approach for migrating
existing single-tenant to fully multi-tenant applica-
tions, which can afterwards be offered as SaaS.
While other approaches require a more or less
large reengineering of the existing source code in
order to bring in multi-tenancy, our approach con-
sists of simply adding components to the legacy
application – without explicitly touching the existing
application’s source code.
The additive components are implemented as as-
pects in AspectJ and depend only on technological
choices such as application server, database system,
and the data isolation strategy. The components can
easily be applied to other applications by just adjust-
ing some pointcuts.
Using an existing REST application that runs in
Tomcat and uses Oracle, the paper presented the
approach and discussed how to achieve two main
concerns in detail:
tenant isolation (Chong and Carraro, 2006);
tenant-specific customization of behavior.
We demonstrated the details of the approach and the
effort to be spent; the overall principle requires only
a few 100 lines of aspect code. We also elaborated
upon how to benefit from AspectJ in this respect and
concluded with some evaluation and lessons learnt.
In fact, REST services are simpler to handle as
demonstrated in this paper. There is just Java code
without any parts in HTML or Javascript. Future
work will go one step further and tackle other types
of applications, especially to determine the limits. So
far, we have first experiences that show the
MTE
aspect working well. Customization of logic is also
possible as far as no GUI is concerned. Further in-
vestigations will handle customizing the UI. Moreo-
ver, we want to combine our approach with feature
modeling tools to control the configuration in an
easy manner.
Certainly, migrating an application into the cloud
is much more than just adding multi-tenancy. In case
of too much load, e.g., several Tomcat instances
have to be started with a load balancer in front. Tak-
ing care of scalability issues and replacing software
components with Cloud services is also subject to
future work.
REFERENCES
Andrikopoulos, V., Binz, T., Leymann, F., Strauch, S.,
2013. How to adapt applications for the Cloud envi-
ronment - Challenges and solutions in migrating appli-
cations to the cloud. Computing 2013, 95(6): pp. 493-
535.
Bezemer, C., Zaidman, A. Platzbeecke, B. Hurkmans, T.,
Hart, A., 2010. Enabling multitenancy: An industrial
experience report. In: Technical Report of Delft Uni. of
Technology, TUD-SERG-2010-030, 2010.
Bezemer, C., Zaidman, A., 2010. Challenges of reengi-
neering into multitenant SaaS applications. In: Tech-
nical Report of Delft Uni. of Technology, TUD-SERG-
2010-012, 2010.
Binz, T., Leymann, F., Schumm, D., 2011: CMotion: A
framework for migration of applications into and be-
tween clouds. SOCA 2011, pp 1-4.
Chong, F., Carraro, G., 2006. Architecture strategies for
catching the long tail (2006), https://msdn
.microsoft.com/en-us/library /aa479069.aspx.
Chong, F., Carraro, G., Wolter, R., 2006. Multi-tenant data
architecture. http://msdn.microsoft.com/en-us/library
/aa479086.aspx (June 2006).
Elrad, T., Filman, R., Bader, A., 2001: Theme section on
aspect-oriented programming. CACM 44(10), 2001.
Fehling, C., Leymann, F., Mietzner, R., 2010: A frame-
work for optimized distribution of tenants in cloud ap-
plications. IEEE 3rd Int. Conference on, Cloud Com-
puting (CLOUD), 2010, pp. 252-259.
Guo, C., Sun, W., Huang, Y., Wang, Z., Gao, B., 2007: A
framework for native multi-tenancy application devel-
opment and management. In: CEC/EEE 2007: Int.
Conf. on Enterprise Computing, E-Commerce Tech-
nology and Int. Conf. On Enterprise Computing, E-
Commerce and E-Services, pp. 551-558 (2007).
Khajeh-Hosseini, A., Greenwood, D., Smith, J., Sommer-
ville, I., 2012. The cloud adoption toolkit: supporting
cloud adoption decisions in the enterprise. Software,
Practice Experiences 42(4): 447-465 (2012).
Kiczales, G., et al., 2007. Aspect-oriented programming.
In: Proc. of the European Conf. on Object-Oriented
Programming (ECOOP), pp. 230-242, Finland 1997.
Kong, L., Li, Q., Zheng, X., 2010. A novel model support-
ing customization sharing in SaaS applications,” in Int.
Conf. on Multimedia Information Networking and Se-
curity (MINES), 2010, pp. 225–229.
Krebs, R., Momm, C., Kounev, S., 2012. Architectural
concerns in multi-tenant SaaS applications. CLOSER
2012, pp. 426-431.
Kwok, T., Nguyen, T., Lam, L., 2008. A software as a
service with multi-tenancy support for an electronic
contract management application. In: Int. Conf. on
Services Computing (SCC) 2008. pp. 179-186.
Laddad, R., 2009: AspectJ in Action: Practical Aspect-