首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP应用程序中使用Drools?

如何在PHP应用程序中使用Drools?
EN

Stack Overflow用户
提问于 2011-10-26 07:53:33
回答 3查看 4K关注 0票数 3

一方面,我有一个我的公司选择采用的PHP应用程序。我们已经为Java应用程序实现了一个规则引擎(Drools)。一切都通过SOAP消息传递的中间件平台运行。我知道我们将不得不为我们的PHP应用程序编写一系列自定义类,以处理可以通过规则引擎处理的情况。

如何将Drools与我们的PHP应用程序集成?我是否应该继续使用SOAP消息传递,从PHP应用程序通过ESB到规则引擎,然后再返回?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-03 23:39:14

尽量不要在已经很复杂的系统中添加更多的移动部件。我建议您听从直觉,通过SOAP将要处理的数据发送到Java应用程序。这样,您就可以在一个区域中整合业务逻辑,并在多个地方重用它。这确实是分布式系统的强大之处。

票数 6
EN

Stack Overflow用户

发布于 2011-11-02 23:48:33

您可以使用Java Native Interface (JNI)从PHP调用Java部件。Java部分将有一个公共接口,该接口接收来自PHP的调用,通过Drools处理信息,然后将anszer返回给PHP。通过这样做,您不需要修改当前的Java应用程序,只需要从PHP提供一个入口点。

从简单开始!只需发送一些原始类型(数字)并检索它们。然后,字符串等等,最后传递几个参数和复杂的对象。

有一个项目可以帮助搭建PHP语言和Java语言之间的桥梁:http://php-java-bridge.sourceforge.net/pjb/

PHP文档谈到了对Java的本机调用:http://www.php.net/manual/en/book.java.php

票数 2
EN

Stack Overflow用户

发布于 2012-09-12 05:26:38

由于ESB已经就位,而且您已经打算使用SOAP来解决语言障碍,因此您只需通过ESB即可。

当已经存在ESB,并且ESB具有可以作为端点的BPM模块时,不要耦合您的应用程序。

PHP具有用于消息传递集成的AMQP和Stomp客户端,当然,您也可以使用SOAP作为服务。

理想情况下,您的Java应用程序(如果当前耦合到规则引擎)也将通过ESB使用服务来完成此任务。然后,PHP应用程序和Java将访问相同的规则引擎。规则当然是集中共享和管理的。最坏的情况是,在PHP的请求和规则引擎的响应之间可能需要一个Java组件或消息转换器。

对于复杂的ESB,如果您的公司已经有了ESB,那么组织的复杂性就需要它。使用该工具来保持系统的解耦和组件的可管理性。

有关示例,请参阅以下链接:

  • http://blogs.mulesoft.org/using-mule-with-drools-and-jbpm/
  • http://www.mulesoft.org/documentation-3.2/display/MULE3USER/BPM+Module+Reference#BPMModuleReference-Usage
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7897225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档