Разница между SOA и ESB
Я запутался в этих терминах веб-службы SOA, ESB.
кто-нибудь, пожалуйста, объясните.
5 ответов
SOA-это архитектурный подход, в котором вы подвергаете и инкапсулируете "услуги" грубым способом. В нем не предписывается никакого технического механизма или осуществления. SOA больше связано с взаимодействием границ / интеграции между системами. Поэтому, если система A предоставляет службы с использованием SOA, я могу взаимодействовать с этими службами из системы B.
ESB, с другой стороны, является технической реализацией, которая помогает в предоставлении SOA.
SOA
is service oriented architecture
. В SOA services are decoupled
и могут взаимодействовать друг с другом независимо от типа сервиса. Значение конкретной службы может быть специфичным для платформы или протокола, но SOA позволяет таким службам взаимодействовать и обмениваться данными. Эти данные, по существу, обмениваются через ESB
(Enterprise service bus
) который формирует костяк любой архитектуры SOA.
позвольте мне пойти вперед и дать конкретный пример, чтобы помочь лучше понять это. Один из способов ESB может быть реализован нами с помощью JMS servers
и используя XML/XSD
как средство передачи данных между различными службами. Таким образом, различные службы будут регистрироваться или подключаться к этим серверам JMS и обмениваться данными с использованием формата XML. Обычно SOA suite поставляется в комплекте с так называемым adapters
, которые помогают преобразовывать сообщения в формат и из формата, понимаемого службой и XML.
например рассмотрим систему торговли акциями. Приходят сообщения с фондовой биржи FIX
протокол. Возможно, вы создадите приложение, которое ожидает JSON
. К сделать эти обе системы работают вы будете использовать SOA - FIX адаптер преобразует сообщение FIX в XML, то этот xml будет передан в адаптер JSON через ESB, который затем преобразуется в JSON, как требуется вашей конечной точки системы.
наконец, надеясь, что следующая картина делает это очень ясно.
SOA: - в основном в SOA, на одной стороне у нас есть производитель / поставщик, а на другой стороне у нас есть потребитель, разделенный мостом (который является сетью), где две стороны общаются. Поэтому сосредоточьтесь на том, как две стороны взаимодействуют(производят/потребляют) услуги
ESB: - ESB является архитектурным шаблоном, который, как несколько приложений / компонентов / системы могут общаться/взаимодействовать друг с другом, следуя принципам SOA, хотя здесь нет прямого производитель-потребитель. HSo здесь мы фокусируемся на том, как несколько гетерогенных приложений будут взаимодействовать друг с другом и достигать бизнес-цели.
кроме того,ESB дает API, который может использоваться для разработки сервисов и позволяет сервисам надежно взаимодействовать друг с другом. Технически ESB-это брокер обмена сообщениями, который выполняет преобразование протоколов, преобразование формата сообщений, маршрутизацию, прием и доставку сообщений от различных связанных служб и приложений для ESB.
SOA расшифровывается как Service Oriented Architecture
и ESB расшифровывается как Enterprise Service Bus
.
Вы можете обратиться этот сайт IBM. и этой