SERVICE-ORIENTED ARCHITECTURE
Dec 2006
Long Nguyen Hoang silver@cc.hut.fi Marek Konieczny marek.konieczny@gmail.com
SERVICE-ORIENTED ARCHITECTURE in MOBILE NETWORK Long Nguyen Hoang - - PowerPoint PPT Presentation
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
Long Nguyen Hoang silver@cc.hut.fi Marek Konieczny marek.konieczny@gmail.com
Purchase Purchase E E-
commerce portal portal Customer Customer relationship relationship services services Fulfillment services Fulfillment services Authentication Authentication and authorization and authorization services services Credit authorization Credit authorization Billing services Billing services
Business Process Legacy System
CRM System SAP ERP System Trading partners Data warehouse
Service Layer
Check customer credit Setup account Fraud check
Application Layer
Metadata, QoS, Security, Monitor, Management
<?xml version="1.0" encoding="UTF-8"?> <process name="loanApprovalProcess" ... > <partnerLinks> <partnerLink name="customer" partnerLinkType="..."/> <partnerLink name="approver" partnerLinkType="..."/> </partnerLinks> <variables> <variable messageType="..." name="request"/> <variable messageType="..." name="approvalInfo"/> </variables> <sequence> <receive createInstance="yes" operation="approve" variable="request" ... /> <invoke operation="approve" inputVariable="request"
<reply operation="approve" variable="approvalInfo".../> </sequence> </process>
Duplicate Number!
SalesDB
start end
Router Billing
Business process Visual Designer Business process description language
that may be under the control of different ownership domains. (OASIS)
Loose coupling Flexible Portable
GSM services 3G, 4G Location-based services Personal service
Service Directory Service invoke A simplified view of a SOA with support for mobile device suspend find find suspend register resume Mobility Controller
Service Environment A Service Environment B <<moves>>
S2 S1 S4 S3
Composite services in different service environments
XML Security
Smartphone implementations have no problems on handling WS messages/features and it only gets better very soon…..
large and contain hundreds of classes (combined into a single jar file, they take up less than 42K)
exist on a microdevice (Connected Limited Device Configuration )
J2EE Application Server
kSOAP
AlertServlet
Service ABC AkertSerivce Backend System
AlertServiceClient (Midlet Application) kSOAP
Mobile Phone kSOAP Messages (via HTTP) SystemAlert Objects System Events (sent visa JMS)
generally available for mobile devices can’t provide acceptable response times for the applications
Characterization WG,
and XML specifications.
A SOAP message is transported using HTTP by encapsulating a SOAP request into the message body of a HTTP GET or HTTP POST.
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.
A SOAP messages are encapsulated in the bodies of emails. this allows asynchronous message exchange between web services.
sent frequently and reliability is not of concern.
W S- M FR End- poi nt
WS-MFR Schema Representation Headers Stream Info Context Store
W S- M FR End- poi nt
Preferred Representation
Internet (SOAP) Web Service Mobile Gateway (SOAP to Binary) Mobile Device (Binary to SOAP to Objects) Wireless (SOAP) Wireless system
web content and services, that uses URIs for representing "items" on the web, and the HTTP methods GET, PUT, POST and DELETE to operate
Foundation Applications & Application Structure Transport
Connected Applications Connected Applications Management Management Business Business Processes Processes … …
Security Security
WS WS-
Security WS WS-
Trust WS WS-
Federation
Reliability Reliability
WS WS-
RM
Transactions Transactions
WS WS-
Coordination WS WS-
Transactions
Messaging (SOAP, WS Messaging (SOAP, WS-
Addressing)
XML XML Metadata Metadata
WSDL, WS WSDL, WS-
Policy
UDP TCP HTTP UDP TCP HTTP
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
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 #
Citizen connects once through any government authority; Automatically recognized by other government services Citizen authenticate to any government authority One sign-on opens all connected services within the circle of trust
education interior finance social aid
Citizen connects to any government authority within the circle of trust of public
Liberty Identity Services Interface Specifications (ID-SIS)
Liberty Identity Federation Framework (ID-FF) & Security Assertion Markup Language (SAML) 2.0
Liberty Identity Web Services Framework (ID-WSF)
Enables identity federation and management through features such as identity/account linkage, simplified sign on, and simple session management Enables interoperable identity services such as personal identity profile service, contact book service, geo-location service, presence service and so on. Provides the framework for building interoperable identity services, permission based attribute sharing, identity service description and discovery, and the associated security profiles
Liberty specifications build on existing standards (SAML, SOAP, WS-Security, XML, etc.)
Architecture to make use of network functionality
through open standardized interface
A set of APIs to develop applications that
exploiting the current and emerging features
WS for telecom services:
call control, messaging ,location, presence, charging and account management
Can deploy applications within or outside
MMSC -X component Multimedia Message Web Service
Parlay X I/F MMSC MMS-C MM7 VASP Interface Mobile network
Stock Quote Web Service Stock Quote Web Service
…… .. content1 =get StockQuote () … .. Retrieve user Profile … . messageId= sendMessage( content ) … . status= getMessageDeliveryStatus (messageId) if status=M essage_Waiting … . fi … content2 =get StockQuote () messageId= sendMessage ( content2 )
User profile
1 2 3 4 5 6
return a response directly to the requester.
and mobile devices
at compile time.
Not so good
Need installing, OTA
Really bad
High, OS theme
Ticket Purchase Application Ticket Purchase Service Authentication & Payment Service 1 3 4 2 5 8 7 6 Phone Network Phonebook Application Messaging Application Calendar Application
Based on server-side
Simple and easy
Better than native, depend on MIDP
Quite usable, must define own UI element
1 3 4 6 7 Phone Ticket Purchase Service Authentication & Payment Service Calendar Service 2 8 Ticket Purchase Application MIDP Messaging 5 Network MIDP Environment Messaging Application Buddylist Service
Server side, browser support
As simple as it gets
Strong
Good, offline problem, non-compatible with native solution
1 3 4 7 Phone Ticket Purchase Service Authentication & Payment Service Calendar Service 2 Ticket Purchase UI 5 Network Mobile Browser w/ scripting Messaging Application Buddylist Service Messaging Gateway 6
B
R
B
R R
R
Complicated, Mobile as a service provider
Have to know all provider nodes
Good if follow the same P2P model
Under investigation
GUI
Local Service Repository
SOAP GUI Adapt ation
GUI
Remote Service Repository QoS
Client Proxy Service Security Transport
Client Server XML Parser
Software Architecture enabling P2P Web Services
Proxy Service
Java method invocations Autom. proxy gen. (WSDL2Java)
SOAP calls
Publish service
Proxy object generation from the WSDL service description
WSDL kSOAP
Service methods Request Handler Response Handler HTTP Interface Deployment Interface 2 1 4 3 5 Client Request HTTP POST/GET Client Response
kXML
SOAP Server Core Structure
1* 2* 3* 4*