Easy Service Creation of Local Mobile Services on an Open SOA Platform Frank Bormann1, Stephan Flake1, Jan Keiser2, Tham Kriengchaiyapru3, Yassin Nachite3, Jürgen Tacken1 1 Orga Systems GmbH, Am Hoppenhof 33, 33104 Paderborn, Germany Tel: +49 5251 8749 3222, Fax: +49 5251 8749 3239, Email: {fbormann, sflake, jtacken}@orga-systems.com 2 DAI-Labor, Technische Universität Berlin, Ernst-Reuter-Platz 7, 10587 Berlin, Germany Tel: +30 314 74032, Fax: +30 314 74003, Email:
[email protected] 3 Communology GmbH, Im Mediapark 5b, 50670 Köln, Germany Tel: +49 221 35 55 9-0, Fax: +49 221 35 55 9-599, Email:
[email protected] Abstract: This article presents an approach that makes use of service templates to allow for an easy configuration of context-aware mobile services. The goal is to enable people with only basic technical knowledge to act as service providers and set up mobile services. This approach is an essential contribution to the LOMS open SOA platform, which provides an infrastructure and all necessary enabling services for the composition, deployment, and runtime management of context-aware mobile services. The article provides an overview of the implementation of the LOMS Platform with a focus on the Service Creation Environment (SCE) for easy thirdparty service configuration. As an example to demonstrate the feasibility of the approach, a service template for a context-aware Latest News Service is described and its configuration and deployment with the SCE is shown. Keywords: Service Creation, SOA, Web Services, Local Mobile Services
1. Introduction The work presented in this article is part of the ITEA1 project Local Mobile Services (LOMS2). The main aim of the project is to investigate and provide methods and tools for an eased development, deployment and management of context-aware mobile end user services. As one of the major objectives, an open SOA-based platform – called LOMS Platform – is being prototypically developed that enables non-expert service providers to easily configure, launch, and maintain their context-aware mobile services. Based on the definitions of [1], a local mobile service is considered as a software service that adapts its behavior and provides information according to user- and servicespecific context information gathered before or during service provisioning. In order to have a common understanding of context information among all parties working with the LOMS Platform, a LOMS ontology has been defined as a subset of the COGITO framework [2]. Note that the FP6 project SPICE3 has also defined ontologies for similar
1
http://www.itea-office.org/ http://www.loms-itea.org/ 3 http://ontology.ist-spice.org/ 2
purposes [7]. Joint collaboration of the projects LOMS, SPICE, and OPUCE4 towards a unified context ontology has just started. The success and attractiveness of local mobile services is based on the possibility to easily make use of context information. The success can even be increased when service providers offer attractive pricing models that grant further discounts depending on the current user context. However, since the context of the mobile users changes continuously, they need to be continuously aware about the current prices of the services they are using or going to use. To enable this, appropriate context-aware enabling services offering rating and charging operations in real-time are made available on the LOMS Platform using convergent charging and billing [3]. The benefit is that all charges for the various services offered by the different service providers over the LOMS Platform are presented in a single bill to each user, while the expenses and revenues of all involved parties are respected and settled in a fair and flexible manner [4]. This article focuses on the LOMS approach for easy creation of local mobile services. Basically, this approach makes use of domain-specific service templates that are developed by expert service operators and can be completed by non-expert service providers to generate local mobile services. The service providers targeted by LOMS are locally operating small and medium-sized companies who know the interests of the customers very well but do not have sufficient technical know-how to develop mobile services on their own. The LOMS Platform therefore provides a corresponding infrastructure to (a) create and maintain service templates, (b) configure, launch, and maintain local mobile services, and (c) execute these services together with charging and billing for service usage. The remainder of the article is structured as follows: Section 2 provides an overview of the extended LOMS role model for the creation and management of local mobile services. Section 3 illustrates the distributed LOMS Platform and the main tasks of the involved roles, in particular w.r.t. the process of template development and service configuration. Section 4 explains the functionality of a Latest News Service as an example of a local mobile service that can easily be configured and launched on the LOMS Runtime Platform. Section 5 provides related work and describes why the LOMS approach goes beyond the state of the art. Section 6 closes the article with a conclusion and outlook on future work.
2. LOMS Role Model The current approach for the development and management of mobile services is characterized by the central role of the Mobile Network Operator (MNO). The MNO not only manages the mobile access network, but also determines the number and kind of offered mobile services, carries out service maintenance, and performs charging and billing for service usage. Third-party service providers (including content providers) thus only indirectly offer their services and contents over the MNO’s system. More generally, the situation is as depicted on the left-hand side of Figure 1: A Network Operator (NO) provides the complete access infrastructure for mobile users, i.e., network and service portal. Services offered by service providers to the mobile users are delivered over the NO’s access infrastructure.
4
http://www.opuce.tid.es/
Network Operators
Platform Operator
Service Operators
Network Operators Multiple Access
Mobile Users
Service Providers
Application Domains
Service Variety Mobile Users
Local Service Providers
Figure 1: Classical Service Provisioning Role Model (left) vs. LOMS Role Model (right)
This operator-centric model has the disadvantage that only large third-party service providers and content providers manage to arrange business agreements with NOs to bring their services into the market. On the other hand, there are a lot of specialized small- and medium-sized enterprises (SMEs) in market segments such as health, tourism, publishing, and maintenance, which would like to offer their local mobile services via a mobile network infrastructure. However, though SMEs know their business very well and the local mobile services they could offer, they often do not have sufficient technical knowledge on how to develop them and do not get the opportunity to deploy them. To help locally operating service providers to overcome these problems, the LOMS project has defined the two supportive additional roles LOMS Platform Operator and LOMS Service Operator. The LOMS Platform Operator is operating an open service delivery platform and is regarded as the technical enabler that allows service providers the possibility to offer their mobile services through a number of NOs to reach a large base of mobile users. Note here that LOMS particularly addresses locally operating service providers that often have special requirements for their mobile services, e.g., mobile services should be offered only for a limited time, a particular community, or within a certain region. In addition, LOMS Service Operators with IT- and domain knowledge provide the local service providers with a Service Creation Environment (SCE) and domain-specific service templates. For example, a large publishing company could offer a service template for local news services or a trading company could provide a service template for voucher services, granting coupons for people getting close to a particular location. With the SCE and such service templates, service providers can configure end user services and deploy them on the LOMS Runtime Platform.
3. LOMS Layered Architecture Figure 2 illustrates the distributed open SOA-based LOMS Platform and the tasks of the involved roles. LOMS Service Operators are domain experts and develop and upload service templates to the LOMS Runtime Platform. Service templates are persistently stored over a Database Service in a dedicated database.
Operate the LOMS Runtime Platform Provide enabling services Manage logins and accounts
Distributed SOA-based LOMS Runtime Platform Platform Operator
Platform Operator Computer
Web Application Server (Uni Paderborn) Personal Portal Web Pages
Implement and upload templates for context-aware mobile services using the Template Creation Environment
Service Operator (domain expert)
...
Service GUI n
Presentation Presentation (User Interfaces) (User Interfaces)
Service Management
Service Logic 1
...
Service Logic n
End User Services End User Services (Service (ServiceLogic) Logic)
Web Server (Uni Rostock)
Web Server (Orga)
Service Operator PC
UDDI Service Registry
Configure and deploy context-aware mobile services using the LOMS Service Creation Environment (SCE)
Service Provider PC
Check balance Get account history statement Register/de-register to/from services Set thresholds Use mobile services
Mobile User
Service GUI 1
WS-BPEL Server (DAI Labor)
Network
Service Provider (locally operating)
Layers Layers
Web Server (KUL)
Account Management Database Service
Charging Service
Context Service
Exposed Enabling Exposed Enabling Services Services
Server (KUL)
Server (Orga)
User User Profiles Profiles
Media Media
Subscriptions Subscriptions
Service Service Templates Templates
Online Charging System
Sensory Sensory Data Data
Persistence Persistence and and Backend Systems Backend Systems
End User Device(s)
Figure 2: LOMS Platform and Main Tasks of Involved Roles
Using the SCE, service providers can download service templates and then configure service instances by answering questionnaires that are part of the service templates. Note that this approach intentionally prohibits service providers from making any direct changes – in particular, any additions – to the services’ business logic: all envisaged alternatives have to be already included in the skeleton code by the service operator who designs and provides the service template. Depending on the answers given by the service providers in the corresponding questionnaire, particular sections of that code can be enabled or completely disabled, such that the logic of a particular service is customizable to a limited, well-defined and controlled extent. On the other hand, a service provider can also ask a service operator to extend the offered template according to additional requirements, and the service operator will then create a customized template. When publishing a service with the SCE, data is transparently sent to several components on the LOMS Runtime Platform, i.e., (a) internally generated BPEL code5 is submitted to a BPEL Server, (b) target URL, service description information and further provider-specific information is sent to the platform’s UDDI service, (c) branding data such company logo, background color, and font style are sent to the platform’s Web Application Server, and (d) discount rules are sent to the Charging Service. A key concept of the LOMS Runtime Platform is the layered and modular approach and the use of Web Service technology for its main functions and services. Note that the LOMS Runtime Platform does not necessarily be installed as a single monolithic system, and in fact the components of the current realization of the prototype system are distributed among the project partners. Nevertheless, as the platform heavily relies on Web Services, reconfiguration and extension is easy to perform. On the outermost layer, the mobile services are presented to the end users as Web pages. The service logic is covered by BPEL processes which are making use of exposed enabling services. These are Web Services pre-installed on the LOMS Runtime Platform, 5
Web Services Business Process Execution Language, see http://docs.oasis-open.org/wsbpel/
such as the Account Management and Charging Web Services or the Context Service to obtain contextual information. Exposed enabling services may in turn make use of more basic enabling services like, e.g., the Authentication and Authorization Service. Finally, on the persistency and backend system layer, there are databases to manage user, service, and context information as well as an online charging system for rating, charging, revenue sharing and billing purposes.
4. Creation of a Local Mobile Service with LOMS Technology Among others, the LOMS project chose a B2C scenario for an ad-hoc public event to illustrate how a local service provider can easily create and launch mobile services with LOMS technology: A journalist wants to set up new mobile services for latest news, entertainment and advertising concerning a film festival in a medieval theme park. To illustrate the whole process of template creation, service configuration, and service usage in detail, a local Latest News Service is illustrated as an example in the remainder of this section. Besides the journalist who wants to offer this service, assume that there is a publishing company (as a Service Operator) offering a corresponding template for configuring local Latest News Services. Once installed, the service will give mobile users the latest news depending on their current context. The Latest News Service has the following characteristics: • Mobile users get local news by calling the Latest News Service through a personal portal, which is either a Web portal or a client program installed on their mobile device. • A configurable base fee is charged on a daily basis, e.g., 0.20 €/day. A pre-defined, fixed part of this base fee will be paid to the publishing company, e.g., 0.05 €/day/user. • For particular news, additional charges can be applied. The prices for such news are defined by means of generic service units (SU), where 1 SU corresponds to 0.01 €. • Three context parameters are considered for news delivery and discount calculation, i.e., the current user location, the current weather conditions at that location, and an indicator whether the content is sponsored by advertisement or not. 4.1 Service Template The publishing company creates the template for the Latest News Service. The template comprises a questionnaire to be filled out by service providers, e.g., the journalist, as well as skeleton code and a transformation to generate executable BPEL code after the questionnaire has been answered. The skeleton code implements the business logic and the calls to the underlying enabling services provided on the LOMS Runtime Platform, like, e.g., the charging and billing services. In addition to the template, the publishing company has to provide a GUI for the service interaction with the users, either as Web pages on the LOMS Runtime Platform or as standalone clients to be installed on user devices. Pre-installed on the LOMS Runtime Platform, a Provider Portal is available to allow service providers to upload data – in this case news and related multimedia files – to a database on the LOMS Runtime Platform. When answering the questionnaire, the journalist needs to specify the service name, the amount for the daily base fee, the content types to be supported, whether he wants to offer sponsored contents or not, and which context parameters are to be considered at service runtime. In addition, the journalist can provide a logo file and configure the colors and style information for the service’s user interface and specify discounts using a spreadsheet. The questionnaire is basically an XML document that can be created using any XML editor. However, LOMS offers a dedicated open source tool for creation of such
questionnaires. The tool also supports the development of the XSLT transformation to BPEL code. Figure 3 shows an XML fragment of the questionnaire for the Latest News Service. The fragment shows the code for the question related to the sponsored-by-advertisement option. Figure 4 shows the corresponding part of the XSLT transformation to BPEL code.
Figure 3: Fragment of the XML Questionnaire of the Latest News Service
Figure 4: Fragment of the XSLT Transformation for the Latest News Service
4.2 Service Configuration The journalist can make use of the SCE to answer questionnaires. Figure 5 shows a sample question for the Latest News Service related to the sponsored-by-advertisement option. When the Save and Publish button is pressed after completing the questionnaire, the SCE automatically applies the template’s transformation and sends the generated code and all other necessary files to the LOMS Runtime Platform. This way, a new service is made available to end users.
Figure 5: LOMS Service Creation Environment
In this example, the service charges for audio and video news depend on the users’ current location and can be further reduced if the advertisement option is enabled. To configure such kind of discounts, the journalist can specify discount rules that take the
user’s context and personal options into consideration. The journalist therefore has to define the context rules by filling an Excel sheet depicted in Figure 6. The rules are also uploaded to the LOMS Runtime Platform when the service is deployed. EndUserService ID
LomsLatestNewsService
Place Rapunzel Jumper Rapunzel Jumper Rapunzel Jumper Rapunzel Jumper Rapunzel Jumper Rapunzel Jumper Big Wheel Miners Hell Pirate Shaker Twister Dwarf Town Catapult Shooting
Weather Status rainy sunny cloudy rainy sunny cloudy sunny|cloudy|rainy sunny|cloudy|rainy sunny|cloudy|rainy sunny|cloudy|rainy sunny|cloudy|rainy sunny|cloudy|rainy
Sponsored yes yes yes no no no yes|no yes|no yes|no yes|no yes|no yes|no
Discount (in %) 60 50 40 30 20 10 20 50 20 10 20 30
Figure 6: Spreadsheet for Service-specific Discount Rules
4.3 Service Operation This section describes the details of the control flow of the Latest News Service and the user interaction with the service. Input: userID
[weather= false]
getLocation location = getLocation(userID)
noWeather weather = null
[time= false]
getWeather [weather= true]
weather = getWeather(location)
noTime time = null
getTime [time= true]
time = getTime(location)
getLatestNews list = getLatestNews( userID, location, weather, time, sponsored)
Figure 7: Part I of the Control Flow for the Latest News Service (get list of latest news)
Figure 7 shows the flow for retrieving the list of available news and their prices depending on the actual context of the user. First, the operation getLocation of the Context Service is called to determine the actual location of the mobile user. Depending on the choice of the service provider in the questionnaire, the weather condition and current time at the user location is obtained or not. Then, the operation getLatestNews returns the corresponding list of news and their prices depending on the context parameters. Note that also the sponsored-by-advertisement option is considered in this step. Figure 8 shows the control flow after a particular element of the list of news has been chosen by the user. First, it is checked whether the selected news is free of charge or not. In the latter case, an amount for the news is calculated and reserved in real-time over the LOMS Online Charging System by calling the operation reserveServiceUnits. The calculated amount depends on the provided context parameters location, weather and sponsored. After a successful delivery, the reservation is charged, otherwise it is released.
Input: userID, content
[content.SU0]
chargeReservation [result= ok]
reserveServiceUnits reservationID = reserveServiceUnits( userID, location, weather, sponsored, content.SU)
[reservation= ok] [reservation= not ok]
deliverContent result = deliverContent( userID, content)
[result= not ok]
chargeReservation( reservationID)
releaseReservation releaseReservation( reservationID)
Figure 8: Part II of the Control Flow for the Latest News Service (get selected latest news)
Figure 9 shows the Provider Portal Web page to upload news. The journalist has just entered a news with a file that will be offered for a basic amount of 20 Service Units.
Figure 9: Screen for Service Provider to Upload News
Assume that a mobile user named Marc has subscribed to the journalist’s Latest News Service. The Latest News Service lists news as shown in the example Web page in Figure 10: Marc is at the Rapunzel Jumper and the weather is sunny. The available media is not sponsored and therefore the calculated amount is 0.16€, as 20% discount were granted on 20 service units (cf. Figure 6 for the relevant discount rule and Figure 9 for the basic price).
Figure 10: User Portal with Latest News Service
Note that the journalist can update the discount rules even when the service is already deployed and running. For this purpose, he can upload an updated spreadsheet at any time through the Provider Portal Web pages.
5. Related Work In the LOMS project several commercial solutions for Service Creation Environments and Service Delivery Platforms have already been analyzed [6]. The benefit offered by these tools is that no specific skills in telecommunication protocols and infrastructures are required for the creation and deployment of mobile services. However, all tools still require fundamental IT knowledge. Furthermore, most of the commercial solutions are focussing on one particular application area, i.e., large telecommunication operators which want to integrate services from third-party service providers. In contrast to these solutions, LOMS addresses non-expert service providers from different application domains. Together with the related research projects SPICE6, S4ALL7, and SMS8, LOMS makes use of open interfaces such as OSA/Parlay, standard protocols such as SOAP and Diameter and public service registry services (in particular, UDDI). A further benefit of the LOMS approach results from the combination of new business models with context-aware online charging. Corresponding services are installed on the LOMS Runtime Platform as exposed enabling services: • Service providers can define context-dependent discounts to stimulate the service usage. • Mobile users can receive a context-dependent Advice-of-Charge or threshold notification for an improved cost control. • A real-time revenue sharing mechanism is implemented to allow the online settlement between service providers and the operators. To our knowledge, there is no other work that suggests a platform for easy service creation of local mobile services with appropriate online charging and revenue sharing functionalities. An existing billing infrastructure of several operators can be re-used by providing appropriate interfaces in the mediation layer which are based on Parlay X Web Services for SOA-based services and Diameter for IMS services.
6
7 8
IST FP6 Project Service Platform for Innovative Communication Environment (SPICE): http://www.ist-spice.org/ ITEA Project Services for All (S4ALL): http://www.s4all.eecs.uni-kassel.de/ IST FP6 Project Simple Mobile Services (SMS): http://www.ist-sms.org/
6. Conclusion and Outlook This article provided an overview over the implementation of the LOMS Platform with a focus on easy third-party service configuration. As an example local mobile service, a Latest News Service has been presented and all major creation steps have been explained: template creation and upload to the LOMS Runtime Platform, service configuration and deployment with the SCE, and finally user self-registration and service usage including context-aware online rating and charging. A number of additional LOMS service templates have been developed, e.g., a locationaware coupon service and a context-aware instant messaging service in the B2C area as well as a machinery maintenance service in the B2B area. With the service template approach in combination with the LOMS Platform, we believe that the complexity for the development of innovative context-aware mobile services can be significantly reduced for service providers. Service providers can rely on existing templates when launching new services without the need to have deep technical knowledge. In those cases, where the existing templates are not sufficient, service providers can contact the service operators to extend the templates according to their needs. Due to the consideration of business models and the integration of charging and billing services, there are great business opportunities even for locally operating service providers offering context-aware mobile services over the LOMS Platform. There are plans to extend the LOMS Platform with service templates and enhanced charging and billing services for mobile peer-to-peer communities. We expect that user groups with common interests will increasingly use services and share content over mobile networks. Traditional consumers will become “prosumers” pro-actively offering services and contents while on the move. The challenge for the classical providers and operators is to offer their customers – acting as prosumers – a convenient infrastructure to bind them and to share in their revenue.
Acknowledgements This work has been funded in part by the German Federal Ministry of Education and Research (BMBF) under contract no. 01ISF11A (project D-LOMS) and is supported by the EUREKA cluster programme ITEA.
References [1] T. Strang, C. Linnhoff-Popien, K. Frank. CoOL: A Context Ontology Language to Enable Contextual Interoperability. In: 1st Int. Conference on Distributed Applications and Interoperable Systems (DAIS 2003), Paris, France, 2003, pp. 236–247. [2] D. Preuveneers. Context-oriented Governance of Information-tied Operations, K.U. Leuven, Belgium, 2007. http://www.cs.kuleuven.be/~davy/cogito.php [3] F. Bormann, S. Flake, J. Tacken. Convergent Online Charging for Context-aware Mobile Services. In: 2nd Int. IEEE Workshop on Service Oriented Architectures in Converging Networked Environments (SOCNE 2007), Niagara Falls, Ontario, Canada, May 2007. [4] F. Bormann, S. Flake, J. Tacken. Business Models for Local Mobile Services Enabled by Convergent Online Charging. In: 16th IST Mobile and Wireless Communications Summit, Budapest, Hungary, July 2007. [5] M. Koutsopoulou, A. Kaloxylos, A. Alonistioti, L. Merakos. A Platform for Charging, Billing & Accounting in Future Mobile Networks. In: 1st Int. Workshop on Next Generation Networking Middleware (NGNM04), Athens, Greece, May 2004. [6] LOMS Consortium. State-of-the-art analysis and feature recommendations for the LOMS Service Creation Environment. Deliverable D4.1. April 2007. http://www.loms-itea.org/deliverables/LOMS_D4.1_v1.1.pdf [7] Spice Consortium, Ontology definition of user Profiles, Knowledge Information and Services, Deliverable D4.1, http://www.ist-spice.org/documents/D4.1-final.pdf