Upload
francis-porter
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Web Services: The Next Wave
Cian QuinlanSolution Architect /
Web Services EvangelistIntegrated Information Systems
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
Copy and Paste
Corporate Travel Office
HTML HTML
Application Centric
Car Rental Hotel Reservations
Corporate Travel Office
SOAP SOAP
Lightweight Application or Script
NO Bro
wser
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
SOAP
WSDL
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
Header• Authentication• Transaction management• Payment
Body• Method name• Parameters
Runs over HTTP, SMTP, MQ, etc
Can go thru firewalls if HTTP
SSL HTTP Request,
Response XML
UDDI Registry
UDDI Registry
Find
Web Services Host
Publish
Invoke(SOAP)
User application
UniversalDescriptionDiscovery Integration
UDDI Registry
UDDI Registry UDDI Registry
Find
Web Services Host
Publish
Invoke(SOAP)
ReplicateIBM, Microsoft, HP
User application
the w
orld
UDDI Registries - Scope
Internet, intranet, extranet Public, private Communities
community
extranet
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>
UDDI <businessList generic="1.0" operator=“International Business Machines Corporation" truncated="false" 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 operators
costs to obtain 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
BowStreetLYNNFIELD, 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 Apply
xforms Generate
xform
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 Information Model
Business Process and Information Model
Business DocumentsBusiness Documents
Trading Partner Profile (TPP)
Trading Partner Profile (TPP)
Trading Partner Agreement (TPA)
Trading Partner Agreement (TPA)
Registry / RepositoryIndustry Group
1. Design & register process2. Implement & register
profile3. Negotiate agreement4. Conduct ebXML business
Trading Partner Profile (TPP)
Trading Partner Profile (TPP)
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 Language2BTP - 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)
Applications = Aggregation of web services + core competencies
ws
wsws
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 Newporthttp://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 Newporthttp://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 Newporthttp://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 Newporthttp://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.orgopen source XML tools from Apache Software Foundation
www.w3.orgWorld Wide Web Consortium site
uddi.orgUniversal, Description, Distribution Integration consortium
xmethods.com & xmltoday.comnews on SOAP service
Resources
ibm.com.alphaworkssite 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_businesshttp://www4.ibm.com/software/solutions/webservices/resources.html
Resources
Microsoft/netToolkits and documentation
OASIS http://www.oasis-open.org/
Catch the next wave…..
jump on board!
Q & A