ebXML-BP Meta-Model to eCo Mapping

Date: 22-Jun-00

Mapping by: Brian Hayee

[TechSpec] Business Process Project Team Technical Specification Document, Draft Version 1.0. 5/26/00.

[RoseModel] BusinessProcessMetaModelv1.0.mdl (Rational Rose model).

[eCoSpec] eCo Architecture for Electronic Commerce Interoperability, 1999-06-29T06:00-4:00.

Entity

EbXML-BP Description

eCo Entity and Description

Agreement

An agreement is an arrangement between two parties that specifies in advance the conditions under which they will trade (terms of shipment, terms of payment, expectations of quotations and pricing, etc.) An agreement does not imply specific economic commitments.

[Brian Hayes] Does this include messaging protocols and transaction SLAs?

eCo entity: TermsAndConditions (approximate)

A reference/pointer to a document that specifies the terms and conditions applicable to an instance of an eCo Layer (Network, Market, Business, and Service).

[Brian Hayes] eCo does not provide detailed model of agreements. eCo does define an optional TermsAndConditions element for Networks, Markets, Businesses, and Services; TermsAndConditions are pointers/references to documents.

"Each Market is governed by a set of terms and conditions for participation. These will most likely dictate a common set of protocols and business processes that are required to insure interoperability within the Market. The degree to which a Market defines and enforces these common terms and conditions is left to the discretion of its managers." [eCoSpec]

TermsAndConditions for a Business is defined as:
"a pointer to a document that contains information on the terms and conditions under which this Business trades. Any legal information that this Business wishes to communicate to its potential trading partners should be presented here." [eCoSpec]

Agreement Type

An agreement type is the abstract classification of different types of agreements. Examples might include front-end agreements and yearly contracts.

eCo entity: None.

Business Document

A business document is the description of a particular entity within a business, or the description of an agreement between organizations, or the description of a business event. So the document is never the 'real' thing, just a description of it. A business document is the central component of any information exchange among partner roles.

See Information Entity.

eCo entity: Document

A Document is a package of information having style, content, and structure.

Documents are used as information item containers and represent a physical encapsulation of information items. Documents are in the form of XML (with DTD's) and XML Schemas (DTD's as instances with other information) according to the W3C recommendations.

Business Event

A business event is an activity that a business decision-maker needs to monitor or evaluate. In most cases, a business event is performed with the objective of making progress toward a specific business goal within the context of a business process. However, some business events simply exchange or synchronize information between parties. Business event examples might include "obtain a quote" or "make an engineering change."

eCo entity: None?

In the eCo model, it appears that you can query a eCo Service's ServiceChoreography and it's next Step(s). However, it does not appear that business events (as defined) are modeled. The ebXML-BP Business Event appears to be more at the business process level and (I think) has its roots in the REA modeling.

Business Process

A business process is a collection of business events that are required to achieve a business goal. Normally, such objectives imply the execution of a business transaction or a related set of business transactions that are intended to accomplish a value-added entrepreneurial purpose.

[Brian Hayes] Business Process is not part of the [RoseModel].

eCo entity: Service

Services are interfaces to a business process. Each Service offered by a Business provides the ability for a trading partner to interact with that Business in some way.

[Brian Hayes] It is my [current] observation that eCo models the multi-party business process that occurs as a result of services exchanging and processing documents through Services. I'm speculating that you can have a "virtual" Service that specifies a business process that has no Service implementation (The Service's choreography may reference other Services that may have implementations).

Business Process Definition

A business process definition specifies the choreography of business transactions needed to complete a business process. A business process is a collection of business events that are required to achieve a business goal. Normally, such objectives imply the execution of a business transaction or a related set of business transactions that are intended to accomplish a value-added entrepreneurial purpose.

eCo entity: Process Definition.

A Process Definition describes the choreography of a Service.

[Brian Hayes] Note that it is also possible to partially model a business process definition by a) the Association between Service and Step (a Service can have multiple steps), or b) ServiceChoreography.

[Brian Hayes] Also see my comment under Business Process.

Business Service Interface

A business service interface is the definition of how to interact with one partner role in order to make him/her perform a desired service. For example, a partner role can expose a business process interface for 'quotation service'. It will describe precisely what kind of business signal (i.e. message) you need to send, what you will get back, and what you may expect to have happen as a result of the exchange.

