Недостатки существующих стандартов
Несмотря на имеющиеся различия, технологии COM/DCOM и CORBA/IIOP обладают рядом общих ограничений:
- Ориентирование на двоичную связь
Данная особенность затрудняет использование указанных стандартов при наличии в сети брандмауэров, которые ограничивают доступ нетекстовых данных через большинство портов. Даже если брандмауэр сконфигурирован так, что подобные данные могут поступать через порт, изменение каких-либо настроек (что обычно и случается) приведет к разрыву объектной коммуникации.
- Проблемы масштабирования
С помощью СОМ и CORBA можно спроектировать компоненты, способные взаимодействовать с сотнями клиентов так же легко, как и с десятками. Однако это требует от программистов огромного опыта и дисциплины. Типичный компонент того не стоит.
- Зависимость от платформы или языка программирования
Протокол СОМ тесно связан с платформой Windows. Не существует простого способа создать и разместить СОМ-компонент в другой операционной системе, такой как UNIX. Модель CORBA подобным недостатком не обладает, но ее сложно использовать в языках, отличных от Java. В конечном счете, оба этих стандарта оказываются "закрытыми", что ограничивает сферу и способы их использования.
- Сложность
Стандарты СОМ и CORBA включают множество встроенных средств, таких как транзакции, инструменты безопасности и шифрования, что повышает вероятность возникновения проблем, связанных, в частности, с несовместимостью и дополнительными затратами. В настоящее время протоколы web-служб не предоставляют и не специфицируют инструменты API для указанных высокоуровневых служб. Этот факт значительно упрощает их реализацию, но означает, что в случае необходимости вам придется самостоятельно разрабатывать такие средства.
- Отсутствие универсального стандарта для представления данных
Рассматривая историю развития совместного использования программного кода в сетях, мы оставили без внимания такой важный вопрос разработки, как эволюция универсального стандарта для кодирования информации. Это объясняется тем, что в то время, когда создавались технологии СОМ и CORBA, стандарта для совместного использования структурированных данных не существовало. И лишь позднее появились такие стандарты, как SGML, XML и SOAP, предназначенные непосредственно для представления типов данных.
Несмотря на все выше сказанное технологии СОМ и CORBA по-прежнему широко используются. Конечно, у них есть свои недостатки, но они отнюдь не потеряли еще своей работоспособности. В некоторых отношениях они не способны конкурировать с web-службами, но могут стать идеальным инструментом для реализации распределенных компонентов в гетерогенной сетевой среде.