Что такое протокол AS2 ? В последние годы, EDI-сообщество демонстрирует постоянно растущий интерес к протоколу AS2. Так что же он из себя представляет — не в теории, а на практике?
Давайте начнем знакомиться с темой AS2 с чисто практических аспектов использования данной технологии обмена. Дабы, с ходу, не докучать неподготовленному читателю избыточной для него детализацией.
AS2 — это протокол для передачи файлов из одной ИС в другую. Его отличием от аналогичного по назначению протокола FTP служит то, что AS2 разрабатывали, держа в уме главную сферу его применения – EDI.
FTP — общеизвестный пример протокола, используемого для передачи файлов. Мы знаем, что для работы по FTP, необходим FTP-клиент и FTP- сервер. С AS2 все обстоит точно так же: требуется клиентское ПО для отправки, и серверное ПО для получения файлов.
При всем нынешнем лицензионном и функциональном разнообразии платного и бесплатного ПО и SaaS для работы по AS2, во всем этом легко отыскать общий знаменатель — интероперабельность. Один может выбрать одно, другой – иное. Но на обмен данными, выбор специализированного софта не должен влиять никак – AS2 должен поддерживаться при любом раскладе. Если все настроено правильно, то стандартный, типовой обмен файлами по протоколу AS2 происходит так:
- Файл получается локальной системой отправителя (например, провайдера — прим. EDIY);
- Идентифицируется система (будущего) получателя файла;
- Отправитель шифрует файл открытым ключом получателя;
- Отправитель подписывает файл своим закрытым ключом;
- Отправитель передает сообщение AS2-серверу получателя;
- Получатель идентифицирует отправителя по AS2 ID;
- Получатель подтверждает подлинность полученного файла при помощи открытого ключа отправителя;
- Получатель дешифрует файл при помощи своего закрытого ключа;
- Получатель отправляет служебное сообщение MDN (message disposition notices), уведомляющее о простом факте получения основного файла, содержащего информацию. Но не являющееся каким-либо подтверждением того, что сама эта информация прошла проверку;
- Служебное сообщение обрабатывается в порядке, обратном вышеописанному — MDN получает и проверяет отправитель файла. На этом процесс его передачи завершен.
Перечислим теперь несколько ключевых особенностей AS2. Он базируется на использовании протокола HTTP, по которому работает клиентская и серверная часть AS2 ПО. Ряд AS2-приложений способны также работать и через HTTPS. Однако главное отличие AS2 кроется в специфическом формате передаваемых сообщений, соблюдение которого необходимо для того, чтобы AS2 ПО могло работать так, как описано выше.
В частности, каждая AS2-система имеет уникальный Cистемный Идентификатор AS2 — AS2 ID. Который должен иметь от 1 до 128 символов ASCII, набранных с учетом регистра. Как упоминалось, AS2 ID идентифицирует отправителя (и получателя) файлов и служебных сообщений. И определяет — какой сертификат должен быть использован. Он же позволяет автоматически запускать дополнительные серверные мощности, что дает возможность сбалансировать нагрузку на AS2-систему.
Отметим, что уникальность идентификатора гарантируется в рамках только одной AS2-системы. Чисто теоретически, AS2 ID разных систем могут совпасть, поскольку единого реестра таких идентификаторов сегодня не ведется.
Когда-то было так, что без сертификации от компании Drumond Group нельзя было стать признанным всеми разработчиком систем для AS2-обмена. Длилось это где-то до 2005 г. Что и давало всем нам уверенность в том, что стандарт AS2 строго соблюдается разработчиками. Сегодня ситуация изменилась. AS2-систем стало много. Можно брать любую из них и просто проверить. Если она работает, то и все в порядке.
Как было сказано, AS2 включает в себя шифрование (и цифровую подпись). Наибольшую же практическую сложность представляет управление всеми требующимися сертификатами и поддержание их в актуальном состоянии. Другая проблема – это управление конфигурациями и согласование, на практике, совместной работы систем разных разработчиков. Обусловленная во многом тем, что сертификация таких систем де-факто стала необязательной.
Выскажу личную точку зрения, заключающуюся в том, что являюсь сторонником применения AS2-системы. Попавшая в правильные руки, она становится превосходным инструментом для обеспечения надежной и защищенной передачи файлов. В компании Loren Data, мы обеспечили обмен по протоколу AS2 как ключевой компонент нашей сети ECGrid (и полностью описали его через ECGridOS API). В настоящее время, AS2 — это наш основной коммуникационный протокол.
Тодд Гулд (Todd Gould, President Loren Data Corp)