Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Limited Definition of Web Services Paul Kopacz CIS*6650.01 Service Oriented Architecture Instructor: Qusay H. Mahmoud, Ph.D. February.

Similar presentations


Presentation on theme: "A Limited Definition of Web Services Paul Kopacz CIS*6650.01 Service Oriented Architecture Instructor: Qusay H. Mahmoud, Ph.D. February."— Presentation transcript:

1 A Limited Definition of Web Services Paul Kopacz pkopacz@uoguelph.ca CIS*6650.01 Service Oriented Architecture Instructor: Qusay H. Mahmoud, Ph.D. February 15, 2007

2 A Limited Definition of Web Services - Inspiration “The World Wide Web uses relatively simple technologies with sufficient scalability, efficiency and utility that they have resulted in a remarkable information space of interrelated resources, growing across languages, cultures, and media” - W3C's Architecture of the World Wide Web http://www.w3.org/TR/webarch/

3 A Limited Definition of Web Services - Why? ● Shift towards Service Oriented Architecture ● Extend what works to provide services  Focus on a working model ● Provide a definition which creates services based on Web philosophy

4 Web ● Must use “Web” properly ● Not just a transport mechanism ● HTTP has well understood interface ● Must work within the interface to be considered Web ● “Web Services based on SOAP and WSDL are Web in name only” - Nick Gall http://www.w3.org/2007/01/wos-papers/gall

5 Resources ● Fundamental property of the Web  Resource endpoints  Expose functionality as URI ● Links are immediately useful  Show what functionality is available  Can organize functionality  Keep a history  Maintain sessions and state

6 Methods ● Correspond to create-retrieve-update-delete ● GET  Retrieve  Safe and idempotent  Obtain a resource  Invoke functionality with no side effects ● POST  Update  Neither safe nor idempotent  Submit data which causes changes  May return nothing (204 No Content)

7 Methods ● PUT  Create  Idempotent but not safe  Use when resource requires minimal processing ● DELETE  Destroy  Idempotent but not safe  Specific URL

8 Headers ● Transfer non-functional requirements ● Specified to be extensible ● Using the body of method calls is inconsistent

9 Services ● Provide functionality through the Web  No separation between functionality and interface ● Programming against a website worked badly  Screen-scraping  Form inspection  No hints

10 Services ● Next step in offering services online ● World Wide Web for Programs  Make the Web easy for programs to access ● Extend Web programming to provide interfaces to functionality

11 The Definition ● An extension of Web programming to expose an application interface through HTTP ● Obey the guidelines of HTTP  Sometimes ignored in Web applications  Providing an API  Strict and consistent

12 XML? ● Web works with resources of all formats  Use whatever is necessary  Does not specify HTML ● Cannot make it necessary  Probably a good choice

13 Differences ● Yet another distributed systems technology ● Layering on top of exiting functionality  Like RPC? ● No extra infrastructure required  Stub repositories, registries ● Document transfer instead of function calls ● REST is very applicable  Requiring no state on server unnecessary

14 Adoption ● Why use it? ● Specific  Technological adoption ● General  Business adoption

15 Technological Perspective ● Web for Programmers  Programmers want to provide service interface  Make their job easier ● Choice of technology left to engineers  Appealing from their perspective

16 80/20 Rule ● A technology has a high likelihood of success if 80% of the benefit can be realized with 20% of the implementation work ● Shortest path to exposing existing functionality ● Brand new functionality  Web programming without presentation

17 Gall's Law ● “A complex system that works is invariably found to have evolved from a simple system that worked” ● Allows simplest first approach  Only add complexity for current iteration ● No need to invent standards until there is a problem to solve

18 The Browser is Easy ● Making valid Web resources allows use through browser  Scaffolding  Debugging  Inspecting state

19 Business Perspective ● Increase flexibility and reach of provided services ● Use from other applications  Integrate into systems ● Use from different platforms  Different clients

20 Business to Customer ● Depends on business model ● Publisher model  Programmatically filter out ads ● Subscription model  The more choice the better ● Balance may need to be struck ● Eliminate lock-in

21 Business to Business ● Less obvious benefits  B2B communication technologies more mature (EDI)  Budget for integration  Technological roadblocks unlikely ● Complex non-functional requirements  Complex transactions, time limits  Other technologies are more mature (MOMs)

22 Conclusion ● Use Web technologies in the service oriented model ● Other choices exist but  The Web works  Extending to provide service is easy ● New problems may arise from increased complexity  Rely on what has worked so successfully


Download ppt "A Limited Definition of Web Services Paul Kopacz CIS*6650.01 Service Oriented Architecture Instructor: Qusay H. Mahmoud, Ph.D. February."

Similar presentations


Ads by Google