370 likes | 393 Views
Explore BPEL, a second-generation language, and its practical applications in combining atomic web services into composite services. Learn about BPEL development process, 9-step execution, and deployment strategies.
E N D
Business Process Execution Language for web services • Introduction • BPEL in Theory • BPEL in Practice BPEL for Web Services Warwick Bailey www.icodeon.com
Business Process Execution Language for web services • Introduction • BPEL in Theory • BPEL in Practice BPEL for Web Services Warwick Bailey www.icodeon.com
www.icodeon.com BPEL for Web ServicesCombining Atomic Web Services into a Composite Web Service 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 FrameworkFunctionality Factored into Atomic Web Services www.icodeon.com
www.icodeon.com BPEL for JISC Web ServicesCombining Web Services from the JISC e-Learning Framework into a Composite Web 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 ServicesThe Composite Service is Exposed through WSDL WSDL 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 ApplicationQuestions and Content Shown to the Student according to Sequencing Rules www.icodeon.com
www.icodeon.com Formative Assessment ApplicationJISC 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
Business Process Execution Language for web services • Introduction • BPEL in Theory • BPEL in Practice BPEL for Web Services Warwick Bailey www.icodeon.com
www.icodeon.com BPEL In TheoryDevelopment Process from Design to Deployment 9 Steps …. www.icodeon.com
www.icodeon.com BPEL Step 1Identify the partners in the process 4 partners are defined – the process itself, and the three atomic web service www.icodeon.com
www.icodeon.com BPEL Step 2Declare 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 3Design the workflow of the process www.icodeon.com
www.icodeon.com BPEL Step 4Define up the workflow process • Select content package (Content Packaging Service) • Find first item to sequence (Sequencing Service) • Get the resource type for the item • If the resource type is QTI xml (Content Packaging Service) • Get the QTI xml (Content Packaging Service) • Render the QTI xml as XHTML fragment (QTI Service) • Return XHTML to browser www.icodeon.com
www.icodeon.com BPEL Step 5Declare the Process Using BPEL Activity Constructs <process> <partners/> <receive/> <invoke/> <invoke/> <invoke/> <reply/> </process> www.icodeon.com
www.icodeon.com BPEL Step 6Add Business Logic Using BPELConstructs <sequence/> <flow/> <link/> <switch/> <throw/> <scope/> <while/> <pick/> <copy/> <assign/> www.icodeon.com
www.icodeon.com BPEL Step 7Use XPath if Required <case condition="bpws:getVariableData('_sequencingRequest', ‘token/navigationToken')='start'"> www.icodeon.com
www.icodeon.com BPEL Step 8Validate 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 9Deployment www.icodeon.com
Business Process Execution Language for web services • Introduction • BPEL in Theory • BPEL in Practice BPEL for Web Services Warwick Bailey www.icodeon.com
www.icodeon.com BPEL Visual EditorsIBM Eclipse Plug In www.icodeon.com
www.icodeon.com BPEL Visual EditorsActive Endpoints Inc. www.icodeon.com
www.icodeon.com BPEL Visual EditorsActive Endpoints Inc. www.icodeon.com
www.icodeon.com Deploy BPEL XML www.icodeon.com
www.icodeon.com Composite Service - Formative Assessment ApplicationDriven by BPEL Workflow www.icodeon.com
www.icodeon.com ASSIS ProjectNext Step www.icodeon.com
Business Process Execution Language for web services • Introduction • BPEL in Theory • BPEL in Practice BPEL for Web Services Warwick Bailey / Robert Sherratt / Steve Jeyes / Niall Barr warwick@icodeon.com
Formative Assessment :Questions and Content Mixed IMS Simple Sequencing “activities” arranged into an “activity tree” www.icodeon.com
Formative Assessment :Sequencing Rules are Added 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 QTI Question Service BPEL Web Service Orchestration Engine Sequencing Service Formative Assessment Application Icodeon Sequencing Engine www.icodeon.com
www.icodeon.com Formative Assessment ApplicationQuestions and Content Shown to the Student according to Sequencing Rules www.icodeon.com
Formative Assessment ApplicationStudents Guided through tutorial on Protein Structures according to Sequencing Rules QTI question item Sequencing navigation controls
Formative Assessment ApplicationBuilding Games Based Templates from Sequencing Rules Sequencing between “floors, corridors and rooms” scenario
www.icodeon.com Formative AssessmentSequencing Rules used to drive SCORM 2004 basedSimulations www.icodeon.com
www.icodeon.com Formative Assessment Sequencing Rules used to drive Problems in Mathematics 4 5 3 2 1 True False Pass Investigate www.icodeon.com
Web BasedE-Learning Case Studies • Online Laboratories • Summative Assessment • Formative Assessment, Sequencing and Simulations Warwick Bailey www.icodeon.com