Docstoc

Web Services

Document Sample
Web Services Powered By Docstoc
					Web Services: The Next Wave


                          Cian Quinlan
                       Solution Architect /
                   Web Services Evangelist
           Integrated Information Systems
                                cianq@iis.com
           Something Big Is Happening

―..there is no doubt that something big is
   happening in the computer industry—as
   big as the rise of the PC in the 1980s that
   turned hardware into a commodity and put
   software squarely at the center of the
   industry. Now it looks as thought software
   will have to cede to services delivered
   online.‖

                           The Economist, April 14th, 2001
          Something Big Is Happening



―The changes now under way are likely to
reshuffle the industry completely.‖

                          The Economist, April 14th, 2001
Let’s take a trip
                           Browser Centric

Car Rental             Hotel Reservations


                                HTML
    HTML



                  Copy and
                   Paste


             Corporate Travel Office
                            Application Centric


Car Rental                     Hotel Reservations


                                       SOAP
     SOAP




       Lightweight Application or Script



             Corporate Travel Office
             What is a Web Service?


   A Component
   Lives on the Internet
   ―Remote Procedure Call‖
   Advertises its services
   Known interface
   Standards based: SOAP, UDDI,
    WSDL..
                     Application Centric


Need:
 API

   Standard transport

   Way to find an appropriate service
   Way to locate the service
   Service name
   Service parameters
                           What is SOAP?

   SOAP (Simple Object Access Protocol)
   Remote Procedure Call
   Input parameters
   Return values
   XML over HTTP / SMTP / MQ ..
   Language / Platform independent
   Industry support
    Microsoft & IBM, etc
                                  SOAP Message
                      Envelope
 Runs over HTTP,
  SMTP, MQ, etc
                      Header
 Can go thru         • Authentication
  firewalls if HTTP   • Transaction management
                      • Payment
 SSL
 HTTP Request,       Body
  Response            • Method name
                      • Parameters
 XML
                                 UDDI Registry

                                 UDDI Registry
Universal
Description
Discovery
Integration              Find

                                      Publish

                        Invoke
                        (SOAP)

     User application
                                 Web Services Host
                                     UDDI Registry

UDDI Registry                        UDDI Registry


                    Replicate
                IBM, Microsoft, HP

    Find                                 Publish

                     Invoke
                     (SOAP)

  User application
                                 Web Services Host
              UDDI Registries - Scope

   Internet, intranet, extranet
   Public, private
   Communities


                              internal
Web Services Description Language


WSDL
 describes how to invoke a service

 provides information on the data
  being exchanged
 location of the service
                  SOAP


Example:

Get stock price
                                                   SOAP Request

POST /StockQuote HTTP/1.1
 Host: www.stockquoteserver.com
 Content-Type: text/xml; charset="utf-8"
 Content-Length: nnnn
 SOAPAction: "http://example.com/stockquote.xsd"

 <SOAP-ENV:Envelope
     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
     SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
     <SOAP-ENV:Body>
          <m:GetLastTradePrice xmlns:m="http://example.com/stockquote.xsd">
               <symbol>DIS</symbol>
          </m:GetLastTradePrice>
     </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>
                                                   SOAP Response

HTTP/1.1 200 OK
 Content-Type: text/xml; charset="utf-8"
 Content-Length: nnnn

 <SOAP-ENV:Envelope
     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
     SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
     <SOAP-ENV:Body>
          <m:GetLastTradePriceResponse xmlns:m="http://example.com/stockquote.xsd">
               <Price>34.5</Price>
          </m:GetLastTradePriceResponse>
     </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>
                                                                        WSDL
