OSPAAS: OSGI SERVICE PLATFORM AS A SERVICE Sebastian Garwers 1 , Anthony Sulistio 1,2 and Christoph Reich 1 1 Department of Computer Science 2 High Performance Computing Center Stuttgart Hochschule Furtwangen University, Germany Nobelstrasse 19, 70550 Stuttgart, Germany {sebastian.garwers, anthony.sulistio, christoph.reich}@hs-furtwangen.de sulistio@hlrs.de ABSTRACT The idea behind Cloud Computing is to deliver Infrastructure-, Platform-, and Software as a Service (IaaS, PaaS, and SaaS) on a simple pay-per-use basis. In this paper, we introduce our work, OSGi Service Platform as a Service (OSPaaS), a PaaS model for running an OSGi service platform in the cloud for e-Learning and teaching purposes. OSPaaS leverages OpenNebula, a virtual infras- tructure manager, to dynamically launch virtual machines (VMs) on idle resources or dedicated servers. In addition, OSPaaS uses Shibboleth as a Single Sign-On mechanism for seamless authentication and authorization. To assess the suitability of OSGi for cloud comput- ing, this paper investigates and analyzes three OSGi frame- works, i.e. Knopflerfish, Equinox and Apache Felix. Sub- sequently, an OSPaaS architecture is presented and de- scribed. Finally, this paper shows a use case scenario and advantages of OSPaaS for e-Learning & teaching purposes. KEY WORDS cloud computing, Platform as a Service, OSGi Service Plat- form 1 Introduction Although cloud computing is a popular trend, it is difficult to get a clear definition of it. The key idea of cloud comput- ing lies in its component-based nature, i.e. reusability, sub- stitutability (e.g. alternative implementations, specialized interfaces and runtime component replacements), extensi- bility, customizability and scalability [1]. Foster et al. [2] discuss the basic concepts of cloud computing, whereas Armbrust et al. [3] give a good overview of cloud com- puting by highlighting obstacles and proposing several op- portunities to solve them. From our point of view, cloud computing delivers Infrastructure-, Platform-, and Software as a Service (IaaS, PaaS, and SaaS) on a simple pay-per-use basis. Cloud com- puting enables companies to avoid over-provisioning of IT infrastructure and training personnel. As a result, these companies can take advantage of cloud computing if IT ca- pacity needs to be increased on the fly. This increment is typically needed for services which are only requested for a certain period of time. In a typical university scenario, PC labs and servers are under-utilized during the night and semester breaks. In addition, these resources are on high demand mainly to- wards the end of a semester. Moreover, cloud computing can also be used to support e-Learning services [1] [4]. Fi- nally, cloud computing delivers many advantages to insti- tutions, such as reducing costs, increasing operational effi- ciency, and providing the flexibility to workload demands, according to an analysis done by Sterling and Stark [5]. With the aforementioned motivations and scenarios, we introduce our work in building OSGi Service Platform as aService (OSPaaS), a PaaS model for running an OSGi service platform in the cloud for e-Learning and teaching purposes. Thus, the contributions of this paper are (i) the integration of OSGi into cloud computing by leveraging OpenNebula [6], a virtual infrastructure manager, to dy- namically launch virtual machines (VMs) on idle resources or dedicated servers [7]; (ii) the development of a PaaS so- lution in the context of e-Learning; and (iii) the evaluation of OSGi frameworks. The rest of this paper is organized as follows. Sec- tion 2 provides a background information on OSGi Ser- vice Platform, whereas Section 3 evaluates different OSGi frameworks in terms of their suitabilities for cloud com- puting. Section 4 explains OSPaaS’ architecture and an e-Learning scenario. Section 5 provides related work. Fi- nally, Section 6 concludes the paper and gives future work. 2 OSGi Service Platform OSGi is an open and standardized Java-based service plat- form defined and maintained by the OSGi Alliance [8]. OSGi service platform provides modules or bundles, which are software components and services, with the ability to dynamically start, install and uninstall during runtime with- out the need to restart the system. there are many advan- tages to using OSGi: • modularity, where large and complex applications can be divided into small and manageable modules. • with the help of a dependency manager, dependencies to other bundles are automatically resolved and can only be started if they are available. Moreover, several versions of the same bundle can be installed simulta- neously within Java Virtual Machine (JVM). • hot deployment which means that the installed bun- dles can be uninstalled and updated during runtime.