0% found this document useful (0 votes)
21 views31 pages

Lecture 6 ICT 723 - Split

Uploaded by

IIB Tech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views31 pages

Lecture 6 ICT 723 - Split

Uploaded by

IIB Tech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

ICT723

Virtualisation and Cloud


Computing
Lecture 6 Service Oriented Architecture
and Web Service

CRICOS 03171A 1
This Week….

• Service Oriented Architecture

• Web Services
Toward a Service Oriented Architecture
• Technologies leading to SOA
• Remote Procedure Calls

• Concepts
• Abstractions- business tasks
• Standards
Information as a Service
• Moving from a Project-Based to a Flexible Architecture (SOA)
The ‘Integration’ Challenge

• In the 1980s and early 1990s we were buying best of breed


point solutions for automating specific business tasks.
• Result: islands of automation.

• Late 1990’s saw a huge push towards integrating islands of


• automation in to cohesive end-to-end systems:
• – Large in-house integration projects
• – Huge investments in to integrated product suites for ERP, CRM etc.
The ‘Integration’ Challenge

• Integration is very hard and very expensive:


• – requires a lot of planning and coordination between all of the systems
• involved
• – Integrated systems become inflexible and unable to adapt to changes
in business processes
The Role of SOA: Solving the Integration Challenge

• Systems that can accommodate new business processes and


• new relationships as needed
• Systems based on loosely coupled distributed components
• Simplify implementations by making components autonomous
and allow them to be used when needed
• Allow selection of best-of-breed components to lower cost and
deliver higher business value
The Role of SOA: Solving the Integration Challenge
What is SOA?

• “Service-Oriented Architectures (SOA) is a set of patterns for


building distributed systems where one application that
comprises a system can find another application that provides
needed service and can exchange data with it.”
Why is SOA Different?
• Loose coupling
• – No interdependencies between systems

• Reuses existing technology infrastructure

• Everything is based on XML and other industry standards


• – Platform and language independent
• – Easy, inexpensive
Why is SOA Different?
• Industry momentum:
• – Every player is on board: IBM, Microsoft, SAP, Oracle …
• – Proven interoperability

• The timing is right


What is a Web Service? (W3C definition)

• 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 the Web
service in a manner prescribed by its description using SOAP-
messages, typically conveyed using HTTP with an XML
serialization in conjunction with other Web-related standards.
What is a Web Service: A Simpler Definition

• A Web Service is a standards-based way for an application to


call a function over a network and to do it without having to
know:
• the location where the function will be executed,
• the platform where the function will be run,
• the programming language it is written in, or even
• who built it.
• Most important: Web Services are Easy!
Web Services: The 3 things at the core

1. Discovery
• – Where is the service?
2. Description
• – What service does it offer?
• – How do I use it?
3. Messaging
• – Let’s communicate
Web Services: Standard is Key
• WSDL is used to describe the function(s) that an application will
be calling documenting in a standard way its entry points,
parameters and output
• XML is used to carry the values of parameters and the outputs
of the function
• SOAP is used as the messaging protocol that carries content
(XML) over a network transport (typically HTTP)
• HTTP is used as the network transport layer
Web Services Interaction
Web Services Development and Deployment
• Tools should be used for development
• Ex: IBM Data Studio
• Runtimes are expected to run services
• Websphere Application Servers, Geronimo, etc.
• Apache Soap (based on IBM SOAP4J) with Xerces XML parser (also
contributed by IBM)
• Other tools
• WSDL generation, UDDI, etc.
WSDL: Web Service Description Language
• WSDL (Web Services Description Language) is a public
description of the interfaces offered by a web service.
Expressed in XML, it provides machine readable document that
provides a calling application all of the information required to
interact with a web service
WSDL Specification
• XML grammar
– <definitions>: root WSDL element
– <types>: data types transmitted (starts with XML Schema
specifications)
– <message>: messages transmitted
– <portType>: functions supported
– <binding>: specifics of transmissions
– <service>: how to access it
WSDL Example
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
SOAP: A Description (Simple Object Access
Protocol)
• Industry standard message format for sending and receiving
data between a web services consumer and a web service
provider
• SOAP messages are XML documents which have an envelope
and:
• Header (optional): contains information about the message such as
date/time it was sent or security information
• Body: contains the message itself
• Standard messaging protocol maintained by the W3C XML
Protocol Working Group.
SOAP: A Description
SOAP: Skeleton <?xml version="1.0"?>
Message <soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-
envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/s
oap-encoding">

<soap:Header>
...
</soap:Header>

<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>

</soap:Envelope>
SOAP: Give it a REST
• REST: REpresentation State Transfer
• Restful: Follows the REST principles
• Not strictly for web services
• Term used loosely as a method of sending information
• over HTTP without using a messaging envelope
Web Service Invocation
• 1. A client may have no knowledge of what Web Service it is
going to invoke. So, our first step will be to find a Web Service
that meets our requirements. For example, we might be
interested in locating a public Web Service which can give me
the temperature in US cities. We'll do this by contacting a UDDI
registry.

• 2. The UDDI registry will reply, telling us what servers can


provide us the service we require (e.g. the temperature in US
cities)
Web Service Invocation
• 3. the location of a Web Service is now known, but the actually
invocation method is still unknown. The second step is to ask
the Web Service to describe itself

• 4. The Web Service replies in a language called WSDL.


Web Service Invocation

• 5. The Web Service is located and invocation method is known.


The invocation is done using SOAP (a SOAP request is sent
asking for the needed information)

• 6. The Web Service will reply with a SOAP response which


includes the temperature we asked for, or maybe an error
message if our SOAP request was incorrect.
SOA Platforms
• Java 2 Platform Enterprise Edition (J2EE).

• Microsoft .NET framework


Questions:
Reference:

• https://www.w3.org/TR/ws-arch/
• https://www.w3.org/TR/wsdl/
• https://www.w3.org/TR/soap/

You might also like