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

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

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

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

Edit

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

Изменить 2

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

Изменить 3

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

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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