SOA против ESB
SOA - это набор архитектурных концепций, используемых для разработки и интеграции сервисов. Сервис - это публичный пакет функций, предлагаемых через Интернет. ESB - это часть программного обеспечения для инфраструктуры, которое обеспечивает структуру архитектуры программного обеспечения для предоставления базовых услуг для сложных архитектур. ESB может использоваться в качестве платформы, на которой реализуется SOA.
Что такое SOA?
SOA (Сервис-ориентированная архитектура) - это набор архитектурных концепций, используемых для разработки и интеграции сервисов. SOA имеет дело с распределенными вычислениями, в которых потребители используют набор взаимодействующих сервисов. Несколько потребителей могут потреблять одну услугу и наоборот. Поэтому SOA часто используется для интеграции нескольких приложений, использующих разные платформы. Для правильной работы SOA сервисы должны быть слабо связаны с операционными системами и технологиями базовых приложений. Разработчики SOA создают сервисы, используя функциональные единицы, и делают их доступными через Интернет. Веб-сервисы могут использоваться для реализации архитектуры SOA. В этом случае веб-сервисы становятся единицами функциональности SOA, доступными через Интернет. Любой может использовать веб-сервисы, не заботясь о платформах или языках программирования, используемых для их разработки. SOA напрямую основан на принципе сервис-ориентации, который говорит о сервисах с простым интерфейсом, к которым пользователи могут получить независимый доступ, не беспокоясь о фактической реализации сервиса на платформе..
Что такое ESB?
ESB (Enterprise Service Bus) - это часть программного обеспечения для инфраструктуры, которое обеспечивает конструкцию программной архитектуры для предоставления базовых услуг для сложных архитектур. Но есть много споров о том, называть ли ESB архитектурным стилем, программным продуктом или даже группой продуктов. Он предоставляет услуги через управляемый событиями и основанный на стандартах механизм обмена сообщениями (который фактически является служебной шиной). Поверх этого механизма обмена сообщениями предусмотрен уровень абстракции, позволяющий архитекторам использовать средства, предлагаемые шиной, без написания какого-либо реального кода. ESB обычно реализуется через стандартную инфраструктуру промежуточного программного обеспечения.
Использование термина «шина» в ESB связано с тем, что ESB обеспечивает функцию, очень похожую на физическую компьютерную шину, но на гораздо более высоком уровне абстракции. Одним из основных преимуществ наличия ESB является возможность уменьшить количество точек контакта; таким образом, облегчая адаптацию к изменениям. ESB может использоваться в качестве платформы, на которой реализуется SOA. ESB может привнести в SOA понятия трансформации / маршрутизации (связанные с потоком). Кроме того, доказывая абстракцию для конечных точек (в SOA), ESB способствует слабой связи между сервисами.
В чем разница между SOA и ESB?
Есть некоторые ключевые различия между SOA и ESB. SOA - это архитектурная модель для реализации слабосвязанных приложений на основе сервисов. ESB - это часть программного обеспечения для инфраструктуры, которое помогает разработчикам разрабатывать сервисы и обмениваться данными между сервисами через подходящие API. ESB может использоваться в качестве платформы, на которой реализуется SOA. ESB - это только среда, через которую протекают сервисы. ESB предоставляет средства для создания и развертывания сервисов, которые в свою очередь реализуют SOA.