Sunteți pe pagina 1din 58

WEB SERVICES

Giảng viên:
Phạm Trần Vũ
Nhóm trình bày:
Vũ Văn An
Mã Trường Chu
Bùi Thị Dự
Lê Thị Kim Tuyến
Trần Thị Cẩm Tú
Outline
I. SOA
II. Introduction to Web Service
III. Web Service’s Architecture
1. SOAP
2. WSDL
3. UDDI
IV. References
V. Demo
VI. Q&A

2
SOA - WHAT IS IT?
SOA stands for Service Oriented Architecture.
SOA is a mechanism that enables organizations to
facilitate communication between the systems
running on multiple platforms
SOA is a collection of well-defined services, each
individual service can be modified independently of
other services to help respond to the ever-evolving
market conditions of a business
SOA presents the big picture of what you can do
with web services

3
SOA - WHY USE IT?
Using SOA can:
• Enhance business agility
• Synchronize IT with your business
• Break the barriers between business units and
business partners
• Lower the cost of maintaining IT systems
• Focus your resources on innovation rather than
maintenance
• Speed delivery of web services to meet business
demands
• Provide support for IT process automation
• Protect IT investments by building on your existing
infrastructure

4
SOA - ADVANTAGES
Business benefits:
 Focus on Business Domain solutions
 Leverage Existing Infrastructure
 Agility
Technical Benefits
 Loose Coupling
 Autonomous Service
 Location Transparency
 Late Binding

5
SOA – DISAVANTAGE &
APPLICABILITY
• Service Oriented Architecture may
not always be the best architectural
choice because optimal utilization of
SOA requires additional development
and design attempts as well as
infrastructure which translates into
costs escalation.

6
SOA - Roles
• Service Provider
– Provides a stateless,
location transparent Service
business service Registry

• Service Registry
– Allows service consumers
to locate service
providers that meet Service Service
required criteria
Consumer Provider

• Service Consumer
– Uses service providers to
complete business
processes

7
SOA - OPERATIONS
 Publish: To be accessible, service description
must be published so that it can be discovered
and invoked by a service consumer.
 Find: A service requestor locates a service by
querying the service registry for a service that
meets its criteria.
 Bind and invoke: After retrieving the service
description, the service consumer proceeds to
invoke the service according to the information in
the service description.

8
SOA - ELEMENTS

9
SOA - An example
• Storage Service
– Storing and retrieving data
– Reserving space, monitoring status of storage service
– Querying and defining the policies that govern who is
allowed access the service.
• Data Transfer Service
– Provide operations for requesting the transfer of data
from one storage service to another
– Managing and monitoring such transfers
– Querying and defining policies that govern how
difference transfer requests are prioritized.
• Troubleshooting Service

10
Introduction to Web service

1. What are Web Services?


2. Why use it?
3. When use it?
4. XML

11
1. What is Web service?
• Web Service Computer A:
Language: Perl
Essential Book: OS: Windows 2000

A web service is
any service that is
available over the
Internet, uses a
standardized XML XML
messaging system, XML
and is not tied to
any one operating
system or
programming Computer B:
language Language: Java
OS: Linux

12
A basic web service
1. What is Web service?
(cont)
• W3C:
– A software system designed to support
interoperable machine-to-machine
interaction over a network
• W3schools.com:
– Application components
– Communicate using open protocols
– Self-contained and self-describing
– Can be used by other applications

13
2. Why use web service?

• Interoperability has highest priority


• Web Services take Web-applications to
the next level
• Web Services have two types of uses
– Reusable application-components
– Connect existing software

14
2. Why use web service?
(cont)
• Web services facilitate collaboration
and allow businesses to grow
• Companies can spend less time
developing new applications
• E-businesses can use Web services to
provide their customers with
enhanced shopping experiences

