Почему EDI все еще используется и как с этим бороться? - PullRequest
15 голосов
/ 05 февраля 2009

Почему этот архаичный формат все еще используется в свете более простых в использовании технологий? Это дает какую-то пользу, которую я не вижу? Кажется, что большое количество поставщиков по-прежнему предоставляют данные только в этом формате, а не что-то более управляемое и более простое в использовании, такое как XML; по крайней мере, для меня было бы целесообразно предложить оба формата.

Кроме того, какие есть хорошие способы справиться и использовать EDI, когда у вас нет другого выбора, кроме как использовать его? О чем-то вроде BizTalk не может быть и речи, поскольку это слишком дорого. Существуют ли какие-либо приложения с открытым исходным кодом, с которыми проще работать с EDI?

Ответы [ 18 ]

18 голосов
/ 05 февраля 2009

EDI не так сложно понять, когда вы ознакомитесь с разделителями, которые он использует. Вы также можете спросить себя, почему кто-то все еще будет использовать данные в формате CSV или табуляции.

Ответ, вероятно, заключается в том, что эти форматы являются "языками, специфичными для предметной области", определенными комитетом и стандартизированными в определенной отрасли, и что большие суммы уже вложены в поддержку этих форматов. Где экономическое обоснование, чтобы выбросить все это снова?

16 голосов
/ 05 февраля 2009

Одно слово, инерция. Разработка форматов EDI комитетом между различными компаниями и организациями с разными повестками дня была кошмаром (к сожалению, я был там).

Попросить их отказаться от них еще с одним раундом комитетов, согласных с тем, что стандарты API веб-сервиса потребуют еще больше времени. Как вы продаете идею замены одного электронного формата другим нетехническому совету? Какое возможное преимущество в бизнесе дает им. Изначально преимущества электронного обмена были очевидны, но заменять одно другим нельзя. Мы говорим здесь действительно большие компании.

9 голосов
/ 05 февраля 2009

Вас может заинтересовать следующий проект:

http://bots.sourceforge.net/en/index.shtml Архив кодов Google

6 голосов
/ 05 февраля 2009

А переключение на XML даст вам что - немного проще для отладки формата строки?

Обычно вы настраиваете и оставляете его, не нужно много играть с необработанным EDI-каналом, конечно же, недостаточно, чтобы отказаться от стандарта и начать заново.
Существует множество стандартов, таких как ФАКС, которые можно сделать более удобочитаемыми, но нет необходимости менять их.

6 голосов
/ 05 февраля 2009

Потому что это официально установленный Стандарт (на самом деле очень большой и всеобъемлющий набор стандартов). И это одно из заявленных преимуществ стандарта - вам не нужно ничего менять в течение длительного времени.

И чтобы изменить его, требуется согласие между двумя или более (часто тысячами и тысячами) торговыми партнерами (включая, может быть, всех ваших конкурентов).

Форматы EDI имеют гораздо более высокие отношения сигнал / шум (потому что они были разработаны еще тогда, когда это считалось важным.) Кто-то, кто знает и понимает EDI, посмотрит на ваш XML и скажет «Где говядина (данные)?» 1005 *

Очень немногие разработчики пишут свои парсеры. Есть много хороших картографов (и многие старые и корпоративные приложения поставляются с ними встроенными). Так что есть много облегчения для вашей боли (включая по крайней мере одно приложение с открытым исходным кодом на SourceForge).

5 голосов
/ 04 ноября 2011

ИМХО, есть несколько проблем с EDIFACT.

  1. Нелегко разобрать или сгенерировать объектную модель из нее. Это, вероятно, больше не является большой проблемой, так как сейчас существует хорошая система, которая делает это за вас, например. smooks.org
  2. Это не легко читать. Вы привыкли, но XML намного легче читать
  3. Проверка не так просто (сравните это с проверкой XML)
  4. Существует слишком много разных версий и разновидностей, D95B, D96B, D00A, D00B и т. Д.
  5. Но я думаю, что самая большая проблема в том, что все используют стандарты по-разному. Они используют один и тот же «формат», но поля определены по-разному. Мы используем EDIFACT для отправки и получения сообщений от контейнерных терминалов, и все они имеют небольшие различия. Они бы, например, все используют D95B CODECO, но для некоторых терминалов определенный сегмент является обязательным, в то время как для другого он не является обязательным или даже не допускается. Тогда у вас есть сегменты, которые используются одинаково, но содержание в них отличается.

Итак, подведем итог: это боль в шее.

5 голосов
/ 05 февраля 2009

«Если это не сломано, не исправляйте это.»

Большинство этих организаций обрабатывают огромные объемы данных с использованием EDI и не собираются переходить на что-то более современное без веской причины. И, как ни печально, как правило, делать вещи сторонними разработчиками проще.

5 голосов
/ 05 февраля 2009

Немного информации для всех заинтересованных. EDI - это в основном формат обмена данными между комитетами, который не только устанавливает правила форматирования данных (например, XML), но также определяет каждый документ, который может быть когда-либо отправлен между двумя компаниями. Таким образом, для любой части данных, которыми можно обмениваться между компаниями, они придумали точное определение того, что должно быть в каждом из этих документов. Конечно, никто не мог предвидеть каждый фрагмент данных, который 2 компании хотели бы обменять. Таким образом, вы получите компании, использующие поля, которые были определены для одной вещи, используемые для какой-то другой информации.

То, что вы в итоге получили, это чрезвычайно запутанный формат данных, в котором многие люди, использующие его, не следуют стандартам, потому что им нужно отправлять пользовательскую информацию, которую стандарт не учитывает. Итак, в конце концов, вам все равно нужно поговорить с каждой компанией, с которой вы хотите иметь дело, и выяснить все небольшие особенности их реализации, так же, как вы должны были бы поступить, если бы обратились к кому-то с пользовательским интерфейсом XML. За исключением того, что в случае EDI, формат трудно анализировать и еще сложнее писать хорошо, так что вы в конечном итоге выполняете целую кучу работы, просто отправляя документ, когда делаете то же самое, имея собственное решение XML привело бы во много раз меньше проблем.

4 голосов
/ 05 февраля 2009

EDI - это очень компактный формат, который часто используется для того, чтобы поддерживать минимальную полосу пропускания при обмене данными. Например, немецкие таможни используют его в своей системе ATLAS для обмена очень большим объемом данных каждый день.

Трудно разобрать и трудно прочитать, но если размер результирующих данных имеет значение, это может быть хорошим выбором и поддерживается большинством крупных бизнес-приложений.

3 голосов
/ 05 февраля 2009

EDI является плодовитым во многих отраслях. Было бы слишком дорого заменить уже работающую технологию новой.

Учитывая это, Walmart использует EDI для связи со своими поставщиками, магазинами, дистрибьюторской цепочкой и т. Д. Я предполагаю, что они имеют дело с десятками тысяч поставщиков. Каждый из них вложил тысячи долларов в технологию EDI. Если Walmart решил перейти на XML, это решение затрагивает тысячи компаний, а не только Walmart.

Это верно для любого пользователя EDI. В конце концов, это стандарт, используемый между торговыми партнерами.

Я согласен, работать с EDI - боль. Но «назад в день», это все, что у нас было.

...