1 / 65

Testing and Verification of Web Services -- Background

Testing and Verification of Web Services -- Background. John C. Sloan Florida Atlantic University. Contents: Introduction Sanity check Historical Context Web Services Development cycle Interface syntax Service registry Orchestration Choreography Formal Verification

mikko
Download Presentation

Testing and Verification of Web Services -- Background

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testing and Verification ofWeb Services -- Background John C. Sloan Florida Atlantic University

  2. Contents: • Introduction • Sanity check • Historical Context • Web Services • Development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking • Summary

  3. Contents: • Introduction • Sanity check • Historical Context • Web Services • Development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking • Summary

  4. Introduction -- Sanity check:

  5. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged?

  6. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had with other software?

  7. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had with other software? • Here is our response:

  8. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail."

  9. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood ..

  10. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood

  11. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood Hammer Nail Wood

  12. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood Tool ako Hammer Nail Wood

  13. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood Tool Fastener ako ako Hammer Nail Wood

  14. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood Tool Fastener Material ako ako ako Hammer Nail Wood

  15. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood determines Tool Fastener Material ako ako ako Hammer Nail Wood

  16. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood determines determines Tool Fastener Material ako ako ako Hammer Nail Wood

  17. Introduction -- Sanity check: • Aren’t Web Services just an old idea repackaged? • Couldn’t we build and test web-enabled applications in • the same way as we always had? • Here is our response: • "If you only have a hammer, everything looks like a nail." • This would be a reasonable sentiment if what you are fastening is wood determines determines Tool Fastener Material ako ako ako Hammer Nail Wood … but not metal !!!

  18. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC.

  19. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. Criteria: Programs:Services:

  20. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. • Criteria: Programs:Services: • control mono-focal multi-focal • (i.e., program counter) (i.e., state vector)

  21. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. • Criteria: Programs:Services: • control mono-focal multi-focal • (i.e., program counter) (i.e., state vector) • distribution single location geographically distributed • (i.e., single PC) (i.e., servers over Internet)

  22. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. • Criteria: Programs:Services: • control mono-focal multi-focal • (i.e., program counter) (i.e., state vector) • distribution single location geographically distributed • (i.e., single PC) (i.e., servers over Internet) • communication instant delayed • (i.e., unbuffered, a.k.a. (i.e., buffered a.k.a. • synchronous) asynchronous)

  23. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. • Criteria: Programs:Services: • control mono-focal multi-focal • (i.e., program counter) (i.e., state vector) • distribution single location geographically distributed • (i.e., single PC) (i.e., servers over Internet) • communication instant delayed • (i.e., unbuffered, a.k.a. (i.e., buffered a.k.a. • synchronous) asynchronous) • visibility white box black box • (i.e., code maintenance) (i.e. service composition)

  24. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. • Criteria: Programs:Services: • control mono-focal multi-focal • (i.e., program counter) (i.e., state vector) • distribution single location geographically distributed • (i.e., single PC) (i.e., servers over Internet) • communication instant delayed • (i.e., unbuffered, a.k.a. (i.e., buffered a.k.a. • synchronous) asynchronous) • visibility white box black box • (i.e., code maintenance) (i.e. service composition) • coupling tight loose

  25. Introduction -- Sanity check: • The stuff from which web services are made, is fundamentally different • from programs running on your PC. • Criteria: Programs:Services: • control mono-focal multi-focal • (i.e., program counter) (i.e., state vector) • distribution single location geographically distributed • (i.e., single PC) (i.e., servers over Internet) • communication instant delayed • (i.e., unbuffered, a.k.a. (i.e., buffered a.k.a. • synchronous) asynchronous) • visibility white box black box • (i.e., code maintenance) (i.e. service composition) • coupling tight loose … so a lot more can go wrong with services !

  26. Contents: • Introduction • Sanity check • Historical Context • Web Services • Development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking • Summary

  27. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective:

  28. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective: era: tool: fastener: material: 1950-1970 1-2GL proprietary OS proprietary HW arch.

  29. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective: era: tool: fastener: material: 1950-1970 1-2GL proprietary OS proprietary HW arch. 1965-1985 3GL portable OS open HW arch.

  30. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective: era: tool: fastener: material: 1950-1970 1-2GL proprietary OS proprietary HW arch. 1965-1985 3GL portable OS open HW arch. 1980-2000 CBSE endogenous glue code LAN inside trust bounds

  31. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective: era: tool: fastener: material: 1950-1970 1-2GL proprietary OS proprietary HW arch. 1965-1985 3GL portable OS open HW arch. 1980-2000 CBSE endogenous glue code LAN inside trust bounds 1995-2015 SOSE (weak) exogenous Locally developed -- coordination Internet deployed

  32. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective: era: tool: fastener: material: 1950-1970 1-2GL proprietary OS proprietary HW arch. 1965-1985 3GL portable OS open HW arch. 1980-2000 CBSE endogenous glue code LAN inside trust bounds 1995-2015 SOSE (weak) exogenous Locally developed -- coordination Internet deployed 2010-2030 WESE (strong) exogenous Semantic web developed - coordination Semantic web deployed

  33. Introduction – Historical context: determines determines Tool Fastener Material With this generalization, consider now, tools for integrating (fastening together) software from an historical perspective: era: tool: fastener: material: 1950-1970 1-2GL proprietary OS proprietary HW arch. 1965-1985 3GL portable OS open HW arch. 1980-2000 CBSE endogenous glue code LAN inside trust bounds 1995-2015 SOSE (weak) exogenous Locally developed -- coordination Internet deployed 2010-2030 WESE (strong) exogenous Semantic web developed - coordination Semantic web deployed This presentation focuses on Service Oriented Software Engineering (SOSE)

  34. Introduction – Historical context: .. yet, the more things change the more certain things remain the same .. .. Consider the hazard function known as the Bathtub Curve .. but applied to web services: $ random failures early failures obsolescence failures time

  35. Introduction – Historical context: .. yet, the more things change the more certain things remain the same .. .. Bathtub Curve applied to web services: $ (non-exhaustive) test of web services time (exhaustive) verification of web services

  36. Contents: • Introduction • Sanity check • Historical Context • Web Services • development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking • Summary

  37. DefinitionWeb Services: A web-enabled software system that supports machine to machine interaction over the internet that involves service providers, requestors and brokers. Graphic courtesy of Wikipedia -- downloaded August 2008

  38. DefinitionWeb Services: A web-enabled software system that supports machine to machine interaction over the internet that involves service providers, requestors and brokers. Airline tells UDDI how it will interact with web-enabled travel agents.

  39. DefinitionWeb Services: A web-enabled software system that supports machine to machine interaction over the internet that involves service providers, requestors and brokers. Web-based travel agent asks UDDI how it can interact with airline.

  40. DefinitionWeb Services: A web-enabled software system that supports machine to machine interaction over the internet that involves service providers, requestors and brokers. Web-enabled travel agent interacts with airline.

  41. Contents: • Introduction • Sanity check • Historical Context • Web Services • Development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking

  42. How web services can presently be developed D E V E L O P E R S Y N D I C A T O R 2 1 B U I L D E R T E S T E R 3 4

  43. Contents: • Introduction • Sanity check • Historical Context • Web Services • Development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking

  44. How web services can presently be developed D E V E L O P E R 1. WSDL Compliant Interface

  45. How web services can presently be developed D E V E L O P E R 1. WSDL Compliant Interface • An XML-based language standard used for defining the interface • of a service to the outside world. • A WSDL artifact contains: • message types, its protocol, layout, including elements attributes • and permissible values and ports (network endpoints). Each operation • is bound to some port and message type

  46. How web services can presently be developed D E V E L O P E R 1. WSDL Compliant Interface • An XML-based language standard used for defining the interface • of a service to the outside world. • A WSDL artifact contains: • message types, its protocol, layout, including elements attributes • and permissible values and ports (network endpoints). Each operation • is bound to some port and message type • http://en.wikipedia.org/wiki/Web_Services_Description_Language

  47. Contents: • Introduction • Sanity check • Historical Context • Web Services • Historical Context • development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking

  48. How web services can presently be developed D E V E L O P E R S Y N D I C A T O R 2. UDDI Compliant Registry 1. WSDL Compliant Interface Submit

  49. Contents: • Introduction • Sanity check • Historical Context • Web Services • Historical Context • development cycle • Interface syntax • Service registry • Orchestration • Choreography • Formal Verification • Equivalence checking • Pre-order checking • Model Checking

  50. How web services can presently be developed D E V E L O P E R S Y N D I C A T O R 2. UDDI Compliant Registry 1. WSDL Compliant Interface Submit B U I L D E R Consult and Compose Service 2 (i.e., car) Service 1 (i.e., airline) 3. WS-BPEL Compliant Orchestration Orchestration (i.e., travel agent) Orchestrations exert centralized control. Service 3 (i.e., hotel)

More Related