SERVICE-ORIENTED ARCHITECTURE in MOBILE NETWORK Long Nguyen Hoang silver@cc.hut.fi Marek Konieczny marek.konieczny@gmail.com Dec 2006
Agenda SOA overview � SOA in mobile network � Why Mobile SOA � WS standards for mobile � Mobile SOA models � Conclusion �
Part 1 SERVICE-ORIENTED ARCHITECTURE Start programming with Business not with Architecture
SOA - Problem Statement
SOA – The Solution
A SOA System in real life Customer Customer relationship relationship services services Authentication Authentication and authorization and authorization services services Purchase Purchase E- -commerce commerce E portal portal Credit authorization Credit authorization Billing services Fulfillment services Billing services Fulfillment services
SOA Architecture Application Layer Metadata, QoS, Security, Monitor, Management Business Process Service Layer Setup account Check customer credit Fraud check Legacy System CRM System SAP ERP System Trading partners Data warehouse
SalesDB start Duplicate Number! Visual Designer Billing <?xml version="1.0" encoding="UTF-8"?> <process name="loanApprovalProcess" ... > <partnerLinks> <partnerLink name="customer" partnerLinkType="..."/> <partnerLink name="approver" partnerLinkType="..."/> Router </partnerLinks> <variables> <variable messageType="..." name="request"/> <variable messageType="..." name="approvalInfo"/> </variables> end <sequence> <receive createInstance="yes" operation="approve" variable="request" ... /> <invoke operation="approve" inputVariable="request" outputVariable="approvalInfo" ... /> Business process <reply operation="approve" variable="approvalInfo".../> </sequence> </process> Business process description language
SOA - Definition Definition � A paradigm for organizing and utilizing distributed capabilities � that may be under the control of different ownership domains. (OASIS) Key technologies � Interaction : SOAP � Semantic : WSDL � Visibility : UDDI � WS Standards � Advantages � Reusability � Interoperability � Composite services � � Scalability, extensibility Adaptability (platform independence) �
Part 2 SOA in MOBILE NETWORK Fit An Elephant Through The Eye Of A Needle???
Why SOA in Mobile realm � Pure data content � Standardization � Loose coupling � Flexible � Portable � Different services from different providers � GSM services � 3G, 4G � Location-based services � Personal service
SOA and Mobile Services Service Environment B Service Environment A find Mobility Service S4 S3 Directory Controller S2 S1 resume register find suspend <<moves>> invoke Service suspend Composite services in different service environments A simplified view of a SOA with support for mobile device
Mobile SOA Worries Processing requirements: Claim: CPUs in mobile devices can’t handle complex XML Parsing and � XML Security Truth: Based on Nokia demo/pilot activities during 2002-2005, current � Smartphone implementations have no problems on handling WS messages/features and it only gets better very soon….. Minimize SOAP primitives using kSOAP and � kXML (v2) for J2ME � the common XML and SOAP packages currently available are quite large and contain hundreds of classes (combined into a single jar file, they take up less than 42K) � these packages depend on features of the Java runtime that simply don't exist on a microdevice (Connected Limited Device Configuration )
Mobile SOA Worries (cont.) Backend System Service ABC AkertSerivce System Events (sent visa JMS) Mobile Phone kSOAP Messages (via HTTP) kSOAP J2EE Application Server SystemAlert Objects AlertServiceClient kSOAP AlertServlet (Midlet Application)
Mobile SOA Worries (cont.) Limited downlink/uplink bandwidth Claim: WS and XML are verbose, thus the downlink/uplink capacity � generally available for mobile devices can’t provide acceptable response times for the applications Truth: WS applications typically send/receive info only when needed, � reduce the overhead significantly � acceptable response times to users even with basic GPRS data rates (<40kbps). � Compression (such as GZIP, WBXML, DiffEnc) can help � Wait until W3C Efficient XML Interchange WG finish work � An alternative encoding of the XML Information Set � Addresses the specified requirements identified by the XML Binary � Characterization WG, Keep maintaining the existing interoperability between XML applications � and XML specifications.
Mobile SOA Worries (cont.) Use different SOAP Bindings: SOAP-over-HTTP � A SOAP message is transported using HTTP by encapsulating a SOAP request into the message body of a HTTP GET or HTTP POST. SOAP-over-TCP � A SOAP message is contained into the data octets part of a TCP packet. Apache Axis and Microsoft WSE (Web Service Enhancement) 2.0 already include APIs that enables the sending of SOAP messages via TCP channel. SOAP-over-SMTP � A SOAP messages are encapsulated in the bodies of emails. this allows asynchronous message exchange between web services.
Mobile SOA Worries SOAP-over-UDP A SOAP message is encapsulated into the data octets part of a single UDP � packet. The most suitable for applications where short SOAP messages are sent frequently and reliability is not of concern.
Mobile SOA Worries Intermediaries : Handheld Flexible � Representation (HHFR) Context Store WS-MFR Schema Representation Headers Stream Info 1. Negotiation over SOAP W S- M FR W S- M FR End- poi nt End- poi nt 2. Stream of Message in Preferred Representation
Mobile SOA Worries Intermediaries: Wireless SOAP � Efficient sync/async messaging � Efficient XML serialization � Persistent connections across � mobility Wireless system Mobile Gateway Mobile Device Web Service (SOAP to Binary) (Binary to SOAP to Objects) Internet (SOAP) Wireless (SOAP)
Web Services for mobile WS Star Standards (WS*) � Liberty Alliance Standards � Representational State Transfer (REST) � Architecture an lightweight HTTP-based model for the programmatic consumption of � web content and services, that uses URIs for representing "items" on the web, and the HTTP methods GET, PUT, POST and DELETE to operate on them. Returned data is typically in XML. 3GPP Open Service Access (OSA) �
WS Star Standards Management Management Applications & Processes Processes Business Business Connected Applications Connected Applications Application Structure … … Security Security Policy -Policy Reliability Transactions Reliability Transactions WS- -Security Security WS Metadata Metadata WS- -Trust Trust WS WSDL, WS- WS- -RM RM WS- -Coordination Coordination WS WS WSDL, WS Foundation WS- -Federation Federation WS WS- -Transactions Transactions WS Messaging (SOAP, WS- Messaging (SOAP, WS -Addressing) Addressing) XML XML Transport UDP TCP HTTP UDP TCP HTTP
Without federated identity A use case : A citizen changes his/her name without federated identity : Logon to the Ministry of Interior : change of name change of records Logon to the Ministry of Finance : change of fiscal identity change of marital status Logon to the Ministry of Social Aid : if eligible for social aid Logon to Ministry of Health : change of name for same social security number Logon to Ministry of Defence : change name for same ID # All information must be duplicated, the citizen registers 5 times, may use 5 different identifications and passwords, and in some cases may have to do two to three different transactions within one ministry or agency
Liberty use case Citizen connects once through any government authority; interior Automatically recognized by other government services education Citizen authenticate to any government authority finance One sign-on opens all connected services within the social aid circle of trust Citizen connects to any government authority within the circle of trust of public services. Automatic update through integration between agencies
Liberty’s Architecture Liberty Identity Services Interface Liberty Identity Specifications (ID-SIS) Federation Framework (ID-FF) Enables interoperable identity services such as personal identity profile service, contact book service, geo-location & Security Assertion service, presence service and so on. Markup Language (SAML) 2.0 Liberty Identity Web Services Framework Enables identity federation (ID-WSF) and management through features such as identity/account linkage, simplified sign on, and Provides the framework for building interoperable simple session identity services, permission based attribute sharing, management identity service description and discovery, and the associated security profiles Liberty specifications build on existing standards (SAML, SOAP, WS-Security, XML, etc.)
Recommend
More recommend