Corba - это то же самое, что и SOA? - PullRequest
9 голосов
/ 17 марта 2010

В последнее время я много смотрю на SOA. Разве CORBA - это не то же самое, что SOA?

Ответы [ 7 ]

14 голосов
/ 20 июля 2012

В дополнение к уже упомянутому факту, SOA - это архитектура, а CORBA - конкретная реализация.

CORBA не поддерживает SOA

основное отличие состоит в том, что CORBA Объект Ориентирован или Компонент Ориентирован, а SOA Сервис Ориентирован

Основное техническое отличие (на мой взгляд) состоит в том, что в SOA вы передаете сообщения (или объекты данных), а в CORBA вы можете передавать универсальные объекты (которые могут иметь методы) поэтому, хотя вы можете реализовать SOA с помощью CORBA (ограничивая себя набором функциональных возможностей), стандартный способ использования CORBA не ориентирован на обслуживание.

6 голосов
/ 17 марта 2010

Разница между CORBA и SOA заключается в том, что CORBA - это особая технология, а SOA - это стиль архитектуры.

5 голосов
/ 17 марта 2010

SOA как концепция существует уже много лет, но только недавно была названа таковой. Можно сказать, что существует множество технологий для реализации SOA - либо полностью, либо его аспектов. Можно сказать, что CORBA является одним из них, хотя термин не существовал при создании CORBA.

CORBA, конечно, реализует значительную часть площади поверхности SOA, но я не думаю, что вы могли бы сказать, что это происходит полностью (что бы это ни значило). SOA может быть немного расплывчатым.

4 голосов
/ 17 марта 2010

Хотя не существует «официального» определения SOA, часть его состоит в том, чтобы отделить различные сервисы друг от друга. Это включает, возможно, разделение реализации (платформы и технологии), используемой в сервисе. Например, если вы предоставляете сервис через WebServices, любой клиент, будь то java / python / .Net и т. Д., Может использовать этот сервис, но использование инфраструктуры вызова RPC / удаленных процедур часто привязывает вас к конкретной платформе / реализации Заказать звонок в сервис.

Corba предлагает кое-что из того, что обещает SOA, но в лучшем случае является подмножеством того, что SOA "должен" представлять.

Основное отличие состоит в том, что SOA - это общая архитектурная концепция, а Corba - это технологическая реализация концепции RPC / Remoting.

3 голосов
/ 05 июля 2010

Не совсем. SOA - это архитектурный стиль, а CORBA - это особая технология, с помощью которой вы можете реализовать SOA.

1 голос
/ 24 июля 2017

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

Они обе технологии. Они оба дают вам квитанции и рекомендации по структурированию ваших систем и управлению сложностью. Для обеих сторон существуют инструменты, разработанные сторонними организациями для поддержки этих технологий.

Объекты в общей архитектуре ORB (CORBA) предоставляют сервисы, поэтому вы можете думать о переводе между сервис-ориентированной архитектурой (SOA) и общей архитектурой ORB. Это не одно и то же, но можно представить реализацию программной системы с одной или другой, что делает их с определенной точки зрения эквивалентными.

Это не то же самое, что и объектно-ориентированное программирование, и структурное программирование или функциональное программирование - это не одно и то же, хотя можно использовать любой из вышеупомянутых стилей программирования для реализации определенных функций.

0 голосов
/ 07 октября 2017

Они изначально различны, потому что одно зависит от технологии (CORBA), а другое - нет.

  • CORBA - это открытый стандарт, разработанный OMG (Object Management Group) для использования промежуточного программного обеспечения ORB (посредник объектных запросов) с большим акцентом на совместимость (программные платформы, аппаратные платформы и языки программирования).
  • SOA - это стиль разработки программного обеспечения, при котором услуги предоставляются другим компонентам компонентами приложения через протокол связи по сети. Основные принципы сервис-ориентированной архитектуры не зависят от поставщиков, продуктов и технологий.

У меня были те же сомнения, что и у вас, потому что определение SOA слишком широкое, и я вижу, что многие концепции CORBA могут быть естественным образом сопоставлены с терминологией SOA. Например, в CORBA клиенты (объекты) просят серверы (также объекты) выполнять некоторую работу через протокол связи по сети. Кроме того, реализации CORBA предоставляют общие услуги, такие как ведение журнала и поддержка событий. Я думаю эта ссылка суммирует отношения между CORBA и SOA:

Первая сервис-ориентированная архитектура для многих людей в прошлом была с использованием Object Request Brokers (ORB), основанных на спецификации CORBA. Спецификация CORBA отвечает за повышение осведомленности об сервис-ориентированных архитектурах.

...