msc course in advanced distributed systems session 1 2b introduction to web services l.
Skip this Video
Loading SlideShow in 5 Seconds..
MSc Course in Advanced Distributed Systems Session 1.2b: Introduction to Web Services PowerPoint Presentation
Download Presentation
MSc Course in Advanced Distributed Systems Session 1.2b: Introduction to Web Services

Loading in 2 Seconds...

play fullscreen
1 / 33

MSc Course in Advanced Distributed Systems Session 1.2b: Introduction to Web Services - PowerPoint PPT Presentation

  • Uploaded on

MSc Course in Advanced Distributed Systems Session 1.2b: Introduction to Web Services. Information. Contact Dr. Paul Grace C21, Infolab21 Reading Newcomer chapter 1: “Introducing Web Services” Web Services Architecture specification

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

MSc Course in Advanced Distributed Systems Session 1.2b: Introduction to Web Services

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
  • Contact
    • Dr. Paul Grace
    • C21, Infolab21
  • Reading
    • Newcomer chapter 1: “Introducing Web Services”
    • Web Services Architecture specification
    • Example services –
introduction to web services
Introduction to Web Services
  • Aims of the lecture
    • To appreciate the motivations behind Web Services
    • To understand the technologies associated with Web Services
    • To appreciate how Web Services compare to other middleware technologies
    • To understand the limitations of Web Services
what are web services
What are Web Services?
  • New, emerging distributed systems technology
    • Loosely-coupled, Service-oriented approach
    • Major industrial players (IBM, Microsoft, Sun etc.) supporting its development
  • The next step in improving interoperability and overcoming heterogeneity
    • CORBA, EJB provide tightly coupled interoperability
    • Web Services aims to provide open integration
  • An evolving Web standard
    • World Wide Web Consortium (W3C) committees e.g. WSAG developing specs
what is a web service
What is a Web Service?
  • Often incorrectly described or misinterpreted
  • “A Web Service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with a web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialisation in conjuction with other Web related standards.”WSA specification 08/08/03
why web services 1
Why Web Services (1) ?
  • What is middleware good at?
    • Overcoming heterogeneity and Interoperability problems
  • What problems are there with middleware?
    • Tightly coupled client/server models
    • Development between specified parties (company A and company B)
  • What is the WWW good at?
    • Human interaction with text and graphics
    • Open publication of information
  • Can we utilise the WWW to support application to application interaction?
the world wide web www


The World Wide Web (WWW)



  • Web pages published to a wide audience
  • Open to read by anyone
  • Client can dynamically search, choose and browse

Discover & Interact

why web services 2
Why Web Services (2)?
  • Take existing software implementation & make it widely available
    • Existing legacy code, database, CORBA objects, EJB components etc…
    • Scope of publication not supported in CORBA, DCOM, EJB …
  • Applications can dynamically discover services that meet their requirements
    • Software-oriented interactions automatically perform operations that previously required manual intervention
an example application
An example application

9pm: Reservation at Paris restaurant

Calendar on PDA




Grand Hotel




Ibis Hotel




Air France


British Airways

why web services 3
Why Web Services (3)?
  • Software solutions heterogeneously implemented
    • Different middleware e.g. EJB, DCOM and CORBA services
    • Problem of Enterprise Application Integration
  • Web Services are abstract entities
    • Higher level framework of interoperation
    • The same client can interoperate with any implementation
web services interactions
Web Services Interactions
  • Middleware typically encompasses a single interaction style
  • Web Services offer a higher level abstraction, encompassing:
    • RPC, Asynchronous messaging, One-way messaging, Broadcast & Publish\Subscribe
  • However, only two styles are typically used
    • Remote Procedure Call
    • Documented Oriented Messaging
remote procedure call
Remote Procedure Call

Interactive Order request/response

document oriented interaction
Document Oriented Interaction

Workflow of purchase order

web services in action
Web Services in Action
  • Web Services are available for you to use today
    • Google
      • E.g. Google Maps API -
    • Amazon
      • E.g. S3 storage service, catalogue api
    • Flickr
    • Microsoft Live
    • E-bay
    • And many others
example combining services
Example: Combining Services
  • Google Maps + craigslist rentals=
web services core technologies
Web Services Core Technologies
  • Discovery
  • Description
  • Interaction







