2009-08-20 65 views
1

天儿真好通信,PHP和Java服务器

我有一个项目,我需要建立一个“活”的Java应用程序(服务器)保存有关的域对象(这是一个私人拍卖系统)的状态。 Java服务器将与持有主要后端业务功能的PHP类进行通信。 PHP类将是无状态的。

我需要将域对象传递给java服务器(来自PHP),以便可以随时间管理其状态。通过调用Web服务器上的PHP类,需要将域对象的更改保存回数据存储区。

我想使用XML-RPC类(例如Zend_Xmlrpc_Server)封装我的PHP类,因为它们将是无状态的。如果/当Java应用程序需要写入数据存储区(通过调用正确的PHP类方法),则使用XML-RPC客户端库类即可。

但是,我不确定如何在Java应用程序中公开功能,以便通过PHP方法调用来访问它。任何人都可以告诉我最简单的方法来做到这一点在Java中......我只是写一个多线程的应用程序,并公开一个套接字?我正在使用正确的库类来构造Java应用程序。

干杯, 保罗

回答

4

暴露你的服务器端Java代码作为Web服务。

有很多方法可以在Java中做到这一点,但有两个想到的是EJB3 WS AnnotationsApache Axis。另外,无论您选择何种技术,都要确保您将其视为传输并将实际处理逻辑与其分开。

+1

我第二种方法。您不希望将系统的这两个部分和Web服务方法(或基于消息的REST,... - 列表是无止境的)紧密结合在一起,这使您可以在这两个部分之间签订明确的协议。 Apache也有CXF作为Axis的替代品。 – SteveD 2009-08-20 09:05:34

+0

谢谢,但我的后端java应用程序需要存储状态 - 所以需要随时在内存中运行。这些方法是否与此兼容? 干杯,保罗。 – 2009-08-20 09:38:28

+0

就像我在运输概念中所说的那样,一定要保持它的独立性,然后剩下的就是一个Java服务器,它肯定会允许你保持状态以这种或那种方式存储它最强健和最直接的方式在数据库中。 – 2009-08-20 09:49:11

0

您是否已经试用过PHP Java Bridge工具?

+0

谢谢,我会看看。 – 2009-08-20 09:39:11