Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:

Similar presentations


Presentation on theme: "Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:"— Presentation transcript:

1 Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes: http://www.eeng.dcu.ie/~ee557http://www.eeng.dcu.ie/~ee557 Mailing List: ee557@list. dcu.ieee557@list. dcu.ie

2 Slide 2 Web Applications Two types of web applications Presentation-oriented: application generates interactive pages containing various types of markup (XML, HTML etc.) and dynamic content in response to requests -> we are familiar with this type Service-oriented: Service-oriented web application implements the endpoint of a web service. Frequently we used presentation-oriented applications as clients to our service-oriented web applications EE557: Server-Side Development

3 Slide 3 Web Services Services offered via the Web Business application sends a request to a service at a given URL using the SOAP protocol over HTTP Service receives the request, processes it and returns a response Example: A stock quote service Request asks for the price of a specified stock, response gives back the stock price and other information Example: delivery system Service that maps out the efficient delivery of goods. Business sends a request containing the delivery destinations, service processes the request to generate the most efficient route Web Services most commonly used for B2B transactions, as opposed to B2C transactions -> integrating business services EE557: Server-Side Development

4 Slide 4 Web Services Web services depend on the ability of parties to communicate with each other even if they are using different information systems XML is a markup language that makes data portable and is the key technology in addressing this need This inter-system communication is handled using the SOAP protocol Figure 11.0 from notes (won’t copy/paste clearly) EE557: Server-Side Development

5 Slide 5 Simple Object Access Protocol.NET and other technologies are based around SOAP Simple protocol based on the idea that in a distributed architecture you will need to exchange information SOAP is lightweight, with a minimal amount of overhead Occurs over HTTP, avoiding tricky issues such as firewalls and non-typical sockets Messages are packaged in a SOAP envelop and sent to the server in a Request/Response fashion SOAP unlike other protocols such as RMI does not require a strong connection between the client and the server Instead, SOAP allows services in alternative languages/platforms to interoperate -> “incompatible systems” EE557: Server-Side Development

6 Slide 6 SOAP SOAP message contains: - Envelope: describes the message and how to process it - Header: contains the features of the SOAP message - Body: contains the primary information for the message receiver EE557: Server-Side Development

7 Slide 7 SOAP Message EE557: Server-Side Development Envelop is analogous to a snail mail envelope. It supplies information which includes data relating to the recipient and the sender as well as further detail about the message itself

8 Slide 8 Features of SOAP Uses standard internet HTTP Uses XML to send and receive messages Platform Independent Language Independent A protocol for exchanging information in a decentralised and distributed environment EE557: Server-Side Development

9 Slide 9 Sample SOAP Message IBM EE557: Server-Side Development

10 Slide 10 EE557: Server-Side Development Sample SOAP Message 34.5

11 Slide 11 SOAP As stated previously, we need to know how to send and receive SOAP messages Therefore we use HTTP Eg. Our first message SOAPAction header indicates the ‘intent’ of a request and is mandatory. Each SOAP server could have multiple functions and the SOAPAction defines which function is being requested EE557: Server-Side Development POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI“...the soap request packet here...

12 Slide 12 SOAP Similarly the SOAP response from the HTTP server might be: EE557: Server-Side Development HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn...Soap Response packet here...

13 Slide 13 Java API for XML Web Services JAX-WS is a Java API for building Web services and clients that communicate using XML Part of Java EE platform from Sun Microsystems Implemented as part of project Glassfish Glassfish is an open source Java EE application server from Sun JAX-WS is the successor to JAX-RPC (Java API for XML-based RPC) previously covered on this module JAX-WS allows developers to develop SOAP based interoperable and portable web services Despite SOAP being complicated to manually implement, JAX-WS hides this complexity from the application developer EE557: Server-Side Development

14 Slide 14 EE557: Server-Side Development Java API for XML Web Services Calculator Web Service - Demonstrate Web Services Description Language WSDL is an XML file which describes what functionality a web service provides and how to access these services - What a service does? - How the service is accessed? - Where a service is located? Take a look at a WSDL file We will dynamically generate a WSDL file in our example

15 Slide 15 EE557: Server-Side Development Java API for XML Web Services So why is this approach better than using Java RMI? Similar effect using a proxy on the client

16 Slide 16 Universal Description, Discovery & Integration UDDI is an XML-based standard for describing, publishing and finding web services Online directory which gives businesses and organisations a standard approach to describing their services, discovering other business services and understanding the appropriate methods involved Achieved via WSDL which is used to describe the interfaces of any developed web services Before UDDI there was no standard for discovering partner products and services Consider an example where we write a web service interface to airline reservation systems. Travel agencies can use our web service if we provide them the means to do so (WSDL)! EE557: Server-Side Development


Download ppt "Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:"

Similar presentations


Ads by Google