Web Services - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

Web Services

Description:

by the massive changes. triggered by eBusiness. The promise of networked businesses will not ... Hard coded graphical presentation. Not easily discoverable ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 44
Provided by: noelwc
Category:
Tags: hard | massive | services | web

less

Transcript and Presenter's Notes

Title: Web Services


1
Web Services
Orlando Java Users Group March 27, 2002
Frank Hamilton fhamilton_at_silverstream.com
2
Barriers to eBusiness
  • Isolated business information systems
  • Diverse incompatible technologies
  • Business functions locked in multiple,
    disconnected systems
  • Within and across business boundaries
  • Drastically changing business relationships
  • Frequent reorganizations mergers
  • Emerging alternative channels
  • Constant new business partners
  • Inflexible business processes
  • Incompatible mix of systems, users and devices
  • Systems that cant keep up with business change

3
The eBusiness Paradox
  • eBusiness success is blocked by the massive
    changes triggered by eBusiness

The promise of networked businesses will not be
realized until we can rapidly and dynamically
interoperate
4
We Need Rapid Dynamic Interoperation
Need to interoperatewithin our enterprise
5
Whats Needed to Solve the Problem?
6
Web Services
  • Readily Shareable Business Functions

7
Web Services Defined
A Web service is an interface that describes a
collection of operations that are network
accessible through standardized XML messaging.
Web services promises to offer a standard API
that will let any organizations conduct eBusiness
transactions, regardless of their IT
infrastructure.
8
Roles in a Web Services Model
  • Service Producer
  • Expose specific technology components as services
  • Makes these services available for discovery
  • Provider of the service
  • Service Consumer
  • Discovers relevant services that satisfy
    requirements
  • Assembles and invokes services
  • Requestor of the service
  • Service Registry
  • Where Service Producers publish services
  • Where Service Consumers discover services
  • Searchable repository for services

9
Hype Meter is high
  • Web Services will
  • will change the world!

10
for many reasons
  • There is nothing magic
  • about Web Services

11
Why Web Services?
  • There is nothing magic about Web Services
  • Similar to CORBA/proxy/stub/IDL
  • Similar to EJB/home/remote/method Introspection
  • Similar to DCOM/
  • but
  • Widely accepted common registry (cross vendor,
    platform, industry)
  • Uses standards, human readable, easily
    transported
  • Operating System agnostic
  • provides consistent architecture
  • Whether the application has to be used inside or
    out side your enterprise
  • Whether the application is produced or consumed
    on different hardware
  • Or whether your/their developers are using their
  • development environments

12
Whats Wrong With How We Build Things Now
  • Code/process/function reuse obstacles
  • CORBA / EJBs / DCOM
  • Dont talk to each other
  • Different vendors different dialects
    (incompatible)
  • Data representation different
  • Hard coded business process
  • Hard to extend applications beyond are original
    scope
  • Hard coded graphical presentation
  • Not easily discoverable / usable
  • No common registry!!!

13
Web Services SOAP, WSDL, UDDI
Any SystemAny DeviceAny User
Any Information, Any Process
SOAPMessages
SOAPMessages
XML HTTP Standards SOAP
14
SOAP
  • Simple Object Access Protocol

15
SOAP HTTP XML Standards
  • SOAP Simple Object Access Protocol
  • HTTP
  • Transport protocol that is available to all
    hardware and software platforms today
  • XML
  • Data representation format that can be processed
    by any software language
  • Standards
  • Define an agreed upon way to encapsulate method
    calls and data representation

16
SOAP Message Embedded in HTTP Request
  • POST /StockQuote HTTP/1.1
  • Host www.stockquoteserver.com
  • Content-Type text/xml
  • charset"utf-8"
  • Content-Length nnnn
  • SOAPAction www.stockquoteserver.com/services/get
    quote.htm
  •  
  • ltSOAP-ENVEnvelope xmlnsSOAP-ENV"http//schemas.
    xmlsoap.org/soap/envelope/"
  • SOAP-ENVencodingStyle"http//schemas.xmlsoap.o
    rg/soap/encoding/"gt
  • ltSOAP-ENVBodygt
  • ltmGetLastTradePrice xmlnsm"www.stockquot
    eserver.com/services/getquote"gt
  • ltsymbolgtDISlt/symbolgt
  • lt/mGetLastTradePricegt
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

Envelope
Action
Body
Real Data
17
  • Universal Description
  • Discovery and Integration

18
Universal Description, Discovery and Integration
  • www.uddi.org
  • A sweeping initiative that creates a global,
    platform-independent, open framework to enable
    businesses to
  • discover each other,
  • define how they interact over the Internet, and
  • share information in a global registry that will
    more rapidly accelerate the global adoption of
    B2B eCommerce
  • SilverStream is a member
  • Created Hosted by Industry Giants
  • Microsoft and IBM
  • Public registries that are replicated
  • Holds four types of information
  • Business, service, binding, specifications

19
Spectrum of Usability
Discover Use Immediately
Human Interaction Required
  • Immediate Use
  • No Human Interaction Needed
  • Low Complexity
  • No Prior Business Relationship
  • Low Threshold of Trust
  • Example Currency Conversion
  • Use After Integration Effort
  • People Must Talk Discuss Semantic
  • High Complexity
  • Business Relationship Must be Established
  • High Threshold of Trust
  • Example Order Fulfillment Services
  • Some services will be totally self contained and
    do not require any prior knowledge or prior
    contact with the developer(s) / business people
  • Other services will require some type of
    communication or negotiation with the creator of
    the service to use the service

20
Conceptual Structure
businessEntity
businessService
1-M
bindingTemplate
1-M
tModel
1-1
21
tModels
  • UDDI specifies tModels to describe information
    about a service
  • Method Signatures
  • Taxonomies
  • Used for discovery of services
  • Parts of it overlaps WSDL

