120 likes | 239 Views
Component-Based Software Engineering Component Technologies. An Introduction to Web Services Goran Mustapic goran.mustapic@mdh.se. Outline of the presentation. What is a Web Service ? XML SOAP 1.1 WSDL UDDI Future – SOAP 1.2 and GXA. What is a Web Service ?. What is a Web Service ?
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