Evaluation Criteria • Visualization – Standard Standard way of representing tasks, decisions, control way of representing tasks, decisions, control and data flow
• Executable – Ability to execute the plan in a form that comes from the analyst
• Tooling li – Availability of COTS tools or API’s for developing, simulating and debugging simulating, and debugging
• Semantics –A Availability of semantic annotations on services to il bilit f ti t ti i t facilitate discovery, reasoning, or dynamic service composition 999999-2 XYZ 2/10/2010
MIT Lincoln Laboratory
BPEL • Visualization – None but could use BPMN or vendor specific icons
• Executable – Designed as an execution language so it gets high marks here – Ad‐hoc process modeling is difficult unless interfaces already defined in WSDL – Specification doesn’t cover deployment so there are some vendor specific artifacts
• Tooling – Variety of COTS and open source tools but few are 100% compliant – Some Some offer mix of BPMN for design and BPEL for execution but ultimately you need offer mix of BPMN for design and BPEL for execution but ultimately you need to be a programmer to do BPEL (Xpath, XSLT) – Few pure play BPEL vendors. Most vendors offer BPEL as part of larger BPM platform (IBM, Oracle).
• Standard : OASIS specification • Semantics : None
999999-3 XYZ 2/10/2010
MIT Lincoln Laboratory
BPMN •
Visualization – Originally created to provide visualization for BPEL g y p – 4 simple building blocks: messages, activities, gateways, and links
•
Executable – Early versions had executable extensions by vendors and achieved interop via XPDL serialization – Executable BPMN processes now part of 2.0 spec but vendor support isn’t there yet – Expect announcements in summer 2010 for vendor offerings when 2.0 spec is finalized
•
Tooling – Variety of COTS and open source tools but it is unlikely that all will be 100% compliant – If you can use Visio, you can do BPMN
•
Standard : ver 2 0 is in Beta from OMG Standard : ver 2.0 is in Beta from OMG
•
Semantics : None
999999-4 XYZ 2/10/2010
MIT Lincoln Laboratory
OWL‐S •
Visualization : – None, but could use BPMN
•
Executable – Composite processes can be invocable if their contents are resolved to atomic processes or other composite processes that are invocable – Services typically offer WSDL Groundings (aka Bindings) and provide XSLT to convert between RDF and required schema types for input/output. – Also feasible to convert OWL‐S process definition to BPEL via XSLT (something Group 61 is p g) exploring)
• Tooling – No COTS tools known – OWL‐S API is a Java API for reading, writing, and executable OWL. Seems reasonably active. •
Standard – OWL‐S 1.1 is a W3C Submission but NOT a standard – OWL‐S 1.2 is underway at SRI
•
Semantics : Full support for ontologies : Full support for ontologies
999999-5 XYZ 2/10/2010
MIT Lincoln Laboratory
No Perfect Choice Feature
BPEL
BPMN
OWL‐S
Visualization
Executable
Tooling
Standard
Semantics
999999-6 XYZ 2/10/2010
MIT Lincoln Laboratory
Recommendation Feature
BPMN
+
OWL‐S
=
Combined Approach
Visualization
BPMN diagrams for documentation
Executable
OWL‐S API for execution or transform to BPEL transform to BPEL
Tooling
Visio with BPMN plugin or Magic Draw or many others g y
Standard
Main focus is on documentation
Semantics
Semantics as annotations within diagram but explicit within OWL‐SS within OWL
999999-7 XYZ 2/10/2010
MIT Lincoln Laboratory
Next steps • Create BPMN diagrams of the process model – These diagrams are great tools for documenting the process model g g g p – They are suitable for publication since the representations are well understood
• Create ontology to describe data model Create ontology to describe data model – Typically OWL files in RDF
• Create OWL‐S files* – Profiles for discovery – Process Models for execution – Groundings for bindings to WSDL
• Create WSDL for service actors • Create XSLT to translate from RDF to schema types and back* * If you keep the process model simple then this shouldn’t be too painful, although your mileage il may vary. Th There are samples l ffrom th the spec but b t I haven’t h ’t done d this thi yet. t 999999-8 XYZ 2/10/2010
MIT Lincoln Laboratory
Resources •
•
OWL‐S –
http://www.w3.org/Submission/OWL‐S/ W3C submission paper for OWL‐S 1.1
–
http://on.cs.unibas.ch/owls‐api/ Java API for reading, writing, executing OWL‐S maintained by the University of Basel
BPMN – http://www.bpmn.org/ http://www bpmn org/ OMG managed site OMG managed site – http://www.itp‐commerce.com/ BPMN plugin for MS Visio – http://www.magicdraw.com/ modeling tool that supports BPMN – Too many BPMN tools available to list but I’ve used the two above and they’re good
•
BPEL Engines – http://code.google.com/p/bpel‐g/ GPL licensed BPEL engine maintained by Mark Ford. Runs on T Tomcat and Apache ServiceMix. Based on the last open source release of Active Endpoints d A h S i Mi B d h l l fA i E d i platform. – http://ode.apache.org/ Open source engine that powers a few commercial packages out there. Not 100% compliant and quality of code is mixed. – Many other BPEL engines out there but most are part of some much larger platform