[Terry Allen] [This is] incorrectly defined. An interface is not a definition of an interface. What is defined is a BP Interface Definition.

eCo entity: Interaction

The "Interactions" layer describes the types of interactions behind each service, and the types of messages that are exchanged during each interaction. In one sense, this layer describes a "choreography" of interactions that may take place when a service is invoked. The exact sequence of events in this choreography may be pre-determined, or it may be event-driven by the user's selection of specific options offered by the service.

[Brian Hayes] In eCo it is straight forward to determine the mapping between a given [eCo] Business and its [eCo] Services, the Services and its [eCo] Interactions, and the Interactions and its Documents. Thus, through a service's Interactions, you know how to interact with the service. eCo Services are interfaces to a business process. Each Service offered by a [eCo] Business provides the ability for a trading partner to interact with that Business in some way.

[Brian Hayes] Note that eCo does not model "partner role."

Business Service

A business service is a commodity such as a service or product offered (usually for sale or barter) by a business.

[Brian Hayes] Is this just the name/URN of the BusinessService?

eCo entity: Service

Services are interfaces to a business process. Each Service offered by a Business provides the ability for a trading partner to interact with that Business in some way.

This eCo Service Layer represents that part of an e-commerce system that is responsible for providing meta-data about business services and the exchange of commercial documents.

A Business or "Service Provider" offers a Service to "Service Consumers". Any Business can be both a provider and a consumer of Services. Example Services offered by a company that makes widgets might be:

• "Examine my catalogue of widgets."

• "Buy a widget."

• "Submit engineering change order."

• "Become a VAR."

• "Find the cheapest price on this item and then apply for a loan to pay based on my credit rating

and ability to establish a long term relationship."

• "Initiate manufacturing corrective action."

Services create their value by grouping Interactions and other Services together. The logic that governs the order of execution of the Interactions and Services contained within a Service is called the Service Choreography. The definition of a Service Choreography can be explicitly communicated using a formal Business Process Definition Language or it can be implicitly communicated through the natural flow of the Service.

Business Service Interface

A business service interface is the definition of how to interact with one partner role in order to make him/her perform a desired service. For example, a partner role can expose a business process interface for 'quotation service'. It will describe precisely what kind of business signal (i.e. message) you need to send, what you will get back, and what you may expect to have happen as a result of the exchange.

eCo entity: Interaction

The "Interactions" layer describes the types of interactions behind each service, and the types of messages that are exchanged during each interaction. In one sense, this layer describes a "choreography" of interactions that may take place when a service is invoked. The exact sequence of events in this choreography may be pre-determined, or it may be event-driven by the user's selection of specific options offered by the service.

Business Signal

A business signal is a message sent between the business process interfaces of two partner roles. A business signal fulfills the information flow requirements between request activity and response activity. A business signal contains business documents(s).

[Terry Allen] I don't understand the purpose of this class.
[Brian Hayes] From the eCo perspective, Business Signal and Information Flow may be redundant. I am unable to determine how they are usefully different.

eCo entity: <Approximate match to Interaction and Document>

[Brian Hayes] eCo does not model a "business signal" directly. Instead the information flow is described in terms of an Interaction and Documents. An Interaction specifies Input Documents, Output Documents, and Error Documents.

Business Transaction

A business transaction is a logical unit of business conducted by two or more parties. The community, the partners, and the process, are all in a definable, and self-reliant state prior to the business transaction, and in a new definable, and self-reliant state after the business transaction. In other words if you are still 'waiting' for your business partner's response or reaction, the business transaction has not completed. A business transaction in our model is reflected as the required exchange or series of exchanges of information between two (or more) partner roles in order to complete the transaction. For example the exchange could consist of a request for quote and the return either of the actual quote, or of the confirmation that the request had been received. It would not make sense to have the transaction (interaction) consist of the request only.

eCo entity: Interaction

Each Interaction consists of a request and response pair. Both the request and response can contain one or more Documents.

The Interactions in a Service may or may not require adherence to a formal Process Definition.

