Providing Web Services over DVB-H Mobile Virtual Web Services
WEB SERVICES
description
Transcript of WEB SERVICES
1
WEB SERVICESWEB SERVICESWEB SERVICESWEB SERVICES
Giảng viên:Giảng viên:
Phạm Trần VũPhạm Trần Vũ
Nhóm trình bày:Nhóm trình bày:
Vũ Văn AnVũ Văn An
Mã Trường ChuMã Trường Chu
Bùi Thị DựBùi Thị Dự
Lê Thị Kim TuyếnLê Thị Kim Tuyến
Trần Thị Cẩm TúTrần Thị Cẩm Tú
22
OutlineI. SOAII. Introduction to Web ServiceIII. Web Service’s Architecture 1. SOAP 2. WSDL 3. UDDIIV. ReferencesV. DemoVI. Q&A
33
SOA - WHAT IS IT?SOA - WHAT IS IT?SOA stands for SOA stands for SService ervice OOriented riented AArchitecture.rchitecture.SOA is a mechanism that enables SOA is a mechanism that enables organizations to facilitate communication organizations to facilitate communication between the systems running on multiple between the systems running on multiple platformsplatformsSOA is a collection of well-defined services, SOA is a collection of well-defined services, each individual service can be modified each individual service can be modified independently of other services to help respond independently of other services to help respond to the ever-evolving market conditions of a to the ever-evolving market conditions of a businessbusiness
SOA presents the big picture of what you can SOA presents the big picture of what you can do with web servicesdo with web services
44
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
55
SOA - ADVANTAGESBusiness benefits: Focus on Business Domain solutions Leverage Existing Infrastructure AgilityTechnical Benefits Loose Coupling Autonomous Service Location Transparency Late Binding
66
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.
77
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
88
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.
99
SOA - ELEMENTS
1010
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
1111
Introduction to Web Introduction to Web serviceservice
1.1. What are Web Services?What are Web Services?
2.2. Why use it?Why use it?
3.3. When use it?When use it?
4.4. XMLXML
1212
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
XMLXML
Computer A:Language: Perl
OS: Windows 2000
Computer B:Language: Java
OS: Linux
A basic web service
1313
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
1414
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
1515
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
1616
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
1717
Web Service
1. What are Web Services?2. Why use it?3. When use it?4. XML (eXtensible Markup
Language)
1818
4. XML
• 4.1. A bout XML• 4.2. The difference between XML
and HTML
1919
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
2020
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>
2121
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
22
WEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTURE
SOAPSOAPSimple Object Access Simple Object Access
ProtocolProtocol
2323
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)
2424
What is SOAP?
• Encoded in XML• Stateless (request/response)• SOAP is simple and extensible • SOAP messages work through proxies
and firewalls
2525
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
2727
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
2828
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)
2929
Skeleton SOAP Message <?xml version="1.0"?><soap:Envelope<soap:Header>...</soap:Header>
<soap:Body>... <soap:Fault> ... </soap:Fault></soap:Body>
</soap:Envelope>
3030
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.1Content-Type: application/soap+xml;
3131
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 OKContent-Type:application/soap+xml;
3232
SOAP HTTP Binding
• A SOAP method is an HTTP request/response that complies with the SOAP encoding rules.
HTTP + XML = SOAP
3333
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".
3434
A SOAP request• POST /InStock HTTP/1.1Host: www.example.orgContent-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>
3535
The SOAP response• HTTP/1.1 200 OKContent-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>
36
WEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTURE
WSDLWSDLWeb Services Web Services
Description LanguageDescription 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
EditorsHow do you write WSDL files?• By hand: some editors have
special support for WSDL !• Automatic generation
47
WEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTUREWEB SERVICE’S ARCHITECTURE
UDDIUDDIUniversal Description, Universal Description,
Discovery and IntegrationDiscovery and Integration
4848
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
4949
Introduction to UDDI
•
5050
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.
5151
Why UDDI ?
• Enables a partner to transfer the contents of an electronic shopping cart
• Enables a partner to query status on a specific shipment
5252
UDDI technical overview
The UDDI technical architecture consists of three parts:
• UDDI data model• UDD API• UDDI cloud services
5353
UDDI Data Model
5454
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.
5555
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.
5656
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
5757
References
• [1] Web Services Essentials Ethan Cerami ISBN: 0-596-00224-6
• www.w3schools.com• www.arts-humanities.net/briefingpaper/web_s
ervices• www.neodynamic.com/ND/
FaqsTipsTricks.aspx?tabid=66&prodid=0&sid=52
• Nguyen Ngoc Duy’s Thesis - 2004
58
THANKS FOR YOUR THANKS FOR YOUR ATTENTIONS!!!!!!ATTENTIONS!!!!!!
THANKS FOR YOUR THANKS FOR YOUR ATTENTIONS!!!!!!ATTENTIONS!!!!!!
DemoDemo
Q & AQ & A