Объекты учатся “разговаривать”
Шаг вперед, два шага назад. Стоит профессионалам ИТ обрести уверенность в том, что новый инструмент уже готов упростить им жизнь, как они изобретают новую сложную проблему, с решением которой этот новый инструмент еле-еле справляется.
Можете называть это распределением ресурсов или технологической бравадой, но в любом случае благодаря появлению распределенных объектов вышеописанный феномен проявился снова.
Представление о приложении как о множестве взаимодействующих объектов, а не программном “механизме”, который обрабатывает поток независимых данных, остается довольно новым для разработчиков корпоративных приложений. Дополнительную сложность вносят распределенные объекты, которые общаются по локальным и распределенным сетям. Положение еще сильнее запутывают напряженные отношения между моделью DCOM (Distributed Component Object Model - распределенная модель составных объектов) корпорации Microsoft, которая представляет собой неполную, но работающую реализацию идеи распределенных объектов, и разработанной Object Management Group архитектурой CORBA (Common Object Request Broker Architecture - единая архитектура посредника объектных запросов), которая представляет собой выработанную многими производителями спецификацию с различными реализациями.
Вместо того чтобы думать о системе как о наборе вызывающих друг друга независимых функций, программисты теперь могут рассматривать комплекс объектов, посылающих друг другу сообщения, - и проверяющих эти сообщения с помощью внутренних правил контроля. После этого не потребуется колоссальных усилий, чтобы перейти от сообщений, которые путешествуют в пределах одного компьютера, к сообщениям, которые путешествуют по физическому сетевому соединению.
Хотя принципиальных сложностей в решении этой задачи нет, она весьма непроста с точки зрения деталей, которые нужно определить. Суть объектного метода состоит в том, что сами эти детали должны инкапсулироваться в объектно-ориентированной модели, которую обычно называют посредником запросов к объектам, или ORB (object request broker).
ORB поддерживает хранилище интерфейсов, которые можно использовать, чтобы запросить данные у объектов, находящихся на одной или нескольких машинах. Ему не нужно обладать какими-либо знаниями о том, как эти данные представляются внутри объектов. Он просто знает, какие запросы объект может удовлетворить. Если поступающий запрос соответствует формату известного интерфейса, ORB направляет соответствующему объекту нужное сообщение.
Спецификация CORBA версии 2.0, представляющая собой рекомендации по обеспечению совместной работы ORB разных производителей, эволюционировала медленнее, чем этого хотелось бы нетерпеливым покупателям. Конкурирующая с CORBA модель Microsoft DCOM начала движение позже, но быстрее приближалась к законченному решению.
Microsoft не располагает каким-либо секретным ингредиентом. Просто в создании CORBA участвует свыше 600 компаний, продукты которых удовлетворяют (с переменным успехом) обобщенной спецификации, но различаются деталями реализации. Напротив, Microsoft не нужно с кем-либо вести переговоры, и она может предложить разработчикам ПО почти идеальную согласованность между операционными средами для настольных и корпоративных систем.
В настоящее время в DCOM еще остаются заметные пробелы. Например, удаленное управление затрудняется из-за отсутствия надежной сетевой службы каталогов. Однако в случае CORBA покупатели испытывают серьезные сомнения в том, смогут ли “соответствующие стандарту CORBA” приложения обмениваться бизнес-данными без помощи дополнительных уровней промежуточного ПО.
В последнее время, например на Professional Developers Conference в ноябре, Microsoft распространяла большие объемы кода и образцы средств разработки. Поэтому покупатели, скорее всего, сочтут, что Microsoft понадобится на заполнение очевидных пробелов в DCOM меньше времени, чем членам OMG на то, чтобы справиться с гораздо большим числом мелких, но принципиальных деталей.
CORBA располагает большим запасом энергии и мощной базовой технологией и станет стандартом для сопряжения унаследованных платформ друг с другом и настольными системами. Вместе с тем для успешной работы потребуется интенсивное обучение персонала корпоративных служб ИТ и большие вложения в поддержку (также возникнет прибыльный рынок консультаций и услуг).
DCOM будет стандартом для настольных систем и систем масштаба отдела и окажется главным инструментом обеспечения софункционирования сетей. Она также будет основным объектом интереса независимых производителей ПО.
Игнорировать любую из этих сред небезопасно.
Питер Коффи
С аналитиком по передовым технологиям Питером Коффи можно связаться по адресу: peter_coffee@zd.com.