160 likes | 167 Views
This article provides an overview of web services, including their basic operational model, supporting standards, and the challenges they face. It also discusses the motivations behind web services and their use in various industries. The article is written in English.
E N D
Chris Greenhalgh G52IWS: Web Services
Contents • The World Wide Web • Web Services example scenario • Motivations • Basic Operational Model • Supporting standards • Challenges • Summary See “Developing Java Web Services”, chapter 2
The World Wide Web GET/POST request Web server Browser User Web server Document(usually HTML) communication: HTTP over TCP/IP
Example Web Service scenario:arranging a business trip AirlinereservationSystem Travelservicesregistry Register services Find services Wireless device HotelReservationsystem Travelreservationservicesprovider Service requestor Invoke services Credit cardpaymentsystem Desktop After “Developing Java Web Services” Figure 2.1
Scenario notes • Travel reservation service provider exposes travel services via web service interfaces • These are registered with (described in) the travel services registry • A customer discovers the service(s) from the registry (or other search engine) • They then directly request things (“services”, e.g. a reservation) from those web services
Definitions • “Web services are loosely coupled software components delivered over Internet standard technologies” • Gartner research, June 15 2001 • Informally: web services are like web sites but... • Providing access to all kinds of services, not just documents • For computers rather than people to use
Motivations • Based on XML messaging • Loosely coupled – abstracted service interfaces • Use any common programming language • Industry standard protocols (HTTP) • Familiar and simple • Internet scope • Firewall compatibility • Established mechanisms for scalability, robustness, etc.
Motivations cont. • Usable by many types of client • Support a range of levels of functionality from trivial to profound • Supported by other middleware/platforms • e.g. J2EE, CORBA, Microsoft .NET • Support dynamically locatable and invocable services • Support cross-platform integration of business applications over the internet
Basic Operational Model of Web Services Service Broker Register service Discover Service Service Requestor Service Provider Invoke service
Core Web Service Standards • Extensible Markup Language (XML) • How to encode arbitrary information in document form • Simple [Standard] Object Access Protocol (SOAP) • How to express web service requests and responses in XML • Web Services Definition Language (WSDL) • Defines the operations, data types and faults that characterise a web service
Core Web Service Standards (cont.) • Universal Description, Discovery and Integration (UDDI) • How to describe, publish, store and retrieve information about web services in registries • WS-Security • Various security-related facilities & definitions, including XML Encryption, XML Key Management System, XML Signature, ...
Supporting standards • TCP/IP • The Internet Protocol suite for reliable global communication • DNS – the Domain Name System • The standard Internet naming protocol • HyperText Transfer Protocol (HTTP) • A common “binding” for SOAP – to carry SOAP requests and responses
Basic Operational Model of Web Services w. standards Registry: UDDI & WSDL Service Broker Register service Discover Service Service Requestor Service Provider Invoke service Communication: typically SOAP (XML) over HTTP over TCP/IP Optionally secured using WS-Security Interface definition: WSDL (esp. for dynamic invocation)
Other related standards • ebXML • Complementary standards specific to e-business • Web Services Choreography Interface • Standard(s) for defining more complex patterns of interaction between web services • Business Transaction Protocol • Support for web service distributed transactions
Challenges for web services • Distributed transactions • Coordinated success, failure and recovery • Quality of Server (QoS) • Reliability and dependability. • Service-level agreements • Security • Publicly exposed core business services and operations!
Summary • Like a WWW for computers • Publishing “services” rather than documents • In XML (for machines) rather than HTML (for people) • Using standard technologies (XML, HTTP, ...) • Especially for • Business-to-business integration and interoperability • Other loosely-coupled distributed applications • e.g. bioinformatics