<?xml version="1.0"?>
 <definitions name="StockQuote"

   <message name="GetLastTradePriceInput">
      <part name="body" element="xsd1:GetLastTradePrice"/>
   </message>

   <message name="GetLastTradePriceOutput">
      <part name="body" element="xsd1:GetLastTradePriceResponse"/>
   </message>

   <service name="StockQuoteService">
      <documentation>My first service</documentation>
      <port name="StockQuotePort" binding="tns:StockQuoteBinding">
        <soap:address location="http://www.stockquoteserver.com/StockQuote"/>
      </port>
   </service>

 </definitions>
                                                 UDDI

   White pages:
      address, contact details and known identifiers
   Yellow pages:
      industrial categorizations based on standard
      taxonomies
   Green pages:
      technical information about services
                                                   UDDI


       Core taxonomies
    •     North American Industry Classification System
    •     Universal Standard Products and Services Codes
    •     IS0 3166 Geographic Taxonomy

       Additional taxonomies
    •     Standard Industrial Classification
    •     GeoWeb geographic classification
                                       UDDI: Query

   The following query, when placed inside
    the body of a SOAP envelope, returns
    details on IBM.

     <find_business generic="1.0" xmlns="urn:uddi-org:api">
          <name>IBM</name>
    </find_business>
<businessList generic="1.0"
  operator=“International Business Machines Corporation"
  truncated="false"                                            UDDI
  xmlns="urn:uddi-org:api">
  <businessInfos>
   <businessInfo
      businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3">
    <name>IBM Corporation</name>
     <description xml:lang="en">
          IBM is cool…
   </description>
      <serviceInfos>
      <serviceInfo
        businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
        serviceKey="1FFE1F71-2AF3-45FB-B788-09AF7FF151A4">
       <name>Web services for smart searching</name>
      </serviceInfo>
      <serviceInfo
        businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
        serviceKey="8BF2F51F-8ED4-43FE-B665-38D8205D1333">
       <name>Electronic Business Integration Services</name>
      </serviceInfo>
      </serviceInfos>
    </businessInfo>
  </businessInfos>
  </businessList>
Travel Application 1
Travel Application 2
Travel Application 3
               Java: Web Services Related APIs


Five core APIs:

   JAXP       XML Parsing with DOM, SAX and XSLT
   JAXB       XML data Binding to Java
   JAXM       API for Message Layer Protcols
   JAX/RPC    API for Remote Procedure Call conventions
   JAXR       Java API to the XML Registries

   JAX Pack
Using JAX APIs To Build Web Services
                         Web Services and J2EE


   J2EE 1.4 – a major theme is web services
       Key pieces will ship before 1.4
   JAX Pack – soon (July?)
   JSR 109 – Web Services 3Q01
   Support for web services now or soon in most
    major app servers
   Tool vendors rushing to support
   WSDL and the gory details will be hidden
                                    .NET


What is .NET?
 New language and runtime environment

 Web Services
                                           .NET

   Hailstorm is a set of consistent web
    services which provide:
       Common identity
       Messaging
       Naming
       Navigation
       Security
       Role mapping
       Data modeling
       Metering
       Error handling
                         .NET Web Services

    myAddress electronic and geographic address
      myProfile name, nickname, special dates, picture
    myContacts electronic relationships/address book
   myLocation electronic and geographical location
                and rendez-vous
myNotifications notification subscription, management
                and routing
                              .Net Web Services

          myCalendar time and task management
        myDocuments raw document storage
myApplicationSettings application settings
 myFavoriteWebSites favorite URLs and other Web
                     identifiers
            myWallet receipts, payment instruments,
                     coupons and other transaction
                     records
           myDevices device settings, capabilities
          myServices services provided for an
                     identity
       Hailstorm Revenue Model


 End-user    subscriptions


Developers   costs for tools and
             support

   Service   costs to obtain
 operators   certificate and the
             right to use services
                                              Net OS?

Is Hailstorm is the beginning of Microsoft’s Net OS?


   Issues
     Do you trust Microsoft?
     Authentication is the key – ticket used to bind
      services
     Private authentication system makes .NET closed and
      propriety
     Need for standards based authentication – SAML,
      XKMS..
     Security, liability and legal concerns
