PIDX Integration with Microsoft BizTalk Server
Petroleum Industry Data Exchange (PIDX) is an industry standard that regulates the exchange of information between suppliers and customers in the petroleum industry. These include standards to regulate Purchase Orders, Invoices, Shipments and Catalogs among other things. Many companies in the O&G industry are also now choosing to get on e-commerce gateways like OilDex, ADP / Digital Oilfield and Ariba. Connecting to one gateway gives you access to all the customers/suppliers on that gateway.
Below are a few challenges we faced during a recent project around PIDX integration using BizTalk Server.
PIDX is not supported inherently in BizTalk
This is also the case in most B2B/EAI tools. Since the overall target audience here is not that large, few products have deep support out of the box. It is however fairly easy to extend BizTalk so that it recognizes PIDX schemas.
The most common protocol for secure exchange here is probably RNIF (Rosettanet Implementation Framework). The protocol defines control structures for exchange of messages between sender and receiver. It also standardizes things like Compression, security, non-repudiation etc. The protocol in itself is fairly complicated however the BizTalk’s RNIF support is quite comprehensive and can support single/double action sync/async processes. That said, the overall architecture for the RNIF module seems clunky. Sending a message is triggered by an API which adds to a custom database, which then flows through a series of ports and orchestrations till it ends up in a set of custom aspx pages which actually do much of the heavy lifting of the action transmission /receipt.
SSL connectivity options
BTARN supports SSL but has limited supported for client certificates. This is also a well ill documented capability and is met by stone walling when you call up support quite often. Most gateways now a days include Elimica and ADP use client certificates. The solution for this is fairly simple but requires customization of RNIFSend (the components in BizTalk responsible for the actual transmission of messages)
The OOTB tracking framework is very limited. Most of the time you end up referring to the BTARN (BizTalk Accellerator for Rosettanet) databases to look at the status of the messages. Typically you need to run a set of queries before you figure out the state of a document. Microsoft hasn’t yet provided an Out of the Box solution here yet so you should be planing a reporting module using BAM or other tracking frameworks.
Plan your testing time carefully
If you are connecting via gateways, plan your testing time carefully. Onboard and certification is usually a very structured process in most gateways and you face the problems you typically expect from large firms. Responses can take ages at times, are riddled with bureaucracy and you may have people change teams and loose context. Our experience with ADP was that it took approx 2 mo just to establish connectivity largely because the infrastructure, test and development teams were not on the same page there. Plan for these carefully in your project and this is perhaps the most unpredictable phase of an overall implementation.
If you are going through a partner integration via PIDX standard, we’d love to hear about your experiences. Please reach out via the email below or the contact us page.