Contents
Overview 1
Lesson: Introduction to XML Web Services 2
Lesson: Applying XML Web Services to
Order Processing 10
Lesson: Providing XML Web Services to
Trading Partners 16
Review 22
Lab A: Integrating XML Web Services 24
Module 8: Integrating
XML Web Services in a
B2B Solution Information in this document, including URL and other Internet Web site references, is subject to
change without notice. Unless otherwise noted, the example companies, organizations, products,
domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious,
and no association with any real company, organization, product, domain name, e-mail address,
logo, person, place or event is intended or should be inferred. Complying with all applicable
copyright laws is the responsibility of the user. Without limiting the rights under copyright, no
part of this document may be reproduced, stored in or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
Decide whether and how to make their own XML Web services available to
trading partners.
To teach this module, you need Microsoft
®
PowerPoint
®
file 2420A_08.ppt.
To prepare for this module:
!
Read all of the materials for this module.
!
Perform the instructor demonstration.
!
Review Course 2524A, Developing XML Web Services.
!
Download and become familiar with the Simple Object Access Protocol
(SOAP) Toolkit, located at
The information in this section provides setup instructions that are required to
prepare the instructor computer for the hands-on practice.
!
To prepare for the demonstration
• Ensure that the instructor computer can connect to the Internet.
Presentation:
45 minutes
Lab:
45 minutes
Web services in almost any part of their business systems.
The following information is specific to individual pages in this lesson.
Check the Microsoft BizTalk
™
Server 2000 Web site at
for white paper updates about the use of
XML Web services with BizTalk Server in order processing.
Although you can call an XML Web service from a Microsoft Commerce
Server 2000 pipeline, emphasize that students should do so only under very
specific conditions, which are mentioned on this page.
Lesson: Providing XML Web Services to Trading Partners
Students may want to create their own XML Web services and make them
available to their trading partners. This lesson discusses the design
considerations for doing so, along with a business justification for creating
XML Web Services and infrastructure requirements for making them available.
Elements of an XML
Web Service Document
Demonstration: Using
an XML Web Service
How BizTalk Server Can
Call XML Web Services
Considerations for
Integrating XML Web
Services with Commerce
Server
Module 8: Integrating XML Web Services in a B2B Solution v The following information is specific to individual pages in this lesson.
Unless time permits, avoid an in-depth discussion about high availability and
Customization Information
This section identifies the lab setup requirements for a module and the
configuration changes that occur on student computers during the labs. This
information is provided to assist you in replicating or customizing Microsoft
Official Curriculum (MOC) courseware.
This module contains a single paper-based design lab. There are no hands-on
labs in this module, and as a result, there are no lab setup requirements or
configuration changes that affect replication or customization.
Module 8: Integrating XML Web Services in a B2B Solution 1 Overview
! Introduction to XML Web Services
! Applying XML Web Services to Order Processing
! Providing XML Web Services to Trading Partners
Supplier
Supplier
Business
Logic
Business
Logic
Other
Business
Systems
Other
Business
Systems
CRM
CRM
ERP
!
Decide whether and how to make your own XML Web services available to
your trading partners.
Introduction
Objectives
2 Module 8: Integrating XML Web Services in a B2B Solution Lesson: Introduction to XML Web Services
! Challenges to Integrating Applications
! What Are XML Web Services?
! How XML Web Services Can Work in a B2B Solution
! Elements of an XML Web Service Document
! Reasons to Use XML Web Services in a B2B Solution
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
XML Web services enable trading partners to solve many of the challenges of
integrating applications and enable your business systems to take advantage of
services that other organizations provide.
After completing this lesson, you will be able to:
!
Explain the difficulties of integrating applications.
!
Describe XML Web services.
!
Tax: ???
Total: ???
Internet
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
For trading partners to integrate their business applications, the applications
must be able to communicate freely with each other, which can be difficult. In
the example shown in the slide, a supplier that uses an order processing
application receives a purchase order, but wants to obtain tax calculations over
the Internet from another application.
Several major challenges exist when you exchange information externally. The
operating system or programming language of the order processing application
may be incompatible with the service that provides the data. For example, if the
order processing application uses Component Object Model (COM)
architecture, but the tax calculation application was developed on a different
platform, a third middleware application is necessary to enable the two
applications to communicate. Middleware applications are often expensive and
require significant programming knowledge to implement.
Most corporate firewalls prohibit Remote Procedure Call (RPC) traffic because
of its inherent security risks. Even if both applications in the previous example
use COM architecture, for example, RPC traffic would still occur each time the
order processing client requests information from the tax application server.
The corporate firewall, however, would block the RPC calls.
Most locally stored components require continual monitoring for updates. To
eliminate the need for RPC traffic, the tax company in the previous example
can supply the necessary COM or COM+ components to suppliers, which
ILLEGAL FOR NON
-
TRAINER USE
******************************
XML Web services are XML-based units of application logic that provide data
and services to other applications. XML Web services enable applications to
communicate over the Internet regardless of operating system or programming
language.
An XML Web service is programmable application logic that applications can
access by using standard Internet protocols. XML Web services are defined by
public standards organizations, such as the World Wide Web Consortium
(W3C).
XML Web services combine the best aspects of component-based development
and the Internet. Developers can create XML Web services without knowing
how other applications will implement them. Applications call XML Web
services by using common Web protocols and data formats, such as Hypertext
Transfer Protocol (HTTP) and XML.
XML Web services enable applications to make RPC-like calls over the Internet
and to share data. The calls can occur regardless of the operating system that
hosts the XML Web service or the programming language that was used to
create the XML Web service. By using XML Web services to share data,
different applications can be independent of each other, yet still work together
to perform a particular task.
Introduction
Definition
XML Web services
enable seamless
communication
Module 8: Integrating XML Web Services in a B2B Solution 5
1
3
3
3
3
3
3
1
1
1
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
Order processing is one of the most likely scenarios in which you integrate
XML Web services in a B2B integration solution.
The preceding slide shows how XML Web services can function in an order
processing scenario. The order processing application receives a purchase order
(PO) for goods that totals $500. Before the supplier generates an invoice, the
order processing application adds any applicable tax and the appropriate
shipping charges.
To complete an XML Web service transaction in this example:
1. The application makes calls to XML Web services. The order processing
application invokes the tax and shipping XML Web services that your
organization integrated in its order processing application. The order
processing application prepares requests and transmits them by using HTTP
to the XML Web services that the tax and shipping companies provided.
2. The XML Web services execute. The XML Web service at each company
<State>WA</State>
</GetTax>
</soap:Body>
</soap:Envelope>
POST /SalesTax.asmx
HTTP/1.1 Host .…
<?xml version="1.0“ ?>
<soap:Envelope …>
<soap:Body>
<GetTax>
<Sub>52.34</Sub>
<State>WA</State>
</GetTax>
</soap:Body>
</soap:Envelope>
Data request
to an XML
Web service
Data request
to an XML
Web service
HTTP/1.1 200 OK.…
<?xml version="1.0“ ?>
<soap:Envelope …>
<soap:Body>
<GetTaxResponse>
<Tax>4.34</Tax>
/GetTaxResponse>
</soap:Body>
</soap:Envelope>
they can use any transport protocol.
SOAP is a lightweight protocol that is used to exchange XML messages. The
SOAP specification defines a set of rules for how you can use XML to
represent data. XML Web services use a SOAP wrapper to enclose the XML.
By wrapping all calls to and responses from XML Web services, SOAP enables
XML Web services to be independent of an operating system or programming
language. Other parts of the SOAP specification define an extensible message
format, conventions for representing RPCs that use the SOAP message format,
and bindings to the HTTP protocol.
The SOAP wrapper contains the request that the XML Web service client sends
to the XML Web service. The request describes the method, or operation, of the
XML Web service that the request invokes, and all arguments that the invoking
application passes to the XML Web service. The response instructs the
application that called the XML Web service to process the information that the
XML Web service returns.
For more information about HTTP and SOAP, see the World Wide Web
Consortium Web site at .
Introduction
HTTP header
SOAP wrapper
XML Web service
request and response
Note
Module 8: Integrating XML Web Services in a B2B Solution 7 Reasons to Use XML Web Services in a B2B Solution
Benefits
You can use XML Web services to enhance your current business processes
and to create new ones. XML Web services can offer the following benefits to
your business processes:
!
Dynamic data upon request. XML Web services can access dynamic, or
changing, data from other sources, including other organizations. For
example, an XML Web service can provide you with a tax rate based on a
price that you supply and can also gather the latest currency exchange rates.
!
Access to data anywhere, on any platform. Because XML Web services are
independent of operating systems and programming languages, and they are
designed to be distributed, the data that an XML Web service calls can
reside anywhere, on any platform. For example, an XML Web service can
retrieve the latest shipping costs from several freight lines, and then a
locally installed component that you provide can select the freight line that
offers the lowest cost, regardless of the platform that the freight line uses.
!
Integration of business applications. XML Web services are ideally suited
for using with internal business applications because you can integrate them
easily with dissimilar platforms and programming languages. For example,
you can create an XML Web service that calls information from your
Enterprise Resource Planning (ERP) system and sends it to your Microsoft
®
Commerce Server 2000 and Microsoft SQL Server
™
2000 order
management system.
Introduction
Demonstration: Using an XML Web Service
1. Open the UDDI Web site at
2. Search for XML Web services offered by
Microsoft
3. Demonstrate the Best Bets service
1. Open the UDDI Web site at
2. Search for XML Web services offered by
Microsoft
3. Demonstrate the Best Bets service
Demonstration Steps
Demonstration Steps
Demonstration Steps
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
In this demonstration, the instructor will show an example of a simple XML
Web service. Using the Universal Description, Discovery and Integration
(UDDI) Business Registry, you can gain access to an XML Web service that
Microsoft provides. This XML Web service offers you an easy way to find
information about a particular Microsoft product or technology on the
Microsoft Web site. In this case, you will see several hyperlinks on the
Microsoft Web site where you are most likely to locate information about
Microsoft BizTalk
Considerations for Integrating XML Web Services with
Commerce Server
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
In a B2B integration scenario, the order processing workflow is the most likely
place for you to use an XML Web service because it can expedite your
processing, offer extra information, and provide other value-added services that
benefit your trading partners.
Before you use an XML Web service, carefully study the costs and benefits of
the service. You can use UDDI, a free online service, to discover XML Web
services that third parties offer. If you decide to use the service, you must
integrate the service with your order processing workflow. Both BizTalk Server
and Commerce Server can accommodate XML Web services in their order
processing workflows. Evaluate the capabilities of both applications to choose
the most appropriate one for your business and technical requirements.
After completing this lesson, you will be able to:
!
Balance the considerations for selecting an XML Web service.
!
Locate XML Web service information by using UDDI.
!
Choose between BizTalk Server and Commerce Server for integrating XML
Web services.
Introduction
Lesson ob
" The performance of the XML Web service
" The security requirements of data sent and received
by the XML Web service
" The reliability of the XML Web service and your
organization’s Internet connection
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
Before you decide on an XML Web service that suits your requirements,
consider several business and technical aspects of the service and its provider.
Business considerations include:
!
Value proposition. Examine the importance of the business problem that the
XML Web service solves and the value that it provides. Clear benefits can
include: Reduce costs that are associated with order processing, improve
services for trading partners, and gain an advantage over competitors.
!
How processes will change. How you implement XML Web services will
change your business and technical processes. The cost of change can be
considerable, especially if you replace a business process, COM component,
or application. Often, dependencies on an existing process are not apparent.
For example, your organization may rely on an individual who, unknown to
anyone else, manually corrects orders before she enters them in your
system. If you automate this process, any errors would be directly passed to
the XML Web service and result in misdirected orders.
!
Usage fees. The service provider can charge usage fees for the XML Web
For more information about securing XML Web services by using SOAP
extensions, see Course 2524A, Developing XML Web Services. For more information about securing XML Web services by using SSL,
see Q307267: How to Secure XML Web Services with SSL at !
Reliability. Because you integrate an XML Web service in your own
business process, the reliability of the service can directly affect the service
that you provide to your trading partners. Ensure that the XML Web service
provider can guarantee an acceptable level of reliability. Also ensure that
your own organization’s Internet connection is reliable.
Technical
considerations
Note
Note
Module 8: Integrating XML Web Services in a B2B Solution 13 How to Use UDDI to Locate XML Web Service Information
Tasks
Tasks
Tasks
Use a Web browser or programmatic tools to
search UDDI for XML Web services offered by
with the UDDI software development kit (SDK) to search the UDDI registry for
XML Web services and integration information.
As more organizations use UDDI, business applications, such as ERP systems,
will likely include the capability to search UDDI for XML Web services as a
built-in feature.
After you locate an XML Web service, determine what it provides and how to
integrate it in your existing business systems or workflow. You can examine the
tModel for integration information, such as the Web Services Discovery
Language (WSDL). The WSDL describes the services that the XML Web
service offers and how the XML Web service client calls the service.
For more information about UDDI, see the UDDI Web site at
.
Introduction
Searching UDDI by
usin
g
a Web browser
Searching UDDI
programmatically
Researching integration
information
Note
14 Module 8: Integrating XML Web Services in a B2B Solution How BizTalk Server Can Call XML Web Services
BizTalk Orchestration Services can:
!
components. Although BizTalk Server 2000 does not have built-in functionality
to invoke XML Web services, you can build COM components that act as
SOAP clients to invoke XML Web services. The SOAP Toolkit provides a
wizard to create the Web service proxy component.
For more information about using the Web Service Proxy Wizard, see the
link about the wizard under Additional Reading on the Web page on the
Student Materials compact disc.
Introduction
Asynchronous
processing
Processing long-running
transactions
Using COM components
Note
Module 8: Integrating XML Web Services in a B2B Solution 15 Considerations for Integrating XML Web Services with Commerce
Server
!
Integrate XML Web services only if all three conditions
apply:
The order processing system
currently uses the Order
Processing pipeline in
Commerce Server
The XML Web service has a
low latency
recommended that you do so only if the following three conditions are met:
!
The order processing system uses the OPP in Commerce Server. If you
already use the OPP, you can integrate an XML Web service directly in a
pipeline component.
!
The XML Web service has a low latency. That is, the XML Web service
responds quickly. If the XML Web service has a high latency, it may
become a bottleneck in the OPP and prevent orders from being processed in
a timely manner.
!
The XML Web service is highly reliable. If the XML Web service does not
offer the level of reliability that your order processing system requires, it
may become a bottleneck in the OPP and cause order processing to slow or
stop.
Introduction
Commerce Server and
order processing
Conditions for use
16 Module 8: Integrating XML Web Services in a B2B Solution Lesson: Providing XML Web Services to Trading Partners
!
Reasons to Provide XML Web Services
!
Considerations for Hosting XML Web Services
!
How You Make XML Web Services Available
Reasons to Provide XML Web Services
Benefits
Benefits
Benefits
" Improve service to trading partners
" Improve service to trading partners
" Offer a new value-added business service
" Offer a new value-added business service
" Reduce customer service costs
" Reduce customer service costs
www.supplier.com
Tracking
Info
Customer Satisfaction
Customer Satisfaction
Customer Satisfaction
*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
Providing your own XML Web services offers a way to distinguish your
organization from your competitors and provide better service to your trading
partners.
Three important reasons to provide your own XML Web services include:
!
Improve or augment service to trading partners. You may find an
opportunity to improve a business system or replace a nonautomated
service. For example, you could process returned products by using an XML
XML Web services
Servers hosting
COM component
clusters
Internet
Trading
Partner
Trading
Trading
Partner
Partner
Load balance your systems
for increased availability
Load balance your systems
for increased availability
Scale out by
adding servers
Scale out by
adding servers
Add redundant Internet
infrastructure for reliability
Add redundant Internet
infrastructure for reliability
Secure the protocols
Secure the protocols
*****************************
ILLEGAL FOR NON
-
TRAINER USE
Securit
y
Reliability
Note
Module 8: Integrating XML Web Services in a B2B Solution 19 Scalability refers to the enlarging of a segment of your infrastructure. It reflects
the ease with which you can add new hardware and software to accommodate
increased demand. If you anticipate increased demand from trading partners for
your XML Web services, consider scaling your XML Web service
infrastructure. For example, if you plan to host an XML Web service that
requires four CPUs per server, install Microsoft Windows
®
2000 Advanced
Server, which permits up to eight CPUs per server, rather than installing
Windows 2000 Server, which is limited to four CPUs per server.
Availability refers to the ability of trading partners to always gain access to
your services, even during peak usage. Increased traffic and the processing
requirements of your XML Web services may also affect the availability of
your services. To ensure availability, consider using redundant or backup
connections in case your primary connection fails. Also ensure that your
network can accommodate increased traffic—for example, during busy or peak
seasons. You may want your XML Web service to make calls to a local COM
component. If so, use Application Center 2000 to perform component load
balancing.
For more information about building highly available Web solutions, see
Course 2088A, Designing a Highly Available Web Infrastructure.