Some Quotes..
Honeywell Aircraft Landing Systems

―In the past two or three years,
we’ve invested heavily in building a
component-based architecture. With
Web services, we can now leverage
this investment by giving our trading
partners direct access to selected
business components through the
Internet.‖
   Dave Kulakowski, Development and Technology Manager
                         The Bekins Company

―It’s possible that in the long run, all
our business will be conducted
through Web services applications.
We’re certainly moving in that
direction. Web services will be the
glue that will connect our whole
business together.‖
   Randall Mowen
   Director of Data Management & e-business Architecture
                           Entrust Technologies


―We are transforming PKI (Public-Key
Infrastructure) technology to support a
services oriented architecture to enable
applications to invoke PKI functionality
through remote XML-based Web
services."

               Brian O’Higgins, Executive VP and CTO, Entrust
Technologies
Hewitt’s Total Benefit Administration System

 ―Currently, employees and clients access
 participant benefits data via Hewitt’s direct
 presentation channels. Increasingly, however,
 Hewitt has been receiving requests for direct
 access to participant data from 3rd-party service
 providers as well as clients developing HR self-
 service portals.

 In the past, Hewitt would have built custom
 proprietary connectivity solutions to address
 these requests. Now, with Web services, Hewitt
 Associates can build open non-proprietary
 solutions instead.‖

     Tim Hilgenberg, Chief Technology Strategist at Hewitt Associates
                                  Charles Schwab



―We believe Web services will be a big
step forward in what we can offer our
customers."

   Chalon Mullins,   technical director of infrastructure
                     strategy and architecture
Some Examples..
                                Dollar Rent-A-Car

   Create standard interfaces so business partners
    could tap into the company's car reservation
    system.
   Used SOAP to create an interface that lets
    Southwest Airlines' Unix system easily tap into
    Dollar's reservation system.
    "We designed the SOAP interface for
    Southwest, but we will use it for our Web site.
    Our Palm application already uses it, and we're
    building a Pocket PC application.‖
   ―It took us three days to build the prototype for
    the reservation system. It was amazingly simple,
    almost too good to be true."
                                         Bekins

   Need to optimize the loading of a truck
   Tradition method is to call / fax business
    partner to share capacity
   Working with IBM to expose services of
    partners as set of web services
   Result will be better truck utilization
    negotiated in a fraction of the time
    without manual intervention
News
                                              BowStreet
LYNNFIELD, MA, April 23, 2001 …

Bowstreet delivers the next breakthrough in web services:
packaged e-business solutions.

The Business Web Factory represents business processes –
including legacy applications – as web services and stores
them in a directory as reusable components.

IT people then design models of e-business solutions – for
example, a customer portal – by specifying and combining links
to these services.
                 Application Builder?

   Palette of
    web
    services
   Drop and
    Drag
   Connect            xform

   Apply
    xforms
   Generate
            eCommerce Stack.. So Far




Service Description         WSDL
     Registry                   UDDI
    Transport               SOAP
    Transport         HTTP MQ     FTP   SMTP
    Transport               TCP/IP
Going Up the Food Chain

 ???

UDDI

SOAP

 HTTP