The specific Interactions within a Service are going to vary widely depending on the domain, purpose, function and quality of service that is offered by the service provider. Often, well known interaction specifications will be used within particular domains. Examples of these domains include IOTP and Rosetta Net.

[Brian Hayes] It is difficult to map the MetaModel entities Business Transaction, Information Exchange, and Information Flow to the eCo model. I believe this is due the MetaModel's approach on decomposing the process rather than eCo's apparent approach on identifying what is needed to perform e-business. It is my [current] observation that eCo does not model the multi-party business process that occurs as a result of services exchanging and processing documents. eCo defines the business service as encapsulating (providing an interface to) a business process. This definition differs from the ebXML-BP Meta-Model.

Commitment

A commitment is an obligation to perform an economic event at some future point in time. Commitment are fulfilled or executed by economic events.

[Brian Hayes] From a b2b e-commerce perspective, a commitment is important in the process flow (series of document interchange between services) definition. It can help define the service level agreements on the document interchanges. For example, buyer X sends a PO and supplier Y is required to respond within 48 hours.

eCo entity: ProcessDefinition (in Markets, Businesses, and Services)

A Service Process Definition describes the Choreography of a service.

[Brian Hayes] Based on my current understand of eCo, commitments or service level agreements are not explicitly modeled.

Contract

A contract is a mutual arrangement between parties that some actual economic exchanges will occur in the future. Contracts can have recursive relationships with other contracts, for example, yearly contracts with monthly releases and weekly or daily shipping schedules. Contracts are containers for collections of commitments. For example, a purchase order is a contract wherein the line items are commitments.

eCo entity: None.

Contract type

A contract type is the abstract classification or definition of a contract. Examples might be service contracts, orders, and committed-plans.

As in other type objects, contract types are not just categories, they can also define the rules and processes governing contracts of the type.

eCo entity: None.

Dictionary

