пятница, 8 июня 2007 г.

SOA? CORBA?

Автор считает, что SOA практически то же самое, что и CORBA, только основана на технологиях SOAP/XML/HTTP и предлагает бороться со сложностью, возникающей при использовании SOA различными методами. Видимо все рассуждения о сложности вызваны непониманием различия между SOA и CORBA. CORBA - Common Object Request Broker. Т.е. это чисто объектная технология, которая позволяет создавать брокеров, через которые происходит вызов методов. И тут есть некоторые недостатки. Первое, что приходит в голову - асинхронность сообщений. Т.е. вызов метода удаленного объекта может не дать результата.
SOA - Service Oriented Architecture. Т.е. технология, ориентированная на сервисы, точнее, на web-сервисы. Если использовать web-сервисы так, как их сейчас используют, то выигрыша перед CORB'ой практически не будет. Сейчас очень распространено оборачивать какой-нибудь класс в web-сервис с помощью аннотаций. Это называется rpc. На же деле, то что web-сервисы используются так сейчас не значит, что они для этого и задумывались. Совсем наоборот. Просто инерция общественного мышления, привыкшего к CORBA, RMI, RPC, .NET remoting и т.д. "Правильный" web-сервис - web-сервис вида document/literal. Это чисто передача сообщений. Структура сообщения - не сериализованный объект, а произвольный XML-документ. Если посмотреть на web-сервисы от Google, то там как раз передается нечто более похожее на сообщение, чем на сериализованный объект.
Следует посмотреть видео про web-сервисы от одного из разработчиков Axis. Он об этом говорит и в Axis они стараются как раз упростить создание и использование web-сервисов в стиле document/literal.
Вообще в "мире распределенных вычислений" есть два подхода - messaging и rpc. Каждый в свое время брал верх над другим и каждый раз казалось, что победитель решит все проблемы. Но, по-видимому, не решает, раз появляются реинкарнации другого метода.

воскресенье, 3 июня 2007 г.

GIT