ActiveX против CORBA


Ставить ли чашечку кофе на свой компьютер?
Объектные модели
Возможны варианты...
Стандартизацией ActiveX занимается Open Group

По прогнозу Gartner Group, к 2000 году при создании более 60% новых приложений будет использоваться объектный подход. Даже самые безнадежные скептики вряд ли оспорят эту цифру - настолько привлекателен данный метод разработки. Переход от обычных клиент-серверных систем к приложениям-шаблонам и компонентам для их модификации и адаптации означает большую гибкость и исключает длительное ручное кодирование программ.

Сегодня в области разработки компонентов главная битва разгорается, конечно, между технологиями Sun Java и Microsoft ActiveX. Как и положено соперникам, каждая из них имеет свои сильные и слабые стороны.

Ставить ли чашечку кофе на свой компьютер?

Язык Java позволяет разрабатывать приложения небольшого объема, так называемые апплеты, которые загружаются по сети в компьютер-клиент и исполняются на нем. Основное преимущество апплетов - независимость от платформы, что очень важно в гетерогенных средах, поскольку отпадает необходимость переписывать приложения для каждой конкретной системы.

Функции, выполняемые технологией ActiveX, фактически те же, однако детище Microsoft, выросшее из недр OLE и VBX, пока ограничивается только платформой Windows.

Microsoft, правда, разделяет общее мнение о бесперспективности гомогенных сред. В сетях Internet/intranet (а на создание приложений для них и ориентированы, собственно, обе технологии) однородность тем более невозможна - так уж сложилось, что кроме ПК с Windows есть и другие системы. Не так давно, в начале октября, компания передала Open Group права на ActiveX. Билл Гейтс по этому поводу заявил: данный шаг поможет разработчикам уверовать в то, что роль данной технологии не ограничивается только собственной ОС. Действительно, обещано, что она будет совместима с Unix и MacOS. Написать объект на Java не сложнее, чем с помощью C/C++, Visual Basic Script, Visual Basic или Delphi и других инструментов, которые поддерживают ActiveX. Количество разработчиков, использующих Java, составляет уже около 200 тыс. человек. К концу столетия их число, по мнению аналитика компании IDC Эвана Квина, увеличится в четыре раза. Но армия последователей С/С++, Visual Basic и других инструментов, имеющих и опыт и определенные наработки на этих языках, не менее многочисленна. Логично предположить, что основная ее часть, приступая к разработке intranet-приложений, перейдет под знамена ActiveX.

К тому же Microsoft объявила, что ActiveX будет поддерживать и Java. На сегодняшний день компания выпустила собственную среду визуальной разработки на Java для Windows - Visual J++. Пообещав поддерживать стандартную реализацию Java, Microsoft, однако, предоставляет специальные классы Win32 Java, выдвигая при этом следующий аргумент - программы для конкретной ОС безусловно лучше, чем межплатформенные приложения, неспособные использовать системные функции низкого уровня.

Для приложений, в которых осуществляется интенсивная обработка данных, например в графических системах, это действительно имеет большое значение. Так, Эван Барбер, директор Adobe System, считает, что Adobe Illustrator останется приложением, предназначенным для определенной платформы. "Мы вынуждены реализовывать функции рендеринга на ассемблере, поскольку эффективность кода, генерируемого just-in-time ("на лету") компиляторами недостаточна".

У технологий ActiveX и Java разные подходы к обеспечению безопасности. В отличие от апплетов Java, ActiveX могут выполнять операции арифметики указателей и имеют полный доступ к API-интерфейсам ОС, поэтому приложения, созданные с их помощью, в принципе, менее защищены. Есть надежда, что технология цифровых сертификатов, т.е. цифровой подписи, добавляемой разработчиками к своему коду ActiveX, позволит обеспечить безопасную передачу данных. Официальные лица Netscape и Sun объявили, что их компании работают над подобной системой для апплетов Java, но подробности пока не были обнародованы.

Объектные модели

Как уже отмечалось, ActiveX и Java изначально были ориентированы на применение в сетях, однако для использования различных компонентов и обеспечения взаимодействия между ними, то есть для распределения объектов между клиентами и серверами, в обоих случаях необходимы интегрированные среды.

Здесь два основных конкурента - DCOM (Distributed Component Object Model) компании Microsoft и CORBA (Common Object Request Broker Architecture) и ее расширение для Web - IIOP (Internet Inter-ORB Protocol) производства Object Management Group. Эти спецификации предназначены для брокеров объектных запросов (ORB - Object Request Broker), обеспечивающих связь между объектами в распределенных средах.

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

В обычных клиент-серверных программах разработчики обязаны определить коммуникационные протоколы, которые зависят от языка, сетевого транспорта и других факторов. Брокер существенно упрощает задачу и позволяет выбирать наиболее подходящую ОС, среду и даже язык программирования для каждого компонента создаваемой системы, а также осуществлять интеграцию готовых компонентов.

Microsoft выполнила DCOM (распределенную модель объектных компонентов) на базе протоколов Network OLE и позиционирует ее в качестве основы технологии ActiveX. DCOM, по выражению представителей Microsoft, представляет собой "сетевой COM", то есть протокол верхнего уровня, позволяющий компонентам ActiveX взаимодействовать друг с другом по сети напрямую. Интересно, что кроме компонентов ActiveX DCOM поддерживает еще и апплеты Java.

Созданная относительно недавно, DCOM пока реализована только в NT 4.0. Бета-версию для Windows 95 Microsoft представила в сентябре.

