Вы находитесь на странице: 1из 33

| 

  

Craig Duncan
craig.duncan@c3daero.com
j 
  
 Veb services
 Software components that can be run over the
Internet using XML
 Reasons to use Veb services
 Applications can be built that are platform-
independent, distributed, and secure
 Technologies
 XML, UDDI, VSDL, and SOAP
 Veb Services Architecture (VSA)
 Set of protocols that solve the problems that every
distributed application faces
 C3D Aero
 Builds Veb services for the aviation industry
 

 Definition:
Software components that can be
published, located, and run over the
Internet using Extensible Markup
Language (XML)
 Used to:
 Allow other applications to call
modules of code remotely with XML
 Expose data in a database as XML
 Send XML messages
j    
 Definition:
A markup language that describes data in a
structured and human-readable text format
 Example:
<pilot>
<name>Craig Duncan</name>
<status>student</status>
<hours type=³dual´>37.3</hours>
</pilot>
 Related to HTML, but more powerful
because XML can be modified and extended
 Has become the de facto standard for
representation of information content
 Has become the language of choice for
information exchange
 
  

·ote: Simple Object Access Protocol (SOAP) is an XML message format


ë     

 Applications can be built that are:
 Platform-independent
 Distributed
 Secure
 Veb services will become the common
architecture for system and application
integration
 Based on open industry standards
 Companies and government agencies
will be able to easily communicate with
customers and external partners
     
 

 Loosely-coupled and flexible systems
are more useful than hard-wired and
monolithic ones:
 Example ± Vorld Vide Veb
 Service Oriented Architecture (SOA)
 Companies and government agencies
will be able to access software remotely
that they or others have already built
(reuse)
 Organizations will be able to extend the
life and value of legacy systems by
exposing existing data as XML
j     
 

 Developers will be able to integrate
applications:
 Quickly
 Easily
 Inexpensively
 Software development and maintenance
time will be reduced
 Increase efficiency 30% ± Gartner
 Data can be secured using industry
standard security methods:
 Secure Socket Layer (SSL) protocol
 Public-key certificates
 VS-Security
 
  
 ·ot a silver bullet
 Veb services provide plumbing between
applications
 However, plumbing is essential
 Easy to write, hard to get right
 Distributed and asynchronous software is
the hardest to develop and debug
 However, not impossible
 XML is wordy
 Takes up a lot of processor time
and bandwidth
 However, up to a 90% compression ratio
 
 
   
  
·   

Extensible Markup XML Language
Language

Universal Description, UDDI Discovery


Discovery, and Integration

Veb Services Description VSDL Description


Language

Simple Object Access SOAP Request and receive


Protocol messages
Π   
O  
 
u  
  

 u
 ³Discovery´
 Veb service equivalent of the Yellow Pages
 Organizations register their Veb services in a
global directory so clients can find them
 The hype:
 Applications will be able to dynamically discover
new Veb services and automatically call them
 The reality:
 Provides a layer of software abstraction between
Veb services and client applications
Example ± The URL address of a Veb service changes
 UDDI is a Veb service (uses XML and SOAP)
u  
  

 u
  
 Root UDDI directory
 www.uddi.org
 Other directories exist:
 uddi.microsoft.com
 uddi.ibm.com
 www.xmethods.net
 www.salcentral.com
 Organizations can set up their own
UDDI servers for internal use
 Similar to an office telephone list


  
 
 ³Description´
 Veb service equivalent of a menu
 Uses XML to describe what the Veb
service can do:
 Interface information (available functions)
 Function data types
 Function location information (URL address)
 Choice of application transfer protocol

  
 



 Hypertext Transfer Protocol (HTTP)
 Simple Mail Transfer Protocol (SMTP)
 File Transfer Protocol (FTP)
 Blocks Extensible Exchange Protocol
(BEEP):
 A replacement for HTTP in critical
applications
 A generic application layer template
 Uses XML to define the protocol syntax
 Peer-to-peer (can be used client/sever)
 Avoids the use of port 80
£ 
   

Adapted from David Chappell & Associates


 Œ!


 
£ 
Σ
 ³Request and receive messages´
 Veb service equivalent of an order
 A Remote Procedure Call (RPC)
that consists of XML
sent over HTTP
 Other transport protocols can be used
 Similar in structure to a letter:
 A message is written in XML
 The message is wrapped in an
