Download presentation
Presentation is loading. Please wait.
1
Using BPEL to implement “Classical Tutorial Course” 徐天送 2004/7/29 Business Process Container BPEL Process IMS LD
2
Outline “Classical Tutorial Course” System Design Implementation Demo Conclusion
3
“Classical Tutorial Course” William Horton, “Designing web-based training”, New York: John Wiley & Sons, 2000
4
Demo
5
System Design The Process of Learning Course General Learning Scenario The Use Case Diagram The Conception Diagram Change Deployment Diagram
6
The Process of Learning Course We could use 3 steps to descript the Process of Learning Course, and the content is like a “Classical Tutorial Course.” Browse Course Load Course Complete Course
7
General Learning Scenario Precondition: Learner had completed the authentication step. Main Success Scenario: 1. Learner Select a Course and start a Learning Process. 2. Learning Process request LMS to Load the course, and LMS return the course’s URL to Learning Process. 3. Learning Process show the course introduction. 4. Learner clicks NEXT button to start an activity. 5. Learning Process request LMS to Load the activity, and LMS return the activity’s URL to Learning Process. 6. Learning Process show the activity content. 7. Learner has done with the activity, and clicks the COMPLETE button. (go back to step 3, except the final activity is completed.) 8. Learning Process request LMS to complete the course, and then show the complete page.
8
Sequence Diagram
9
The Use Case Diagram Learner could learn a course through 3 steps to accomplish the course. LMS provide some LMS functions and the course contents to support the course.
10
The Conception Diagram Change 陳孟哲, Level A 領域模型, “IMS Learning Design 串序引擊的設計與實作 ”, 國立台北科技大學資訊工程系碩士班, 2004 年 7 月 Conception Diagram with Process
11
Deployment Diagram External Web Service Server Web ServerBPEL Engine HTMLSOAP (LMS Services) (Learning Process) Browser (Course Content) SOAP 4. Request Service 1. Browse Course 2. Authentication or Other Supported Service 3. Join Process (Learner)
12
Implementation Use Tools Process Design Implementation: use Receiving more than one messages problem Alternative Implementation: use Testing
13
Use Tools BPWS4J BPEL Engine + Editor Oracle BPEL Process Manager BPEL Engine + Editor Systinet Developer for Eclipse Web Services Integration Develop Environment
14
Activity Diagram Learning ProcessLMS
15
Map to BPEL Activity Receive InvokeReply BPEL
16
Implementation: use LoadCourseScope BrowsCourseScope CompleteCourseScope
17
The Course Content Scope NextActivityScope CompleteActivityScope While
18
Process Receive A Receive B Receive C Receiving more than one messages problem Process Receive A Receive B Receive C Message A Message B Process Receive A Receive B Receive C Represents the process current state Wait Message B! Result: The process’s instance hangs! Throw Exception!
19
Process Receive LOADCOURSE Receive NEXTACTIVITY Receive COMPLETECOURSE Receive COMPLETEACTIVITY usrID (Correlation Set) The Process with Correlation Set LOADCOURSE BPEL Engine Process Receive LOADCOURSE Receive NEXTACTIVITY Receive COMPLETECOURSE Receive COMPLETEACTIVITY usrID (Correlation Set) COMPLETECOURSE NEXTACTIVITY COMPLETEACTIVITY Check Tokens In each message LOADCOURSE NEXTACTIVITY COMPLETEACTIVITY COMPLETECOURSE The First Message Initialize Correlation Set
20
The Usage 1 1. We define the “userID” as the process’s property. 2. For each message, use alias to let message part map to the property. 3. Put the property in the correlation set that we define in the BPEL. 4. Now, we must use the correlation at each, and indicate the first received message must initialize the correlation set.
21
The Usage 2 1. Declare the property of process. 2. Use alias to let the message part map to property. WSDL File
22
The Usage 3 BPEL File 3. Declare the correction set 4. Specify that the receive activity could receive Message carry with the correction set
23
Alternative Implementation When we use activity, the sub- activities would run concurrently. We could use to do the synchronize interaction between sub-activities.
24
Implementation: use source target source target
25
Testing 1 Use static function to simulate the action that client clicks the button, and check the expected URL and Message it returns.
26
Testing 2
27
Conclusion is an important part for BPEL, it makes the process interact with other processes. The BPEL is developing, there are still many bugs exist, and the engine doesn’t implement the spec totally. 對 Single Role 的課程而言, Selection 及 Sequence 的課程是可以對應的。但在 Nested 的 Activities 和 Multi-Role 則還無法確定。
28
Future work
29
Seller Buyer Supply-chain example Buy the goods Receive an order Pay for goods Conform Order Check out stocks Purchase Order Order number Delivery Response Order number Wait For Delivery
30
Correlation Set Intent: a mechanism for instance routing Definition: “A set of correlation tokens is defined as a set of properties shared by all messages in the correlated group. Such a set of properties is called a correlation set.”
31
Process Receive A Receive B Process Receive A Receive B Instance routing Message B Process Receive A Receive B Message A Process Receive A Receive B Message A Process Receive A Receive B Message B BPEL Engine Message A Message B Default mechanism Another mechanism using correlation set BPEL Engine Message A Message B
32
Supply-chain example Seller Buyer Buy the goods Receive an order Wait For Delivery Pay for goods Conform Order Check out stocks Purchase Order Order number Delivery Response Order number correlation tokens correlation group
33
Mapping to BPEL process Load Course Process Receive Invoke Reply Receive Invoke Reply Receive Invoke Reply Receive Invoke Reply LMS Web Services Load Course Load Activity Complete Activity Complete Course Course URL Next Activity Activity URL Complete Activity ACK Complete Course ACK Deprecated!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.