Вычисления с использованием распределенных объектов, несомненно, считаются достаточно “крутыми”. Однако переход от инкапсуляции данных, расположенных вместе, к физической инкапсуляции, необходимой для переноса этого принципа в сеть, - гигантский шаг, и совершить его будет нелегко.
Вспомните начало объектно-ориентированной революции - месяцы просрочек, увенчавшиеся выпуском семимегабайтных исполняемых файлов, для установки которых на машины пользователей требовались недели. С вычислениями с использованием распределенных объектов будет еще хуже.
Мы еще не видели распределенного эквивалента семимегабайтного исполняемого файла. Если вы думаете, что с архитектурой клиент-сервер работать тяжело, подождите, пока вам не придется иметь дело с защитой, лицензированием, контролем версий и отслеживанием проблем зависимости в полной объектов сети.
Впрочем, как случается при многих революциях, плоды использования распределенных объектов будут пожинать не первопроходцы - этим займутся саботажники, которые будут ждать, пока технология не понадобится им по-настоящему.
Забавно, что сейчас мы стали свидетелями старых битв: блюстители чистоты объектной технологии лицом к лицу с создающими гибриды прагматиками и комитеты по стандартам лицом к лицу с... ну, конечно, Microsoft. OLE против OpenDoc и COM против CORBA - просто самые яркие проявления старых споров.
На ранних стадиях объектно-ориентированной революции штрейкбрехеры получили подарки вроде интегрированных сред приложений, библиотек компонентов и ассистентов Wizard для приложений. Пока что работа со всем этим требует определенных умственных усилий, но объектно-ориентированное программирование и использование компонентов стало куда проще.
При вычислениях с использованием распределенных объектов мы уже наблюдаем прагматизм сходного толка.
Есть несколько производителей, пытающихся уничтожить пропасть между COM и CORBA задолго до того, как более знаменитые союзы сумеют предложить что-нибудь достойное внимания. Другой пример - схватка OpenDoc и OLE, которая становится в большей степени вопросом выбора разработчика, чем священной войной.
Технология клиент-сервер уже сейчас превращается в трехуровневую архитектуру, где бизнес-правила существуют независимо от клиентской системы и сервера баз данных.
Производители, в том числе Microsoft с ее Remote OLE в Visual Basic 4.0, на низшем уровне и фирмы Forte Software и Dynasty Technologies на высшем именно сейчас начинают работать над этой проблемой.
Так же, как нам пришлось принять участие в объектно-ориентированной революции еще до ее начала, нам придется внести некоторые изменения в свое восприятие распределенных объектов. Одним из способов прореагировать, не присоединяясь ни к одному из лагерей, - начать создавать инфраструктуру. Распределенные объекты требуют сетевой защиты, службы каталогов и поддержки обработки транзакций. Сегодня существуют некоторые достаточно зрелые технологии, уже сейчас предлагающие такую инфраструктуру, например Distributed Computing Environment.
Просто помните - это не ваши проблемы. Сделать вычисления с использованием распределенных объектов доступными простым смертным - проблема производителей, а не менеджеров информационных систем и корпоративных разработчиков. Пусть священные войны бушуют в стороне.
Не упустите толковых продуктов, когда они появятся из этого хаоса.
Имон Салливан
Если вы думаете, что с архитектурой клиент- сервер работать тяжело, подождите, пока вам не придется иметь дело c полной объектов сетью