560 likes | 702 Views
Service-Orientation in Mobile Computing - An Overview Birgitta König-Ries Friedrich-Schiller-Universität Jena koenig@informatik.uni-jena.de. Dagstuhl October 2006. Mohamed Hamdy, Birgitta König-Ries: Service Orientation in Mobile Computing – An Overview, TAMC 2006
E N D
Service-Orientation in Mobile Computing - An OverviewBirgitta König-RiesFriedrich-Schiller-Universität Jenakoenig@informatik.uni-jena.de Dagstuhl October 2006
Mohamed Hamdy, Birgitta König-Ries: Service Orientation in Mobile Computing – An Overview, TAMC 2006 • Also contains work by Michael Klein and Ulrich Küster
FILE print… check spelling project send to… encrypt MORE Vision: “Really Mobile Office” • Overcome limited computing capabilities • Overcome missing attached devices • Overcome missing internet connections • Do operations with your mobile device as though you sat at your desktop PC
MOVIE getInfo… reserveSeat… buyDVD… downloadSoundtrack… chatWithMainActor… MORE… Vision: “Office” for the Real World • Also affect the real world!
Non-Mobile Business Processes Service Req Service Req Service Req useService Service Provider Service Provider Service Provider Service Provider Service Provider Service Oriented Architecture Mobile Application Service Requests Service Requests Service Oriented Middleware Network (Internet, Cell-based, Ad-hoc, …)
Service Oriented Computing • Network not as collection of documents but as a collection of functionality • Applications use functionality of other entities • loosely coupled / reusable components • especially interesting in mobile computing: • limited device capabilities • changing situations
Characteristics of SOC Characteristics • Functionality is hidden behind an interface • Offered functionality is publicly described • Service = public functionality that can be published, discovered, and executed across the network(client-server paradigm)
8. invoke 10. transfer results 6. select 7. configure 2. publish 4. search For General Process: the „Service Triangle“ 9. execute Requestor (Client) Provider (Server) 3. describe request 1. describe offer 5. match Repository
Main Advantages of SOC • Dynamic Service Binding • „Functionality binding on the fly“ • robust • context-aware • Most important task: automation • Complete process should be automatic
Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Which functionality is needed? Service Requests Service Requests
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests Which functionality is offered?
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests Who offers which functionality? Discovery
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests Which offer matches my request? ??? Discovery
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests How can services be efficiently Executed? ??? Discovery
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests Which functionality is offered?
Service Description Language • functionality offered, i. e. what changes in the world occur, • when the service is executed • expected input parameters • provided output parameters • necessary conditions (prerequisites) for service execution • where to find the service • which protocol to use • …. • All this in a machine-understandable form Service Desc Service Provider
Service Description Languages • Message-based: WSDL • Message/state-based: OWL-S, WSMO • Purely state-based: DIANE Service Description (DSD)
WSDL 1.2 service = publicly callable functionality ABSTRACT message = collection of information that can be exchanged via network CONCRETE operation = function that processes an input message and returns an output message
Upper Ontology of OWL-S • Domain independent, upper ontology for services • Separation of concerns • What does the service do? • How do I have to interact? • How do I have to invoke it technically? Taken from http://www.daml.org/services/owl-s/1.1/overview/
Overview of the ServiceProfile Taken from http://www.daml.org/services/owl-s/1.1/overview/
Input Output input output Condition Result precond. result Profile Only pointers to ServiceModel Structure of the functional description non-functional aspects Information Transformation State Change
OWL-S Example (1) Extract from Congo Book Buy Example (OWL-S 1.0), own graphical notation String String acctName password CreditExists:SWRL-Condition String SignInData parameterType parameterType AccountExists:SWRL-Condition Isbn:Parameter SignInInfo:Parameter precondition prec. input input ExpressCongoBuy: AtomicProcess
OWL-S Example (2) Extract from Congo Book Buy Example (OWL-S 1.0), own graphical notation BookInStock :SWRL-Condition buyOutput:Output ShippedEffect: SWRL-Expression inCondition hasEffect withOutput PositiveResult :ConditionalEffect NegativeResult :ConditionalEffect result result ExpressCongoBuy: AtomicProcess
The ServiceModel at a Glance Taken from http://www.daml.org/services/owl-s/1.1/overview/
WSMO: 4 Top Level Notions Objectives that a client may have when consulting a web service Provide the formally specified terminology of the information used by all other components Semantic description of web services: • Capability (functional) • Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities
Ontologies • = “data model” of WSMO • provide domain specific terminologies • language(s) used: WSML family (based on description logics, first order logic and logic programming) Class ontology hasNonFunctionalProperties type nonFunctionalProperties importsOntology type ontology usesMediator type ooMediator hasConcept type concept hasRelation type relation hasFunction type function hasInstance type instance hasAxiom type axiom
Web Services • represent atomic pieces of functionality • description needed to allow for discovery, invocation, execution, composition, …. Class webService hasNonFunctionalProperties type nonFunctionalProperties importsOntology type ontology usesMediator type {ooMediator, wwMediator} hasCapability type capability multiplicity = single-valued hasInterface type interface
Goals • used to specify service requests • decoupled from (existing) web services • discovery used to find matching web services Class goal hasNonFunctionalProperties type nonFunctionalProperties importsOntology type ontology usesMediator type {ooMediator, ggMediator} requestsCapability type capability multiplicity = single-valued requestsInterface type interface
Mediators • overcome heterogeneity at different levels • data level • process level • Types of WSMO Mediators: OO Mediators: import ontologies & resolving heterogeneities GG Mediators: connect goals & resolve mismatches WG Mediators: link web service and goal & resolve mismatches WW Mediators: connect several web services for collaboration • details still work in progress Class mediator hasNonFunctionalProperties type nonFunctionalProperties importsOntology type ontology hasSource type {ontology, goal, webService, mediator} hasTarget type {ontology, goal, webService, mediator} hasMediationService type {goal, webService, wwMediator}
DSD Offer Description Language : Service presents : Profile Reserved effect entity Double OUT price CinemaTicket validFor in Date date Movie SeatInShow < 2007-01-01 visible In{…} cinema time Time in Cinema > 14:00 <= 23:00 In{Cinerama, Cinemaxx}
Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Which functionality is needed? Service Requests Service Requests
Request Description Language Mobile Application Service Requests Service Requests • Desired effect of the service • Maybe: inputs the requestor is willing to provide • Maybe: protocols the requestor can run • In machine-understandable form • If matching service offers are to be found automatically: • precise description, that reflects • preferences.
Request Description Language • WSDL: mostly keyword search • OWL-S: instance of perfect service • WSMO: goal • DSD: specific constructs, see next slide
DSD Request Description Language : Service presents : Profile Reserved effect entity Double price CinemaTicket ~<= 8.00 validFor Date date Movie SeatInShow == 2004-07-10 visible ==spiderman2 min(date, time^2, cinema, visible) time Time cinema Cinema ~< 20:00 <= 21:00 near(hortonPlaza)
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests Which functionality is offered? Discovery
JXTA Search Pastry Jini JXTA Search Chord UDDI Freenet Gnutella Napster CAN Service Discovery (Central) Service Registry DHT Flooding • Limited similarity search • Typically not adapted to network topology • Proactive • Need (some) infrastructure • Reactive • Resoure intensive
Service Offers 1 5 9 findService findService findService Ring-Overlay Cluster-Overlay Service Discovery 2 6 10 any cast any cast Lanes-Overlay routeMessage routeMessage 3 7 11 4. Transport 4. Transport sendMessage 4. Transport 3. Network 3. Network 4 8 12 sendPacket sendPacket sendPacket 2. Data Link 2. Data Link 2. Data Link 1. Physical 1. Physical 1. Physical Serivice Requests Overlays
Service Desc Service Desc Service Desc Service Desc Service Desc Service Provider Service Provider Service Provider Service Provider Service Provider So what do we need? Mobile Application Service Requests Service Requests Which offer matches my request? ??? Discovery
Discovery Techniques • Key Word Matching match natural language key words in resource descriptions • ontology-based key word matching • Logical Semantic Resource Descriptions • less or • more expressive logic ease of matching accuracy of matching
OWL-S Discovery • Matching is mostly done on the profile, only • Matching uses mostly input/output, only • Subsumption matching
WSMO Discovery • Aim: Web Service Discovery not Service Discovery • Steps in Service Discovery • Abstracting goals from user desire • specific goal something generic and reusable • Web Service Discovery • find a web services that matches the abstracted goal, i.e. might be able to fulfill the user’s request • Service Discovery • find service that actually fulfills the original request • provided by web service • Prototypes available, • but still some open issues
DSD Discovery • Graph-based • Traverse request tree and find for each set there a matching set in the offer tree • Matching = set in the offer is subset of set in the request • Configure sets where needed • Determine membership value • Results in match value between 0 and 1 – with exact representation of user preferences
Static Service Composition Receive Purchase Order (PO) Purchase-Order-Service Initiate Price Calculation (PO) Request Shipping (customer) Request Production Schedule Create Shipping Schedule Complete Price Calculation Complete Scheduling Invoicing Service Shipping Service Scheduling Service Send Invoice
(Mobile) Application Service Request: Translate Japanese to German Service Desc Service Desc Service Desc Service Desc Service Desc English -> German Japanese -> English Chinese -> Russian Russian -> English Spanish -> German
(Mobile) Application Service Request: Japanese German combine… Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Japanese (-> English) -> German English -> German Japanese -> English English -> German Japanese -> English Japanese -> Russian Russian -> English Spanish -> German Service Chaining
(Mobile) Application Service Request: A week in Japan Service Desc Service Desc Service Desc Service Desc Service Desc Traveltopia eFlights Opodo eHotel JapaneseHotels
Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Service Desc Traveltopia Traveltopia eFlights eFlights Opodo Opodo eHotel eHotel JapaneseHotels JapaneseHotels combine effects (Mobile) Application Service Request: Flight to Japan Service Request: Hotel in Japan,
Does that really work? • Experiment ;-): english->french->german->english The Center promotes fundamental and applied research, continuing and advanced academic education, and the transfer of knowledge between those involved in the research side and application side of informatics. The key instrument for promoting research are the Dagstuhl Seminars, which bring together internationally renowned leading scientists for the purpose of exploring a cutting-edge informatics topic. The friendly and open climate at the conference center promotes a culture of communication and exchange among the seminar participants. The non-profit Center is a member of the Leibniz Association and is funded jointly by the German federal government and a number of state governments. The center favours basis and applied research to continue and the avançée education of the university graduate and the transfer of the knowledge between those, which are implied in the research side and the side of the application of computer science. The main instrument to be investigated in order to favour the research are the conferences of Trade Union of German Employees chair, which meet internationally again-appointed main scientists, in order a material of computer science the edge of breakdown. The friendly climate for the conference center is open, favours communication and an exchange culture among the participants in conference. The center without profit-making purpose is a member of the association of Leibniz and by the German Federal Government and to unite state governments is together set.
(Mobile) Application Service Request: Flight to Osaka, no more than 800 Euros Service Desc Service Desc Service Desc Lufthansa Ryanair KLM
(Mobile) Application Service Request: Flight to Osaka, no more than 800 Euros 1 2 Service Desc Service Desc Service Desc Service Desc Service Desc Lufthansa Ryanair KLM Price check Availability check Acquire lacking knowledge