XML envelope
Σ"   
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAirportInformation>
<AirportIdentifier>·99</AirportIdentifier>
</GetAirportInformation>
</soap:Body>
</soap:Envelope>
Σ    
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:soap=
"http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAirportInformationResponse>
<GetAirportInformationResult>
<·ame>Brandywine Airport</·ame>
<Location>Vest Chester, PA</Location>
<Length unit="feet">3347</Length>
</GetAirportInformationResult>
</GetAirportInformationResponse>
</soap:Body>
</soap:Envelope>
  
 Latest development environments and tools
understand Veb service technologies:
 Microsoft .·ET platform
 Java 2 Standard Edition (J2SE) platform
 Programmers using .·ET and Java do not
need to create or view UDDI, VSDL, or
SOAP files directly
 .·ET developers only have to mark a function
with a [VebMethod] attribute and it can be
called across the Internet
 Java developers use the @Remote attribute
   
  
 Developers writing distributed
applications need a way to provide:
 Security
 Message integrity
 Message confidentiality
 Authentication
 Authorization
 ·on-repudiation
 Reliability
 Transactions
 Etc.
   #
 

 
 
 Set of infrastructure protocols that solve the
problems that every distributed application
written with Veb services faces
 Allows developers to concentrate on writing
software
 Similar to the U.S. Post Office:
 You can place an addressed, stamped, and sealed
envelope in a mailbox and you don¶t have to worry
about anybody looking inside it or how it will get to
its destination
 You have the option to use additional services like
certified mail
  

 General purpose
 Independent of application domain
 Standards-based
 Uses widely accepted protocols
 Federated
 ·o central point of control, administration,
or failure
 Modular
 Protocols can be used individually or
work together
 
  
  
$
 
 The most important VSA security protocol
because the other security protocols use it
 Provides message integrity:
 XML Signature
 Uses an algorithm to create a message digest
 The recipient compares the digest to the message
 The digest needs to be encrypted
 Security tokens (identity authentication)
 Username and password (needs SSL or VP·)
 X.509 certificate
 Kerberos ticket
 Provides message confidentiality:
 XML Encryption
 Security tokens (same as above)
  

 VS-ReliableMessaging
 Allows messages to be delivered in the
presence of software and network failures
 VS-Addressing
 Defines Veb service endpoints which
allow message transmission through
gateways and firewalls
 VS-Routing
 Allows a SOAP message to specify
a virtualized path through a network
j  

 VS-Attachments
 Allows attached files (documents,
pictures, sound, video, etc.) to be
sent with SOAP messages
 VS-Transactions
 Allows applications using more than one
Veb service to coordinate changes
 Etc.
Σ  
    
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<soap:Header>
<m:path xmlns:m="http://schemas.xmlsoap.org/rp">
<m:action>http://ws.c3daero.com/getairportinformation</m:action>
<m:to>soap://c3daero.com/airports</m:to>
<m:from>mailto:craig.duncan@c3daero.com</m:from>
<m:id>uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6</m:id>
</m:path>
<wsse:Security
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">
<ds:Signature>
<ds:SignatureValue>DJbchm5gK...</ds:SignatureValue>
...
</ds:Signature>
</wsse:Security>
</soap:Header>
<soap:Body id="MsgBody">
...
</soap:Body>
</soap:Envelope>
 
  % 
 Standards organizations:
 Vorld Vide Veb Consortium (V3C)
 Veb Services Interoperability Organization (VS-I)
 Organization for the Advancement of
Structured Information Standards (OASIS)
 Vendors:
 Microsoft
 IBM
 Sun Microsystems
 Companies exposing data as Veb services:
 Amazon.com
 Google
 Companies writing Veb services for the
aviation industry
 C3D Aero
O  &  
 Vision
 Enable pilots to access aviation data
on the Internet from the cockpit
 Mission
 Create Veb services for the aviation
industry
O 
 
 Veb services
 Software components that can be run over the
Internet using XML
 Reasons to use Veb services
 Applications can be built that are platform-
independent, distributed, and secure
 Technologies
 XML, UDDI, VSDL, and SOAP
 Veb Services Architecture (VSA)
 Set of protocols that solve the problems that every
distributed application faces
 C3D Aero
 Builds Veb services for the aviation industry
 
Veb services
http://www.c3daero.com/technologies/webservices.aspx
http://www.pcmag.com/article2/0,4149,103013,00.asp
http://www.pcmag.com/article2/0,4149,519023,00.asp

Veb service standards organizations


http://www.w3.org
http://www.ws-i.org
http://www.oasis-open.org

Veb service vendors


http://msdn.microsoft.com/webservices
http://www-3.ibm.com/software/solutions/webservices
http://java.sun.com/webservices
http://www.capeclear.com/products/webservices

Companies with Veb services


http://www.amazon.com/gp/aws/landing.html
http://www.google.com/apis

Вам также может понравиться