1 / 20

Web Service Orchestration

EThOSnet Repositories and Web Services Workshop 2 nd June2009 Richard Green r.green@hull.ac.uk. Web Service Orchestration. Orchestration?.

dex
Télécharger la présentation

Web Service Orchestration

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. EThOSnet Repositories and Web Services Workshop 2nd June2009 Richard Green r.green@hull.ac.uk Web Service Orchestration

  2. Orchestration? • “… an executable business process that may interact with both internal and external Web services. Orchestration describes how Web services can interact at the message level, including the business logic and execution order of the interactions. These interactions may span applications and/or organizations, and result in a long-lived, transactional process. With orchestration, the process is always controlled from the perspective of one of the business parties.” Chris Peltz, Hewlett-Packard Co, 2003

  3. How to orchestrate? • Need some way of structuring the flow from one Web Service to the next • Needs to support things like loops, conditional branching, … • Need some form of language to describe the process • A formal language such as BPEL? • Something lighter-weight akin to a scripting language? • …. ?

  4. A short history • Hull has been developing workflows using BPEL for the last four years • (Business Process Execution Language – an open standard) • Used in conjunction with SOAP Web Services during the RepoMMan and REMAP projects • JISC-funded projects 2005-2007 & 2007-2009

  5. Why BPEL? • In 2005 Hull (and JISC) had an interest in using BPEL within a Service Oriented Architecture • BPEL (then) available in an Open Source engine from Active Endpoints • Note: the engine is now called ActiveVOS • Good fit with Fedora’s (then) SOAP Web Services interface (REST now available too)

  6. Pros and Cons #1

  7. Pros and Cons #2 • Cons: verbose, fiddly, syntactically demanding, soul destroying, …. • Pros (given a good graphical design interface): powerful, flexible, relatively quick to “write”, test and edit… • Each node in the tree is an ‘activity’ (for each, assign, get, if, etc) for which you provide the parameters • Note: the ‘for each’ loop depicted here results in the code on the previous slide

  8. The REMAP tool • The REMAP tool (son of RepoMMan) uses BPEL-orchestrated Web Services to allow a user to interact with the institutional repository • Each component Web Service can be used and re-used in multiple contexts given appropriate granularity

  9. REMAP #2 • Consider a user copying a file from their computer to their private repository space • They browse their computer at the left and upload the file to their repository space, represented at the right. Lots of stages (Web Services) involved ‘under the lid’

  10. REMAP #3

  11. REMAP #4 • The user can (optionally) publish a file to the institutional repository. The tool provides a context sensitive wizard. • The process is moderated through an accession queue. • Take the example of a thesis (ETD)

  12. Publishing “my” thesis • Lots of Web Services involved, but the two outlined in red could easily be remote services

  13. Local vs (inter)national • Uses a tool developed in the US (University of California) to extract descriptive metadata and exposed as a Web Service • Implemented locally in Hull, but in terms of functionality could just as well have been called from the US. Local implementation cuts down data transfer requirements • Uses another US tool (Harvard) to extract technical metadata, again we have exposed it as a Web Service • ditto • The final ‘publish’ stage of the process invokes DROID developed by The National Archives and exposed in Hull as a Web Service… • Ditto, except that TNA is closer to home • … which in turn invokes PRONOM hosted at TNA • Not much data to transfer, takes advantage of frequent updates to the service by TNA

  14. ETD in the repository • Orchestrating a large collection of Web Services • Fedora • Home-grown • Services “wrapped” around other peoples’ tools • Remote services • …builds us an object in the repository

  15. Workflow • This has described one orchestrated workflow. • Hull pursuing BPEL for now although the Active Endpoints Open Source BPEL engine is no longer being developed by Active VOS

  16. You said there were other ways? • BPEL (and similar approaches such as jBPM) are formal ways of orchestrating a workflow • There are those who consider them unnecessarily ‘heavyweight’ • Other approaches are possible. Hull’s partners in the Hydra Project are looking at two…

  17. Coming soon(ish): Hydra • The Hydra Project is building a flexible, configurable, end-to-end workflow solution (add, edit, delete, search, discover, orchestrate workflow components) based on Fedora’s REST services and Ruby for rapid agile development • Part of Hydra will be a ‘Lego set’ of Web Services for the Fedora community that go beyond the basic set provided by Fedora • The three Hydra university partners are each developing a different approach to workflow orchestration

  18. Hydra orchestrations • Hull: BPEL (at least for now) • The withdrawn support for the Open Source BPEL engine is potentially a problem • University of Virginia: Lightweight scripting language under consideration • Stanford: ‘Robots’ based on Ruby scripts process a workflow set out in the Fedora object itself. One autonomous ‘robot’ per process • A workflow datastream in each object describes processing requirements and status • <workflow id=“googleScannedBookWF" status="active” …> • <process name="register-object" status="completed” attempts="1" /> • <process name="desc-metadata" status="completed” attempts="1" /> • <process name="google-convert" status="completed” attempts="1" /> • <process name="google-download" status="exception” • message="Item for barcode 0339518 not found" attempts="3" /> • <process name="create-pages" status="waiting” attempts="0" /> • <process name="ingest" status="waiting” attempts="0" /> • <process name="shelve" status="waiting” attempts="0" /> • <process name="cleanup" status="waiting” attempts="0" /> • </workflow> • After Lynn McRae, SULAIR, Stanford

  19. Summary • Orchestrated Web Services can be a very flexible development technique • Web Services may be local or remote; yours or someone else’s • Web Services are modular and may be (re)used in multiple contexts • Orchestration is potentially achieved by a variety of means ranging from formal languages to simpler scripts

  20. Information: • Fedora: fedora-commons.org • Hull repository: edocs.hull.ac.uk • REMAP: www.hull.ac.uk/remap • Hydra: fedora-commons.org/confluence/display/hydra • Active Endpoints: www.activevos.com • r.green@hull.ac.uk

More Related