Occasionally we receive questions asking whether RPG-XML Suite handles cXML. While the answer is “Yes!”, this post is intended to provide some background information about just what cXML consists of, and how it compares and relates to standard XML.
First of all, it’s important to understand that cXML is XML. To restate more precisely, cXML is a subset of XML. When the cXML standard was created by Ariba, the goal was to provide a more rigid and streamlined subset of XML that was specifically designed for commerce (thus the “c” in cXML). The advantage of having a subset of XML like cXML is that it promotes reuse and interoperability. It’s great that regular XML is so flexible, but for B2B electronic commerce transactions, no one wants the headache of designing new XML layouts for each trading partner. While Ariba has maintained control of the cXML standard, it has allowed the standard to grow with the input of many other companies. Plus — Ariba licenses the technology freely so today everyone gets the benefits of cXML at no cost. This approach has made cXML one of the most popular technologies used to conduct B2B electronic commerce transactions.
Why not just use XML and not be limited by cXML’s standards?
Because some level of standardization is always a good thing when electronic commerce is being conducted. This was the same principle that evolved many years ago with EDI standards for fixed record data exchanges. Some level of standardization is needed in order for commerce data to be exchanged without custom programming for each side of the transaction. By enforcing the cXML standard, universal processing could be developed no matter which parties were involved in a particular transaction.
So is cXML just a rehash of older EDI technology combined with newer XML technology?
In a word, “no”. While other standards have created a hybrid of EDI and XML standards in an attempt to “meld” the two worlds, Ariba intentionally left nearly all existing EDI standards behind and published the cXML standard from scratch. DTD files are used to describe the rules for the XML structures required and those DTD’s are publicly available as part of the published cXML documentation.
You may have heard of the term “PunchOut” when reading about cXML. PunchOut is a session protocol that can establish a link from one cXML transaction to the next — also allowing user interaction with those transactions. What’s the advantage of using PunchOut? Again, it comes down to being able to reuse functionality and leverage past work. Some sort of session management is sometimes required to conduct electronic commerce via the public internet — so having that functionality built into cXML and being able to leverage that is a powerful capability and saves development and maintenance resources.
So who should be using cXML?
Often the answer to that question is determined by who your trading partners are and whether they already use cXML. But even if you are starting from scratch with a new trading partner, cXML may be something you want to consider – for all the reasons already mentioned.
Still have questions about cXML?
Share your specific questions or requirements with me. If helpful, I’d be happy to implement a free proof of concept showing exactly how RPG-XML Suite can be used to facilitate any cXML communication requirements you may have.
Contact me directly at firstname.lastname@example.org.