15
3. When use web service?
• Applications do not have severe
restrictions on reliability and speed
• Two or more organizations need to
cooperate
– One needs to write an application that uses
another’s service
• Services can be upgraded independently of
clients
– Google can improve PageRank implemenation
without telling user
– Just don’t change the WSDL

16
Web Service
1. What are Web Services?
2. Why use it?
3. When use it?
4. XML (eXtensible Markup Language)

17
4. XML

• 4.1. A bout XML


• 4.2. The difference between XML
and HTML

18
4.1. About…
• XML - eXtensible Markup Language
• XML is a markup language much like
HTML
• XML tags are not predefined. You
must define your own tags
• XML is designed to be self-
descriptive

19
4.1. About…
• XML does not do anything
• With XML, you invent your own tags
• XML just plain text

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

20
4.2. The difference between
XML and HTML
XML HTML
• Designed to transport • Designed to display
and store data, with data, with focus on
focus on what data is how data looks
• Carrying information • Displaying information
• Provides a facility to • Both the tag
define tags and the semantics and the tag
structural set are fixed
relationships between
them

21
WEB SERVICE’S ARCHITECTURE

SOAP
Simple Object Access
Protocol
What is SOAP?
• The Service Oriented Architecture
Protocol
• Protocol for messaging and remote
procedure calling between distributed
applications
– SOAP is for exchange information between
applications
– SOAP is a format for sending messages
– SOAP is platform and language independent
• Developed by the World-Wide-Web
Consortium (W3C)
23
What is SOAP?

• Encoded in XML
• Stateless (request/response)
• SOAP is simple and extensible
• SOAP messages work through proxies and
firewalls

24
SOAP in a Nutshell
• A SOAP client formats a message in XML
including a SOAP “envelope” element
describing the message
• The client sends the message to a SOAP
server in the body of an HTTP request
• The server determines whether the
message is valid and supported
• The server formats its response in XML
and sends it to the client in the body of
an HTTP response

25
SOAP Use Scenario: RPC
SOAP envelope

SOAP envelope

26
SOAP Message Components
• Envelope (required) : identifies the XML
document as a SOAP message
– Contains Header and Body
• Header (optional) : contains header
information
– Contains application-specific information
about the SOAP message.
– Specifies which entries must be understood
and by which target “actor” in chain of
recipients

27
SOAP Message Components

• Body (required)
– Contains application-specific message
– May be encoded variously
• Fault element (optional)
– Contained in Body
– Describes error class (version
mismatch, headers not understood,
client error, server error)

28
Skeleton SOAP Message
<?xml version="1.0"?>
<soap:Envelope
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>

29
The HTTP Protocol
• HTTP communicates over TCP/IP. An
HTTP client connects to an HTTP server
using TCP. After establishing a
connection, the client can send an HTTP
request message to the server:
– POST /item HTTP/1.1
Content-Type: application/soap+xml;

30
The HTTP Protocol
• The server then processes the request
and sends an HTTP response back to the
client. The response contains a status
code that indicates the status of the
request:
– 200 OK
Content-Type:application/soap+xml;

31
SOAP HTTP Binding

• A SOAP method is an HTTP


request/response that complies with
the SOAP encoding rules.
HTTP + XML = SOAP

32
A SOAP Example
• In the example below, a GetStockPrice
request is sent to a server. The request
has a StockName parameter, and a Price
parameter that will be returned in the
response. The namespace for the
function is defined in
"http://www.example.org/stock".

33
A SOAP request
• POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml;

<?xml version="1.0"?>
<soap:Envelope>
<soap:Body
xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>

34
The SOAP response
• HTTP/1.1 200 OK
Content-Type: application/soap+xml;

<?xml version="1.0"?>
<soap:Envelope>
<soap:Body
xmlns:m="http://www.example.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>

35
WEB SERVICE’S ARCHITECTURE
WSDL
Web Services
Description Language
Definition
• WSDL is an XML-based language used to
define Web Services and describe how to
access them
• When someone wants to use your service,
they request the WSDL file in order to find
out the location of the service, the function
calls and how to access them
• Then they use this information in your
WSDL file to form a SOAP request to the
computer

