Продолжается подписка на наши издания! Вы не забыли подписаться?

COM vs.CORBA

Михаил Купаев

Отечество славлю, которое есть,
Но трижды - которое будет!
В.В.Маяковский.

СORBA

...Альтернативные подходы, наиболее ярко выраженные в
политике Microsoft и Sun, не соответствуют современным
тенденциям развития технологий...
Александр Цимбал

СОМ

...Microsoft и Sun, как игроки конкурентного рынка, вынуждены
совершенствовать свои технологии и форсировать выпуск
своих продуктов на рынок...
Владислав Чистяков

Тестирование CORBA и COM

Примеры и исходный код


В споре технологий точку может поставить только время. Технологии-победительницы живут и развиваются, проигравшие, как легко догадаться, вымирают. В компьютерном сообществе это происходит быстрее, чем, например, в машиностроении, поэтому всегда есть возможность подождать и понять, откуда ветер дует. Однако пока живы оба пациента, понять, кто же из них выживет, так же трудно, как угадать верную лошадь на бегах (особенно на тараканьих). Даже заведомый фаворит может споткнуться, упасть и выбыть из гонки буквально за несколько метров до финиша. Мы уже не раз наблюдали исчезновение технологий или продуктов, которым предрекали блестящее будущее. Вспомните хотя бы предполагаемое вымирание PC вследствие вытеснения их NC (Network Computer). Дело осложняется еще и тем, что противники используют одни и те же термины, одинаковые приемы маркетинга, похожие как две капли воды результаты тестирований и так далее. Самый простой способ – свести их лицом к лицу и заставить хорошенько поругаться. Однако он часто не срабатывает. Супостаты повторяют одни и те же заклинания, и спор быстро превращается в драку в песочнице с воплями "А моя машина лучше! – Чем? – Чем твоя!". Несколько сложнее разобраться, чем же реально располагают оппоненты, а что является простым надувательством. Мало того, когда оппоненты начинают запускать друг в друга увесистыми терминами, оказывается, что это спор глухого со слепым – одинаково звучащие термины в разных технологиях означают разные вещи, что только усугубляет проблему.

Технологии СОМ и CORBA на первый взгляд очень похожи. Однако требуется четко различать реализации и спецификации, продукты и разработки, и вообще – намерения и действия. Бумажные спецификации принципиально несовместимы на бинарном уровне. Дело в том, что приверженцы CORBA в спорах с апологетами СОМ постоянно говорят так, будто вы можете взять некий продукт, пощупать его руками, или взять некое готовое средство разработки и быстро состряпать с его помощью нечто полезное. Увы, это далеко не всегда так. Многие сервисы до сих пор существуют только в спецификациях (например, Query Service). С некоторыми дело обстоит еще хуже – написаны несколько вариантов, несовместимых между собой, но соответствующих спецификации. И уж абсолютно наверняка самого нужного вам сервиса не окажется в поставке средства разработки, и его придется покупать отдельно. В целом, CORBA-решение потребует заведомо больших затрат и, скорее всего, большего времени. Каков будет результат, сказать сложно.

Итак, у CORBA нет эталонной реализации. Впрочем, мы с вами все-таки живем в России. В нашей стране совершенно мистическая популярность небольшой фирмы Borland творит чудеса. Поэтому можно считать, что у нас есть-таки эталонная реализация CORBA, то есть реализация от Borland/Inprise/Corel/Visigenic (это, кстати, одна фирма или их четверо?). Это VisiBrocker, С++ Builder и JBuilder.

Но что же оппоненты CORBA – СОМ (DCOM, COM+)? Оппонентами их следует называть условно, поскольку Microsoft входит в OMG, и, кроме того, неоднократно заявлял о соблюдении принципов CORBA в COM. У СОМ есть весомые аргументы в пользу собственной работоспособности (не знакомым с этими аргументами рекомендуется включить собственный компьютер и посмотреть на установленную там ОС). Но все ли так хорошо в этом королевстве? Увы, и это не так. Во-первых, вам не удастся создать ничего многоплатформного (это в наших условиях не очень страшно, обычный масштаб нашей разработки редко превышает сотню станций, что по "их" меркам соответствует рабочей группе). Во-вторых, любой частный стандарт заведомо плох – он ввергает разработчика в зависимость от владельца стандарта. За COM появился DCOM, за DCOM появился COM+, дальше появится нечто типа СОМ++... Авраам родил Исаака, Исаак родил Иакова... Так вот Иаков уже совсем не будет похож на Авраама, даже в профиль. В любом случае, когда дело доходит до практического воплощения в жизнь, оказывается, что технических недоработок немало, и Microsoft есть над чем поработать. Сейчас будущее СОМ выглядит довольно неясным еще и в связи с неясным положением самой Microsoft.

В этот раз мы решили попробовать разобраться в проблеме, предоставив слово обеим сторонам по очереди, и устроить вместо дискуссии два монолога, предоставив всем заинтересованным лицам сделать выводы по собственному разумению.

В результате получились две статьи, которые можно было бы назвать кратким изложением сущности обеих технологий. Более подробное изложение можно найти в документах OMG и MSDN соответственно – или в других статьях нашего журнала!


Copyright © 1994-2016 ООО "К-Пресс"