Transcript Document
BPEL for Web Services
Business Process Execution
Language for web services
1. Introduction
2. BPEL in Theory
3. BPEL in Practice
Warwick Bailey
www.icodeon.com
BPEL for Web Services
Business Process Execution
Language for web services
1. Introduction
2. BPEL in Theory
3. BPEL in Practice
Warwick Bailey
www.icodeon.com
www.icodeon.com
BPEL for Web Services
Combining Atomic Web Services into a Composite Web Service
Web Service 1
Web Service 2
Web Service
Orchestration Engine
Web Service 3
BPEL is a second generation
language, building on prior work by
Microsoft, IBM.
Standardisation now managed by
Oasis.
www.icodeon.com
www.icodeon.com
JISC e-Learning Framework
Functionality Factored into Atomic Web Services
www.icodeon.com
www.icodeon.com
BPEL for JISC Web Services
Combining Web Services from the JISC e-Learning Framework
into a Composite Web Service
Content Package
Setvice
QTI Service
Web Service
Orchestration Engine
Sequencing
Service
Three services from the JISC e-Learning
framework can be combined to create a
formative assessment application.
www.icodeon.com
www.icodeon.com
BPEL for JISC Web Services
The Composite Service is Exposed through WSDL
Content Package
Setvice
QTI Service
WSDL
Sequencing
Service
Web Service
Orchestration Engine
WSDL
WSDL
WSDL
Each atomic web service is exposed
through WSDL. The composite service is
exposed through WSDL.
This hierarchy leads to a recursive
aggregation architecture.
www.icodeon.com
www.icodeon.com
Composite Service - Formative Assessment Application
Questions and Content Shown to the Student
according to Sequencing Rules
www.icodeon.com
www.icodeon.com
Formative Assessment Application
JISC Funded “ASSIS” Project
•
University of Hull
•
University of Strathclyde (QTI Service)
•
Icodeon Ltd, Cambridge (Sequencing
Service)
•
Stanford University
Using BPEL to build a formative assessment application from
individual, atomic, services in the JISC e-Learning
Framework.
www.icodeon.com
BPEL for Web Services
Business Process Execution
Language for web services
1. Introduction
2. BPEL in Theory
3. BPEL in Practice
Warwick Bailey
www.icodeon.com
www.icodeon.com
BPEL In Theory
Development Process from Design to Deployment
9 Steps ….
www.icodeon.com
www.icodeon.com
BPEL Step 1
Identify the partners in the process
Content Package
Setvice – CP Run
QTI Service – QTI Run
Web Service
Orchestration Engine
- ASSIS
Sequencing
Service – SS Run
4 partners are defined – the process
itself, and the three atomic web
service
www.icodeon.com
www.icodeon.com
BPEL Step 2
Declare the Partners in the Process
<partnerLink name="questionPartnerLinkType">
<partnerRole endpointReference="static">
<wsa:EndpointReferencexmlns:assis=http://www.icodeon.com/services/assis/>
<wsa:Address>http://www.scormtech.com/isis/services/QTIRun</wsa:Address>
<wsa:ServiceName
PortName="SOAPPort">assis:QTIRun</wsa:ServiceName>
</wsa:EndpointReference>
</partnerRole>
</partnerLink>
XML declaration for one of the
partners.
In this case, the QTI Run partner is
named as “questionPartnerLinkType”
www.icodeon.com
www.icodeon.com
BPEL Step 3
Design the workflow of the process
www.icodeon.com
www.icodeon.com
BPEL Step 4
Define up the workflow process
1.
Select content package (Content Packaging Service)
2.
Find first item to sequence (Sequencing Service)
3.
Get the resource type for the item
4.
If the resource type is QTI xml (Content Packaging Service)
5.
Get the QTI xml (Content Packaging Service)
6.
Render the QTI xml as XHTML fragment (QTI Service)
7.
Return XHTML to browser
www.icodeon.com
www.icodeon.com
BPEL Step 5
Declare the Process Using
BPEL Activity Constructs
<process>
<partners/>
<receive/>
<invoke/>
<invoke/>
<invoke/>
<reply/>
</process>
www.icodeon.com
www.icodeon.com
BPEL Step 6
Add Business Logic Using BPELConstructs
<sequence/>
<flow/>
<link/>
<switch/>
<throw/>
<scope/>
<while/>
<pick/>
<copy/>
<assign/>
www.icodeon.com
www.icodeon.com
BPEL Step 7
Use XPath if Required
<case
condition="bpws:getVariableData('_sequencingRequest',
‘token/navigationToken')='start'">
www.icodeon.com
www.icodeon.com
BPEL Step 8
Validate Process
<invoke inputVariable="_runID" name="SSRun_GetTitle"
operation="getTitle" outputVariable="_title"
partnerLink="sequencingPartnerLinkType"
portType="ns1:sequencingServicePort"/>
<invoke inputVariable="_runID"
name="SSRun_GetPreorderIndex" operation="getPreorderIndex"
outputVariable="_index" partnerLink="sequencingPartnerLinkType"
portType="ns1:sequencingServicePort"/>
<invoke inputVariable="_packageID_itemID"
name="CPRun_getResourceType" operation="getResourceType"
outputVariable="_resourceType" partnerLink="packagePartnerLinkType"
portType="ns1:packageServicePort"/>
<switch>
<case condition="bpws:getVariableData('_resourceType',
'stringType')='webcontent'">
www.icodeon.com
www.icodeon.com
BPEL Step 9
Deployment
Content Package
Setvice – CP Run
QTI Service – QTI Run
Web Service
Orchestration Engine
- ASSIS
www.icodeon.com
Sequencing
Service – SS Run
BPEL for Web Services
Business Process Execution
Language for web services
1. Introduction
2. BPEL in Theory
3. BPEL in Practice
Warwick Bailey
www.icodeon.com
www.icodeon.com
BPEL Visual Editors
IBM Eclipse Plug In
www.icodeon.com
www.icodeon.com
BPEL Visual Editors
Active Endpoints Inc.
www.icodeon.com
www.icodeon.com
BPEL Visual Editors
Active Endpoints Inc.
www.icodeon.com
www.icodeon.com
Deploy BPEL XML
Content Package
Setvice – CP Run
QTI Service – QTI Run
Web Service
Orchestration Engine
- ASSIS
www.icodeon.com
Sequencing
Service – SS Run
www.icodeon.com
Composite Service - Formative Assessment Application
Driven by BPEL Workflow
www.icodeon.com
www.icodeon.com
ASSIS Project
Next Step
Content Package
Setvice – CP Run
QTI Service – QTI Run
Web Service
Orchestration Engine
- ASSIS
Sequencing
Service – SS Run
CMI Datamodel
Service – CMI
Run
www.icodeon.com
BPEL for Web Services
Business Process Execution
Language for web services
1. Introduction
2. BPEL in Theory
3. BPEL in Practice
Warwick Bailey / Robert Sherratt / Steve Jeyes / Niall Barr
[email protected]
Formative Assessment :
Questions and Content Mixed
Root Activity
Cluster
1
4
2
3
5
6
IMS Simple Sequencing
“activities” arranged into an
“activity tree”
www.icodeon.com
7
Formative Assessment :
Sequencing Rules are Added
Root Activity
Cluster
1
4
2
3
5
6
7
IMS Simple Sequencing
“Sequencing behaviours” are
added to “activities” arranged
into an “activity tree”
www.icodeon.com
www.icodeon.com
Formative Assessment :
Questions, Content and Sequencing Rules Deployed to a
Web Service Infrastructure
Content Management Service
BPEL Web
Service
Orchestration
Engine
Formative Assessment
Application
www.icodeon.com
QTI Question Service
Sequencing
Service
Icodeon Sequencing
Engine
www.icodeon.com
Formative Assessment Application
Questions and Content Shown to the Student
according to Sequencing Rules
www.icodeon.com
Formative Assessment Application
Students Guided through tutorial on Protein Structures
according to Sequencing Rules
Sequencing navigation controls
QTI question item
Formative Assessment Application
Building Games Based Templates from Sequencing Rules
Sequencing between “floors, corridors and rooms” scenario
www.icodeon.com
Formative Assessment
Sequencing Rules used to drive SCORM 2004 based
Simulations
www.icodeon.com
www.icodeon.com
Formative Assessment
Sequencing Rules used to drive Problems in Mathematics
4
5
3
2
1
True
www.icodeon.com
False
Pass
Investigate
Web Based
E-Learning Case Studies
1. Online Laboratories
2. Summative Assessment
3. Formative Assessment,
Sequencing and Simulations
Warwick Bailey
www.icodeon.com