Two â€œlives’â€ ago, I led the team of enterprise developers. We did everything from the data warehouse/BI to LOB apps to systems integration. It was good times, we kept busy. It is an amazing company, small with people but with big revenues and big needs. As our trading partners and services grew, we needed to significantly upgrade our EDI capabilities, including AS2. After several months of evaluating solutions, we settled on BizTalk, because it was very flexible with EDI mapping, could multicast documents (which we needed to do), and would handle other types of messaging as well (we had a requirement for XML between several systems). We settled on BizTalk 2009, which as it turned out had its share of issues and limitations we found out later.
One of the limitations of BizTalkâ€™s AS2 connector is that it had to run on the same machine as BizTalk (I donâ€™t know if this has changed or not). This meant either having a second license of BizTalk just for AS2 (cost prohibitive), putting a production server in the DMZ (stupid) or poking a hole into our internal network (over the network adminâ€™s dead body). Time to find a new, simple, cost-effective solution.
This time the decision was significantly easier. We looked at a number of options, from hosted solutions to AS2 apps, but /n softwareâ€™s AS2 Connector was exactly what we needed (they moved the current version of the connector to their RSS Bus product line, so donâ€™t panic since the company brands donâ€™t match). Just to clarify, /n softwareâ€™s EDI integrator is a component for building your own AS2 solutions. The AS2 Connector is a pre-built application with most or all of the functionality you needâ€”this is what fit the bill for us.
In a nutshell, hereâ€™s what we did:
1. Installed the AS2 Connector on a web server in our DMZ. Since we had several web servers already, and AS2 is pretty low bandwidth, nothing additional was required here besides the SSL certificate. Setup and config was insanely easy on our IIS box.
2. The version we used dropped all the AS2 files into one folder. To make it easy for BizTalkâ€™s processing rules, we needed to sort them by trading partner. The connector did have the ability to call a batch file after a receive was complete. We wrote a PowerShell script (called by a BAT file) to read the ISA line, and move the files to a folder named for the trading partner ID. We also had T and P folders, based on the test indicator. This was back in 2009â€”I think the current version does this now without needing a â€œsorting hatâ€ script.
3. On that same web server, we had a TFTP server set up. We secured it to only accept connections from a particular IP (corresponding to our BizTalk server), and had a specific firewall route exclusive for the BizTalk server into the DMZ.
4. We scheduled BizTalk to check the folders every few minutes. One of the downsides to this approach is that you lose BizTalkâ€™s file system watcher capabilities. BizTalk picked up the files via FTP and processed them per the rules we had configured.
What we ended up with was a very flexible system that was easy to expand as we brought on new trading partners, and we could meet all kinds of crazy new requirements. We actually started to become the go-to integration partner because of how fast we could adapt to changes and the processing we could do on the received information.
Of huge importance for a couple of our trading partners we brought on later was having a Drummond Certified solution. Fortunately, the AS2 Connector was (and still is) Drummond certified.
Something to remember that AS2 is not EDIâ€”AS2 is just a way of transferring files. You can send nearly any file type via AS2.