Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)

Similar presentations


Presentation on theme: "Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)"— Presentation transcript:

1 Presentation 7 part 2: SOAP & WSDL

2 Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)

3 Ingeniørhøjskolen i Århus Slide 3 Service-Oriented Architecture (SOA) Client Server Registry Abstract Architecture - Web service stack Abstract Architecture - Web service stack Legacy code on server Legacy code on server Opening up for doing business (the sharing of objects) on the Internet

4 Ingeniørhøjskolen i Århus Slide 4 Technologies for Implementing SOA SOAP for communication WSDL for contract & binding UDDI & WSDL for registration & discovery

5 Ingeniørhøjskolen i Århus Slide 5 What is SOAP? Simple Object Access Protocol Wire protocol similar to –IIOP for CORBA –JRMP for RMI XML is used for data encoding –“text” based protocol vs. “binary” protocol Supports XML-based RPC

6 Ingeniørhøjskolen i Århus Slide 6 What is Not SOAP? Not a component model –So it will not replace objects and components, i.e. EJB, JavaBeans and.NET Not a programming language –So it will not replace Java, C# og C++ Not a solution for all –So it will not replace other distributed computing technologies such as RMI and CORBA

7 Ingeniørhøjskolen i Århus Slide 7 Where is SOAP? W3C XML Protocol working group –SOAP 1.2 current version: Microsoft, SUN, Oracle, HP, IBM all support the W3C recommendation –but there are still differences to be overcome –security issues, transactions etc.

8 Ingeniørhøjskolen i Århus Slide 8 What does SOAP define? Message Envelope Encoding Rules RPC Convention Binding with underlying protocols –HTTP (which we will use in this course) –SMTP –FTP and others

9 Ingeniørhøjskolen i Århus Slide 9 SOAP Message Format Possible to Attach binaries (images, cryptographic material) to attachments

10 Ingeniørhøjskolen i Århus Slide 10 SOAP Message Envelope Encoding information Header –Optional –Could contain context knowledge Security Transaction Body –RPC methods and parameters –Contains application data

11 Ingeniørhøjskolen i Århus Slide 11 Two types of communication

12 Ingeniørhøjskolen i Århus Slide 12 SOAP RPC Request Example SUNW

13 Ingeniørhøjskolen i Århus Slide 13 SOAP RPC Response Example 30.5

14 Ingeniørhøjskolen i Århus Slide 14 SOAP RPC composition I Information needed for a method call: 1.The URI of the target object (marked with red) SUNW

15 Ingeniørhøjskolen i Århus Slide 15 SOAP RPC composition II Information needed for a method call: 1.The URI of the target object 2.The Method Name SUNW

16 Ingeniørhøjskolen i Århus Slide 16 SOAP RPC composition III Information needed for a method call: 1.The URI of the target object 2.The Method Name 3.Parameters 4.Binding protocol (next slide) SUNW Name is not important

17 Ingeniørhøjskolen i Århus Slide 17 SOAP RPC composition IV: complete SOAP RPC Request POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" SUNW HTTP Encoding Name- space STEP 4: BINDING TO PROTOCOL

18 Ingeniørhøjskolen i Århus Slide 18 Request to HelloWorld.jws Input parameters type string HTTP Post Call HTTP Host Target Method name

19 Ingeniørhøjskolen i Århus Slide 19 … and the HTTP Response from Server HTTP Response Method Response Parameter value Parameter name Apache Tomcat Server Responding

20 Ingeniørhøjskolen i Århus Slide 20 Issues with SOAP –Lack of business semantics –Insufficient functionality for business operations –Security –Reliability –Under development Low performance

21 Ingeniørhøjskolen i Århus Slide 21 WSDL WSDL is used for describing WebServices

22 Ingeniørhøjskolen i Århus Slide 22 What is WSDL? XML language for describing web services Web service is described as – A set of communication endpoints (ports) Endpoint is made of –Abstract definitions of operations and messages –Concrete binding to networking protocol and message format

23 Ingeniørhøjskolen i Århus Slide 23 Why WSDL? Enables automation of communication details between communicating partners –Machines can read WSDL –Machines can invoke a service defined in WSDL Note that WSDL defines only low-level aspects of Web services, however other technologies might follow … –Security –Transactions –Persistency

24 Ingeniørhøjskolen i Århus Slide 24 WSDL Document Example Simple service providing stock quotes A single operation called GetLastTradePrice Deployed using SOAP 1.1 over HTTP Request takes a ticker symbol of type string Response returns price as a float

25 Ingeniørhøjskolen i Århus Slide 25 WSDL Elements Types –Data type definitions –Used to describe exchanged messages –Uses W3C XML Schema as canonical type system

26 Ingeniørhøjskolen i Århus Slide 26 WSDL Elements Messages –Abstract, typed definitions of data being exchanged Operations –Abstract description of an action –Refers to input and output messages Port type –Collection of operations –Resembles a Class in OOPL

27 Ingeniørhøjskolen i Århus Slide 27 WSDL Elements Binding –Concrete protocol and data format for a particular Port type –Example: SOAP 1.1, HTTP, MIME Port –Defines a single communication endpoint –Address for binding –URL for HTTP, address for SMTP Service –Aggregate set of related ports

28 Ingeniørhøjskolen i Århus Slide 28 HelloWorld.jws?wsdl

29 Ingeniørhøjskolen i Århus Slide 29 Tools Generate WSDL document from –existing Java classes or EJB components –AXIS: Java2WSDL Generate SOAP messages from –WSDL document (via client stub and server skeleton) JAX-RPC –Part of J2EE from Sun (needs AS) IDE Tools: –NetBeans, Eclipse, Forte for Java, JBuilder, JDeveloper Microsoft: –IIS for services and Visual Studio for IDE

30 Ingeniørhøjskolen i Århus Slide 30 UDDI UDDI for publishing & discovery – the SOA

31 Ingeniørhøjskolen i Århus Slide 31 UDDI Universel Descrition, Discovery & Integration UDDI defines a scheme to publish and discover information about Webservices Programmatic registration and discovery business entities and their Webservices Based on SOAP, HTTP, XML Registry data –Business registrations –Service type definitions

32 Ingeniørhøjskolen i Århus Slide 32 Registration “ White pages” – Address, contact, and known identifiers “ Yellow pages” –industrial categorizations –Industry: NAICS (Industry codes - US Govt.) –Product/Services: UN/SPSC (ECMA) –Location: Geographical taxonomy “ Green pages” –technical information about services

33 Ingeniørhøjskolen i Århus Slide 33 What uses UDDI? Tool building client (Service Consumer) –Browse or search registry –Create a service proxy Tool publishing the service –Generates WSDL –Construct UDDI entries Application that needs dynamic binding –Directly access UDDI –Query can be pre-generated


Download ppt "Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)"

Similar presentations


Ads by Google