будущее уже сегодня ПАЛАГИН АНТОН AKA TONY Спецвыпуск: Хакер, номер #065, стр. 065-018-2 гигантский геморрой в то же время получается, когда хочется добиться кросс-платформенности и независимости от языка разработки. Все дело состоит в типах данных, которые варьируются от языка к языку, в особенностях платформ и даже кодировке текста, используемой по умолчанию. В итоге приходится ограничивать типы данных, передаваемых в методы. Например, для этого в технологии DCOM используется тип VARIANT, куда зашивается код типа данных, а сами данные лежат в union-поле структуры VARIANT. Код даже маленького проекта, если посмотреть на него вблизи, пугает своими очертаниями, а при взгляде издали становится похож на внебрачного сына Франкенштейна. Кросс-платформенность, по версии Microsoft, заключалась в возможности обращаться из Windows 98 в Window NT, а независимость от языка ограничивалась поддержкой (кроме C++) Visual Basic, Delphi и Java (для COM+). Строго говоря, бинарное наследование кода в самой своей сути хранит невозможность использовать его повторно и невозможность применять объектно ориентированные подходы. Одно дело — когда бинарный компонент, к которому пользователь обращается по строгому бинарному абстрактному интерфейсу, работает в одной операционной системе и на одной аппаратуре. Тут можно не беспокоиться о работоспособности компонента. Другое дело — когда ты пытаешься использовать старый компонент на новом процессоре с новыми SIMD-инструкциями и в новой операционной системе. Вот тут-то никто и ничего не гарантирует. технология corba оказалась более демократичной к платформам и языкам разработки, в отличие от dcom. Однако бинарная природа взаимодействия между компонентами также доставила кучу неприятностей разработчикам информационных систем. Также стоит упомянуть, что CORBA — это набор стандартов консорциума OMG, и крупнейшие системные интеграторы создают свои реализации этого стандарта, что, конечно, не способствует повсеместному распространению CORBA. Крупным недостатком обеих технологий являются «толстые» клиентские части систем, из-за которых разработчики вынуждены писать много лишнего кода. В то же время в определенных нишах они по-прежнему пользуются заслуженной популярностью, в основном в приложениях, требующих минимизации сетевого трафика, критичных ко времени отклика и ограниченных аппаратными ресурсами. Ниши для DCOM и CORBA — это встраиваемые и мобильные устройства, измерительные приборы (в них часто используется стандарт VXI-11 и RPC), то есть устройства с ограниченной производительностью и ресурсами. |