tags:

views:

806

answers:

15

Why is this archaic format still used in the face of easier-to-use technologies? Does it provide some benefit that I'm not seeing? It seems that a large amount of vendors still provide data only in this format, instead of something more manageable and easier to use such as XML; at the least it would make sense to me to offer both formats.

Also, what are some good ways to deal with and utilize EDI when you have no other choice but to use it? Something like BizTalk is out of the question as it's far too expensive. Are there any free/open source applications that make EDI easier to work with?

+3  A: 

Legacy Support

GWLlosa
A: 

I've had to use EDI as well and I agree. We used BizTalk to map it which worked well. Many system are built on EDI(well before XML).

Matt Davison
Maybe I wouldn't have the problem if I was using BizTalk... but unfortunately the price for it is waaaay too much to even bother considering as a solution.
Wayne M
+7  A: 

One word, Inertia. Developing the EDI formats by committee between various companys and organisations with different agendas was a nightmare (sad to say I have been there).

Asking them to abandon these with yet another round of committees agreeing web service API standards is going to take even longer, how do you sell the idea of replacing one electronic format with another to a non-technical board? What possible busness advantage does it give them. Originally the benefits of electronic exchange were clear but replace one with another is not. We're talking really big companies here.

AnthonyWJones
Exactly. Suppliers aren't software development companies. They don't see the value in switching to new systems. They don't have the inhouse expertise to do anything, and hiring somebody would be extremely expensive.
Kibbee
Besides, it works.
le dorfier
+4  A: 

EDI is not that hard to understand once you familiarize yourself with the delimiters it uses. You might ask yourself as well why anyone would still be using CSV or tab-delimited data.

The answer is probably that those formats are "domain specific languages" defined by committee and standardized in a certain industry, and that a lot of money has already been invested in supporting those formats. Where's the business case to throw that all out again?

Dave Van den Eynde
I've found that EDI is easy enough to read in. The difficult part is writing EDI documents that other systems don't complain about. It seems that even if you are following the specs, they still complain.
Kibbee
In fact, I've created a DSL to map EDI transaction sets (both ways). It was almost trivial.
le dorfier
@Kibbee: Sounds like developing web sites for Internet Explorer!
Peter Di Cecco
+1  A: 

And switching to XML would give you what - a slightly easier to debug line format?

Generally you set it up and leave it, there isn't a lot of need to play with the raw EDI feed, certainly not enough to abandon the standard and start again.
There are lots of standards, like FAX that could be made more readable but no real pressing need to change them.

