95-843 Service Oriented Architecture Homework 1 Assigned: Tuesday, October 22, 2013 Due: Tuesday, November 5, 2013 Fundamental Issues ================== Read the chapter on Petri nets from the Johnsonbaugh text (PetriNetIntro.pdf) and read the article by Hamadi on web service composition using Petri nets. Read the BPMN slides from IBM. Watch the four short videos on BPMN. All of these are provided on the course schedule. Blackboard submission: Submit a Word document or a PDF scan of your work to blackboard. Model the following algorithms with Petri nets. Provide a single marking that represents the situation prior to execution of the algorithm. That is, each Petri net must begin with a single marking. In all of your Petri nets, be sure to exploit parallelism wherever possible. 1. A = 1 5 Points B = 2 C = A + B C = C + 1 Print A,B,C 2. A = 2 5 Points B = A + A C = 3 D = A + A C = A + B + C Print C 3. A = 1 5 Points S = 0 10 S = S + A A = A + 1 Print A GOTO 10 4. Wash a lion: 5 Points 1. Get lion. 2. Get soap. (real soap not SOAP) 3. Get tub. 4. Put water in tub. 5. Put lion in tub. 6. Wash lion with soap. 7. Rinse lion. 8. Remove lion from tub. 9. Dry lion. 5. In class we described a set theoretic description of Petri nets. Represent the Petri net you drew in question 4 (Washing the lion) using sets. Show the sets P, T and E as on slide 25 of the Introductory slides. 5 Points 6. Describe the following web service in words: Ref(S1, assess_claim, [A1:An]). 5 Points 7. Prove statement (20) of the Service Algebra studied in class. 2.5 Points 8. Prove statement (21) of the Service Algebra studied in class. 2.5 Points 9. Wash the lion again. This time use the Business Process Modeling Notation as described on the slides from IBM. Be sure to exploit parallel execution where possible. 10 Points 10. a. Consider the Expense Reimbursement Process on slide 76 of IBM's 5 Points BPMN slides. Briefly describe where the diagram uses parallelism. b. In the video BPMN Tutorial - Part 2 - Collaborations, two pools are used. What is each pool used to represent. c. In the video BPMN Tutorial - Part 2 - Collaborations, several different types of BPMN "events" are used. List each event type. d. Describe the use of BPMN gateways in the video BPMN Tutorial - Part 2 - Collaborations. In chapter 2 of "Oracle SOA Suite 11g R1 Developer's Guide" we are presented with two short tutorials. (11) The first tutorial introduces us to the construction of a simple BPEL process with a mediator component. Work through this tutorial and submit screen shots of the test environment. The screen shots should include your name as the input and output of the process. Also, include a screen shot showing your BPEL process diagram. (10 Points) (12) The second tutorial introduces the Oracle Service Bus and steps us through the process of building a proxy service and a business service. Work through this tutorial and submit screen shots of the test environment. The screen shots should include your name as the input and output of the process. (10 Points) Short answer essay questions. Answer the following questions with a few well written sentences devoted to each. Prior to answering these questions, be sure to read over the EIP site (linked to from the course schedule) and the Oracle OSB presentation (also linked to from the course schedule.) Your answers should be submitted to Blackboard. Neatness counts. Anything that is confusing or hard to read loses points. (13) Why is it said that an ESB provides for location transparency? (3 Points) (14) How might an ESB allow us to avoid format dependencies? (3 Points) (15) Consider the Message Translator pattern found on the Enterprise Integration Patterns (EIP) site. Discuss this pattern with respect to Oracle's Service Bus. (3 Points) (16) From EIP, draw the Command Message pattern and the Document message pattern. (3 Points) (17) Draw the EIP Process Manager pattern and discuss with respect to the tutorial in Chapter 2. Be sure to take a stand. Is EIP Process Manager describing BPEL or the ESB? (3 Points) (18) How might an ESB be used to promote protocol independence? Be sure to describe what is meant by "protocol independence". (3 Points) (19) In the slides on Oracle OSB there is a discussion of advanced mediation policies. What is meant by the term "throttling"? (3 Points) (20) On page 15 of "Oracle SOA Suite 11g R1 Developer's Guide", there is a discussion concerning "Interoperability". What does the author mean when he says that text based standards allow us to avoid issues around conversion between binary forms? (3 Points) (21) What role does BIAN (Banking Industry Architecture Network) play in the SOA space? Be sure to describe BIAN's members and the focus of this effort. (3 Points) (22) What role does the Kuali foundation play in the SOA space? Be sure to describe the Kuali Foundation's members and the focus of this effort. (3 Points)