37
WSDL Elements
• Types
• Messages
• Interfaces (portTypes)
• Bindings
• Services

38
Types
• Describes all the data types used between the client and
server
• WSDL is not tied exclusively to a specific typing system
<types>
<schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all><element name="tickerSymbol" type="string"/></all>
</complexType>
</element>
<element name="TradePrice">
<complexType>
<all><element name="price" type="float"/></all>
</complexType>
</element>
</schema>
</types>

39
Messages

• The <message> element is used to


define the messages that will be
exchanged between the client and the
service
• Contains zero or more message <part>
elements, which can refer to message
parameters or message return values.

40
Messages
<message name="SayHelloRequest">
<part name="firstName" type="xsd:string"/>
</message>

<message name="SayHelloResponse">
<part name="greeting" type="xsd:string"/>
</message>

41
portTypes

• Combines multiple message elements to


form a complete one-way or round-trip
operation

<portType name="Hello_PortType">
<operation name="sayHello">
<input message="tns:SayHelloRequest"/>
<output message="tns:SayHelloResponse"/>
</operation>
</portType>

42
Types of operation

43
Bindings

• Define the mechanism that the client


will actually use to interact with the
web service
• Provide concrete information on what
protocol is being used
• The most common choice is currently
SOAP

44
Services

• The service element defines the address for


invoking the specified service.
• Most commonly, this includes a URL for
invoking the SOAP service

<service name="Hello_Service">
<documentation>WSDL File for
HelloService</documentation>
<port binding="tns:Hello_Binding" name="Hello_Port">
<soap:address

location="http://localhost:8080/soap/servlet/rpcrouter"/
>
</port>
</service> 45
Editors
How do you write WSDL files?
• By hand: some editors have special
support for WSDL !
• Automatic generation

46
WEB SERVICE’S ARCHITECTURE

UDDI
Universal Description,
Discovery and Integration
Introduction to UDDI
• Universal description discovery and
integration(UDDI) is special directory
services which is implemented to use for
indexing all the available services, a
company offer.
• UDDI - an XML-based standard for
describing, publishing, and finding Web
services

48
Introduction to UDDI

49
Why UDDI ?
• At a first glane appears extremely
simple
• Nonetheless, it include some subtle points
that are easily overlooked.
• Let’s therefore begin examining the
future impact of UDDI within a specific a
industry.
• Currently, approximately 700 companies in
the information technology, electronic
component.

50
Why UDDI ?
• Enables a partner to transfer the
contents of an electronic shopping
cart
• Enables a partner to query status on
a specific shipment

51
UDDI technical overview

The UDDI technical architecture


consists of three parts:
• UDDI data model
• UDD API
• UDDI cloud services

52
UDDI Data Model

53
Searching UDDI
• When you install Windows Server
2003, it does not install Enterprise
UDDI Services by default.
• Install the Web service on a new or
existing Web server.

54
Publishing to UDDI
• In this section, we will walk through
the steps involved in publishing a
Web service with the UDDI
interface.
• Publish the specifications of the
Web service with Enterprise UDDI
Services.

55
UDDI Implementations
• A number of UDDI implementations
are currently available.
• Here is a brief synopsis of the main
UDDI implementations available.
– Java
– Microsoft COM
– Perl

56
References
• Web Services Essentials Ethan Cerami ISBN:
[1]

0-596-00224-6
• www.w3schools.com
• www.arts-
humanities.net/briefingpaper/web_services
• www.neodynamic.com/ND/FaqsTipsTricks.aspx?ta
bid=66&prodid=0&sid=52
• Nguyen Ngoc Duy’s Thesis - 2004

57
THANKS FOR YOUR
ATTENTIONS!!!!!!
Demo
Q&A

S-ar putea să vă placă și