250 likes | 256 Vues
Separating Operational and Control Behaviors Quan Z. Sheng , Zakaria Maamar , Hamdi Yahyaoui , Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE May-June 2010 Volume: 14 Issue:3 On page(s): 68 - 76. SSE 3200 Luke Gesior Jeremy Strandberg. How to Organize System?.
E N D
Separating Operational and Control BehaviorsQuan Z. Sheng , ZakariaMaamar, HamdiYahyaoui,Jamal Bentaharand KhouloudBoukadiInternet Computing, IEEE May-June 2010 Volume: 14 Issue:3 On page(s): 68 - 76 SSE 3200 Luke Gesior Jeremy Strandberg
How to Organize System?
Problems • Web Services are confined to simpler applications • WSDL does not show how to oversee executions • Design Soundness-Conversation Deadlocks • Difficult debugging and testing
What are Web Services? • application components • communicate using open protocols • self-contained and self-describing • used by other applications
What is SOAP? • Simple Object Access Protocol • Format for sending messages • Designed to communicate via Internet • Allows you to get around firewalls
What is WSDL? • Web Services Description Language • used to describe Web services • Universal Description, Discovery and Integration • a directory for storing information about web services What is UDDI?
Separation • Operational Behavior • Application-dependant • Contains functionality • Control Behavior • Application-independent • Builds execution progress • Conversational Messages • Convey information between the two
Two Functions Next(activated, path1) = (commitment, done) Next(activated, path2)= (failure, aborted)
Conversational Messages • Seven Types • sync, ping, success, ack, fail, delay, syncreq • Initiation messages • from control to operational behaviors • start an execution • Outcome Messages • from operation to control behaviors • Report on executions status
Input Arguments • strp1 • Common Arguments • ID, Name, From, To, Trigger • strp2 • Arguments from control to operational behavior • Authorized activity-time, Authorized passivity-time, Required Participants • strp3 • Arguments from operational to control behavior • Counter-part ID, Effective activity time, Execution Nature
Example • Sync(str) handles (activated, label1 , input-collected) • Consists of strp1 and strp2
Conversation Sessions • Sequenced conversational messages • Sync.Success • Sync.Delay.Syncreq.Sync.Succes • Some sequences lead to indefinite waiting
Solution • Represent every combination of conversational messages • Integrate restrictions to conversational messages • Each Delay message in a sequence should be followed by a Success, Fail, or Syncreq message, that is, Delay(t) ⇒ Success(t + 1) ∨ Fail(t + 1) ∨ Syncreq(t + 1). • Each Ping message in a sequence should be followed by an Ack message, that is, Ping(t) ⇒ Ack(t + 1). • Ensures soundness of design
Conclusion and Implementation • Coded in Java • Consists of four tools system engineers access • Control Behavior Modeler • Operational Behavior Modeler • Conversation Modeler • Takes web services behavior as input • Produces conversation specification as output, translated into XML • Conversation Controller • Provides methods for managing conversations • Service Manager • Allows engineer to track and analyze execution
References • Separating Operational and Control Behaviors Quan Z. Sheng , Zakaria Maamar , Hamdi Yahyaoui ,Jamal Bentaharand Khouloud Boukadi Internet Computing, IEEE May-June 2010 Volume: 14 Issue:3 On page(s): 68 – 76 • A Formal Verification Approach of Conversations in Composite Web Services using NuSMVMelissa KOVA1, Jamal BENTAHAR1, Zakaria MAAMAR, and HamdiYAHYAOUI • http://www.w3schools.com/ • www.noaa.gov