The dictionary should contain data types, re-usable components, and the templates (DTD's) of the business documents, but not the documents themselves.

[Brian Hayes] DTDs are not sufficiently expressive. Replace DTD with "schemas."
[Terry Allen] This is the Repository, but the definition isn't synched with what I hear - there is no mention of storing meta-models.

eCo element: DocumentAndInformationItemRegistry

The Document and Information Item Registry contains the type information for the documents define within Interactions. It is a hierarchical database that contains two sets of type definitions - one for the Documents themselves, and one for the Data Elements that are used within the Documents. These type definitions are used to classify Documents and the Data Elements within those Documents.

[Terry Allen] Note that eCo envisions putting in a repository schemas (here "type definitions") and documents (not mentioned here but evident from the element name). They don't have to be the same repositories, and meta-data needs to be defined for both. The "two sets of type definitions" is not too useful a distinction, as a document schema is just another compound data element, distinguished by the author's desire that it be used as a document element (root element).

Duality

Duality is a relationship between Economic Events, where one is the legal or economic consideration of the other. Examples include a payment for a product or service

eCo entity: Not Applicable.

Economic Event

An economic event is the transfer of control of an Economic Resource from one party to another party. Examples would include sale, cash-payment, shipment, and lease.

eCo entity: Not Applicable.

Economic Resource

An economic resource is a quantity of something of value that is under the control of an enterprise. Examples: cash, inventory, and labor and machine services.

eCo entity: Not Applicable.

Economic Resource Type

An economic resource type is the abstract classification or definition of an Economic Resource. For example, in an ERP system, ItemMaster or ProductMaster would represent the Economic Resource Type that abstractly defines an Inventory Item or Product. Economic Resource Types may have recursive relationships, so that for example broad classifications like "product" could group smaller classifications like "product family", which in turn could have as members the specific "product masters" with SKU numbers

eCo entity: Not Applicable.

Fundamental Information Entity

A fundamental information entity is in essence a data type. In business contexts we might need many more 'data types' with business semantics beyond the standard data types of 'int', float' etc.

[Terry Allen] there seems to be no difference between this and Info Entity. There's nothing to say that a datatype can't have structure.

eCo entity: DataElementType

The category that a Data Element is classified in according to the definitions in the Document and Information Item Registry.

Information Entity

An information entity is a primitive or complex data structure.

Note: We haven't defined this yet, but it may be that the difference between a data structure and an information entity is that the information entity also contains business rules about the data.

eCo entity: DataElement

As the markup elements within a Document, Data Elements serve to encapsulate data (or code) to be used in a particular Interaction. The information items will be concretely defined according to the XML specification for syntax and organized into the eCo Semantic Recommendation (XML) in order to have an approach to document architecture that promotes interoperability.

Documents can be created using a flat set of information items with no additional intermediate structure added. For example, a document may contain the information items:

• Name

• Address

• Phone

• Email

Another document with the same information items may group them into a structure, for example, Contact Information, which includes:

• Name

• Address

• Phone

• Email

The element groupings (or structures) will be kept in a registry along with the documents that use them.

Through the registry, documents and document structures can be understood.

Information Exchange

[Brian Hayes] Information Exchange appears in the current [RoseModel]. No definition in [TechSpec]. The model shows that a Business Transaction has an Information Exchange which as an Information Flow.

eCo entity: Interaction

An Interaction consists of a request and a response. The request and the response can consist of zero or more Documents.

Information Flow

An information flow is a flow of information between partner roles, related to a specific set of business activities within a specific business transaction. Often the information flow will specify a particular business document to be exchanged between the partners before the interaction or the general process can proceed.

[Brian Hayes] This definition is a bit too abstract. Based on the model, I don't see why "business activities" is mentioned in the first sentence. In the second sentence, is not the "particular business document to be exchanged" also an information flow? What is the significance of mentioning this sentence as worded? The definition should also mention how information flow relates to Documents.

eCo entity: Interaction

An Interaction consists of a request and a response. The request and the response can consist of zero or more Documents.

[Brian Hayes] Note that eCo does not model "partner role."

Market

A market is a 'meeting place' where organizations and individuals can exchange services or products. A market is defined in terms of the types of services and products that are likely to be exchanged. The "Yellow Pages" in our phonebook is a good example of classifications of products and services, e.g. 'Legal Services', or 'Air condition products'. A person can then anticipate the existence of a 'Legal Services' market and an 'Air Conditioning' market.

eCo entity: Market

A common portal or access point through which Businesses can group together.

The eCo Market Layer allows a set of businesses to group together through a common portal or access point. By participating in an eCo Market Environment, a business can offer its goods or services in a shared context with other related businesses The eCo Market Layer is onceptually similar to the physical markets in which businesses often group together.

Each Market is governed by a set of terms and conditions for participation. These will most likely dictate a common set of protocols and business processes that are required to insure interoperability within the Market. The degree to which a Market defines and enforces these common terms and conditions is left to the discretion of its managers.

Markets define an abstract concept of a "Role". Roles define a conceptual grouping of Services that a business can provide in the Market. All eCo Markets must use two default Roles - "Market Maker" and "Market Operator". The Market Maker Role is played by those businesses that are responsible for the inception and high-level administration of the Market. There may be any number of Market Makers in a Market. Market Operators provide the day-to-day operation of a Market. Market Operators typically provide the administrative Services required to run the Market. Each Market only has one Market Operator.

Through the use of a Registry, Markets can define new types of Roles to meet their own requirements.

Market Role

[Brian Hayes] The Market Role class appears in the current [RoseModel]. No definition in [TechSpec].

eCo entity: Business Role

Markets define an abstract concept of a "Role". Roles define a conceptual grouping of Services that a business can provide in the Market. All eCo Markets must use two default Roles - "Market Maker" and "Market Operator". The Market Maker Role is played by those businesses that are responsible for the inception and high-level administration of the Market. There may be any number of Market Makers in a Market. Market Operators provide the day-to-day operation of a Market. Market Operators typically provide the administrative Services required to run the Market. Each Market only has one Market Operator.

[Brian Hayes] I'm not sure if Business Role maps to MarketRoleType or MarketRole.

Market Role Type

[Brian Hayes] The Market Role Type class appears in the current [RoseModel]. No definition in [TechSpec].

eCo entity: MarketRegistry

A hierarchical database that provides a set of type definitions for the eCo Market Layer. The Market Registry contains the information needed to classify eCo Markets.

[Brian Hayes] I chose this mapping to eCo because the ebXML-BP Meta-Model shows that the Market defines the MarketRoleType, which Classifies the MarketRole.

Ordering Rule

[Brian Hayes] The Ordering Rule class appears in the current [RoseModel]. No definition in [TechSpec].

eCo entity: ServiceChoreography

The logic that controls the order of execution of Interactions and Sub-Services within a Service.

This method of gaining an understanding of Service Choreography is intended as a simple alternative to using a formal process definition language [ECOSPEC:ServiceGetFirstStep].

Partner Role

A partner role is the role a party plays in a specific business transaction.

eCo entity: Market Role

Markets define an abstract concept of a "Role". Roles define a conceptual grouping of Services that a business can provide in the Market. All eCo Markets must use two default Roles - "Market Maker" and "Market Operator". The Market Maker Role is played by those businesses that are responsible for the inception and high-level administration of the Market. There may be any number of Market Makers in a Market. Market Operators provide the day-to-day operation of a Market. Market Operators typically provide the administrative Services required to run the Market. Each Market only has one Market Operator.

Party

A party is any organization or individual that needs to participate in exchange of products or services in one or more markets. A party is established first as an absolute entity and then in terms of the roles it plays in a market.

eCo entity: Business

A single entity in a trading relationship, its formal identification and the services it offers or consumes.

The eCo Business Layer encompasses that part of an e-commerce system that represents a single entity in a trading relationship, its formal identification and the services it offers or consumes. While the name "eCo Business Layer" is used to label this concept, this Layer can represent a business, a single individual, or a business unit within a larger organization.

Party type

A party type is a broad classification of the kind of organization or individual. Examples would be 'University', 'Corporation', 'Individual', and 'Government'.

eCo entity: BusinessType

The category that a Business is classified in according to the definitions in the Business Registry.

Note: A Business Registry is a hierarchical database that provides a set of type definitions for the eCo Business Layer. The Business Registry contains the information needed to classify eCo Businesses. As such, the Business Registry is most often used when multiple businesses are grouped together in an eCo Market although stand-alone Businesses can still classify themselves using a common Business Registry.

Process Category

A process category is a broad classification of business processes. At a macro level this classification could be like the "Yellow Pages" classification of services. At a finer level processes could be classified to more functional groupings such as 'quotation', 'scheduling', The meta-model does not constrain the kinds of classification of processes.

eCo entity: ServiceType

The category that a Service is classified in according to the definitions in the Service Registry.

A Service Registry is a hierarchical database that provides a set of type definitions for the eCo Service Layer. The Service Registry contains the information needed to classify eCo Services.

[Brian Hayes] eCo specifies the need for registries at each layer of the eCo model. There is a MarketRegistry, BusinessRegistry, ServiceRegistry, InteractionRegistry, and DocumentAndInformationItemRegistry.

Resource Catalog

A resource catalog is basically a navigable guide to offered products and services (Economic Resource Types). It is the market equivalence of a company's product catalog. It would be intended for narrowing down the particular kind of product or service you are looking for, hopefully leaving you with multiple possible sources for that product or service.

eCo entity: Market

A common portal or access point through which Businesses can group together.

[Brian Hayes] The Published Interface offered by an eCo Layer, such as Market, can be extended to include queries over and above the base set defined by the standard eCo Published Interface. These are called "Interface Extensions." The standard Market class can be queried for its businesses, business types, and businesses by type. A Market can be queried by products and services if it supported an appropriate an interface extension. The QueryInterface query (part of Published Interface) allows an interested party to find out what queries are supported.

Step Definition

A step definition defines the steps in a business process. Step definition allows for the decomposition (and reuse) of steps and makes the interdependencies between steps explicit. Step interdependencies include predetermined step sequencing, and (implicit) business rules. A step definition always defines either an action taken by a single partner role or an interaction among partner roles.

eCo entity: Step

A Step is a reference to a Published Interface in a Service's choreography. It is important to realize that the Interface returned could be the Published Interface to an Interaction or to another Service. The type of the interface returned can be determined by examining the EcoInterfaceList. With this information, the Service consumer can then act as appropriate to examine the next step of the Service.

This method of gaining an understanding of Service Choreography is intended as a simple alternative to using a formal process definition language.