Towards Distributed Service Platform for Extending Enterprise Applications to Mobile Computing Domain Pakkala D., Sihvonen M., and Latvakoski J. VTT Technical Research Centre of Finland, Kaitoväylä 1, PO Box 1100, FIN-90571 Oulu, Finland Tel. +358-8-551 2111, Fax. +358-8-551 2320 E-Mail: {Daniel.Pakkala, Markus.Sihvonen, Juhani.Latvakoski}@vtt.fi Abstract. This paper analyses the dilemma of extending enterprise applications to mobile computing domain. The enterprise environments are very much different from the mobile computing environments, and there are many issues to be addressed when extending the legacy enterprise applications to mobile computing and mobile Internet domains. One way of alleviating the development of mobile extensions to legacy enterprise applications is to provide a service platform that incorporates middleware services needed in the enterprise mobile computing interface. Previously prototyped service platform architecture, supporting adaptation, personalization, and context-awareness of mobile services in service gateway based service architecture [1] is taken as a starting point. The research problem of the paper is to analyze requirements and challenges in integrating legacy enterprise applications into mobile service environment. The research is based on the constructive method of the related publications and technologies. The results are derived by the abstractive analysis of the available material. The primary conclusions of the study are enhancements and extensions to service platform for enterprise mobile computing systems. The role and application scenarios of peer to peer technology and content delivery in the enterprise domain are also discussed and adopted to requirements of the service platform. 1. Introduction The current enterprise applications typically reside in servers and desktop PCs connected by a high bandwidth, low latency, and reliable Local Area Network (LAN). Now that wireless technologies have reached a certain degree of maturity, many enterprises are thinking of extending the legacy enterprise applications to mobile computing domain and are planning or implementing their mobility strategies [2]. However, mobilizing the existing enterprise applications is still not an easy task and incorporates many matters to be addressed in order to have a satisfying outcome. In the area of telecommunication systems and mobile Internet the trends are going towards service platforms and frameworks that may considerably alleviate the development of applications to heterogeneous distributed environments [3], like the interface of the enterprise- and mobile domains is. We have previously designed and prototyped a distributed service platform supporting adaptation, personalization, and context-awareness of mobile distributed services in a service gateway based service architecture [1]. The prototyped service platform is taken as a starting point and further enhancements regarding the enterprise mobile computing interface are discussed and proposed here. An important aspect of mobilizing the enterprise applications is to consider the effects of different type of terminal devices that can vary from mobile phone to laptop, and are used essentially differently than desktop PCs that are the terminals for legacy enterprise applications. The user usually always carries along the mobile terminals for example in meetings and outside the enterprise premises. Therefore as difference from the legacy enterprise applications used via desktop PCs, the requirement of adaptive, personalized and context-aware applications and services are present in the mobile computing domain [3]. The variety of mobile terminals creates challenges regarding application development, but also new application scenarios related to mobile worker concept due to way the mobile terminals are used and always carried along. In addition the mobile terminals as part of enterprise systems pose some security considerations. Typically the enterprise applications are designed along the client-server communication model. The same client-server model is also applicable in the mobile domain. On the other hand, essentially different P2P communication model seems to be arising in the Internet community. P2P technology has gained bad reputation due to illegal content exchange in the Internet domain. However, it may have some potential as a
service enabler for content delivery and management inside trusted enterprise domains where better control over the delivery channels may be possible. The P2P communication model can be seen as complementing model for the client-server model. The fundamental challenges of extending enterprise applications to mobile computing domain rise from the differences between the enterprise and mobile computing environments. Enterprise computing environments typically have lots of resources like high bandwidth, low latency, reliable fixed networks and high resource PCs as client terminals. Meanwhile the mobile computing environment's characteristics include limited bandwidth, high latency, intermittent connectivity wireless networks and variable processing capability mobile terminals. Because of these characteristics of the mobile computing environment the mobile applications should be adaptive regarding the required processing power and dynamically changing network capabilities [4]. As the enterprise and mobile environments are different so is the design of applications for these environments. The enterprise applications are traditionally designed relying on the resources that are typical for the enterprise environment. Therefore many problems rise when the legacy enterprise applications are to be extended to mobile computing domain that lacks most of these resources. Mainly the problems to be solved come from application design, used middleware technologies, and underlying network capabilities. The simplest approach for extending the enterprise applications to mobile computing domain would be to leave the applications and middleware as is, and replace the fixed LAN connection with wireless Wide Area Network (WAN) connection. However the drawbacks of this approach regarding system performance and reliability, because of mobile network and terminal characteristics, are so extensive that usually alternative solutions must be searched. An alternative approach would be to provide a distributed service platform, partly residing at the user terminal and partly at server in the enterprise network edge, providing middleware services for overcoming the differences in the computing environments and thereby alleviating the application development. This is the approach considered in this paper and requirements and initial architecture overview for such a service platform is provided. Firstly, the challenges of extending the legacy enterprise applications to mobile computing domain are brought up in chapter 2. Secondly, the requirements for a distributed service platform for mobilizing the legacy enterprise applications are gathered in chapter 3, based on the identified challenges. Thirdly, a conceptual architecture for a service platform is proposed in chapter 4, based on extending already prototyped architecture [1]. Finally, conclusions and future research directions are presented in chapter 5. 2. Challenges of Mobilizing the Enterprise Applications The first challenge of mobilizing the enterprise applications comes from the object-oriented and often session based middleware technologies like Java RMI, CORBA, and DCOM that are widely used in enterprise systems as system middleware. Naturally also the enterprise applications are often built on these technologies. The aforementioned object-oriented and session based middleware technologies are not usable in wireless environments as such, but optimizations regarding network usage and behavior in wireless environments have been made [5][6]. Another type of middleware technology that is claimed to be better applicable in mobile computing domain and wireless networks, also exists - Message Oriented Middleware (MOM). MOM uses the network more sparingly, is more robust to intermittent connectivity, and high network latency, and promotes a communication model better suited for mobile computing than its object-oriented counterparts [7]. However the object-oriented middleware technologies in enterprise systems are a proven concept and have clear advantages in the enterprise environment. Thereby the MOM should not be seen as competing technology to object-oriented middleware, but rather a complementary technology for mobilizing the enterprise applications by mobile extensions. Like the object-oriented middleware technologies, also existing enterprise applications are designed to enterprise environment. Thereby mobilizing the existing applications by replacing the fixed LAN connection with wireless WAN connection, even if the problems of the object-oriented middleware in wireless environments could be overcome, is a laissez-faire approach. Instead extending the existing applications with newly designed mobile extensions is an approach that can guarantee fluent, reliable, and secure operation in mobile computing environment. These extensions should be designed so that the
amount of transferred data in wireless WAN is optimized, also most of the processing should be done at server instead of client because limited and varying resources of mobile terminals. Alternatively and more sophistically the workload allocation between the server and the mobile terminal could be adaptive to terminal and network capabilities that may vary a great deal. Also the size of the mobile client software is limited because of small amount of memory and lack of permanent storage in many mobile terminals. Further design considerations for the mobile extensions of enterprise applications are due to intermittent connectivity wireless networks, where sudden disconnections should be treated as normal operation instead of exceptions. The user interface design is also challenged as the mobile terminals typically have smaller screens than PCs and input methods differ very much from traditional mouse and keyboard combination. The enterprise environments are typically so called trusted domains, where security is managed. However when extending the enterprise applications outside the enterprise domain security becomes a matter requiring special attention. This is because access to the enterprise network has to be granted from outside the enterprise premises in order to enable the use of wireless WAN access. The popular way to handle data security in this scenario is to tunnel and encrypt the data that is passed outside the enterprise domain by Virtual Private Network (VPN) technologies. Additional security considerations arise from mobile terminals that are usually carried along and can easily get into wrong hands. Therefore users have to be strongly authenticated before letting them access the enterprise networks and applications. 3. Requirements for a Service Platform The requirements for a distributed service platform for mobilizing enterprise applications come mainly from the differences between enterprise and mobile computing environments. A distributed service platform can provide middleware services that can partly hide and overcome these differences or provide services for the applications to deal with the differences fluently. On the other hand some requirements for any mobile application are set by the end user. The requirements of personalized, adaptive, and contextaware applications are partly required by the user and partly by the mobile computing environment s characteristics. Firstly the service platform should take advantage of both the object and message oriented middleware. Object-oriented middleware has clear advantages over the MOM in the enterprise environments and should not be replaced there. However when extending the enterprise applications to be used from the mobile domain, object-oriented middleware technologies become less applicable, and MOM technologies should be favored in mobile extensions. The aforementioned middleware setup, role of the service platform, and mobile extension of an enterprise system is illustrated in Figure 1. Enterprise Domain (Trusted) Mobile Domain (Untrusted) Data Bases Enterprise Server Server Software (Enterprise Server) PC Client Client Software (PC Client) Object Oriented Middleware Enterprise LAN/WLAN M-Server VPN Mobile Server Service Platform (M-Server) PDA Laptop Mobile System Extension Mobile Phone Mobile Client Service Platform (Mobile Terminal) Message Oriented Middleware Wireless WAN Figure 1. System extension for mobilizing the enterprise applications. From Figure 1 it can be seen that the role of the enterprise network resident part of the service platform is to act as the combining node of object-oriented and message based middleware. The software residing over this part of the service platform is referred as Mobile Server. The other part of the service platform residing in the mobile terminal is based on MOM, and the software that resides on top is referred as Mobile Client. The role of the Mobile Server software is to act as a client for enterprise servers and server for the Mobile Client that is used to access the extended enterprise applications from the mobile domain. In other words
the Mobile Server acts as a proxy to enterprise network for the Mobile Client. Because the capabilities of mobile terminals vary a lot the mobile terminal resident part of the service platform should be lightweight and the service platform should provide means for adaptive workload allocation between the Mobile Server and Mobile Client software. Because the service platform partly resides outside the normal enterprise systems boundaries, in the mobile domain, security poses some requirements also. The service platform should provide centralized and strong user authentication. Also the data that is transferred inside the distributed service platform should be encrypted either externally with VPN technology or internally by the platform communications services. As the service platform incorporates wireless links it should provide services for network state monitoring for the applications utilizing it. It should also provide services for computing environment monitoring in general, because the monitoring information is needed in adaptive, personalized, and contextaware functionality of the applications [1]. From the user interaction point of view, the service platform should support two different kinds of interaction models to enable wide access from different kinds of mobile terminals. First the web style access using full- and mini browsers, representing the pull interaction model enables access from almost any connected terminal from PC to mobile phone. Secondly the service platform should support combination of pull and push interaction models to enable truly distributed and highly interactive applications that provide added value compared to web style interaction model. The enterprise mobile interface doesn t only pose challenges, but opportunities as well. Because another end of the service platform resides at network, representing a central point for the user s terminals the possible application scenarios for the service platform include for example Personal Information Management- (PIM) and unified messaging applications amongst many others. The proprietary Content Delivery Networks (CDNs) have been important when delivering mass content in the broadcast and Internet domains. The Internet convergence has caused additional business challenges for the referred CDNs especially in terms of peer to peer content delivery [8]. A possible approach to overcome the related illegal delivery of content could be application of peer to peer technologies inside trusted enterprise domains. This kind of an approach is illustrated in Figure 2, in which the possible application scenarios regarding communications and content delivery are overviewed. The P2P communications may provide an alternative or complementing way of delivering content inside the trusted enterprise domain. The service platform for mobilizing the enterprise applications should provide managed P2P communication services to have future potential regarding different communication, content delivery and management scenarios overviewed in Figure 2. Figure 2. P2P Scenarios for the Enterprise Domain. 4. Conceptual Architecture of the Service Platform We have previously designed and prototyped a service platform supporting adaptation, personalization, and context-awareness of distributed mobile applications in a service gateway based service architecture [1]. The setup in Figure 1, where part of the service platform resides at network server and another part in the mobile terminal can be considered as equal to service gateway based service architecture. Therefore we have taken the architecture already prototyped as a starting point for the service platform architecture
presented here. The architecture is based on utilizing the Generic Service Element (GSE) approach [3]. Here some extensions and enhancements to the architecture for supporting the mobilization of enterprise applications are proposed. The basic structure of the architecture is kept same but enhancements to six GSEs and platform communications services are proposed. The conceptual architecture for the service platform is presented in Figure 3. The architecture being distributed to both domains provides equal APIs and Platform Interfaces at the both network server- and mobile terminal domains. However the size of the part residing in the mobile terminal can be much smaller than the size of the part residing in the network server. The previous prototype implementation of the service platform architecture [1] resulted to overall size less than 400Kb, of which approximately one third was allocated to mobile terminal domain. This indicated that the architecture is well applicable in resource constrained mobile computing environments. Figure 3. Conceptual architecture of the service platform The service platform consists of six different GSEs that are designed to alleviate the application development to meet the requirements set by the distributed and heterogeneous computing environment and the end users. The service platform s GSEs together with other middleware services support personalization, provide services for application-aware adaptation, and support context-aware behavior of applications. These features of the service platform have already been prototyped and are described in [1]. In addition, the service platform provides tools for coping with the heterogeneous distributed computing environment and wireless connectivity by providing services for sensing the changes in the computing environment and mechanisms for adapting to these changes. The enhancements to service platform GSEs and other platform components regarding the requirements of enterprise-, and mobile computing interface and P2P application scenarios are proposed next. First version of the Access Control GSE [1] provides services for user authorization, terminal profiling, service authorization, user preference profiling and user characteristics profiling. The GSE hosts profiles that are utilized in the application adaptation and retrievable by the applications when needed. The internal profiling of the GSE utilizes the profiling mechanism provided by the Generic Profiling GSE. To police the privacy of user context information the GSE also provides service authorization process for the services to gain a trusted status inside the service platform in order to have access to user context data. The GSE provides authentication services for the applications in centralized way removing the need for per service authentication procedure implementations. The proposed enhancement to this GSE is to provide user authentication services that enable enforcement of multilevel user rights defining access to certain subsets of applications. First version of the Service Delivery GSE [1] provides an important service of delivering, updating, and terminating service instances. The instances can be delivered from the server domain to the mobile terminal domain to be executed there. The GSE can be thought as a remote execution environment for the service instances that can also be seen as parts of a distributed application. A proposed enhancement to this GSE is refinement of the remote execution environment to enable dynamic transfer of application and platform components between the server- and terminal parts of the service platform. Related enhancement is to provide automatic and adaptive workload allocation service that can share the workload based on for example energy cost, network-, and terminal capabilities. Yet enhancing the GSE to support web style interaction model would enhance the accessibility to the applications from terminals not capable of hosting the client side of the service platform but having browsers to access the services. Using the web style interaction model the disconnected mode operation is naturally excluded.
First version of the Generic Profiling GSE [1] provides a generic and privacy supporting profiling mechanism to be utilized in the profiling that takes place inside the service platform or services and applications executed over the platform. The GSE provides services for creating and updating of profiles and for adding, removing, and updating of single profile elements. The GSE is used by other middleware services providing personalization, adaptation, and context-awareness support for the applications. The proposed enhancement to this GSE is to base the profiling mechanism on standard, for example XML based technologies, to enhance interoperability with other profiling mechanisms and systems. First version of the Permanent Storage GSE [1] provides permanent storage for the other service platform components to save component specific data in the service platform. This data can be for example component specific parameters or profile information. The first enhancement to this GSE is to provide temporary local storing of data in disconnected mode operation and automatic data synchronization in connected mode operation of the applications. Additional enhancements are data synchronization and interfacing with enterprise data bases and content delivery- and management systems. First version of the Event Notification GSE [1] provides services for generating, delivering, and receiving of events inside the distributed service platform. The event notification is designed to be asynchronous and is based on registered event listeners. It is designed as simple as possible to gain fast, small size, reliable event delivery. The proposed enhancement to this GSE is to support event channeling where the platform and application events can be separated to different event channels and each application may use its own event channels. The need for event channeling is mainly a security issue but may also enhance the performance and reliability of the event delivery inside the service platform. First version of the Environment Monitoring GSE [1] provides services for monitoring the changes in the computing environment and environmental elements surrounding the user in an I-centric communication model, like connectivity, location, and sensor information, in other words the dynamic context. The GSE hosts a retrievable environment profile that describes dynamic context and is used in application adaptation. The GSE can notify these changes by using the Event Notification GSE. No major enhancements were identified for this GSE, only minor enhancements to already existing version. In the first prototype, the focus was in the GSEs and other middleware services. However, a simple MOM was provided as communications service for the GSEs, other middleware services and applications. The proposed enhancements to MOM include better transaction support and message queuing. The enterprise-mobile computing interface requires much more from the communication services than just MOM. Therefore the proposed added communication services are P2P communication services providing support for group communications and possibly acting as an enabler for enterprise content delivery and management. In addition, the communication services of the service platform should include support services for utilizing the existing object-oriented middleware technologies and also applications built on them in the enterprise domain. 5. Conclusions This paper discusses and analyses the requirements of distributed service platform for extending enterprise applications to mobile computing domain. The discussion was based on the constructed lightweight distributed service platform for adaptive mobile services, which focused on the adaptation, personalization, and context-awareness of mobile services [1], and state of the art analysis of legacy enterprise application. The requirements of personalized, adaptive, and context-aware applications are partly required by the user and partly by the mobile computing environment s characteristics. Because the enterprise environments are very much different from the mobile computing environments, additional message oriented middleware and middleware services are needed in the enterprise mobile computing interface. The mobile terminals are located outside the trusted domain, and therefore security matters set essential requirements for the service platform. More detailed, for example, solutions for user authentication, accounting, authorization and privacy protection of the data transfer, are required to be ensured. The inherent characteristic of the wireless domain is continuously changing resources, and therefore a kind of network state monitoring is required to enable well behaving adaptive, personalized, and context-aware applications. From the user interaction point of view, the service platform should support two different kinds of interaction models to enable wide access from different kinds of mobile terminals. First the web style access using full- and mini browsers, representing the pull interaction model enables access from almost any connected terminal from PC to mobile phone. Secondly the service platform should support combination of pull and push interaction
models to enable truly distributed and highly interactive applications that provide added value compared to web style interaction model. The support for, for example, Personal Information Management- (PIM) and unified messaging applications is required. The peer to peer technologies brings challenges to manage digital rights in legal manner, therefore the service platform for mobilizing the enterprise applications should provide support for P2P communication services inside the trusted enterprise domain. Based on the analysis the conceptual architecture of the service platform establishes a solid base for the enhancing the legacy enterprise applications to be applied over the wireless domain with mobile devices. 6. References [1] D. Pakkala, Lightweight Distributed Service Platform for Adaptive Mobile Services, submitted to The 2004 International Conference on Pervasive Computing and Communications (PCC-04), Las Vegas, Nevada, USA, 2004. [2] J. Figueras, "The Wireless Enterprise: Two Years on," IEEE Computing & Control Engineering, vol. 14, pp. 10-13, 2003. [3] K. Raatikainen, F. Hohl, J. Latvakoski, T. Lindholm, and S. Tarkoma, "Generic Service Elements for Adaptive Applications," WWRF, White Paper 2003. [4] M. Satyanarayanan, "Fundamental Challenges in Mobile Computing," presented at Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, Pennsylvania, United States, 1996. [5] S. Adwankar, "Mobile CORBA," presented at Third International Symposium on Distributed Objects and Applications (DOA'01), Rome, Italy, 2001. [6] S. Campadello, "Middleware Infrastructure for Distributed Mobile Applications," in Department of Computer Science. Helsinki: University of Helsinki, 2003, pp. 155. [7] D.-G. Jung, K.-J. Paek, and T.-Y. Kim, "Design of MOBILE MOM: Message Oriented Middleware Service for Mobile Computing," presented at International Workshop on Parallel Processing, Wakamatsu, Japan, 1999. [8] R. Wetzel, "CDN Business Models -The Drama Continues," Business Communications Review, pp. 51-57, 2002.