Bind and invoke: After retrieving the service description, the service consumer proceeds to invoke the service according to the information in the service description... SOA - An exa
Trang 1WEB 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
Trang 2I SOA
II Introduction to Web Service
III Web Service’s Architecture
Trang 3SOA - WHAT IS IT?
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
Trang 4SOA - 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
Trang 5SOA - ADVANTAGES
Business benefits:
Focus on Business Domain solutions
Leverage Existing Infrastructure
Trang 6SOA – 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
Trang 7service providers that
meet required criteria
Service Provider Service
Consumer
Trang 8SOA - 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.
Trang 9SOA - ELEMENTS
Trang 10SOA - 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.
Trang 11Introduction to Web
service
1 What are Web Services?
2 Why use it?
3 When use it?
4 XML
Trang 121 What is Web service?
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
Trang 131 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
Trang 142 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
Trang 152 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
Trang 163 When use web
service?
• Applications do not have severe
restrictions on reliability and speed
• Two or more organizations need to
– Google can improve PageRank
implemenation without telling user
– Just don’t change the WSDL
Trang 17Web Service
1 What are Web Services?
2 Why use it?
3 When use it?
4 XML (eXtensible Markup
Language)
Trang 184 XML
• 4.1 A bout XML
• 4.2 The difference between XML
and HTML
Trang 194.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
Trang 204.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>
Trang 214.2 The difference between
XML and HTML
XML
• Designed to transport
and store data, with
focus on what data is
• Displaying information
• Both the tag semantics and the tag set are fixed
Trang 22WEB SERVICE’S ARCHITECTURE
SOAP
Simple Object Access
Protocol
Trang 23What 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
Trang 24What is SOAP?
• Encoded in XML
• Stateless (request/response)
• SOAP is simple and extensible
• SOAP messages work through proxies and firewalls
Trang 25SOAP 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
Trang 26SOAP Use Scenario: RPC
SOAP envelope
Trang 27SOAP 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”
Trang 28SOAP 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,
Trang 29Skeleton SOAP Message
Trang 30The 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;
Trang 31The 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;
Trang 33A 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"
Trang 34<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
Trang 35The SOAP response
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
Trang 36WEB SERVICE’S ARCHITECTURE
WSDL
Web Services Description Language
Trang 37function calls and how to access them
• Then they use this information in your
WSDL file to form a SOAP request to the computer
Trang 40• 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
Trang 42• Combines multiple message elements
to form a complete one-way or round-trip operation
<portType name="Hello_PortType">
</operation>
</portType>
Trang 43Types of operation
Trang 44• 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
Trang 45• The service element defines the address for
invoking the specified service
• Most commonly, this includes a URL for invoking the SOAP service
Trang 46How do you write WSDL files?
• By hand: some editors have special support for WSDL !
• Automatic generation
Trang 47WEB SERVICE’S ARCHITECTURE
UDDI
Universal Description,
Discovery and Integration
Trang 48Introduction 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
Trang 49Introduction to UDDI
•
Trang 50Why 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
Trang 51Why UDDI ?
• Enables a partner to transfer the
contents of an electronic shopping cart
• Enables a partner to query status
on a specific shipment
Trang 52UDDI technical overview
The UDDI technical architecture
consists of three parts:
• UDDI data model
• UDD API
• UDDI cloud services
Trang 53UDDI Data Model
Trang 54Searching 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
Trang 55Publishing 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
Trang 56UDDI Implementations
• A number of UDDI implementations
are currently available
• Here is a brief synopsis of the main
UDDI implementations available.
– Java
– Microsoft COM
– Perl
Trang 58THANKS FOR YOUR