Title: BizTalk Document
1Databases the Internet - 2000
E-COMMERCE
using
By Pablo Galiana
2The Big Business
- B2B e-commerce transactions will explode to 3
trillion by 2004. - The lion's share will be in essential goods,
services, and merchandise. - Cross-industry transactions -- sometimes called
e-procurement -- for things like office supplies,
computers, and travel services will increase
dramatically.
3Capabilities Overview
- cXML allows buyers, suppliers, aggregators, and
intermediaries to communicate using a single,
standard, open language. - cXML provides access to products and services,
because it is a well-defined, robust language
designed specifically for B2B e-commerce. - cXML transactions consist of documents, which are
simple text files with well defined format and
contents. - Main cXML concepts
- Catalogs
- Punchout
- Purchase orders
4Catalogs
- Catalogs are files that convey product and
service content to buying organizations.
- Catalogs describe
- products, services and their prices
- Suppliers create catalogs so that organizations
that use procurement applications can see their
product and service offerings and buy from them.
- Procurement applications read the catalogs and
store them internally in their databases.
5Punchout
- Punchout sites are live, interactive catalogs
running on the supplier Website.
- Procurement applications display a button
instead of product or pricing details.
- When users click this button, their Web browsers
display pages from the local Website.
- When users are done selecting items, they click
a button that returns the order information to
the procurement application.
- Procurement applications communicate with the
supplier over the Internet by using cXML.
- The supplier sends the item descriptions and the
fully configured products and their prices appear
within users purchase requisitions.
See PunchOutIndexCatalog.xml
6Purchase Orders
Buying organizations send purchase orders to
suppliers to request fulfillment of a contract.
Order
7Types of Applications that Use cXML
- Procurement Applications
- Enterprise applications that are hosted by large
organizations for use by their employees over an
intranet. - They use cXML for external transactions.
- These applications allow communities of users to
buy products and services from vendors. - Requested purchases are first approved by
managers in the communities, and approved
purchase orders are transmitted to suppliers. - Commerce Network Platforms
- Web-based services for connecting buyers and
suppliers. - These Web services provide features such as
catalog validation and file management, catalog
publishing and subscription, automated purchase
order routing, and purchase order history. - Communication between these Web services, buyer
applications, and supplier applications can occur
entirely through cXML over the Internet.
8Types of Applications that Use cXML (contd.)
- Punchout Catalogs
- Interactive catalogs, available at supplier
Websites. - Punchout catalogs are Web server applications,
written in a programming language such as ASP
(Active Server Pages), JavaScript, or CGI, that
manage buyers punchout sessions. - They accept punchout requests from procurement
applications, identify the buying organization,
and display the appropriate information in HTML
format. - At the end of the punchout session, the punchout
site sends descriptions of the users selections,
in cXML format, to the procurement applications. - Order-Receiving Systems
- Applications at supplier sites that accept and
process purchase orders sent by buying
organizations.
9Validation Against DTDs
- Because cXML is an XML language, a set of
Document Type Definitions (DTDs) thoroughly
defines it. - These DTDs are text files that describe the
precise syntax and order of cXML elements. - DTDs enable applications to validate the cXML
they read or write. - cXML applications are not required to validate
cXML documents, although it is recommended. - Performing Validation
- Applications can use DTDs to validate all
incoming and outgoing cXML documents. - XML validation applications are available on the
Web. - If errors are detected, appropriate error code
could be sent to the sender. - For best performance, cXML clients should look at
the cXML version in the document headers and
retrieve DTDs that have not already been stored
locally.
See PunchOutIndexCatalogFail.xml
10Punchout Event Sequence
1. User log in to a procurement application and
open new purchase requisitions. They find desired
items by searching their local catalogs by
commodity, supplier, or product description.
When they select a punchout item, the procurement
application sends a cXML PunchOutSetupRequest
document to a network e-commerce hub.
2. Acting as the trusted third party, the hub
accepts the request, verifies the buying
organization, and
3. The hub passes the request to the suppliers
Website.
4. After the suppliers Website receives a
request, it sends back a PunchOutSetupResponse
containing a URL that tells the procurement
application where to go to initiate a browsing
session on your Website.
5. The procurement application opens a new
browser window, which displays a session logged
into an account on suppliers Website. This
account can be specific to a region, a company, a
department, or a user.
11 Punchout Event Sequence
Steps 1 2 Punchout Request
Procurement Application
User
Supplier
2. Authentication
12E-commerce Hub
- 1. The hub receives the PunchOutSetupRequest
document from the user. - 2. The hub verifies the buyers ID (From and
Shared Secret) with that buyers e-commerce
account. It also identifies the requested
supplier (To). - 3. The hub looks up the user shared secret from
its account and inserts it (Shared Secret) into
the Sender element. - 4. The hub finds the URL of the punchout Website
in the supplier account and sends
PunchOutSetupRequest document to it. - 5. It is possible to use the Contact and
extrinsic data in the body of the request to
uniquely identify the user (for example, Iosi
Beilin in Finance at falafel.com).
See PunchOutSetupRequest.xml
13Structure of a cXML Request document
- ltcXMLgt
- ltHeadergt
- ltFromgt
- From information here...
- lt/Fromgt
- ltTogt
- To information here...
- lt/Togt
- ltSendergt
- Sender information here...
- lt/Sendergt
- lt/Headergt
- ltRequestgt
- Request information here
- lt/Requestgt
- lt/cXMLgt
14Supplier WebSite
- 1. The supplier Website receives the cXML
document and knows that it is authenticated
because it contains the shared secret. - 2. The Website uses information in the From
element to identify the requester at the company
level (for example, falafel.com). - 3. The Website sends a PunchOutSetupResponse.
- The PunchOutSetupResponse document serves two
functions - It indicates whether the PunchOutSetupRequest was
successful. - It provides the procurement application with a
redirect URL to the Start Page.
See PunchOutSetupResponse.xml
15Structure of a cXML Response document
- ltcXMLgt
- ltResponsegt
- Response information here
- lt/Responsegt
- lt/cXMLgt
16Punchout Event Sequence (contd.)
Step 3 Product Selection
- Users select items from the inventory using all
the features and services provided by the
suppliers Website
- Features might include
- Configurator tools for building customized
products - Search engines for finding products from large
catalogs. - Views of normalized data for comparing products
based on price, features, or availability. - Real-time pricing, inventory, and availability
checking. - Automatic tax and shipping calculations.
17 Punchout Event Sequence (contd.)
1. The suppliers Website calculates the total
cost of the users selections, including tax,
shipping, and customer-specific discounts. When
user click Check Out button the supplier sends
the cXML PunchOutOrderMessage (with the contents
of the shopping cart) to the Procurement
Application.
2. If users need to edit any of the items in a
purchase requisition, you can re-punchout to
the suppliers Website. The procurement
application sends back the contents of the
original shopping cart to the supplier Website
and users make any changes there.
3. Upon check out, the Website returns the items
to the purchase requisition.
18 Punchout Event Sequence (contd.)
Step 4 Check Out
Procurement Application
3. PunchOutOrderMessage
Supplier
See PunchOutOrderMessage.xml
and EditRequest.xml
19 Punchout Event Sequence (contd.)
Step 5 Transmittal of Purchase Order
Procurement Application
1. When request is fully approved, an
OrderRequest document is sent to supplier through
e-commerce network hub.
2. The Supplier WebSite respond with an
OrderResponse document, that acknowledges the
reception of the purchase order and that it
parses correctly.
Supplier
See OrderRequest.xml
and OrderResponse.xml
20Structure of a cXML OrderRequest element
- ltOrderRequestgt
- lt OrderRequestHeadergt
- ltTotalgt Total of the order lt/Totalgt
- ltShipTogt Ship to information lt/ShipTogt
- ltBillTogt Bill to information lt/BillTogt
- ltShippinggt Shipping information lt/Shippinggt
- ltTaxgt Tax information lt/Taxgt
- ltPaymentgt Payment information lt/Paymentgt
- ltContactgt Contact information lt/Contactgt
- ltCommentsgt Comments lt/Commentsgt
- ltFollowupgt lt/Followupgt
- lt/OrderRequestHeadergt
- ltItemOutgt
- ltItemIdgt lt/ItemIdgt
- ltItemDetailgt lt/ItemDetailgt
- Other Item information...
- lt/ItemOutgt
- lt/OrderRequest gt
21Structure of a cXML OrderResponse document
- ltcXML
- version"1.1.007"
- payloadID"9949494"
- xmllang"en-US"
- timestamp"1999-03-12T183909-0800"gt
- ltResponsegt
- ltStatus code"200" text"OK"/gt
- lt/Responsegt
- lt/cXMLgt
22Useful Links
www.cxml.org
cXML Home Page
Microsoft Corporation
www.microsoft.com
Ariba Inc.
www.ariba.com
International Organization for Standardization
www.iso.ch
WorldWide Web Consortium
www.w3.org
23The End