Архитектура CORBA представляется более зрелой. Версия 1.1 появилась еще в 1991 г., она была применима только для брокеров Object Management Group и использовалась в основном разработчиками на С++ для построения Unix-приложений. Выпущенная в 1994 г. CORBA 2.0 поддерживает брокеры различных производителей. Сейчас их более десятка. DCOM же таким разнообразием похвастаться не может.

Брокеры CORBA не зависят от платформы и запускаются в различных ОС. Так, Chorus/Cool ORB поддерживает Windows 95, NT, Linux, IBM AIX, Sun Solaris, SunOS, SCO OpenServer. (Данный брокер примечателен не столько широким спектром поддерживаемых платформ, сколько скоростью - вышедшая в конце лета версия работает втрое быстрее и требует вдвое меньше памяти, чем другие брокеры.)

Надо заметить, что предпринимаются определенные шаги к тому, чтобы сделать DCOM платформенно-независимой. В конце сентября была продемонстрирована работа DCOM на платформах Solaris и Linux Unix, ожидаются и другие Unix-версии, в том числе IBM AIX, HP-UX и Digital Unix, выпуск которых намечен на середину следующего года. Большинство аналитиков, признавая технологические преимущества CORBA, отмечают сложность работы с ее службами.

Среди приверженцев DCOM, конечно, ее производитель - компания Microsoft, не скрывающая намерения сделать данную технологию основным стандартом и имеющая для этого серьезные предпосылки. Сегодня около 90% всех объектов написаны для COM и OLE. Активно поддерживают Microsoft компании Software AG и Digital.

Среди поставивших на CORBA: IBM, Sun, Netscape. Sun выпускает брокер Joe, позволяющий любым совместимым с Java приложениям, например Netscape Navigator, осуществлять доступ к данным корпоративных приложений, поддерживающих CORBA.

Однако большинство фирм, среди которых Oracle, NeXT и Novell, занимает нейтральную позицию. К примеру, брокер объектных запросов, выпускаемый Oracle, вскоре будет поддерживать как DCOM, так и CORBA, а служба каталогов Novell - IIOP и DCOM. В Internet-сервере Lotus Domino также планируется реализовать поддержку обоих стандартов.

Sun Microsystems представила спецификацию Java Beans, которая описывает компонентную архитектуру для программ, написанных на языке Java. Подразделение JavaSoft планирует совместно со своими партнерами по разработке, компаниями IBM, Netscape и Apple Computer ко второму кварталу 1997 г. реализовать двунаправленную связь между Java Beans и другими объектными технологиями, в том числе с ActiveX корпорации Microsoft. До начала 1997 г. такая же связь будет обеспечена с OpenDoc.

Тем временем IBM работает над технологией, которая позволит запускать апплеты Java в контейнерах OpenDoc и ActiveX. Она уже находится в стадии бета-тестирования.

Netscape, со своей стороны, в первой половине 1997 г. намерена выпустить шлюз между Java Beans и технологией LiveConnect.

Возможны варианты...

Конечно, кроме DCOM и CORBA существуют и другие стандартные среды распределенной обработки, например DCE (Distributed Computing Environment), ассоциации Open Software Foundation, являющейся теперь подразделением Open Group.

Она применяется в таких крупных организациях, как General Motors, Barclays Bank и даже в армии США. По мнению ряда аналитиков, в том числе лондонской консалтинговой компании Ovum, DCE в техническом отношении - прекрасный стандарт. Но недостаток простых инструментов разработки вызывает сомнение в ее успехе. Как считает один из авторов отчета Ovum Розмари Рок Еванс, разработчики DCE первоочередной своей целью считали мощность, а не простоту использования. Поэтому в организациях, в том числе перечисленных выше, руководители проектов применяют для связи систем другие способы.

В том же отчете выражается сомнение в способности DCE противостоять конкуренции со стороны CORBA и Microsoft, в частности, говорится, что вскоре Microsoft, вероятно, сможет предоставить большинство свойственных среде DCE функций, как-то: обеспечение секретности и обработка транзакций. А интерфейс ActiveX и ориентированное на сообщения средство сопряжения Falcon дают ей даже два преимущества - простоту использования и поддержку сообщений.


Стандартизацией ActiveX занимается Open Group

На организованной компанией Microsoft конференции производителей ПО и системных интеграторов, использующих технологию ActiveX, представителям Open Group удалось доказать, что именно этот орган достоин заниматься стандартизацией данной технологии. Внутри Open Group будет сформировано новое подразделение Active Group, которое проведет стандартизацию технологии Microsoft ActiveX согласно обычной для Open Group процедуре стандартизации.

Как ни странно, предложение Open Group получило поддержку Microsoft.

"Мы учитываем опыт Open Group - эта компания и раньше уже занималась подобной деятельностью", - сказал Пол Мариц, вице-президент Microsoft.

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

В ответ на это заинтересованные в ActiveX компании выразили пожелание, чтобы технология прошла уже действующую процедуру стандартизации. Open Group, возглавлявшая коллективную разработку и стандартизацию таких технологий, как распределенная вычислительная среда (Distributed Computing Environment - DCE), предложила Microsoft включить ActiveX в число технологий, стандартизацией которых она занимается.

Однако не все довольны принятым решением. "Я удивлен, что выдвинуто всего два предложения", - высказался Карл Каргилл, менеджер по стандартам компании Netscape Communications.

Однако, по мнению Каргилла, что Microsoft решила заняться стандартизацией своей технологии, само по себе уже хорошо. В то же время он выразил сожаление, что в собрании не участвовали представители Object Management Group, которая занята разработкой альтернативной архитектуры CORBA.

"Если сохранится противостояние между Microsoft и OMG и они не смогут объединить свои усилия, это очень помешает развитию объектных технологий", - подчеркнул Каргилл.

- Кара Каннингхэм