Estimated reading time: 3 minutes, 1 second

BOTS - An Open Source EDI Tool

botsWant to answer the age-old (well, maybe not age-old… perhaps just decades-old) question of where in the organization does EDI belong?  Try BOTS… the open-source EDI solution.  Here’s my take on it.

BOTS (v1.0) was first released on 15 June 2007… and I’ve known about it since nearly that time because of postings in the EDI-L discussion group but not had the time to try it out.  Having done so, I must say I am truly impressed.

I have worked with nearly all the “Big Five” EDI translators (IBM Data Interchange, Gentran (many flavors), GXS, TrustedLink Enterprise (when it was Harbinger) and Mercator) and this little application easily matches everything that I have seen in them except the visual mappers… BOTS more than makes up for that lack in mapping and process control.

The application, written in Python and Django, reads data into an application object (defined in a python definition file called a “grammar”), processes the application object via a map written as another python program and builds a new application object (defined as another “grammar” file).  The application engine handles the input/output of the data to/from files, databases, FTP connections, etc.  Predefined grammars are available online for free download for EDIFACT D93A to D12A standard definitions and for X12 v003040 to v005030 standard definitions.

Management of the tool is provided via a web interface which, although not elaborate, is quite capable and easily understood.

“Channels” are used to control the direction and flow of data to and from XML, X12, EDIFACT and delimited files; email; various flavors of FTP and databases. They also control whether or not the input files are deleted after processing.

“Routes” control the sequence in which families of channels are executed.  The inclusion of a sequence number in the route definition allows several types of data to be processed in a specified sequence.

“Translations” control which map is used to process which data object.

BOTS runs on any platform that supports Python and Django.  My personal experience with BOTS has been on two old desktop boxes (one a 2x Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz processor with 2 gigs of memory, the other an Intel(R) Pentium(R) 4 CPU 1.60GHz processor with only 512 megs of memory) that are currently running the CentOS v6.4 LINUX operating system (basically a clone of Red Hat Enterprise Linux), although BOTS will also run on an appropriately configured Windows Server box as well and I presume will also run on a Macintosh if so desired, as well as mainframes.

For those who desire it, commercial support for BOTS is available from EbbersConsult and the BOTS mailing list is quite active with new users being added frequently and with very helpful experts responding to questions quickly.

I started my evaluation of this tool using BOTS v3.0.0 and while I was testing v3.1.0 was released.  The upgrade to v3.1.0 went flawlessly without affecting any of my existing data.  The most difficult part of learning to use BOTS, for me, was learning the Python programming language, although I’ve used COBOL, C, C++, SAS, Visual Basic and many others over the years.  My bottleneck was something called a “tuple” although, as they say, your mileage may vary.

My opinion?  This is a tool worthy of inclusion in ANY shop’s EDI toolbox.  Where in the organization does EDI belong?  With BOTS, the answer is simple… in IT; and in the hands of programmers who can provide the “Shared Service” of maintaining the process.
Read 9100 times
Rate this item
(0 votes)

Visit other PMG Sites:

click me
PMG360 is committed to protecting the privacy of the personal data we collect from our subscribers/agents/customers/exhibitors and sponsors. On May 25th, the European's GDPR policy will be enforced. Nothing is changing about your current settings or how your information is processed, however, we have made a few changes. We have updated our Privacy Policy and Cookie Policy to make it easier for you to understand what information we collect, how and why we collect it.