B2B Integration over the Internet with XML – RosettaNet
Successes and Challenges
Suresh Damodaran
Chief Technologist, RosettaNet
(On loan from Sterling Commerce)
1851 East First Street #1050, Santa Ana, CA, USA-92705
+1.714.480.3820
[email protected]
ABSTRACT
1.1.1 Private Process Automation
The practical experience of RosettaNet in using Web technologies
for B2B integration illustrates the transformative power of Web
technologies and also highlights challenges for the future. This
paper provides an overview of RosettaNet technical standards and
discusses the lessons learned from the standardization efforts, in
particular, what works and what doesn’t. This paper also
describes the effort to increase automation of B2B software
integration, and thereby to reduce cost.
Private process automation involves automating the trading
partners’ internal business processes, such as Enterprise Resource
Planning (ERP) systems. Trading partners integrate software
systems inside their enterprises in a myriad of ways. Because the
systems and techniques for private business processes develop
uniquely over time for each trading partner, RosettaNet has
determined that standardizing this component of automation is not
within its scope.
Categories and Subject Descriptors
I.7.2 [Document Preparation]: format and notation, markup
languages, languages and systems, standards.
1.1.2 Public Process Automation
The public process is the part of the business process that is
visible to both partners. Automating the public business process
involves automating the sending and receiving of business
documents between partners in a manner mutually agreed upon
and understood. Because the trading partners share the business
documents and business processes, standardizing the documents
and processes facilitates a common understanding of the syntax
and semantics of the business processes, which, in turn, facilitates
automating the business processes efficiently. The goal of
RosettaNet is to establish standards to automate public processes
and thereby make B2B transactions efficient and economical.
General Terms
Design, Standardization, Languages.
Keywords
B2B integration, XML, messaging services, business process,
PIP.
1. INTRODUCTION
RosettaNet, founded in 1998, is a non-profit consortium of more
than 400 of the world's leading Information Technology (IT),
Electronic Components (EC), Semiconductor Manufacturing
(SM), and Solution Provider (SP) companies working to create,
implement, and promote open e-business process standards.
RosettaNet is named after the Rosetta Stone, which is inscribed
with the same message in three languages that enabled scholars to
decipher Egyptian hieroglyphics. In a similar way, the mission of
RosettaNet is to establish a common language and standard
processes for business-to-business (B2B) transactions.
1.2 Partner Interface Process (PIP1)
RosettaNet developed the Partner Interface Process (PIP)
specification for public business processes between trading
partners (see Figure 1). The PIP standardizes public (business)
process automation by standardizing business documents, the
sequence of sending these documents, and the physical attributes
of the messages that define the quality of service. RosettaNet also
defines the messaging system used to send and receive these
documents. The business documents are delivered to business
services defined by each trading partner.
1.1 B2B Transaction Components
Figure 1 also shows that a PIP-based B2B transaction requires a
trading agreement in place between trading partners. In practice,
such an agreement is created prior to executing B2B transactions.
B2B transactions are a significant form of today’s commercial
activity. The businesses or parties involved in such transactions
are called trading partners. Business transactions have two major
components: private processes and public processes. Both of these
components may be automated.
Copyright is held by the author/owner(s).
WWW2004, May 17-22, 2004, New York, New York, USA.
ACM 1-58113-912-8/04/0005.
1
188
PIP is a registered trademark of RosettaNet.
Agreement
Business Transaction using PIPs
Private Process
Trading Partner B
Public Process
•
Sequence in which the messages are sent between roles
•
Quality of service attributes for the message exchanges
The use of XML to increase automation led RosettaNet to shift
from defining PIPs based on Document Type Definition (DTD) to
defining PIPs based on XML Schema [8]. The RosettaNet effort
to develop B2B integration standards uses XML to create
specifications, and the XML-based messages are transported over
the Internet.
Private Process
This paper compares the interchange structure of PIPs defined
using DTDs and PIPs defined using XML Schema, and explains
why RosettaNet has begun defining PIPs using XML Schema.
The paper concludes with an evaluation of the success of
RosettaNet and the challenges RosettaNet is currently facing in its
efforts to reduce the cost of automation and thereby increase the
rate of adoption of B2B integration using RosettaNet standards.
Figure 1. Public and private processes
A PIP is validated only after it is used in an actual
implementation between trading partners. Currently, more than 50
validated PIPs are available for the business areas described in the
honeycomb diagram (see Figure 2). RosettaNet divides the entire
supply chain domain into clusters and segments. Each PIP is
categorized according to the cluster and segment to which it
belongs. For example, PIP3A4 is the fourth PIP in Segment A of
Cluster 3 of the RosettaNet classification system.
2. PIP MESSAGE INTERCHANGE
STRUCTURE
A PIP message is used to interchange information between
trading partners. Therefore, the structure of a PIP message is
called the interchange structure. PIPs can be categorized
according to their interchange structure as either explicit or
dictionary-based. The explicit and dictionary-based interchange
structures were developed to meet the different needs of
RosettaNet user communities.
Demand
Creation
Design
Structure of the action messages
1.4 Purpose of Paper
Processing
Backend
ServiceInterface
ServiceInterface
Processing
Backend
Trading Partner A
•
Forecast
Order
2.1 Explicit Interchange Structure
Consider the following hypothetical PIP message fragment:
Payment
Manufacture
<PhoneNumber>10</PhoneNumber>
The syntax of PhoneNumber is specified in the XML Schema or
DTD corresponding to the PIP message, and can be validated with
the DTD or XML Schema, respectively. PIPs that use the explicit
approach to define the syntax of interchange structures are
referred to as explicit or fixed PIPs.
Logistics
Figure 2. Business process areas
For details on PIPs in the RosettaNet clusters and segments, and
to download PIPs for free, visit the RosettaNet Web site at
www.rosettanet.org.
2.2 Dictionary-Based Interchange Structure
The following representation illustrates another manner of
presenting the same PIP message fragment shown in section 2.1.
<property>
1.3 PIP Structure
<name>PhoneNumber</name>
A PIP for a public process defines exactly two roles for the
trading partners that participate in the business process. For
example, PIP3A4 [4], Request Purchase Order, defines the roles
buyer and seller. The business process is divided into one or more
business activities. In PIP3A4, Request Purchase Order, the
business activities are Request Purchase Order and Confirm
Purchase Order. The messages (business documents) exchanged
between the roles during the business activities are called action
messages. The Request Purchase Order business activity sends a
Purchase Order Request from the buyer to the seller. The seller
activates the Confirm Purchase Order business activity and sends
a Purchase Order Confirmation to the buyer, who acknowledges,
at the line level, if the purchase order is accepted, rejected, or
pending.
<value>10</value>
</property>
In this representation, PhoneNumber is the value of name, which
is a property specified as a <name,value> pair. The syntax of the
value of PhoneNumber can only be specified as the syntax of the
value element. If the property element is used to define many
<name,value> pairs, the syntax of the value element has the least
restrictive of the syntaxes of all the values of all the possible
different properties. Obviously, validating the value against such
a syntax does not serve any useful purpose.
Another modification to the message fragment references a
dictionary that stores the syntax and semantic constraints
corresponding to the PhoneNumber attribute of property, as
shown in the following sample:
The PIP specifications for a business process define the:
189
<property DictionaryReference=RND834-1-34>
available in the XML Schema of the explicit interchange
structure. Making the entire dictionary part of the interchange
structure is somewhat cumbersome from an implementation point
of view, and any change in the dictionary content requires
revising the schema of the interchange structure itself.
<value>10</value>
</property>
Note the absence of PhoneNumber in the message! Instead, the
DictionaryReference attribute of property points to the definition
of PhoneNumber in a dictionary. Only the value of PhoneNumber
is sent. PIPs that reference a dictionary for property values have
the dictionary-based interchange structure. Using a dictionary
permits referencing different properties in different PIP messages,
all of which can be validated with the same XML Schema.
However, a dictionary is necessary to resolve the dictionary
references during execution. Within RosettaNet, using a
dictionary to create and use PIPs is called the reflective approach;
however, in this paper, the approach is referred to as dictionarybased.
3. XML FOR AUTOMATION: FROM
MONOLITHIC TO MODULAR PIPS
RosettaNet has recently completed an important transition from
using DTD to define the structure of PIPs to using XML schema.
PIPs based on DTD, called monolithic, are specified using a
considerable amount of free-formatted text, tables, and diagrams
that are not machine interpretable. The XML Schema-based PIPs
are called modular because they are created with reusable
structures. Modular PIPs are specified with considerably more
machine-interpretable specifications than PIPs based on DTD.
This section examines this transition and the reasons for it.
The fundamental difference between the explicit and
dictionary-based methods of representing business documents is
the way the syntax of the XML message is specified. In the
explicit interchange structure, the syntax of all the elements of the
interchange structure is provided in the corresponding XML
Schema or DTD, whereas in the dictionary-based PIPs, the syntax
of some or all the elements is defined in an accompanying
dictionary.
3.1 Anatomy of a DTD-Based PIP
Until 2003, the normative specification format for PIPs was DTD,
which includes:
•
DTDs for action messages
2.3 Representing Code Lists in Explicit and
Dictionary-Based PIPs
A familiar and interesting case to consider is how code lists are
represented using these two approaches. Code lists define a long
list of codes for an element, for example a CountryCode, with
enumerated values such as US. These enumerated codes are called
entity instances. In explicit PIPs, the entity instances of a code list
are located in the schema associated with the XML message. In
dictionary-based PIPs, the entity instances are in the dictionary,
and the PIP message references them. When countries are added
or removed, the schema of the interchange structure does not
change in the dictionary-based PIP, only the dictionary changes.
In contrast, when the explicit approach is used to represent
interchange structure, the DTD or XML Schema of the
interchange structure must be changed to reflect changes in
country codes.
Message guidelines in HTML that describe additional details
and constraints that the DTDs for business documents cannot
describe
•
Business activities in the business process and sequence of
exchange of the action messages in a UML activity diagram
•
Quality of service attributes of the action and signal
messages
Most RosettaNet solutions currently implemented use PIPs based
on DTD. PIP3A4, the Request Purchase Order package[4],
illustrates such a design.
3.1.1 DTD
In PIP3A4, two interchange structures, Purchase Order Request,
and Purchase Order Confirmation, are sent between the buyer and
seller. Below is an excerpt from the DTD of the Purchase Order
Request document.
<!ELEMENT PurchaseOrder
(AccountDescription?,
comments?, ContractInformation*,
DocumentReference*, FinancingTerms*,
generalServicesAdministrationNumber?,
GlobalGovernmentPriorityRatingCode?,
GlobalPurchaseOrderFillPriorityCode?,
GlobalPurchaseOrderTypeCode+,
governmentContractIdentifier?, installAt?,
isDropShip, OrderShippingInformation?,
ProductLineItem+, proprietaryInformation?,
requestedEvent?, requestedShipFrom*,
SecondaryBuyer?, shipTo?,
TaxExemptStatus?, totalAmount?)>
2.4 Advantages and Disadvantages of the
Approaches
The approach used to create the explicit PIPs is also used to create
most DTDs and XML Schemas in use today. Therefore, this
approach is widely known. It works well when the types used in a
business document do not change much during the course of its
use. In contrast, the dictionary-based approach is used when the
types can change over the course of the use of a PIP specification.
Today, the dictionary-based approach is used within RosettaNet
for exchanging technical product (for example, fixed resistor)
information. The products change rapidly (for example,
components of a digital camera) due to technological advances.
Therefore, the types of these products are defined in the
RosettaNet Technical Dictionary (RNTD), which is defined by
the RosettaNet community.
However, it is worth noting that it is
equivalent explicit interchange structure
dictionary-based interchange structure.
interchange structure requires that the
•
3.1.2 Message Guidelines
The DTD for PIP3A4 is augmented with message guidelines
illustrated in the following excerpt from the Request Purchase
Order DTD. The message guidelines help map the XML message
corresponding to the DTD to the document formats and structures
used in the private process. The first column of Table1 lists the
line number, the second specifies the cardinality, and the third
possible to have an
corresponding to a
Such an explicit
entire dictionary is
190
buyer and a seller. Note that there are two additional messages in
Table 2: two instances of Receipt Acknowledgment, a signal
message corresponding to the action messages of Purchase Order
Request, and Purchase Order Confirmation.
lists the expanded elements. Vertical bars in the last column
indicate the hierarchy of the elements.
Table 1. Message guidelines
Card
Element
1
| |-- accountName.FreeFormText
17
0..1
| |-- AccountNumber
18
0..1
| |-- billTo.PartnerDescription
19
1
| | |-- BusinessDescription
Purchase Order Request
Action
20
0..1
| | | | businessName.FreeFormText
Receipt Acknowledgment
21
0..1
| | | |-- GlobalBusinessIdentifier
Purchase Order Confirmation
Action
Name
1.
The message guidelines also describe constraints on the message
fields that cannot be expressed in a DTD, as shown in the
following sample constraint on Payment Terms:
Receipt Acknowledgment
Is Secure Transport
Required?
16
Is Non-Repudiation
Required?
|-- AccountDescription
Is Authorization
Required?
PurchaseOrder
0..1
Included in Time to
Perform
1
15
Time to Respond to
Action
14
Time to Acknowledge
Acceptance Signal
Table 2. Message attributes
No
Time to Acknowledge
Receipt Signal
Line
2 hrs
N/A
24
hrs
Y
Y
Y
Y
N/A
N/A
N/A
Y
Y
Y
Y
2 hrs
N/A
N/A
Y
Y
Y
Y
N/A
N/A
N/A
N
Y
Y
Y
Action messages are acknowledged by positive or negative
signals. A Receipt-Acknowledgment signal acknowledges that a
message has been received and is syntactically validated, whereas
an exception signal indicates an error. Section 3.5 describes how
the content of Table 2 is specified in XML in the modular PIP
specifications.
PaymentTerms
Constraint: If PaymentTerms is used, then at least one occurrence of
netTermsDay.DayOfMonth or netTermsDays.CountableAmount is
required.
In XML Schema-based PIPs, the representation of many
constraints is possible in the schema itself, which obviates the
need for message guidelines, as described in Section 3.4.
3.2 Problems with the Monolithic Model
RosettaNet originally used a distributed approach to creating
PIPs. That is, different teams defined the business requirements
for each PIP, and each set of business requirements was given to
engineers or contractors who often handcrafted individual PIPs
without any effort to coordinate the work. This approach created
many problems:
3.1.3 Business Activities and Sequences
The exchange sequence of action messages for a specific PIP is
described in the specification guide for that PIP. Figure 3
illustrates the UML activity diagram for accomplishing Request
Purchase Order business activity for PIP3A4. The PIPs follow one
or more business transaction patterns, such as request-response or
notification. Depending on whether one or two action messages
exist in a PIP, a RosettaNet PIP can also be classified as a oneaction PIP or a two-action PIP. A request-response business
transaction pattern results in a two-action PIP, whereas a
notification business transaction pattern results in a one-action
PIP. The UML diagram is not machine-readable; therefore,
modular PIPs have an XML description of these activity
diagrams. See Section 3.5.
•
Inconsistencies in the naming, syntax, and semantics of the
elements used in the PIPs by implementers who interpret the
PIP specifications increase the effort and cost of
implementing the PIPs. RosettaNet now uses the RosettaNet
business dictionary to ensure consistency among PIPs.
•
Absence of reuse of XML types and element names across
multiple PIPs. RosettaNet is addressing this problem by
creating a set of commonly used types called Universal
Structures. To facilitate unique identification of the types
used in PIPs, namespaces are used.
•
Handcrafting of DTDs and other specifications introduces
human errors, and makes it difficult to create a consistent
syntax for PIP specification.
3.3 Improving PIP Specifications
Although PIPs based on DTD have automated implementing and
running RosettaNet solutions for B2B transactions considerably,
PIP specifications must have more machine-readable content to
further these improvements. As the discussion of the message
guidelines document in section 3.1.2 illustrates, monolithic PIPs
describe certain types of constraints in free-formatted text.
Therefore, humans must interpret these constraints and convert
them to software to implement the PIPs, which increases errors
and cost. Reducing or eliminating human intervention is crucial to
improving automation and reducing cost. To achieve this goal,
RosettaNet has begun using XML schema to specify interchange
structure, Schematron [7] to specify most constraints, and ebXML
Figure 3. Business document flows
3.1.4 Message Attributes
The attributes of messages sent between the trading partners are
also specified. These attributes are related to the quality of
service. Table 2 lists the attributes of an action message between a
191
BPSS specifications [2] to specify the activity diagrams and
attributes of messages, as demonstrated by the modular PIP.
<xs:attribute
name="schemaVersion"
type="xs::listOfVersions" fixed="1.0"/>
3.4 Modular PIPs
…
</xs:complexType>
PIP specifications based on XML Schema are called modular
because they are created using reusable structures. A modular PIP
is specified using the following components:
•
XML Schema-based PIP interchange
embedded machine-readable constraints
•
Message structure, that is, a spreadsheet of the interchange
structure (in the same format as the message guidelines for
monolithic PIPs)
•
Specifications of business activities and action message
exchange sequences in XML that conforms to ebXML
Business Process Specification Schema (BPSS)
•
Specifications of attributes of messages in XML that
conforms to ebXML Business Process Specification Schema
(BPSS)
structure
</xs:element>
Note the use of namespaces in the XML example describing
constraints. The use of namespaces allows precise identification
of the type of any element in a PIP message. Also, note the use of
version for types, using the attribute TypeVersion for the
complexType ProductTransferType. Versioning of types allows
evolution of types, and also can be a useful feature when message
fragments with values of a few elements are exchanged. The
attribute schemaVersion may be used to identify the versions of
the schema that the message fragments conform to.
with
3.4.2 XML Schema and Constraints
XML Schema is capable of representing many of the constraints
pertaining to single elements. In monolithic PIPs, representing
these constraints requires message guidelines. For example, the
constraint
3.4.1 XML Schema for Interchange Structure
“Only allowed value of
GlobalDocumentFunctionCode is "Request"”
The XML for a modular PIP is created from UML models using
software that requires almost no human intervention. The UML
models are created by PIP engineers. The UML models are drawn
according to the rules specified by RosettaNet to facilitate
automated translation of the UML models to XML. The models
for interchange structures are created according to the business
requirements defined in a RosettaNet milestone program. Using
an automated production line to create XML code that uses the
XML and UML guidelines reduces the errors that would result if
the XML code were created manually. The XML Schema for a
PIP is also created using a set of rules specified by RosettaNet.
The following excerpt from the XML Schema of PIP PIP4E1,
Sales Report Notification, illustrates how XML Schema differs
from the DTD representation.
is easily represented using XML Schema. However, XML
Schema does not allow expressing constraints that depend on
multiple elements, except in cases where hierarchical relations
can be used. For example, the following constraint cannot be
expressed in XML Schema:
“There must be at least one occurrence of
ProductLeadTime, unless isOnAllocation is
"yes", in which case ProductLeadTime is
optional.”
This type of constraint can be divided into simpler constraints as
shown below, and later specified using Schematron [7]:
If value of isOnAllocation is equal to No
then the occurrence of ProductLeadTime has
to be 1.
If value of isOnAllocation is equal to Yes
then the occurrence of ProductLeadTime has
to be 0..n.
<xs:element name="SalesReportNotification"
type="tns:SalesReportNotificationType"/>
<xs:complexType name="ProductTransferType">
<xs:annotation>
<xs:appinfo>
<urss:Definition>This object describes a POS
(point of sale) information for known/unknown end
user(s).</urss:Definition>
<urss:Context/>
Although XML Schema and Schematron can represent many
types of constraints, some constraints must still be specified in
free-form text because of current limitations of the RosettaNet
Integration Architecture. For example, when the value or
cardinality of an element depends on the existence or value of a
document extraneous to the current document, this type constraint
must be specified in free-form text, as shown here:
<urss:CreationDate>08/01/2004</urss:CreationDate>
<urss:Keyword/>
<urss:LastUpdatedDate>08/01/2004</urss:LastUpdatedDate>
<urss:TypeVersion>1.0</urss:TypeVersion>
</xs:appinfo>
<xs:documentation>
<urss:Purpose/>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="dsspt:ParticipatingPartner"
minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="SalesReportLineItem"
type="tns:SalesReportLineItemType"
maxOccurs="unbounded"/>
</xs:sequence>
“The isFinalForecast.AffirmationIndicator must
match the value used in the forecast referenced by
previousForecastNotificationIdentifier”
RosettaNet expects that even this type of constraint will be
expressed in machine-interpretable format in the future.
3.5 Business Activity and Message Attributes
The business activities, exchange sequence of action messages,
and the attributes of messages are specified using ebXML
Business Process Specification [2]. ebXML BPSS provides an
XML Schema, and the PIP specifications for business activity and
message attributes are described in XML that conforms to this
192
XML Schema. Below is an excerpt from the PIP4A3
specification.
<BusinessTransaction
name="Notify Of Threshold Release Forecast"
nameID="NotifyOfThresholdReleaseForecast_BT"
isGuaranteedDeliveryRequired="true">
<RequestingBusinessActivity
name="Threshold Release Forecast Notification Action"
nameID="ThresholdReleaseForecastNotificationAction"
isAuthorizationRequired="true"
isIntelligibleCheckRequired="true"
isNonRepudiationReceiptRequired="true"
isNonRepudiationRequired="true"
timeToAcknowledgeReceipt="PT2H"
retryCount="3">
…
</BusinessTransaction>
Figure 4. RosettaNet RNIF 2.0 compliant message
This header contains sending and receiving trading partner
identities, tracking ID, and date/time stamp, and is created by the
sender of the message. This header is mandatory in a PIP message
and occurs only once. This header is never encrypted. It may also
specify whether secure transport of the message is required.
In this excerpt, note the message attributes of
RequestingBusinessActivity with name Threshold Release
Forecast Notification Action. In contrast, these attributes are
expressed in a table in monolithic PIPs.
4.1.3 Service Header
4. ROSETTANET IMPLEMENTATION
FRAMEWORK (RNIF)
This header identifies the PIP, the PIP instance, the activity, and
the action to which this message belongs. This header is
mandatory in a PIP message and occurs only once. This header
may be encrypted.
In addition to defining the PIP specifications, RosettaNet also
defines an infrastructure to transport PIP messages. This
infrastructure is called RosettaNet Implementation Framework
(RNIF). The RNIF specification defines the packaging, routing,
and transport of all PIP action messages and signal messages. The
specification of security mechanisms (signature, encryption) and
reliability mechanisms at the message level is part of the
implementation framework. Action messages are acknowledged
by positive or negative signals: A Receipt-Acknowledgment
signal acknowledges that a message has been received and is
syntactically validated, whereas an exception signal indicates the
opposite. Error codes identify the types of errors. Two RNIF
specifications are in use today: RNIF 1.1, released in November
1999, and RNIF 2.0, an improved messaging specification
released in 2002. This paper describes only RNIF 2.0.
4.1.4 Payload
The payload contains the Service Content, which is the action or
signal message for a specific PIP. The payload may be encrypted.
Zero or more attachments may be packaged along with Service
Content. Attachments are documents or files that are not part of
the Service Content but need to be packaged and sent as a part of
the message. The payload, the attachments, or both can be
encrypted.
4.2 Creating a RosettaNet Business Message
A RosettaNet Business Message is a logical grouping of the
Service Header, Payload, Delivery Header, and Preamble Header.
Creating a RosettaNet Business Message has three steps (see
Figure 5).
4.1 Components of the RosettaNet Business
Message
This section contains definitions of the components of the PIP
message from RosettaNet Implementation Framework: Core
Specification, V02.00.01 [6]. The structure of a RosettaNet
Business Message is illustrated in Figure 4. The components of
the message that relate to transporting the message are defined.
Service
+
Header
Service
Content
+
Attachments
S/MIME Envelope
Preamble
Delivery
Header + Header +
4.1.1 Preamble Header
This header identifies the RNIF version the XML message
complies with. This header is mandatory and occurs only once in
a message. This header is never encrypted.
Encrypted
Digital
Payload
+ Signature
Container
MIME Packaging
RosettaNet Business
Message
4.1.2 Delivery Header
The information contained in this header overlaps the information
in the Service Header; nevertheless, this header is separate from
the Service Header to allow access to this information by an
intermediary. An intermediary relays PIP messages from a sender
to a receiver. This header is never encrypted so that an
intermediary can read this information.
Figure 5. RNIF 2.0 business message construction
The Service Content (from a specific PIP) and any attachments
with it are wrapped together with the Service Header, optionally
inside an encrypted S/MIME [1] envelope. This envelope is
packaged using Multipurpose Internet Mail Extensions (MIME)
specifications [3] with the Preamble Header, Delivery Header,
193
and, optionally, Digital Signature, to create the RosettaNet
Business Message. The process of unpacking a RosettaNet
Business Message follows the reverse procedure of packing.
5.2.1 Use of Multiple Messaging Services
RosettaNet is revisiting this requirement by investigating the
feasibility of sending PIP messages over multiple messaging
services, including RNIF.
5. SUCCESSES, CHALLENGES, AND THE
ROAD AHEAD
5.2.2 Automate PIP Production
RosettaNet has begun to use an automated PIP production process
that creates PIPs based on XML from UML models of PIPs. This
process uses XML and UML guidelines to create consistent
formats for the PIPs. Automation helps reduce manual errors.
RosettaNet has achieved tremendous adoption of its standards in
the high-tech manufacturing supply chain over the past three
years with more than 30002 documented production
implementations and a growth rate of approximately 500% from
2001 to 2003. The standard’s broad acceptance in the marketplace
is demonstrated by the growing number of RosettaNet-based
transactions being conducted, estimated at several billion in
annual revenues. The following key decisions that RosettaNet
took early in its development have contributed to this widespread
adoption:
•
Focus on standardizing the public process. Get the business
experts to define the business aspects of the business process,
and ensure implementation of the business process by
obtaining commitment from the parties involved.
•
Define and promote interoperability and conformance of
messaging services.
•
Create standards with global use in mind.
5.2.3 Increase Consistency of PIP Data Structures
RosettaNet stores consistent definitions of business terms and data
structures used in explicit PIPs in a dictionary. Use of the
dictionary allows consistent naming, syntax, and semantics of the
elements. This dictionary is called the RosettaNet Business
Dictionary (RNBD). RNBD is currently implemented as a
relational database. To aid in building and using consistent PIP
message structures, RosettaNet is creating the RosettaNet
Information Model for specific business areas so that related PIPs
share the same data structures.
5.2.4 Consistent PIP Variations
Many companies require their trading partners to use variations of
a specific PIP; sometimes several variations are required for
different uses of the PIP. These variations have more constraints
than those in the original RosettaNet PIP. RosettaNet has created
the RosettaNet Appliance Enablement program to define formats
and methods to standardize the methods and use of variations of
PIPs. The RosettaNet Appliance Enablement program enables
automated processing of trading-partner specific PIPs by defining
clear syntax and semantics for the permissible changes to a PIP.
5.1 Cost: Roadblock to Adoption
Although RosettaNet has achieved relatively widespread adoption
in large companies, the cost of implementing RosettaNet solutions
has slowed adoption among small and medium-sized businesses.
With the exception of small and medium-sized businesses with
customers that require RosettaNet to conduct business, small and
medium-sized businesses are reluctant to make a significant
investment if the number of transactions is low, and they cannot
justify the return on investment. Several factors contribute to the
cost.
5.3 Challenges to Improving Efficiency
In the document-based B2B integration paradigm, the exchange
of complete and legally valid business documents alone forms the
basis of integration. However, RosettaNet partners have
encountered problems implementing the pure document-based
integration paradigm. RosettaNet is working on a new RosettaNet
Integration Architecture to address these problems. Some of these
problems are discussed in the following sections.
5.1.1 RNIF Transport Requirement
RNIF implementations are secure, reliable, and robust. However,
some of the RosettaNet trading partners may not require this level
of security, reliability, and robustness.
5.1.2 Mapping Cost
5.3.1 Large Messages with Redundant Content
To process a PIP message, it is necessary to map the PIP message
structure to the back-end data structure. If PIP messages for
different PIPs have inconsistent message structures with differing
syntax and semantics for the same back-end data structure, the
cost of mapping increases due to the human labor involved in
interpreting each PIP message.
Evidence suggests that an XML message is from 7 to 10 times
larger than the equivalent EDI message. Business processes such
as collaborative forecasting require large amounts of forecasting
data. The messages become large because often information sent
in a prior message is repeated in the current message. Since
current RosettaNet Integration Architecture does not specify a
technique to identify the data sent in a previous PIP message,
partners often send huge amounts of the same data multiple times.
Therefore, high-volume, complex, collaborative B2B integration
strains the infrastructure due to the huge amounts of data
exchanged between partners. Additional strain in the
infrastructure occurs when the data is processed. RosettaNet has
tried to address the verbosity of XML by specifying compression
techniques for the messages [5]. However, compressing the
message addresses only the symptom, and the fundamental
problem, the inability to avoid repetitious exchange of data,
remains.
5.2 Reducing Costs
Reducing the cost of implementation is crucial to expanding
adoption of RosettaNet standards. RosettaNet is working to
reduce costs in several ways.
2
Figure denotes production implementations as reported by
RosettaNet Global Council Members only. Total number
estimated in excess of 10,000.
194
6. CONCLUSION
A typical order-to-cash scenario starts with the purchase order
sent from buyer to seller, results in a shipped and received
product, and ends with money paid to the seller. The entire
scenario revolves around an order. The order, which is created
and often modified during the process, defines how the shipment
is made and payment is rendered. A number of PIPs can be used
for the end-to-end business process, as shown in Figure 6, and the
entire process may take days or weeks.
RosettaNet has brought standardization of business processes to
the XML-based business information exchange over the Internet.
The original goal of this standardization has been to reduce cost
while allowing disparate trading partners to conduct electronic
commerce in a mutually understood way—both syntactically and
semantically. RosettaNet is continuing to further the goal of
reducing the cost of implementation and execution of these
business processes. As discussed in this paper, making the
specification of the business processes more machine
interpretable results in fewer manual hours spent in reading and
interpreting RosettaNet PIPs. Increased automation further
reduces errors and related costs. RosettaNet is currently working
on the challenges to making the execution of the business
processes more efficient. The goal of making automated B2B
integration affordable and accessible to large numbers of small
and medium-sized businesses is being addressed by the definition
of a services framework, and by standardizing even more aspects
of B2B integration.
Seller
5.3.2 Large Running Process with Related Content
Confirm
Order
Modify
Order
PIP
PIP3A7:
3A7:
Ack
AckPO
PO
Buyer
PIP
PIP3A4:
3A4:
Ack
AckPO
PO
PIP
PIP3A4:
3A4:
Req
ReqPO
PO
Place
Order
PIP
PIP3C3:
3C3:
Invoice
Invoice
PIP
PIP3B2:
3B2:
ShipNotice
ShipNotice
PIP
PIP3A8:
3A8:
Change
ChangePO
PO
PIP
PIP4B2:
4B2:
Ship
ShipRcpt
Rcpt
PIP
PIP3A9:
3A9:
Cancel
CancelPO
PO
Modify
Order
Request
Payment
Ship
Order
Receive
Product
PIP
PIP3C6:
3C6:
Remit
RemitAdv
Adv
7. ACKNOWLEDGMENTS
Remit
Payment
Technology created in RosettaNet is the result of dedicated efforts
by a large group of talented individuals. This paper draws upon
their efforts. Two of these individuals considerably influenced my
thinking: Paul Tearnen and Derek Coleman. Thanks to Karen Cox
for help with the figures. Thanks to William Cook and Maggie
Harris for help with this paper. Also thanks to Sterling Commerce
for support during my time with RosettaNet.
Figure 6. Order-to-cash business process
Each of the PIPs defines the interchange structures for the action
messages it contains. However, these interchange structures do
not share the order structure that is created with PIP3A4, modified
with PIP3A7, shipped with PIP3B2, paid for with PIP3C6, and so
on. Absence of the shared order structure results in both the buyer
and the seller sending each other all the information related to the
order on every PIP message. Although the order structure can be
used to create a business context that can be shared among the
various interchange structures, the absence of such a business
context defined by RosettaNet results in trading partners creating
their own ways of maintaining business context for long-running
business transactions, such as order-to-cash. Often, these business
contexts are modified by trading partner-specific business rules
used in back-end applications. Defining this business context in a
standardized way to facilitate standardized execution of related
PIPs remains a challenge.
8. REFERENCES
[1] Dusse, S., et al. S/MIME Version 2 Message Specification,
RFC2311. http://www.ietf.org/rfc/rfc2311.txt.
[2] ebXML Business Process Specification Schema, Version
1.01, May 2001. http://www.ebxml.org/specs/ebBPSS.pdf.
[3] Freed, N., et al. Multipurpose Internet Mail Extensions
(MIME) Part One: Format of Internet Message Bodies, RFC
2045, IETF, Network Working Group, 1996.
[4] PIP3A4: Request Purchase Order, Version 2.01, Aug. 2002.
http://www.rosettanet.org.
[5] RosettaNet Implementation Framework V02.00.01: S/MIME
5.3.3 Precise Message Error Identification
Compression of RosettaNet Payload, Technical Advisory,
July 2003.
When an error occurs in the processing of a PIP message, it would
be useful for the sender to be able to identify the type and location
of the error in the message. Incorporating such error identification
mechanisms during the validation of the syntax and semantics of
a message is one of the goals of the new RosettaNet Integration
Architecture.
[6] RosettaNet Implementation Framework: Core Specification,
V02.00.01, March 2002, http://www.rosettanet.org.
[7] Schematron: An XML structure validation language using
patterns in trees.
http://www.ascc.net/xml/resource/schematron/schemat
ron.html.
5.4 Other Obstacles
Implementation cost is not the only factor slowing the widespread
adoption of RosettaNet PIPs. As large numbers of businesses
within a specific supply chain adopt RosettaNet PIPs, it becomes
necessary to provide services that support the increase.
RosettaNet is proposing to address this issue through the
RosettaNet Services Architecture. The implementation of this
architecture should result in the ability to securely access profiles
of trading partners for physical connection and enable users to
access PIPs and their variations from a repository defined by
RosettaNet.
[8] XML schema part 1 and part 2: W3C recommendation, May
2001. http://www.w3.org/XML/Schema
195