1 / 56

Dagstuhl October 2006

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

Télécharger la présentation

Dagstuhl October 2006

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Service-Orientation in Mobile Computing - An OverviewBirgitta König-RiesFriedrich-Schiller-Universität Jenakoenig@informatik.uni-jena.de Dagstuhl October 2006

  2. 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

  3. 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

  4. MOVIE getInfo… reserveSeat… buyDVD… downloadSoundtrack… chatWithMainActor… MORE… Vision: “Office” for the Real World • Also affect the real world!

  5. 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, …)

  6. 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

  7. 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. 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

  9. Main Advantages of SOC • Dynamic Service Binding • „Functionality binding on the fly“ • robust • context-aware • Most important task: automation •  Complete process should be automatic

  10. 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

  11. 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?

  12. 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

  13. 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

  14. 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

  15. 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?

  16. 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

  17. Service Description Languages • Message-based: WSDL • Message/state-based: OWL-S, WSMO • Purely state-based: DIANE Service Description (DSD)

  18. 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

  19. 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/

  20. Overview of the ServiceProfile Taken from http://www.daml.org/services/owl-s/1.1/overview/

  21. 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

  22. 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

  23. 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

  24. The ServiceModel at a Glance Taken from http://www.daml.org/services/owl-s/1.1/overview/

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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}

  30. 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}

  31. 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

  32. 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.

  33. Request Description Language • WSDL: mostly keyword search • OWL-S: instance of perfect service • WSMO: goal • DSD: specific constructs, see next slide

  34. 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)

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. OWL-S Discovery • Matching is mostly done on the profile, only • Matching uses mostly input/output, only • Subsumption matching

  41. 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

  42. 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

  43. 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

  44. (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

  45. (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

  46. (Mobile) Application Service Request: A week in Japan  Service Desc Service Desc Service Desc Service Desc Service Desc Traveltopia eFlights Opodo eHotel JapaneseHotels

  47.  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,

  48. 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.

  49. (Mobile) Application Service Request: Flight to Osaka, no more than 800 Euros  Service Desc Service Desc Service Desc Lufthansa Ryanair KLM

  50. (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

More Related