So we recently met with a client we going to take on about their system and where they want to go. They are a well established B2B company that deal with many business. They are not a large company, but they do a fair amount of business. Currently, their systems are very old and outdated, however, they work.
As mentioned before, they are an older business, and thus they've been using EDI, X12, and EDIFACT to communicate with their clients. This has been the way businesses did it in the old days. Latley though, they have been getting notices that some clients will be migrating away from EDIFACT in the next few years and communicating via XML.
We are going to place Drupal as a "front-end" as a type of intranet and MIS (management information system) to track the processes/system, view information, and control the system. They have other programs to deal with procurement, etc, so Drupal will be acting as the XML "pass-off" to other heavy-duty system. I'm curious (nervous) as to how Drupal's XML-RPC module/system will handle a load such as this; however, in the past I have been VERY pleased with PHP's XML SAX parser.
This seems like a very exciting project. I will admit though, I'm not looking forward to working with EDIFACT. It's not exactly a simple protocol (I think the standards manual is over 2000 pages). There is a PERL module that I am going to start playing with that takes an EDIFACT transmission and converts to to XML. I think this may be the best route to go;
- Stage 1: start converting incoming EDIFACT into XML, and redirect back out as EDIFACT, thus knowing the "driver" is stable and working
- Stage 2: Open a direct link to the "driver" that will accept XML transmissions, process, and redirect back out
- Stage 3: Work with the client to stage their "customers" that are migrating away from EDIFACT to XML in a timely manner; thus scheduling time to test and Q&A the system against said customer before going "live" with that customer.
Anyway, I'll keep everyone abreast of how it goes.
Comments
heh
I've got a project that involves the creation of an EDI X12 output file which is claimed to be the "standard" for the industry. Drupal isn't currently capable of that, is it?
Greg
--
Knaddison Family | mmm Free Range Burritos
knaddison blog | Morris Animal Foundation
Not Directly
Greg,
Hey, random someone else is working with EDI. But, no, Drupal is not capable of exporting an EDI document. I mean, it "could", but there are currently no modules that support it, and I don't believe there really ever will be. We are currently looking at coupling with Perl's Perl::Edifact module, and handing off to it as an intermediate step in the BP (business process). Thus, Drupal/PHP will only be dealing with XML. I did run across a Python class that does XML <-> X.12. We're also looking at ALTOVA studios solutions to help in the conversion (and probably some others by weeks end)
I know one other issue that we have thought about is when we need to send many EDI documents off. FOREACH is just not an efficient option, so we're probably going to write some type of JAVA/PHP inter-op so that Java can use it's multi-threading capability to get the docs off faster and more efficiently. On the receiving end, and think PHP + XML > will be ok, however, we may need one on the receiving end also just to fire off multiple Drupal processing instances as the EDI's come in.
As you can tell, we're still very early in the planning stage.
If we take on this client, I believe we are going to hire an X12/EDI expert as a reference to help with the learning curve of all these X.12 standards (and there are a lot), and the different flavors (ANSI, ACS, etc.)......and I thought when I left college I was done with "classes" :).
Look...
The only way to go with this stuff is to build on the actual "industry standards", XML and XSLT. ;-)
I think your plan on building an intermediary and then working to integrate XML is actually the best way to go. We've done work getting XML in and out of Drupal (it's much easier to get it out) for a couple of projects lately (one was Laszlo integration for example, essentially XML to drive rich UI "flash" based stuff), and it's been relatively straight forward.
The main advantage of doing this is future requirement support, which was the main reason that XML came into existence in the first place.
Jonathan
Coming Along?
Hey, just wondering how your X12 + Drupal implementation was coming along?
very early
It's still very early in the project and the edix12 part would be one of the last things. There is also an alternate format that is a bit simpler which we may use.
--
Knaddisons Denver Life | mmm Free Range Burritos
knaddison blog | Morris Animal Foundation