Martin Beckett
Have you ever review an EDI format, even something simple like an EDIFACT order? What tools are there to easily consume it and extend it? There might be some but we're talking several digits of currency to get what XML gives for free.
AnthonyWJones
+1 AnthonyWJones. Exactly my problem with EDI - it's ridiculously hard to parse whereas XML is easy to consume and extend.
Wayne M
It's not a matter of slightly easier. EDI is orders of magnitude harder to do correctly than XML.
Kibbee
@AWJ I review them frequently (or used to, now it's filtered through for the most part). I have a much harder time finding the data embedded in XML cruft. With EDI I can insert a newline at the segment breaks and things more or less line up vertically within a screen-width. It's what you're used to.
le dorfier
+2  A: 

"If it ain't broke, don't fix it."

Most of these organisations are processing vast amounts of data using EDI, and aren't about to change to something more modern without a compelling reason. And making things easy for third-party developers doesn't usually qualify, sad to say.

Mike Edwards
+2  A: 

EDI is a very compact format and is often used to keep bandwidth usage in data exchanges as small as possible. The German customs offices for example use it in their ATLAS system to exchange a very high volume of data every day.

It is hard to parse and hard to read, but if the size of the resulting data matters, it can be a good choice and is supported by most of the bigger business applications.

Sebastian Dietz
+1  A: 

EDI has been around since before XML. Apart from the fact that two parties can pre-negotiate the EDI format that works for them both you must also consider the part of the VAN (value added network.)

In some cases the VAN performs validation of the message, or even reads the message and performs actions on it, such as copying it to additional parties based on its content.

The only reason really to use EDI is because "that's the way it's always been done", and therefore there is a lot of existing infrastructure around to support it. Why switch to XML when there is no need? And how is to say XML wont be replaced by JSON which will then be replaced by something else?

Peter Morris
JSON is for data, XML is for documents. That is an important distinction.
Bernard
Please explain what you mean.
Peter Morris
+1  A: 

EDI is prolific in many industries. It would be prohibitively expensive to replace an already-working technology with a newer one.

Consider this, Walmart uses EDI to communicate with its vendors, stores, distribution chain, etc. I'm guessing they deal with tenss of thousands of vendors. Every one of them has sunk thousands of dollars into EDI technology. If Walmart decided to switch over to XML, its a decision that affects thousands of companies, not just Walmart.

This is true for any EDI user. After all, it's a standard used between trading partners.

I agree, EDI is a pain to work with. But 'back in the day', that's all we had.

Marc Bernier
Care to recommend anything to ease the pain of dealing with it, then? My frustration is because my company switched vendors and this new one *only* offers data in EDI format (the old one offered it in text as well), so I'm scrambling to figure out a way to integrate it with our systems
Wayne M
@WayneM I may be missing something, but can't you use XSLT to transform your XML into EDI? XML->XSLT->EDI seems much easier than EDI->CustomeParser->XML... again I may be over simplifying.
null
I'm not using XML; I just need to extract the data - I was hoping the supplier was using XML and not EDI since XML is easier to parse the data I need.
Wayne M
@WayneM, there are a few companies that offer EDI mapping software that will translate EDI docs into user-defined formats. We used to use Sterling Commerce's product, but honestly, it was a love/hate relationship.
Marc Bernier
+2  A: 

Because it's a formally established Standard (in fact a very large and comprehensive set of standards). And that's one of the claimed benefit of a standard - you won't need to change anything for a long time.

And to change it, it takes agreement between two or more (often thousands and thousands more) trading partners (including maybe all of your competitors) to agree.

EDI formats have much higher signal-to-noise ratios (because they were designed back when that was considered important.) Someone who knows and understands EDI will look at your XML and say "Where's the beef (data)?"

Very few developers write their own parsers. There are many good mappers available (and many legacy and enterprise apps come with them built in). So there's lots of relief available for your pain (including at least one Open Source app on SourceForge).

le dorfier
A: 

A little information for all interested. EDI is basically a design by committee data exchange format that not only set out rules for data formatting (like XML), but also set out to define each document that could possibly ever be sent between 2 companies. So for any piece of data that could be exchanged between companies they came up with an exact definition of what was supposed to be in each of these documents. Of course, nobody could foresee every piece of data that 2 companies would want to exchange. So you end up with companies using fields that were defined for 1 thing, being used for some other piece of information.

What you ended up with, is an extremely convoluted data format, in which many people using it don't follow the standards, because they need to send custom information, which the standard doesn't account for. So in the end, you still need to talk to each company you want to deal with, and find out all the little idiosyncrasies of their implementation, just as you would have to do if you went to someone with a custom XML interface. Except that in the case of EDI, the format is hard to parse and even harder to write well, so you end up doing a whole bunch of work just to send a document, when doing the same kind of think with having a custom XML solution would have resulted in many times less problems.

Kibbee
But then you get trading partners who extend the XML formats for the same data and same purposes in wildly different ways, so the same consequences result. We all like our own hammer better than the others, but they all drive in the nails semi-crooked sometimes.
le dorfier
My whole point is that you can't try to standardize the documents sent across the entire industry. Instead, everybody would just be better off if they just used XML, and defined their own DTD for others to adhere to, instead of trying to get everybody to agree on a single DTD, or data format.
Kibbee
+1  A: 

One solution, although it will cost you, is to go to a company like ADX, which has tools you can use to convert EDI formats to more pleasing formats like CSV. Depending on the volume and type of transactions you are doing, this can be both affordable and a lot less stressful. I've used their products in the past, and while they are a bit of work to set up, they do work quote well, and are very stable. Because of the history of EDI, you could probably find hundreds of other companies that offer similar services.

Kibbee
Unfortunately, my budget is $0.00. I'll keep it in mind, though, in case I need to use it.
Wayne M
Are they paying you $0.00 to do the work? Because if they aren't, you really should argue that it could be completed with far less overall cost to just pay someone else for a solution.
Kibbee
+2  A: 

You may be interested in the following project:

http://bots.sourceforge.net/en/index.shtml

null
A: 

If you are still looking for affordable solution for processing EDI files, I would recommend you check CozyRoc EDI Source component. I'm not saying it is free, but compared to many other solutions offered on the market, you can actually see a price. So far the component has been successfully used to process 210, 810, 820, 834, 835, 852, 855 files.

CozyRoc
A: 

Another reason is that being business messages such as order. invoices, credit notes etc there is a lot of financial worth in the transactions and they need to be secure but perhaps more importantly they need have end to end validation and verification as well as non repudiation.

For example i send you an order for 1/2 million Euros worth of goods, you send me the goods, then i "lose" the order information and tell you i am not paying. The combination of the standards and the VANS make this almost impossible or at least with so much of an audit trail that it the problems could be tracked. This is why the "Oh let use xml and the internet instead of EDIFACT and the VANS" tend to fail. As someone els answered, Inertia, but it is an inertia founded in a stable effective, secure, reliable and well understood system.

Doing it on the cheap is not always an option.

If it is any consolation when i first implemented EDI in '87 there was virtually no software around and so i got the Interbridge tables and wrote my own parser for the UK TRADACOMS standard using Cognos software on and HP Mini, and it worked fine. Assuming you are trading with other EDI partners the cost probably comes at the point of needing to use a VAN.

PurplePilot