Service Oriented Architecture for Mobile Applications Swarupsingh Baran University of North Carolina Charlotte What do we have today? ► Service Oriented Architecture for Mobiles ► SAP SOA for Mobile Applications ► Microsoft Dynamics CRM (SOA Framework) ► Microsoft Mobile CRM ► CWR Mobile CRM Service Oriented Architecture ►A set of components which can be invoked, and whose interface descriptions can be published and discovered - W3C. ► The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. (CBDI) A Service Characteristic ► Services are typically constructed in the following four tiers: Interface Business process facade Business rules Data access Today’s Mobile Applications ► Field Service Automation ► Fleet Management ► Asset Management and Tracking ► Mobile CRM Problems Faced ► Unlike the Desktop counterparts, limited processing power as far as Mobiles are concerned. ► Limited bandwidth and connectivity. ► Offline / Online connection nature of the devices. ► Insufficient data storage resources. Solution – SOA for Mobile Applications ► Lightweight mobile SOA architecture. ► Allow business processes to be executed on the mobiles. ► Service based communication mechanism. ► Allow disconnected access to Enterprise Architecture and Business Enterprise Objects. SOA Architecture by SAP ► Features Lightweight and a framework which minimizes the data transferred to and stored on the devices by using knowledge of business process and data access. Highly compressed XML format to transfer and store data. SOAP message compression. Pro-active loading of data from server. Asynchronous connectivity to back-end system. Business Data Delivery ► Business Object – An entity of significance to a business model which acts as a service provider and also a service consumer. ► Data pruning and partial copies of business objects needed for mobile clients. Mobile Architecture Mobile Architecture ► Features Uses RDF documents to transmit business objects to the client side, making it light weight. Pre-deployment knowledge of business object data structure and usage along with occurrence statistics. On demand data exchange is performed for long offline periods. Mobile Architecture ► Features Consists of Core Services and Composite Services. Mobile client is a set of OSGi components exposing their functionality as services published in OSGi registry. Mobile Architecture ► Security Features and Considerations Asymmetric key encryption scheme works very slowly on mobile phones. Asymmetric encryption to be used only for most sensitive information. Symmetric key encryption for all other information. Mobile Architecture ► Pro-Active Data Feeding Analyze user transaction patterns and collect statistics to store them in user profiles. Client demand forecast method for predicting use of next business objects/operations by client. Push relevant information as much as possible to client when the connection is active. Is that all? Microsoft is never behind!! Microsoft Dynamics CRM ►A Service Oriented, fully integrated customer relationship management (CRM) system. ► Marketing: A clearer view of customers and more informed marketing investments ► Sales: Get more leads and close more business ► Customer service: Provide more value to customers Microsoft Dynamics CRM - Architecture Microsoft Dynamics CRM Applications? ► The true test of whether an architecture is feasible is when an application is built on it. ► However we do not have any application on this framework by SAP ► We do have Microsoft Mobile CRM!! Microsoft Mobile CRM ► Statistics Completely developed in C#. Has 150K lines of code, ~40KB on Pocket PC with .NET Compact Framework. Includes metadata-driven business logic, user interface, and message schemas. Has 4 SQL CE databases, ~40 tables. Transactions coordinated across databases. Schemas updated on the fly when metadata changes. Uses Web services and asynchronous messaging built on SQL CE RDA Protocol. Microsoft Mobile CRM ► Features Ability to work either in a connected or disconnected mode. CRM Mobile is easy to use, customize, and maintain. Offers users rich account and opportunity management functionality Provides salespeople with up-to-date information about their accounts and contacts, and helps them manage sales opportunities and track sales-related activities. Microsoft Mobile CRM CWR Mobile CRM ► CWR a firm based out of Netherlands specializing in developing mobile solutions for business applications ► A powerful CRM application built on top of Microsoft Dynamics CRM which is a SOA and Metadata driven rich CRM framework. ► Application Questions?