2011-01-12 5 views

ответ

7

Они не так популярны сегодня, как современный Java или .Net архитектуры, как правило, делают этот тип вещи, используя HTTP на основе веб-сервисов.

Однако многие системы используют эти архитектуры, и они более эффективны, чем архитектура веб-сервисов, поскольку они обычно используют протоколы связи на основе UDP. Несмотря на то, что эти архитектуры все еще используются сегодня, они в основном отнесены к традиционным и нишевым рыночным системам на практике.

В некоторых случаях RMI используется за кулисами в серверах приложений Java. Например, контейнер контейнера может быть перемещен на отдельный сервер с сервера веб-приложений. Серверы приложений Java делают это достаточно прозрачным - контейнер контейнера может находиться на одном сервере через локальные вызовы или на другом сервере через RMI. При правильной архитектуре приложения это просто элемент конфигурации, и сервер приложений может выполнять все удаленные операции за кулисами.

DCOM используется аналогично приложениям COM +. Однако COM + в значительной степени является старой архитектурой Windows. Он был популярен среди VB6, но это почти не рекомендуется.

CORBA имеет заслуженную репутацию за сложность из-за своих конструктивных корней. Однако он появляется во многих неожиданных местах. Например, в более ранних версиях GNOME использовалась модель компонента на основе CORBA под названием Bonobo, но в основном она была заменена D-BUS в текущих версиях. Помимо устаревшей системной инфраструктуры он имеет несколько нишевых рынков (в основном приложений с низкой задержкой), которые извлекают выгоду из его характеристик, таких как транспортный механизм на основе UDP.

+3

AFAIK CORBA IIOP использует TCP, а не UDP. –

+0

Многие реализации CORBA позволяют вам заменять транспорт из TCP по умолчанию. Это позволяет использовать UDP, общую память или какой-либо другой механизм, специфичный для ОС, в качестве основного транспорта. Одна из причин, по которой CORBA по-прежнему используется сегодня, заключается в том, что она имеет как объектную модель, так и двоичный сквозной транспорт, позволяя эффективность, которую вы не получаете с помощью веб-службы. –

+0

@Brian - Было бы интересно, какие * реализации CORBA позволяют вам переключать транспорт из TCP. Фактически, я только что добавил вопрос относительно этого: http://stackoverflow.com/questions/4886243/what-transport-layers-other-than-tcp-are-supported-by-existing-corba-implementati –

1

Java EE EJBs до сих пор используют RMI и CORBA в качестве проводного протокола.

Возможно, это одна из причин, почему HTTP веб-служб, будь они основаны на RPC-XML, SOAP или REST, являются асцендент. Простые и открытые обычно выигрывают.