Chem XML Message eStandards and CIDX Scenario – Part I
In this blog, we would discuss about CIDX Message eStandards starting from expanding CIDX. CIDX stands for Chemical Industry Data Exchange.
With the advent of “eBusiness”, companies in chemical industry adopted certain common communication principles to reduce the overall cost of XML-Based integration projects to realize business transactions with partners. These common principles are based on eStandards known as Chem eStandards which are used by chemical industries for exchanging data Business-to-Business (B2B) and Business-to-Marketplace.
To master Chem-eStandards in detail, download the document from http://xml.coverpages.org/Chem-eStandardsV20.pdf and go through it.
To facilitate the use of automated data exchange between chemical companies, CIDX an organization has transformed its organization to operate as standards organization. It will support and maintain the Chem eStandards. Its official website is http://www.cidx.org/.
For making the messages interoperable across the chemical industries based on XML standards, chem eStandards leverage the transport, envelope and security aspects of RNIF version 1.1 as described below diagrammatically:
Find below the explanation of every part of the Chem eStandard Message.
Preamble: It handles information global to document (version, datestamp)
Sample Preamble of the message is as follows:
Service Header: It contains the information about transaction routing and processing information for a given transaction. The service header contains three separate data objects:
- Process identity: It describes the process to be carried out by the transaction encapsulated in service content.
2. Service Route: It describes “to” and “from” information.
3. Transaction control: It provides the information how the transaction encapsulated in the service content is to be processed.
Service Content: This contains the actual message that is considered to be an action message which needs to be transported to partner.
Chem eStandards is developed with number of conventions for content and structure of the data models/messages as described below under sections, Message Definition, Message Responses, Message structure, Message elements.
Message Definition: They are defined with two facets of guiding principles.
- Individual messages are intended to support only one business function. Eg: OrderCreate is different OrderChange
- Individual messages supporting a single business function can modify the nature of transaction being performed based on data values.
For Eg: OrderCreate message support Standard Order, RushOrder etc..
Message Responses: There are two types of Responses. Technical and Transaction Responses.
- Technical responses are returned to source system from destination upon deliver of messages from source to destination. Again there are two types.
i.ReceiptAcknowledgement is positive Chem eStandard Signal message. When received, it means that the message is received by partner and the message is valid chem eStandard Action message.
i. ReceiveAcknowledgementException: Received by source to state that the partner has received a message which is invalid in terms of schema validation against DTD
ii.General Exception: Received by source system when processing of action message by partner runs into error.
- Transaction Response: They are reply or response to requested Action Message. For eg: Purchase Order Response is sent by partner as a response to the action message received like Purchase Order.
They are unique and it is not necessary that every transaction has transaction response.
Note: Action message is the actual message that is sent to partner. Eg: Invoice
Signal message is the response message that is received by source system in response to the action message received by partner.
Message Structure: It is XML document conforming to corresponding DTD (Data type definition). Every message will start with a root element addressing the message itself and has child elements as Header and Body.
Message Elements: An XML specification describes structure data as explained above. XML document elements may either contain other data elements or data (or both). These message elements may contain attributes that describe the data within the message element.
On the whole, transactions can be exchanged between business partners with a sample explained diagrammatically below: