Web services

stalksurveyorΑσφάλεια

3 Νοε 2013 (πριν από 3 χρόνια και 5 μήνες)

218 εμφανίσεις

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ú

2

2

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


3

3

SOA
-

WHAT IS IT?


SOA stands for
S
ervice
O
riented
A
rchitecture.


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



4

4

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


5

5

SOA
-

ADVANTAGES

Business benefits:


Focus on Business Domain solutions


Leverage Existing Infrastructure


Agility

Technical Benefits



Loose Coupling



Autonomous Service



Location Transparency



Late Binding



6

6

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.

7

7

SOA
-

Roles


Service Provider


Provides a stateless,
location transparent
business service



Service Registry


Allows service consumers
to locate service
providers that meet
required criteria



Service Consumer


Uses service providers to
complete business
processes








Service
Registry

Service
Provider

Service
Consumer

8

8

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.


9

9

SOA
-

ELEMENTS

10

10

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

11

11

Introduction to Web service

1.
What are Web Services?

2.
Why use it?

3.
When use it?

4.
XML

12

12

1. What is Web service?


Web Service
Essential Book:


A web service is
any service that is
available over the
Internet, uses a
standardized XML
messaging system,
and is not tied to
any one operating
system or
programming
language



XML

XML

Computer A:

Language: Perl

OS: Windows 2000

Computer B:

Language: Java

OS: Linux

A basic web service

13

13

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

14

14

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

15

15

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

16

16

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

17

17

Web Service

1.
What are Web Services?

2.
Why use it?

3.
When use it?

4.
XML (e
X
tensible
M
arkup
L
anguage)

18

18

4. XML


4.1. A bout XML


4.2. The difference between XML
and HTML

19

19

4.1. About…


XML
-

e
X
tensible
M
arkup
L
anguage


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

20

20

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>


21

21

4.2. The difference between
XML and HTML

XML


Designed to transport
and store data, with
focus on what data is


Carrying information


Provides a facility to
define tags and the
structural
relationships between
them

HTML


Designed to display
data, with focus on
how data looks


Displaying information


Both the tag
semantics and the tag
set are fixed

WEB SERVICE’S ARCHITECTURE

SOAP

Simple Object Access
Protocol


23

23

What is SOAP?


The
S
ervice
O
riented
A
rchitecture
P
rotocol



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)

24

24

What is SOAP?


Encoded in XML


Stateless (request/response)


SOAP is simple and extensible


SOAP messages work through proxies and
firewalls

25

25

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

26


SOAP Use Scenario: RPC


SOAP envelope

SOAP envelope

27

27

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

28

28

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)


29

29

Skeleton SOAP Message

<?xml version="1.0"?>

<soap:Envelope


<soap:Header>

...

</soap:Header>


<soap:Body>

...



<soap:Fault>



...



</soap:Fault>

</soap:Body>

</soap:Envelope>

30

30

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;

31

31

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;

32

32

SOAP HTTP Binding



A SOAP method is an HTTP
request/response that complies with
the SOAP encoding rules.



HTTP + XML = SOAP

33

33

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".


34

34

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>


35

35

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>

WEB SERVICE’S ARCHITECTURE


WSDL

Web Services

Description Language

37

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




38

WSDL Elements


Types


Messages


Interfaces (portTypes)


Bindings


Services

39

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>


40

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
.


41

Messages

<message name="
SayHelloRequest
">


<part name="firstName" type="xsd:string"/>

</message>


<message name="
SayHelloResponse
">


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

</message>

42

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>


43

Types of

operation

44

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

45

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>

46

Editors

How do you write WSDL files?


By hand: some editors have special
support for WSDL !


Automatic generation

WEB SERVICE’S ARCHITECTURE

UDDI

Universal Description,
Discovery and Integration

48

48

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


49

49

Introduction to UDDI




50

50

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.

51

51

Why UDDI ?


Enables a partner to transfer the
contents of an electronic shopping
cart


Enables a partner to query status on
a specific shipment


52

52

UDDI technical overview

The UDDI technical architecture
consists of three parts:



UDDI data model


UDD API


UDDI cloud services


53

53

UDDI Data Model

54

54

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.




55

55

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.



56

56

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


57

57

References


[1]

Web Services Essentials
Ethan Cerami
ISBN:
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

THANKS FOR YOUR
ATTENTIONS!!!!!!

Demo

Q & A