Компания Cisco Systems анонсировала новый сетевой протокол сообщений,
который должен помочь разработчикам интегрировать современные
клиент-серверные приложения без необходимости подключения сложных и
громоздких традиционных протоколов, таких как SOAP (Simple Object
Access Protocol). Новый протокол, получивший название Etch, был
представлен одновременно с релизом системы Cisco Unified Application
Environment 2.5 (CUAE).
В Cisco говорят, что для программистов
Etch несет в себе определенные преимущества в сравнении с более
традиционными SOAP, CORBA, EJB и другими протоколами сообщений. Одно из
основных преимуществ Etch заключается в том, что он унифицирован для
всех распределенных приложений и различных систем. Все остальные
протоколы имеют свои платформенные ограничения и привязки, что
сдерживает их популярность.
SOAP может использоваться с любым
протоколом прикладного уровня: SMTP, FTP, HTTP и другими. Однако его
взаимодействие с каждым из этих протоколов имеет свои особенности,
которые должны быть определены отдельно. Хотя SOAP является стандартом,
различные программы часто генерируют сообщения в несовместимом формате.
Например, запрос сгенерированный AXIS-клиентом, не будет понят сервером
WebLogic.
Директор по разработкам платформы CUAE в компании
Сisco Луис Марацио рассказывает: "Хотя главная цель при создании Etch
состояла в том, чтобы максимально широко раскрыть возможности платформы
CUAE 2.5, протокол расширяет все существующие клиент-серверные
возможности взаимодействия на любых платформах. Одна из дополнительных
задач при разработке протокола заключалась в создании прикладной
технологии взаимодействия без подключения SOAP".
По его словам,
Etch использует свои собственные интерфейсы и язык определений, который
отдаленно напоминает интерфейсы взаимодействия на базе Java.
Еще
одно из преимуществ Etch заключается в его широкой производительности в
сравнении в SOAP. Во время тестирования в Cisco достигли показателей в
900 системных вызовов в секунду в случае с интерфейсом SOAP и почти 50
000 однонарправленных вызовов и 15 000 двунаправленных транзакций в
случае с Etch.
Для взаимодействия Etch предлагает сразу
несколько языков и платформ. Представленная сейчас версия полностью
поддерживает Java и C#, а также имеет все необходимое для интеграции в
среды Eclipse и Visual Studio. В ближайшем будущем заявлена поддержка
С, Ruby и Python.
Еще одна особенность Etch заключается в том,
что он станет полностью открытым и сейчас в Cisco выбирают тип
лицензии. В качестве наиболее вероятных лицензий называют Mozilla или
Apache License. Эти лицензии, в отличие от GPL, позволяют свободно
встраивать Etch в коммерческие проекты без открытия последних. В Cisco
говорят, что окончательный тип лицензии станет известен в июле.
Отличается
Etch от SOAP еще и тем, что в первом случае у сервера есть возможность
инициировать соединение с клиентом. Помимо этого, новая разработка
поддерживает разные типы сообщений, которые различаются по событиям.
Например, в случае реализации Etch, у разработчиков есть возможность
разворачивать сервисы-нотификаторы, при помощи которых клиент
регистрирует лишь те сообщения, которые его интересуют. В результате
такого подхода у приложений, работающих поверх Etch, есть возможность
фильтровать трафик без наличия сложных маршрутизаторов и фильтров.
В Cisco отмечают, что интеграция Etch в среды Visual Studio и Eclipse практически идентична интеграции SOAP-возможностей.
Марацио
также сообщил, что после открытия Etch как протокола, Cisco предложит
IETF (Internet Engineering Task Force), группе, отвечающей за различные
интернет-стандарты, начать стандартизацию Etch.
Для всех желающих Etch станет доступен в середины июля 2008 года.