CORBA ПРОТИВ веб-сервисов

#java #web-services #corba

#java #веб-сервисы #corba

Вопрос:

Почему веб-сервисы воспользовались преимуществами CORBA?

Комментарии:

1. Поиск в Google «CORBA против веб-сервисов» выдает целую кучу полезных результатов.

Ответ №1:

Я подозреваю, что все началось с проблем с брандмауэром: запросы CORBA являются двоичными, для нормальной работы требуется несколько случайных портов, поэтому запросы и ответы CORBA раньше блокировались брандмауэрами, когда они впервые появились. HTTP и FTP также используют фантомные порты, но эти протоколы использовались гораздо шире, поэтому сразу стало очевидно, что для их разрешения должны быть настроены брандмауэры. В результате разработчики не могут полагаться на возможность подключения CORBA между сервером и ПК конечного пользователя и должны использовать более дружественный к брандмауэру подход.

Брандмауэры создают гораздо меньше проблем при обмене данными между специализированными серверами, чем при использовании отдельных сетей, фильтрации IP / MAC, специализированных брандмауэров и тому подобного. Я думаю, что CORBA, так же как и JDBC, все еще используются для обмена данными между серверами.

Также может быть фактором, что в сообщениях CORBA используются выровненные поля (для соответствия выравниваниям границ, поскольку они используются в структурах данных C / C ). Производные протоколы (такие как буферы протокола Google) не отправляют ненужные байты только для выравнивания. Следовательно, эти сообщения компактны, и эти протоколы могут быть предпочтительнее, когда требуются двоичные сообщения и быстрые предварительно сгенерированные анализаторы сообщений. Буферы протокола, которые кажутся мне довольно похожими на CORBA по дизайну (IDL-подобный компилятор, заглушки и вспомогательные устройства, двоичные сообщения, языковая совместимость), действительно далеки от упадка, будучи внутренне используемыми во многих сервисах Google.

Хотя платформа CORBA сложна, «правильно выполненный» стек веб-сервисов также не совсем тривиален, поэтому я не думаю, что сложность стандарта была проблемой. Аналогичным образом, хотя исходные документы спецификации OMG могут показаться ужасными, аналогичные спецификации SOAP / WDSL не менее сложны, вероятно, трудно документировать стандарт в удобном для чтения виде.

Протоколы CORBA не являются собственностью, они были реализованы в свободном программном обеспечении много раз, включая реализации JacORB, а также GNU / Classpath (ну, теперь OpenJDK также свободен).

Ответ №2:

Хотя изначально считалось, что CORBA предоставляет то, что веб-сервисы предоставляют сегодня, я думаю, я согласен, что, похоже, для этого приложения CORBA «проиграла».

Однако, как технология RPC, которая поддерживается на широком спектре платформ (встроенных), хорошо работает и тестируется на родном языке (C ) и может быть использована для реализации довольно производительных сценариев передачи данных, я действительно думаю, что CORBA по-прежнему занимает важную нишу. Это просто не имеет ничего общего с «Интернетом».

Чтобы напрямую обратиться к вопросу: мне нравится думать, что CORBA «потеряна», потому что, в отличие от веб-сервисов, она не нацелена на Веб, как она используется сегодня — Как в: туннелирование всего через порт 80, запуск приложений на 60% в браузере и на 40% на веб-сервере и т.д.

Ответ №3:

Я не думаю, что будет преувеличением сказать, что веб-сервисы победили на рынке. CORBA — это в лучшем случае ниша, и притом небольшая.

Веб-сервисы:

  • Проще, хотя WS-* может добавить веса и сложности
  • Используйте HTTP как проводной протокол вместо проприетарного
  • Может туннелировать через порт 80 в брандмауэре
  • Сервисы не такие полные

CORBA:

  • Для работы требуется ORB
  • Собственные поставщики или с открытым исходным кодом
  • Может использовать HTTP, но также использовать проприетарные протоколы
  • Предоставлять такие сервисы, как именование, каталог, транзакция, безопасность и т.д.

Комментарии:

1. Я не думаю, что это либо / или решение между ними. Я думаю, что OP мог бы извлечь выгоду из рассмотрения множества различных вариантов промежуточного программного обеспечения, включая, но не ограничиваясь этим, REST, AMQP и множество существующих проприетарных технологий. Также «проще» субъективно. Для меня CORBA IDL может быть намного проще в работе, чем XML-схема, но это только для меня.

2. Ты все еще используешь CORBA, Брайан? Какая СФЕРА? Согласен, упрощение — это субъективная вещь.

3. Нет, я больше не использую CORBA, но я был активно вовлечен в это в течение более чем 10 лет.

Ответ №4:

CORBA проиграл в первую очередь из-за двух вещей:

1) отсутствие хороших инструментов разработки / тестирования или IDE-плагинов 2) Смотрите (1) еще раз