Как использовать Drools с PHP-приложением? - PullRequest
3 голосов
/ 26 октября 2011

У меня есть приложение PHP, которое моя компания решила принять с одной стороны. Мы уже реализовали механизм правил (Drools) для нашего Java-приложения. Все работает через платформу промежуточного ПО через обмен сообщениями SOAP. Я знаю, что нам нужно будет сделать несколько пользовательских классов для нашего PHP-приложения для обработки ситуаций, которые могут быть обработаны с помощью механизма правил.

Как мне интегрировать Drools с нашим PHP-приложением? Должен ли я просто использовать SOAP-обмен сообщениями из приложения PHP через ESB в механизм правил и обратно?

Ответы [ 3 ]

5 голосов
/ 03 ноября 2011

Старайтесь не добавлять больше движущихся частей в уже сложную систему.Я бы порекомендовал вам следовать своему инстинкту и отправлять данные для обработки в приложение Java через SOAP.Таким образом, вы можете объединить свою бизнес-логику в одной области и повторно использовать ее в нескольких местах.Это действительно сила распределенных систем.

2 голосов
/ 02 ноября 2011

Вы можете вызывать Java-часть с помощью Java Native Interface (JNI) из PHP.Часть Java будет иметь открытый интерфейс, который принимает вызовы от PHP, обрабатывает информацию через Drools, а затем возвращает ответчик в PHP.Таким образом, вам не нужно изменять текущее Java-приложение, вы просто должны указать точку входа из PHP.

Начните с простого!Просто отправив несколько примитивных типов (чисел) и извлекая их.Затем Strings и т. Д. И, наконец, передача нескольких параметров и сложных объектов.

Существует проект, который помогает установить мост между PHP и Java: http://php -java-bridge.sourceforge.net / pjb /

В документации PHP говорится о собственных вызовах Java: http://www.php.net/manual/en/book.java.php

1 голос
/ 12 сентября 2012

Если ESB уже установлен и тот факт, что вы уже собираетесь использовать SOAP для языковых барьеров, вам просто нужно пройти через ESB.

Не объединяйте свое приложение, когда ESB уже есть.и ESB имеют модули BPM, которые могут быть конечными точками.

В PHP есть клиенты AMQP и Stomp для интеграции обмена сообщениями, или вы, конечно, можете использовать SOAP для службы.

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

Что касается сложности ESB, то если у вашей компании он уже есть, то это сложность организации.требуется это.Используйте этот инструмент, чтобы не связывать системы и управлять компонентами.

См. Ссылки для примеров:

...