Title: Guide to Web Services
1Guide to Web Services
- Part 1 What are Web Services?
2What is a Web Service?
- A Capability (Web Service)
- Accessed via Internet Protocols (Web Service)
- Using Open Standards
- Can be dynamically found and included in
application - Provides programmable access
- Enabling information to be queried, updated in
real-time - Improving efficiency, integrity, responsiveness
and accuracy
B2C
B2B
A web service provides programmable access to a
capability that can be used independently of its
implementation via a self-describing interface
based on open Internet standards
3Consumer and Provider Perspectives
How it does it
How to build it
What it does
Interface
Implementation
How to Use it
Where to find it
Where to host it
How to publish it
Consumer Perspective
Provider Perspective
4Examples Retailer to Customer
List Product Catalog
Notify Special Offers
Retailer E-Commerce System
Order with e-code
Deliver to applications running on variety of
devises
Query Order Status
Place bid on Auction
Notify Delivery
Notify Item Back in Stock
Deliver to application of another intermediaries
5Examples Retailer from Suppliers and Partners
Identify Customer
Manufacturer
Get latest product information
Retailer E-Commerce System
Personalisation Service
Retrieve Preferences
Check availability
Logistics
Find Best Price
3rd party price tracking
Customer
Schedule Delivery
Notify delivery status
Notification Service
Logistics
6Examples Microsoft Hailstorm
myAddress electronic and geographic address for
an identity myProfile name, nickname, special
dates, picture myContacts electronic
relationships/address book myLocation electronic
and geographical location and rendez-vous myNotifi
cations notification subscription, management and
routing myInbox inbox items like e-mail and voice
mail, including existing mail systems myCalendar t
ime 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 myUsage usage report for above services
7Where Do Components Fit in?
Services
Business Objects
Product Availability
Let me check if we have it in stock
Inventory Component
Reserve Stock
Product
Schedule Delivery
We can deliver it on Monday
Delivery Component
Delivery Status
Delivery
Create Order
Order
Order Component
Your order number is 2321344
Amend Order
Implementation
Interfaces
8Does it Matter How the Service is Implemented?
Business Objects
Services
Product Availability
Let me check if we have it in stock
ERP Component
Reserve Stock
Product
Schedule Delivery
We can deliver it on Monday
Delivery Status
Delivery
Create Order
Order
Your order number is 2321344
Amend Order
Implementation
Interfaces
9Does it Matter Where the Service is Located?
Product Availability
Reserve Stock
Schedule Delivery
Delivery Status
Create Order
Amend Order
10Who Provides the Services?
Customer Identification
Microsoft HailStorm
BankAuthenticator
Credit Authorization
Stock information
Logistics Company
Delivery scheduling
Sales Order Processing
ASP ERP
Telco
Billing
11Are ASP, Software as a Service, Web Service the
same?
View in Browser
Typical ASP Today
Download on Demand
Software as a Service
Access Service
Web Service
12Open Standards
Discover
UDDI Business Registry
Specification ConditionsNon-Functional
Connect
AddressOperationData
Describe Contract
Publish
SOAPSimple Object Access Protocol
WSDLWeb Services Description Language
UDDIUniversal Description, Discovery and
Integration
XMLeXtensible Markup Language
World-Wide Web Council (W3C) StandardsProposed
and supported byMicrosoft, IBM, Sun, Oracle, HP,
BEA, Ariba, etc
13SOAP Simple Object Access Protocol
- SOAP Envelope
- WHAT is in the message
- WHO should deal with it
- Whether Optional or Mandatory
- SOAP Encoding Rules
- Serialization mechanism used to exchange
instances of application defined datatypes
- SOAP RPC Representation
- Conventions to represent remote procedure calls
and responses
- SOAP Protocol Bindings
- Defines how the SOAP message is carried in HTTP
or other protocol(s)
14SOAP Hides the Implementation
Product Availability
SQL ODBC ADO etc
Listener
SOAP
Component
Reserve Stock
Web Server
Component Container
Database Server
Schedule Delivery
?
Listener
SOAP
Delivery Status
Web Server
Mainframe? ERP? Other Web Services? COM? CORBA?
EJB?
15What Does SOAP Look Like?
POST /NewsService HTTP/1.1 Host
www.cbdiforum.com Content-Type text/xml
charset"utf-8" Content-Length nnnn SOAPAction
http//www.cbdiforum.com/public/NewsService" ltSO
AP-ENVEnvelope xmlnsSOAP-ENV"http//schemas.x
mlsoap.org/soap/envelope/" SOAP-ENVencodingStyl
e"http//schemas.xmlsoap.org/soap/encoding/"gt
ltSOAP-ENVBodygt ltmGetNewsItem xmlnsm"
http//www.cbdiforum.com/"gt
ltitemgt593lt/itemgt lt/mGetNewsItemgt
lt/SOAP-ENVBodygt lt/SOAP-ENVEnvelopegt
The HTTP header
The SOAP envelope
The method being invoked
The data being passed
16WSDL Web Services Description Language
- XML-Based Protocol
- Enables a precise definition of the Web Service
to be described - Analogous to IDL (Interface Definition Language)
used for component interfaces
17UDDI Universal Description, Discovery and
Integration
- Provides a publication mechanism for Web Service
providers - Public Global Registry hosted by IBM, Microsoft
and HP - Administered by uddi.org
- 260 member organizations
- White Pages
- General information about provider
- Yellow Pages
- Categorization of products and services
- Green Pages
- Describe service, business process, commercial,
etc - Service Type
- Pointer to technical documentation for developer
to consumer service
Consumer
UDDI Business Registry
What is Available?
Publish - WSDL
Describe - WSDL
Provider
Service Type Registry
Technical Description
Developer
18ebXML Complex Business Web Services
- Administered by United Nations and OASIS
- Enables complex business relationships to be
defined - Has adopted SOAP for transport protocol
Source www.ebxml.org
19Web Service Stack Evolution
Business Process Orchestration
Other
Routing
Attachments
Message Sequencing
Security
Reliability
Service Configuration Capabilities
Service Description (WSDL)
XML Protocol Envelope and Extensibility (SOAP)
Directory (UDDI)
XML Schema
Syntax (XML)
Inspection
Description Stack
Discovery Stack
Wire Stack
Existing
In Process
Future
Source W3C Web Services Workshop (see notes)
20About the CBDi Forum
- 6000 subscribers world-wide
- Analytical and information exchange for
- technical and application architects
- strategists
- business analysts
- development managers
- project managers
- infrastructure analysts
- lead developers
- Best practice, practical experience, patterns,
news, commentary, analysis . . . - Major enterprises and software industry
- Free, Individual and Corporate Subscriptions
21About the CBDi Forum
Insight on Web Service and Component Based
Business
- What we do
- INTERACT Journal - Monthly
- Concept Reports
- Pattern Catalog
- Industry Directory
- News and Commentary
- Discussion Groups
- SIG Meetings
- Services - Workshops and Consulting
- Presentations
- Guest Papers
- Topics
- Application Integration
- Architecture
- Buying and Selling Components/Services
- .NET Application Strategies
- Business Design
- Component Concepts and Practices
- Legacy Rejuvenation
- Platforms Technologies
- Web Service Concepts and Practices
www.cbdiforum.com
22Guide to Web Services
23The Changing Shape of Business
Stovepipe Organization
Value Chains
Networked
Externalization
1980s and earlier
1980s-90s
Next Generation
Turn of the millennium
24Service Based Business
Credit
Design
Call Centre
Manufacturing
Logistics
Finance
25Consequences of Islands of Automation
Customer
26Enterprise Application Integration (EAI) Solution
Credit
E-Commerce System
Customer
Logistics
Manufacturing
Billing
Logistics
Logistics
27What About The Virtual Supply Chain?
Credit
- Visibility?
- Integrity?
- Efficiency?
E-Commerce System
Potential Customer
Logistics
email
Satisfied Customer
email
Manufacturing
Billing
Logistics
Logistics
28Transaction Explosion
Existing Systems
E-Commerce System
Supply Chain
Existing Channels
29Integration Challenge
- Legacy Systems
- Packaged Applications
- Different Technologies
- Unknown Implementation
- Lack of Standards
- Monolithic
- Message formats
?
?
?
30New Integration Requirements
- Accessed by Multiple Devices
- Anywhere, Anytime
- Connected by Networked Business Processes
- Automated Discovery
- Rapid Reconfigure
?
?
?
31Technology Landscape 2000
Business Process Automation Engine
Virtual Web-based Internet Application
App E
SOAP
App C
App D
App A
App B
Microsoft COM, DNA, .NET
J2EE Sun, IBM, BEA, etc
32Data Synchronization and Visibility Challenges
CRM
Replication
Order Processing
Messaging
Logistics Company
Credit Card Company
33Shared Components But What about Partners?
CRM
Name Address
COM
Order Processing
Messaging
Logistics Company
Credit Card Company
34Improved Visibility But Still Duplication
CRM
Name Address
COM
Order Processing
SOAP
Logistics Company
Credit Card Company
35Data migrates to point of ownership
CRM
Order Processing
SOAP
Name Address
Logistics Company
Your Personal information, stored somewhere on
the web
Credit Card Company
36Evolving Deployment Options
- High cost of in-house deployment
- Hardware investment
- Skills
- 24x7 Operations
- Client/Server didnt change the equation
- External Web Access
- Self service not automation
- Even more pressure on in-house deployment (e.g.
24x7) - Inadequacy of current ASP
- Inflexible
- Self service not automation
Organization Boundary
Mainframe
Client/Server
Web Access
37Turning Business Inside Out!
Organization Boundary
Satisfied Customer
38Isolated, Fragmented Personal Services
Identity Logon Address Location Profile Contacts P
references Credit Card Other data
Data Locked Into Applications and Devices
Identity Logon Address Location Profile Contacts P
references Credit Card Other data
Identity Logon Address Location Profile Contacts P
references Credit Card Other data
Identity Logon Address Location Profile Contacts P
references Credit Card Other data
Frustrated User
Similar, but Different, Data Duplicated Across
Retailers, Etc
39Common, Shared Personal Services
myContacts
myLocation
myProfile
myWallet
myAddress
myTravelagent - notifications - schedule -
documents
Satisfied User of Microsoft Hailstorm Services
myCompany - notifications - travel policies
- documents
myCreditcard - notifications -
authentication
mySupermarket - notifications/offers -
deliveries
40Time to Market, Skills and Resources
Today
Tomorrow
- Needs detailed knowledge of
- Business Process
- Interfaces
- Technology
- Highly dependent on
- Deep technical skills
- Intimate knowledge of available services
- Programming
- Physical deployment
- Assembly will be prime focus
- Assemble at run time from live components
- Using richer component model
- Self Describing, self discovering
- Configuration integrity
- Standardised Process and Services
- Very high levels of automation
41Guide to Web Services
- Part 3 Applying Web ServicesSome Basic Before
and After Scenarios
42Simple Information Services Before
- Issues
- Self Service
- Have to cut and paste result
- Need to repeat every time
43Simple Information Service - After
Date, Currency Symbol
Exchange Rate Service
Exchange Rate
- Benefit
- Simple to use
- Information delivered direct into application
- Is programmable
- Benefit
- Simple to deliver
44Simple Information Service - Challenges
- How does user know how to use it?
- Solution Use Smart Tag in OfficeXP
- Who pays for it?
- How are free services typically funded by
advertising model paid for? - Solutions
- Micro billing but difficult to implement at
present - Advert embedded in returned information but
depends on application - Subscription for heavy users
- As part of paid for business service
- Semantic Standards
- Is there a need for common standard across all
the information providers? - Implementation
- Very easy, just needs a
- SOAP Listener on web server
- SOAP wrapper around existing information
45Improving E-Commerce Basics Before
Need to supply to every site
NameAddressZipEmail
Issues - Need to build in-house CRM
Issues - Lack of integrity
But stock not checked with supplier
Order Accepted
OrderCost
Confirm
Issues - Perhaps loose customer focus Requires
Self service Each carrier different
Must visit carrier to track
Tracking Status
46Improving E-Commerce Basics After
- Benefit
- Low cost of implementation
- Reduced in-house IT resources
Add
CRM
Check
Single Identity
List
Web service based 3rd party Identification System
Hosted CRM provided as web services
Supplied to many on-line services
- Benefit
- Single sign on
- Consistent data provided
- Single place to maintain details
- Benefit
- Reduced fraud
- Customer friendly
- Data more likely to be accurate
47Improving E-Commerce Basics - Challenges
- Privacy and Security
- Concerns over large databases of personal
information - Still doesnt identify the actual human being
- Competing identity systems
- What is to benefit if customers and vendors have
to deal with multiple identify systems - Would be minimised if there were common semantic
standards, but looks doubtful so far - Implementation
- Some effort required by vendor, but simpler in
long term than building in-house solutions
48Improving E-Commerce Basics After
- Issue
- Inability of retailer to fulfil orders placed is
big source of complaints
Retailer shopping basked linked to supplier stock
control
Increased confidence in order
Check
Stock
Reserve
OrderCost
Could offer back-order
OrderProcessing
Order
Confirm
- Benefit
- Customer expectations set correctly
- Guaranteed fulfilment
- Supply chain integrity
- Real-time commitment
- Straight through processing
- Reduced stock holding for retailer
Suppliers stock control and order processing
available as web services
Order confirmation linked to supplier order
processing
49Improving E-Commerce Basics - Challenges
- Dependent on Suppliers, and/or 3rd party
warehousing to provide appropriate web services - Likely in competitive situation, but what is
incentive for sole supplier to invest? - Large suppliers will have existing EDI mechanisms
which will evolve to web services - Real-time behaviour not necessary for all product
categories or situations - E.g. No need for FMCG that are always in stock
- Perhaps activitated automatically when retailers
stock levels low - Semantic Standards
- Likely to come from EDI camp such as eBXML
- Implementation
- Considerable effort for supplier and retailer
mainly in aligning business process, agreeing
standards - Need to be able to deal with non-availability
50Improving E-Commerce Basics After
- Issue
- Inability to schedule delivery at time suitable
to consumer - Carrier is removed from customer
- Benefit
- Schedule delivery to customer preference
- Can notify customers of status
Schedule
Schedule Delivery
DateTime
3rd party notification web service
Logistics company web services
Notify
Check Status
Tracking
Tracking Status
- Benefit
- Live feed from Logistics company
- Retain customer focus
- Benefit
- Device, protocol independent
- Dont need to know customers location, preferences
51Improving E-Commerce Basics - Challenges
- Existing carrier might be unwilling to commit
- Cannot provide accurate scheduling, status
- Competitive advantage for those who can
- Parts already being done
- Though not necessarily using web service
protocols - Using plain XML, WAP, SMS, unified messaging
- And not independent of consumers device and
location - Semantic Standards
- You dont want all carriers using different
semantics though carriers might prefer to lock
you in - Implementation
- 3rd part web service based notification will be
available soon - Main effort is for carrier to provide the
services, consuming should be straight forward,
and simply past through to customer
52About the CBDi Forum
- 6000 subscribers world-wide
- Analytical and information exchange for
- technical and application architects
- strategists
- business analysts
- development managers
- project managers
- infrastructure analysts
- lead developers
- Best practice, practical experience, patterns,
news, commentary, analysis . . . - Major enterprises and software industry
- Free, Individual and Corporate Subscriptions
53About the CBDi Forum
Insight on Web Service and Component Based
Business
- What we do
- INTERACT Journal - Monthly
- Concept Reports
- Pattern Catalog
- Industry Directory
- News and Commentary
- Discussion Groups
- SIG Meetings
- Services - Workshops and Consulting
- Presentations
- Guest Papers
- Topics
- Application Integration
- Architecture
- Buying and Selling Components/Services
- .NET Application Strategies
- Business Design
- Component Concepts and Practices
- Legacy Rejuvenation
- Platforms Technologies
- Web Service Concepts and Practices
www.cbdiforum.com
54Guide to Web Services
- Part 4 Applying Web ServicesMore Complex Real
Life Scenarios
55Real Life Scenarios
- Logistics Marketplace Hub
- Pantechnik International ePIX
- Service Broker Roles
- Internet-based Digital Image Printing
- Fotowire
- Contrasts
56Logistics Marketplace - Before
Carrier
Carrier
Carrier
- Impact
- Lack of efficiency
- Lack of visibility
- Not dynamic
- Issues
- Multiple Proprietary Solutions
- Difficult to make automated decisions within
systems
Shipper
Buyer
Shipper
Buyer
Shipper
Buyer
57Logistics Marketplace With Hub
ExistingBusiness Systems e.g. Warehouse
Shipping Host Tracking, Billing
- Benefits
- Single solution
- Improved Visibility
- Automation
- Integration With Existing Systems
- Carrier Selection
Carrier
Carrier
Carrier
Connector
Connector
Connector
- Issues
- Still need to deploy client (connector)
- Technology dependency
XML
Pantechnik International ePIX
Connector
Shipper
XML
XML
Buyer
Connector
Shipper
Connector
ExistingBusiness Systems e.g. Order Management
ExistingBusiness Systems e.g. Receiving, On-line
Store
Shipper
Connector
Buyer
Connector
58Logistics Marketplace With Web Services
Carrier
Carrier
Carrier
- Benefits
- Subscription pricing
- Integration with other web services from partners
- Benefits
- No need to deploy client
- No technology dependency
SOAP
Pantechnik International ePIX
Shipper
SOAP
SOAP
Buyer
Shipper
Buyer
Shipper
Buyer
59Pantechnik International ePIX Architecture
Service Broker provides independence from
component implementation
Clients can continue to use Connector or use Web
Services
3rd Party Services
BusinessWeb Services
Pantechnik International Services
ServiceBroker
ExistingBusiness Systems
Direct
SOAP Messages
Via Connector
ManagementWeb Services
Shippers Carriers Buyers
Profile Registry
HTTP/S Encrypted XML can be digitally certified
Component Interfaces
60Typical Service Broker Roles
- Connecting Web Service to Implementation
- Validation of data (beyond simple typing)
- Access management
- Security, authentication, identity, etc
- Formatting, and protocol/data conversion (when
connecting to existing systems) - Error management
- State management (for complex and long
transactions)
61Fotowire Scenario
- Issues
- Need to deploy proprietary client
- Limited customisation of client
- Difficult to integration with other applications
and on-line photo-albums - Proprietary communications
Windows/Mac Client
FotowireServers
Image Courtesy of Agfa
Photo Labs Printer
Fotowires Business Customers
www.fotowire.com
On-line Photo Sharing
62Fotowire Web Services
- Technical Benefits
- No need for proprietary client
- No customisation constraints
- Standard protocol (web services)
Select Photo Lab
Select Printing Product
Provide customer info
Place Order
FotowireServers
Image Courtesy of Agfa
Upload Images
- Business Benefits
- Provide service to wider range of 3rd parties
- Business partners can implement own look and feel
63Fotowire Web Service Architecture
Storefront
StorefrontWeb Services
Storefront Server
Products
StoreFront Information Product Information
Customer
Client application must manage state using
temporary order session ID that is assigned
OrderWeb Services
Order Server
Orders
Customer Information Place Orders Add
Images Resume Orders
Image Servers
Images
64Some Contrasts
- Pantechnik International ePIX
- Single-step transaction
-
- Completely component-based implementation
- Already had XML-based service architecture
- Use of Service Broker
- Pay for use of web service
- Subscription model
- Fotowire
- Multi-step transaction
- Need to manage state
- Could take hours to complete needs recovery
mechanism - Only limited use of components
- Already had XML-based service architecture
- Web services mapped directly to implementation
- Pay for business service
- Price hidden in Printing cost
65Thanks
- Thanks to
- Pantechnik International
- http//www.pantechnik-intl.com
- Fotowire
- http//www.fotowire.com/home/
- For allowing us to use this case study material
- Why not tell us about your web services?
66About the CBDi Forum
- 6000 subscribers world-wide
- Analytical and information exchange for
- technical and application architects
- strategists
- business analysts
- development managers
- project managers
- infrastructure analysts
- lead developers
- Best practice, practical experience, patterns,
news, commentary, analysis . . . - Major enterprises and software industry
- Free, Individual and Corporate Subscriptions
67About the CBDi Forum
Insight on Web Service and Component Based
Business
- What we do
- INTERACT Journal - Monthly
- Concept Reports
- Pattern Catalog
- Industry Directory
- News and Commentary
- Discussion Groups
- SIG Meetings
- Services - Workshops and Consulting
- Presentations
- Guest Papers
- Topics
- Application Integration
- Architecture
- Buying and Selling Components/Services
- .NET Application Strategies
- Business Design
- Component Concepts and Practices
- Legacy Rejuvenation
- Platforms Technologies
- Web Service Concepts and Practices
www.cbdiforum.com