1 / 101

E-speak Fundamentals

E-speak Fundamentals. The Essential Difference. Hardware + Software Tell the computer how to do the job. Services Tell the computer what job you want done. Overview. What the "big picture" for e-speak is What the various modules of e-speak are How service providers and consumers interact

pink
Télécharger la présentation

E-speak Fundamentals

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. E-speak Fundamentals

  2. The Essential Difference • Hardware + Software • Tell the computer how to do the job • Services • Tell the computer what job you want done

  3. Overview • What the "big picture" for e-speak is • What the various modules of e-speak are • How service providers and consumers interact • How to identify projects that are a good fit with the e-speak technology

  4. Systems Evolution Monolithic, proprietary systems Open systems 2-tier client-server systems Open data (Web) 3-tier, 4-tier, … systems Proprietary, one-off services (Amazon.com, Expedia, eBay, …) Open services (E-speak) Dynamic n-tier systems Service composition & Customization

  5. E-speak - the Technology Goal Do for services what the Web has done for data. Make it as simple to create, compose, deploy, manage, personalize, and access services as it is to publish and access data on the Web.

  6. What is E-speak ? Technology Platform for Open Services E-speak (services) Web (data) Internet (connectivity)

  7. What does E-speak do ? What is it ? In a world made up of electronic services, (being provided and consumed on the intranet or internet) e-speak helps to solve the problems of developing, deploying, advertising, securing and managing those electronic services. E-speak is a platform for services

  8. Appliance E-speak Service Provider A Service Provider B Service Provider C Services on Tap 1. User needs application on the appliance 2. Appliance connects to e-speak and asks it to find the "best" provider 3. Service provider runs the application 4. E-speak mediates the interaction 5. Data store can be on appliance, in service provider B, or elsewhere in the system. 6. Consumer and service provider may remain mutually anonymous

  9. An E-service in E-speak terms • has an interface (programmatic or document based) • can be described using attributes • can be found using an attribute-based description • can be managed by a party other than the user • is available for use on a distributed basis

  10. Services Framework Reducing the barrier to new, competitive services

  11. Open Services Marketplace New services and service compositions, Cache New service providers Bill Locate Monitor Discover Utility Manage Distribute Convert Negotiate Meter Int**net QoS Mirror Verify Isolate New customers

  12. Printing ERP Service N E-Speak: The Big Picture … Data Storage Data Mining Health Monitoring Procurement Service Framework Document Exchange Model E-speak API (J-ESI) Network Object Model E-speak Service Engine

  13. Assumptions and Implications • Large number of machines • No centralized anything, forget consistency • Dynamic • Deal with failures, new services • Heterogeneous • Different hardware, OS, capability • Hostile environment • Security is critical • Different fiefdoms • Never look inside another machine

  14. Virtual Resource Abstraction Resource Attribute Legacy Resource Access Descriptions Naming Abstraction (eg: NTFS) Permissions Interfaces Communication Basic Services Basic Services Interrupt Scheduling Attribute Handling Vocabularies Authorization Memory Management LDAP Timer Services DCOM/CORBA Transports Java Platform Repositories HTTP Legacy OS E-speak System E-speak Resource Model

  15. The E-speak Engine’sThree Main Functions • Managing a repository of service descriptions for the purposes of allowing others to find those services • Message routing (to services or to other engines) • Name handling (allowing users to create name hierarchies)

  16. Architecture - Scenario 1 • Federation of autonomous engines • Asynchronous, message-passing between engines • Service mediation • Naming, monitoring, service location independence A Simplified View of an Architecture Service Provider Service Consumer E-speak engine E-speak engine

  17. Architecture - Scenario 2 • Look up a service in one engine • Get a reference to a second engine (or the web access part of the second engine) • Use the service via the second engine Service Provider Service Consumer 2. Use the service 1. find a service E-speak engine E-speak engine

  18. Architecture - Scenario 3 • Look up a service in one engine • Get a reference to the service • Use the service directly (no engine intervention) • This is the web access model (check documentation for more information) Service Provider Service Consumer 2. Use the service 1. find the service E-speak engine

  19. E-speak vs.Traditional Middleware • Virtual service intermediation • Uniform services model • Attribute-based lookup • Individual name spaces • Capability-based security • Directory lookup • Direct access to service • No mediation • No virtualization Service Client application Service Directory Advertising service Server Client Proxies Server Core Core Traditional Middleware e-speak

  20. J-ESI and E-speak WebAccess J-ESI: (Java E-service Interface - the engine API) • fast, relatively close coupling (programmatic interface must be shared by service provider and service consumer) • intense and small grained interactions feasible • more suited to intranet uses WebAccess: • piercing of firewalls simpler, use of services on the internet, B2B • larger overhead (parsing of XML documents, WebServer, servlet time consumption) per message • larger grained messages (e.g. one XML document contains all information) • standard message content, loose coupling of service provider to consumer

  21. XML and e-speak • The e-speak J-ESI currently supports XML for the following • vocabulary descriptions • service descriptions • queries • XML will also be used to interact with the e-speak core and e-speak components • XML can be used as the encoding for the payload of your service interface • You must provide your own parsing for the message payload as part of your service provider and service consumer code • This use of XML is independent of the e-speak engine; the engine does not interpret the payload of messages.

  22. Technology Innovations • Dynamic discovery of services • Security Model • Meta-data Model

  23. The E-speak Network Object Model How Service Providers and Service Consumers Interact

  24. The E-speak Engine’s Network Object Model service consumer resource handler resource A resource is anything that can be described to e-speak using attributes and their values client library client library engine

  25. Interfaces are defined between components service consumer resource handler resource J-ESI J-ESI client library client library ABI - Application Binary Interface - a set of structured messages between the engine and the client library ABI ABI engine

  26. E-speak’s Network Object Model service consumer resource handler Developer writes this Developer writes this resource J-ESI J-ESI E-speak provides these client library client library ABI ABI engine

  27. Q: How does a task use a resource from another e-speak engine? A: The same way it uses a resource on its own engine. E-speak’s Network Object Model

  28. A Single engine View service consumer resource handler resource client library client library engine

  29. A Multiple-Engine View service consumer resource handler resource client library client library ABI ABI Engine A Engine B ABI

  30. E-speak’s Network Object Model service consumer resource handler resource J-ESI J-ESI client library client library ABI ABI engine engine ABI E-speak

  31. Q: How can e-speak handle the great variety of potential services? A: E-speak is concerned with service metadata and access control.

  32. Metadata • Description (attributes with values) • Vocabulary (one or more, in which the service is described) • Contract (the interface provided by the service) • Access Control (handled by the security subsystem)

  33. Show me what happens when a consumer makes use of an e-service. A simple example

  34. E-speak’s Network Object Model service provider provider systems 1. service provider registers with the local engine. J-ESI client library engine B

  35. E-speak’s Network Object Model service consumer service provider 2. Consumer does a “find” on its local engine (using a J-ESI API call) to discover one or more suitable service providers. J-ESI client library More detail on this “discovery” later. engine A engine B

  36. E-speak’s Network Object Model service consumer service provider 3. Consumer sends message to service provider via its local engine. J-ESI client library engine A engine B

  37. E-speak’s Network Object Model serviceconsumer service provider 4. Security library checks access. 5. engine A knows that this message should be sent to engine B, (since it received internal e-speak data from engine B earlier, which told it so). engine A engine B

  38. E-speak’s Network Object Model serviceconsumer serviceprovider 6. engine A sends the message to engine B. (Engines communicate using ABI compatible messages) engine A engine B

  39. E-speak’s Network Object Model serviceconsumer service provider 7. engine B forwards the message to the service provider. 8. Library checks that the request is allowed. J-ESI client library Engine A Engine B

  40. Q: How are new e-services made available to others? A: E-services are registered by a service provider. Attribute-based lookups discover registered services.

  41. Dynamic Discovery SERVICE PROVIDER weather e-service reservation e-service travel e-service travel e-service SERVICE PROVIDER airline booking e-service travel e-service hotel booking e-service YOU hotel booking e-service hotel booking e-service airline booking e-service

  42. Discovery options 1. Obtain reference to a service from a local repository “find” call 2. Receive a reference from someone else (e.g., an advertising service) Both of these actions are done by the service finder “find” API (see the ESServiceFinder class document online). 3. A reference may be loaded from persistent store

  43. Advertising and finding advertising e-service Advertising services are standard services attached to engines (often as default options). They have their own service description repositories. 1. advertise service provider engine

  44. advertising e-service 1. advertise 2. find service provider service consumer engine engine

  45. advertising e-service 3. engine location information 1. advertise 2. find service consumer service provider engine engine

  46. advertising e-service 3. engine location information 1. advertise 2. find service provider service consumer 4. service access engine engine

  47. advertising e-service 3. engine location information 1. advertise 2. find service provider service consumer 4. service access engine engine 5. service result

  48. Where is E-speak a good fit in projects? • Dynamic discovery of services, based on attribute matching, in a set of growing services, either from one or many providers (openness to new services) • Establishing communities of use for a set of services • Mediation of access to services (access control) • Creating a trusted third party between pairs of unfamiliar parties (provider and consumer of service) • Comparing services against others • Composing services from other services • Monitoring of service use • Negotiation between services

  49. E-speak Terminology

  50. A Network Object Model Programmer’s Viewpoint Utility/Community ESConnection ESConnection Service Consumer ESServiceElement. register() ESService from ESServiceFinder. find() Service Provider

More Related