22
UDDI Registry Browse
23
  • Web Services Definition Language

24
WSDL Web Services Definition Language
  • Defines an XML grammar for describing network
    services as collections of communication
    endpoints capable of exchanging messages
  • Metadata for a Web Service
  • Allows you to describe methods and parameters for
    a web service and define the URIs for them. Also
    specifies protocols to be used
  • Think of it as IDL but written as XML

25
WSDL
service
port
1-M
binding
1-1
1-M
port types
operation
1-1
message
1-M
types
1-M
26
Types xSchema definition of data
Service
Port
Binding
lttypesgt ltschema targetNamespace"http//example.c
om/stockquote.xsd" xmlns"http//www.w3.org/2000
/10/XMLSchema"gt ltelement name"TradePriceRequest
"gt ltcomplexTypegt ltelement
name"tickerSymbol" type"string"/gt lt/complexTy
pegt lt/elementgt ltelement name"TradePrice"gt
ltcomplexTypegt ltelement name"price"
type"float"/gt lt/complexTypegt lt/elementgt lt/s
chemagt lt/typesgt
Port Types
Operations
Messages
Types
27
Messages meaningful collections of Types
Service
Port
Binding
Port Types
Operations
ltmessage name"GetLastTradePriceInput"gt ltpart
name"body" element"xsd1TradePriceRequest"/gt lt/m
essagegt ltmessage name"GetLastTradePriceOutput"gt
ltpart name"body" element"xsd1TradePrice"/gt lt/m
essagegt
Messages
Types
28
Operations available Methods
Service
Port
Binding
Port Types
Operations
ltoperation name"GetLastTradePrice"gt ltsoapoperat
ion soapAction"http//example.com/GetLastTrade
Price"/gt ltinputgt ltsoapbody use"literal"/gt lt/
inputgt ltoutputgt ltsoapbody use"literal"/gt lt/o
utputgt lt/operationgt
Messages
Types
29
Port Types XML in/out for specific methods
Maps Operations to Messages
Service
Port
Binding
ltportType name"StockQuotePortType"gt ltoperation
name"GetLastTradePrice"gt ltinput
message"tnsGetLastTradePriceInput"/gt ltoutput
message"tnsGetLastTradePriceOutput"/gt lt/operati
ongt lt/portTypegt
Port Types
Operations
Messages
Types
30
Binding Maps Protocols to Methods (Http, etc.)
Service
Port
ltbinding name"StockQuoteSoapBinding type"tnsS
tockQuotePortType"gt ltsoapbinding
style"document transport"http//schem
as.xmlsoap.org/soap/http"/gt ltoperation
name"GetLastTradePrice"gt ltsoapoperation
soapAction"http//example.com/GetLastTradePric
e"/gt ltinputgt ltsoapbody use"literal"/gt lt/i
nputgt ltoutputgt ltsoapbody use"literal"/gt lt
/outputgt lt/operationgt lt/bindinggt
Binding
Port Types
Operations
Messages
Types
31
Port Maps URLs to Methods
Service
ltport name"StockQuotePort" binding"tnsStockQuot
eBinding"gt ltsoapaddress location"http//example
.com/stockquote"/gt lt/portgt
Port
Binding
Port Types
Operations
Messages
Types
32
Service Packages ports bindings
Service
ltservice name"StockQuoteService"gt ltdocumentation
gtMy first servicelt/documentationgt ltport
name"StockQuotePort" binding"tnsStockQuoteB
inding"gt ltsoapaddress location"http
//example.com/stockquote"/gt lt/portgt lt/servicegt
Port
Binding
Port Types
Operations
Messages
Types
33
(No Transcript)
34
The Stages of Web Services Development
  • Create
  • Assemble
  • Consume
  • Deploy

35
A Manual Web Service
CreateEJB
Servlet
ClientObject
Receive XML from Client Parse XML to get Method
and Parameters Instantiate EJB Call Method with
Parameters Get Return Values Turn Return Values
into XML Wrap XML with SOAP XML Return XML to
Client
Take user input build XML Wrap in SOAP XML Make
HTTP Request to Server Wait for Response
XML Unpack SOAP XML Parse returned XML Use Data
Give URL and Specifications to your client
manually
36
Registering with UDDI
UDDI
Register URL
CreateEJB
Servlet
ClientObject
Client gets URL through RegistryGive
specifications to your client manually
37
Adding WSDL for Documentation
UDDI
Register URL
Define WSDL
CreateEJB
Servlet
ClientObject
Client Gets URL Specifications (WSDL)Writes
Client Object Manually
38
Creating Client Access Objects with WSDL
UDDI
Register URL
Define WSDL
Use WSDL Generation
CreateEJB
Servlet
ClientStub
Can generate a client stub from WSDL automatically
39
Using WSDL to Build Servlets
UDDI
Register URL
Define WSDL
Use WSDL Generation
CreateEJB
Servlet
ClientStub
Servlet can be generated from WSDL using a tool
40
Generating WSDL Automatically
UDDI
Register URL
Define WSDL
Use WSDL Generation
CreateEJB
Servlet
ClientStub
Use a Tool to Generate WSDL from existing
components
41
Using Tools to Manage UDDI Registrations
UDDI
Register URL
Define WSDL
Use WSDL Generation
CreateEJB
Servlet
ClientStub
Use a tool that simplifies UDDI Registration
42
21st Century Application Design
Opportunity
Reality
Content
Web Sites
RelationalDatabases
PackagedApplications
LegacyApplications
ERP
43
SilverStream eXtend - Integrated Services
Environment
44
The Demo
Write a Comment
User Comments (0)
About PowerShow.com