TCP/IP
                               e-procurement at Dell
   A customer pulls product information from Dell's server into
    the customer's purchasing system, which creates an electronic
    requisition.

   After requisition is approved online, a computer-generated
    purchase order is sent back to Dell.

   The entire process can take 60 seconds and has cut errors
    from about 200 to tens (per million transactions).

   Dell has been able to shave $40 to $50 off the cost of
    processing each order.

   Dell hopes to get inventory down to 2 days – Compaq, Gateway
    IBM average 50 – 90 days
                                          http://www.ecompany.com/articles/mag/0,1640,12160|3,00.html
                       e-procurement at Dell
   Before: Litton, one month to get a PC
   Hooked into Dell’s e-procurement system
   After: 2 days after order is placed

   However, high costs associated which
    changing systems
   Major problem for Dell is getting customers
    to sign up
   Need a standard way for systems to
    interoperate
                               http://www.ecompany.com/articles/mag/0,1640,12160|3,00.html
                                          ebXML

   Joint initiative of the United Nations
    (UN/CEFACT) and OASIS
   Specs that enable a electronic business
    framework
   Enterprises of any size can meet and conduct
    business using XML based messages
   Building on existing EDI knowledge
   SOAP is the transport
   Over 30 companies participated in POC in May
                 ebXML: Technical Architecture

                             Business Process and          1.   Design & register process
                                                           2.   Implement & register
                              Information Model                 profile
                                                           3.   Negotiate agreement
                                                           4.   Conduct ebXML business
Industry Group
                              Registry / Repository


   Trading Partner Profile                            Trading Partner Profile
           (TPP)                                              (TPP)

                        Trading Partner Agreement
                                  (TPA)

                             Business Documents
        Trading Partner Agreement (TPA)

   A TPA is an electronic contract that uses XML to
    stipulate:
       general contract terms and conditions
       participant roles (such as buyers and sellers)
       communication and security protocols
       business processes (such as valid actions and sequencing
        rules)


   A TPA defines how trading partners will interact at
    the transport, document exchange, and business
    protocol layers.
                                        Transactions


   Transaction Authority Markup Language
    (XTMA)
       initiative backed by Bowstreet, IBM, HP, Oracle
        and Sun Microsystems



   Business Transaction Protocol (BTP)
        BEA -> OASIS Collaborate B2B integration
        platform
                          ebXML & UDDI

   Work underway to enable UDDI & ebXML
    registries to interoperate
      Web Services Flow Language (WSFL)


   WSFL is an XML language for the description
    of Web Services compositions

   Developed by IBM – submitted to W3C
                                                      eCommerce Stack

         Transactions                                    XAML1 / BTP2
         Negotiation                                  tpaML3
       Business Process                        ebXML Business Process
  Service Description                             WSDL                 ebXML pro
              Registry                            UDDI                 ebXML TPP
            Transport                                               SOAP
            Transport                          HTTP MQ                 FTP   SMTP
            Transport                                               TCP/IP
1XAML  - Transaction Authority Markup Language
2BTP - Business Transaction Protocol (OASIS ex BEA)
3tpaML - Trading Partner Agreement Markup Language (ebXML ex IBM)
                         xMethods
   A directory of
    publicly-available
    web services
    Hosting and
    deployment
    facilities for
    service developers
   Forums for
    discussion about
    available web
    services
   UDDI interfaces
    to repository
   SOAP
    Interoperability
    Testbed
xMethods
SunONE Architecture
               Some Impacts / Trends

   Reuse
   EDI
   Legacy Integration
   Application Construction
   Application Outsourcing
   Service Brokers
   WSUI
                                    Reuse


   Holy Grail is component reuse
   Web services provides reuse
    infrastructure and standards
   Language, platform independent
   Standard interface, registry and
    repository
   Accessibility: internet, intranet,
    extranet
                                           Reuse

   Web Services provide execution environment

   What about source or class reuse?
   ComponentSource 6500
   Many companies offering business components
       Oracle – BC4J (JDeveloper)
       IBM – BC ex SanFrancisco
       IBM - CommerceSuite
       BEA
       ATG
 Web service to Deliver JARs..
                                        EDI

Current model
 Restricted: point to point

 Expensive

 Inflexible

 Confined to Fortune 1000



Migrating towards
 Publish and Subscribe, flexible, cheap,
  extensible, any size user, ―EDI for the
  masses‖
                         Legacy Integration


 Use wrappers / adapters to expose
  selected interfaces
 Facilitates reuse -- major issue for many
  enterprises
                  Application Construction


Division of labor:
 Those who build components (web services)

 Those who assemble components
  (applications)
                               ws
                                         ws