xml extensible markup language
XML (Extensible Markup Language)
  • Basic foundation of Web Services
    • Base language for defining data and how to process it
  • Overcomes limitations of HTML
    • Data has meaning
    • Elements (tags) associate meaning with data
  • XML Schemas ensures that everyone uses the same elements in the same way
  • If two parties share an XML document and the same XML schema they understand the same content
  • This is exactly how Web Services work
    • All messages exchanged are XML documents
web services description language wsdl
Web Services Description Language (WSDL)
  • XML language for interface definition of each Web Service
    • Similar to CORBA and DCOM IDL
    • If sender & receiver share and understand same WSDL file, interoperability is guaranteed
  • Key technology in supporting enterprise application integration
    • Separation of abstract service description from concrete messaging format
  • Divided into three major elements
    • Data type definitions, Abstract definitions & Service bindings
data type definitions
Data Type Definitions


<schema targetNamespace=""


<element name="TradePriceRequest">


<element name="tickerSymbol" type="string"/> </all> </complexType>


<element name="TradePrice">


<element name="price" type="float"/>





abstract definitions
Abstract Definitions

<message name="GetLastTradePriceInput">

<part name="body" element="xsd1:TradePriceRequest"/>


<message name="GetLastTradePriceOutput">

<part name="body" element="xsd1:TradePrice"/>


<portType name="StockQuotePortType">

<operation name="GetLastTradePrice">

<input message="tns:GetLastTradePriceInput"/>

<output message="tns:GetLastTradePriceOutput"/>



service bindings
Service Bindings

<binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType">

<soap:binding style="document"transport=""/>

<operation name="GetLastTradePrice">



<input> <soap:body use="literal"/></input>

<output> <soap:body use="literal"/></output>



<service name="StockQuoteService">

<documentation>My first service</documentation>

<port name="StockQuotePort“ binding="tns:StockQuoteBinding">





  • Bindings to SOAP, HTTP & MIME -> Others ??
  • The SOAP specification defines a messaging framework designed for exchanging formatted XML data across the Internet.
  • Neutral with respect to operating system, programming language, or distributed computing platform.
  • Fundamentally, a one-way communication model
    • Adapted to perform RPC
    • Transfer complete XML documents
  • Abstract communication protocol
    • Bridge between heterogeneous implementations
discovering web services 3 styles
Discovering Web Services (3 Styles)
  • Registry style
    • Authoritative, centrally controlled e.g. UDDI
  • Index approach
    • Open, centralized, free market model
    • 3rd party information included
    • E.g. Google index
  • Peer-to-Peer discovery
    • Decentralised, suited to alternative environments e.g. ubiquitous, ad-hoc
uddi publishing discovering web services
UDDI: Publishing & Discovering Web Services
  • Universal Description, Discovery & Integration (UDDI)
    • A Web Service registry & discovery mechanism for retrieving pointers for web services interfaces
  • UDDI is like a yellow pages directory
    • Companies register extra contact information
  • Vendors Publish information about services
  • Clients search for matching services
  • Centralised discovery mechanism
web service discovery

Return matching service info

Submit data to registry

Create WSDL describing Web Service

Query registry for WSDL

Use WSDL to generate correct messages

Interact with discovered service

Web Service Discovery
the future
The Future ?
  • Web Services are primitive compared to established middleware
    • Cannot specify or search by non-functional service properties (cost, security, QoS etc.)
    • Simple interactions are currently only available
    • Work in progress on both e.g Choreography group, semantic search
  • Further Integration (without SOAP)
    • Web Services Invocation Framework
  • New domains
    • Mobile Computing & Ubiquitous Computing
  • The new silver bullet?
    • Web Services do not solve much by themselves
    • Web Services are a new layer, or another way of doing things
    • Important because they bridge technology domains
  • Allow new Interaction styles
  • Promote open publication of software services
  • Solve Enterprise Application Integration
  • XML & WSDL are the key technologies
web services limitations and restful web services
Web Services Limitations and RESTful Web Services
  • The Web Service Stack is heavyweight
    • Difficult to understand
    • Difficult to implement
    • Interoperability is still difficult to achieve
  • A growing number of advocates are proposing RESTful Web services
    • XML services using just the HTTP protocol
    • Loosely coupled, message orientation
    • You’ll hear more about these later in the week
expected learning outcomes
Expected Learning Outcomes
  • To understand the benefits provided by Web Services
  • To be able to compare Web Services with other Middleware technology
  • To understand the technologies at the core of Web Services