120 likes | 249 Vues
This presentation provides an overview of web services and their supporting technologies, including XML, SOAP, WSDL, and UDDI. It defines what a web service is and discusses its advantages over traditional web applications, such as the use of SOAP messages and independence from transport protocols. The presentation also delves into the structure and functionality of XML, the SOAP protocol for information exchange, and the purpose of WSDL for service descriptions. Finally, it covers UDDI for service discovery, highlighting the role of registries in promoting web services.
E N D
Component-Based Software EngineeringComponent Technologies An Introduction to Web Services Goran Mustapic goran.mustapic@mdh.se Component technology
Outline of the presentation • What is a Web Service ? • XML • SOAP 1.1 • WSDL • UDDI • Future – SOAP 1.2 and GXA Component technology
What is a Web Service ? • What is a Web Service ? • The basic idea behind Web services is to adapt the loosely coupled Web programming model for use in applications that are not browser-based. • The goal is to provide a platform for building distributed applications using software running on different operating systems and devices, written using different programming languages and tools from multiple vendors, all potentially developed and deployed independently. • Three major differences between Web Services (WS) and traditional Web applications: • WS use SOAP messages instead of MIME messages, • WS are not transport protocol specific (not HTTP-specific) • HTTP was not designed to support long-running requests or sending event notifications to clients • WS provide metadata describing the messages they produce and consume Component technology
XML • Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML - Standard Generalized Markup Language (ISO 8879). • XML is developed and standardized by W3C (huge area – many specifications) • Different ways to use XML • Private data format • Shared data format • Building block of distributed applications • XML started as a markup language, but it has evolved into a platform, the heart of which is not XML 1.0, but the XML Infoset. Component technology
SOAP • SOAP is a protocol • SOAP is a extensible, XML-based protocol for information exchange in a decentralized, distributed environment • SOAP is fundamentally a stateless, one-way message exchange paradigm • SOAP versions • SOAP 1.1 • became a W3C Note 8 May 2000 • SOAP 1.2 • SOAP version 1.2 is underway in the W3C's XML Protocol working group • SOAP message • based on XML • contains the following parts: • Envelope • Header (SOAP defines header attributes to indicate who should deal with a feature and whether understanding is optional or mandatory) • Body Component technology
SOAP message example <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"><env:Header> <n:alertcontrol xmlns:n="http://example.org/alertcontrol"> <n:priority>1</n:priority> <n:expires>2001-06-22T14:00:00-05:00 </n:expires> </n:alertcontrol> </env:Header> <env:Body> <m:alert xmlns:m="http://example.org/alert"> <m:msg>Pick up Mary at school at 2pm</m:msg> </m:alert> </env:Body> </env:Envelope> Component technology
SOAP 1.1 specification • Contains following parts (which are functionally orthogonal) • Description of the SOAP envelope • Data encoding • Conventions for RPC over SOAP • Only HTTP protocol binding described in the specification • Non goals: • Distributed garbage collection • Box-carring or batching of messages • Objects-by-reference (which requires distributed garbage collection) • Activation (which requires objects-by-reference) Component technology
WSDL - Web Services Description Language • WSDL 1.1 and WSDL 1.2 • general purpose XML language for describing • Interface (abstract functionality), • protocol bindings • the deployment details of network services ("how" and "where" the functionality is offered) • Key terms: • operation • A name given to a correlated exchange of messages between the service provider and requestor. • portType • A portType is a named set of operations offered by the Web service ("interface" semantics ). • serviceType (WSDL1.2) • ServiceType is a collection of portTypes. • Binding • indicates how messages are formatted when they are sent to or from the service and the transport protocol used to send the messages • Service • An implementation of a serviceType. Contains a collection of ports, which includes all the concrete details needed to interact with the service. • Port • An implementation of portType. It is a bound portType, including a specific end-point (address) at which the service is available. Component technology
UDDI - Universal Discovery Description and Integration • Standards-based specifications for Web Service description, publishing and discovery • UDDI Registries are used to promote and discover distributed Web Services - the yellow pages of Web services • Three conceptual components in a UDDI business registration: • “white pages” • including address, contact, and known identifiers • “yellow pages” • including industrial categorizations based on standard taxonomies. • “green pages” • the technical information about interface to the service in enough detail for someone to write an application to use the Web service Component technology
Future (1) - SOAP 1.2 • Two main parts: • SOAP Messaging Framework • The SOAP processing model • Sender to receiver via zero or more SOAP intermediaries • Node roles, understanding SOAP headers, etc • Extensibility model (features, modules, MEPs) • The SOAP message construct (envelope, header, body) • The SOAP underlying protocol binding framework • SOAP Adjuncts • Data model • SOAP Encoding • SOAP RPC Representation • SOAP HTTP Binding • … Component technology
Future (2) – GXA (Global XML WS Architecture) • WS-Referral • WS- Routing • WS-Security • WS-Transactions • … Component technology
Links • Web Services at Microsoft http://msdn.microsoft.com/webservices • World Wide Web Consortium - W3C http://www.w3.org/ • Standard specifications: XML, SOAP, WSDL, etc • UDDI http://www.uddi.org • Web Services at IBM http://www.alphaworks.ibm.com/webservices • WS interoperability http://www.ws-i.org/ Component technology