PHP и ESB (с Mule) (ESB: Enterprise Service Bus)

Где, когда и почему вы использовали ESB в PHP-проекте?

Где, когда и почему вы считаете, что имеет смысл использовать ESB в PHP-проекте?

Предоставляют ли ESB (и ESB-посредники, такие как Mule) какие-либо возможности PHP и собственные LAMP-технологии отсутствуют?

редактировать

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

Изменить 2

относительно ответа Houcem на мой комментарий к его сообщению … что было бы родным LAMP-ответом ESB / Mule?

Редактировать 3

Похоже, что Tuxedo может быть больше альтернативой PHP для Mule / ESB. Кто-нибудь получил опыт использования этого инструмента?

ESB можно использовать по-разному:

  • Предоставление асинхронной обработки: Пример. Если у вас есть веб-сайт, который много пишет по электронной почте .. и отправка электронной почты занимает много времени, что может заблокировать выполнение вашей страницы: вы можете использовать ESB для отправки данных электронной почты в Mule и направьте его на исходящий канал электронной почты, таким образом вы можете сказать, что вы внедрили очередь почтовых сообщений. Другая форма асинхронной обработки: использование mule для выполнения сценариев php (с использованием командной строки) не блокирующим образом.

  • Интеграция с java-приложениями: вы можете отправлять сообщения в mule с помощью php и реализовывать некоторый java-бизнес с использованием mule API в java, php-сообщения будут получены вашими бизнес-компонентами java. Это используется на больших веб-сайтах, которые выполняют много сложной обработки и нуждаются в гибком и мощном языке, таком как java.

Что вам нужно знать: ESB следует использовать как шину, что означает сбор данных из гетерогенных сред в стандартной форме (сообщения Mule) .. выполнять бизнес-логику, а затем выводить данные (после маршрутизации) в другую среду

В мире PHP нет встроенной интеграции php с Mule. Для этого вы должны использовать веб-службы (SOAP)

ESB является общим решением проблемы масштабируемости; проблема в управлении накладными расходами, стоимости и сложности большого количества интерфейсов приложений. Я написал короткую статью об обосновании решений ESB / EAI по адресу http://psicom.com.au/solutions/eai

По общему признанию, большинство сайтов PHP имеют небольшие масштабы и, как правило, трудно оправдать административные и технологические накладные расходы ESB. Но теперь вполне возможно удовлетворить все потребности приложений в бизнесе с помощью продуктов OSS PHP, а также усиливается давление со стороны организаций, поэтому я ожидаю, что будет увеличиваться количество магазинов PHP, которые начнут ощущать растущие боли о котором я писал. Это может заставить их переоценить проблемы интеграции приложений, и ESB является хорошим решением этой проблемы.

Насколько я знаю, в PHP нет продуктов ESB, и я не ожидаю увидеть это в ближайшем будущем. Но FWIW, многие продукты ESB предоставляют привязки для PHP и других платформ OSS, поэтому платформа, на которой работает ESB, не имеет решающего значения.

ESB (Enterprise Service Bus) является своего рода основой для интеграции нескольких гетерогенных приложений предприятия, которые могут исходить от разных поставщиков, технологий и даже быть избыточными.

Тот факт, что он больше связан с миром Java, чем PHP или любым другим языком, состоит в том, что обычно используются информационные системы крупных компаний:

  • Смешайте инструменты разработки с открытым исходным кодом и программные редакторы (включая ERP). Разработка часто выполняется с использованием Java EE, чтобы полагаться на стеки Java EE (и ее поставщики IBM, Oracle, …)
  • Полная Microsoft (нет необходимости в ESB, Microsoft предоставляет инструменты EAI / ESB)

PHP больше всего используется для веб-приложений (даже для крупных компаний, но ориентированных на веб-сайты).

ESB является большой стоимостью и полезен только при увеличении количества взаимосвязанных приложений. Если у вас всего несколько подключений (между Java, PHP и т. Д.), Вы можете обрабатывать его на уровне сети, используя DNS и на уровне приложений, используя ключи конфигурации, а также выполнять обмен протоколами и интеграцию малого бизнеса для каждого соединения с точкой.

Потенциальным прецедентом для приложения PHP будет интернет-сайт туристического агентства, предлагающего несколько компаний полеты / поезде / гостиницам. И даже в таком случае не будет безумным разработать полную систему кросс-запросов, поскольку она является основой бизнеса для такого сайта / компании.

Я бы рекомендовал Windows Azure Service Bus, который предоставляет PHP SDK здесь https://github.com/WindowsAzure/azure-sdk-for-php

сервисная шина велик, но поддерживать ее не стоит. Служебная шина Windows Azure решила все ваши служебные накладные расходы, и она совместима с PHP. Вы даже можете общаться с приложениями, написанными на Java, C #, VS C ++ из PHP легко.