Applications =
 Aggregation of web services
 + core competencies
                               ws

                                              ws
                                    ws
                 Application Outsourcing


   The use of external Web
    services, in effect, outsources all
    or part of an application
                                        Service Broker
   Web Services + B2B products = Services Broker

   eBusiness companies must consolidate their
    legacy and new applications together into a
    single eApplication.

   Services broker must be able to scale to handle
    complex applications.

   Companies such as IBM, BEA, SilverStream,
    WebMethods, Sybase, Iona, and Invertica are
    developing Service Brokers to provide a
    'complete' eBusiness.
                              Billy Newport
                              http://www.theserverside.com/resources/article.jsp?l=Service-Broker
                                        Service Broker

   Frst implementations of Service Brokers:

       Extricity
       Web Methods
       SilverStream Extend
       IBM B2Bi
       BEA Process Integrator/Collaborator



                              Billy Newport
                              http://www.theserverside.com/resources/article.jsp?l=Service-Broker
                     Service Broker Components
   A Business Process Manager (BPM) Component
       Workflow component that allows business processes to be defined.
       Acts as a coordinator for interactions between multiple applications.
       Applications and humans can be interfaced to this component.
       WSFL is candidate for defining business process definitions

   Middleware connectors
       Support a variety of input and output connectors.
       Connectors to include: RMI/IIOP, SOAP, JMS, CICS, IMS, any JCA
        supported EIS, or IIOP.
       Interfaces and middleware implementation of an interface exposed
        by a connector can be described using WSDL.

   Content-based Routing and Transformations for messages
       Message-based connector's will also support simple flows that allow
        content based routing and message
        translation/transformation/enrichment.

                                           Billy Newport
                                           http://www.theserverside.com/resources/article.jsp?l=Service-Broker
                    Service Broker Components
   Security Mapping
       Multiple applications and external applications will use
        different security schemes.
       Service broker needs to provide credential/role mapping and
        authorization across all involved components.

   Process State Management
       Aggregate applications may need to store the state about
        the process.

   Connector Discovery Mechanisms
       UDDI

   Transaction Monitor
       Required if transactions span multiple applications

                                        Billy Newport
                                        http://www.theserverside.com/resources/article.jsp?l=Service-Broker
                                    WSUI

   Web services aggregation

   Controlled by xml config file

   Layout complex portals
                          Issues

   Authentication
   Encryption
   Management
   Transactions
   Quality of service
   Payment
   Performance
   Event Notification
   Versioning
   SOAP up to the job?
                                        Adoption


   Initially within companies and between partners
     Trust
     Payment


   Moving to UDDI when trust and payment models
    are developed and gain acceptance
                             Opportunities

 Strategic consulting
 Help customers adjust to new WS based
  applications paradigm
 Write applications which leverage WS’s
 Help customers write WS’s
 Write WS’s
 Host WS’s
 WS repositories to facilitate reuse
                                          Gartner


―Will Web Services deliver? Yes.

Web Services are relatively low risk technology
that can be used to implement high risk
business strategies‖

                               David Smith, VP, Gartner
                                  Resources

   xml.apache.org
      open source XML tools from Apache
      Software Foundation
   www.w3.org
      World Wide Web Consortium site
   uddi.org
      Universal, Description, Distribution
      Integration consortium
   xmethods.com & xmltoday.com
      news on SOAP service
                                            Resources

   ibm.com.alphaworks
      site for free emerging tools and technologies from
      IBM
   ibm.com.developerworks
      "the" place to go for resources, communities and
      updates on Web Services and XML for developers
   IBM Dynamic e_business
      http://www4.ibm.com/software/solutions/
      webservices/resources.html
                                    Resources

   Microsoft/net
      Toolkits and documentation


   OASIS
       http://www.oasis-open.org/
Catch the next
       wave…..

jump on board!
Q&A

				
DOCUMENT INFO