2012-11-07 30 views
4

我有一个用PHP编写的网站,网站接受用不同编程语言(Java和C#)编写的代码片段,并执行一些静态分析并将结果返回给用户。我已经分别为Java和C#编写了不同的分析器。 Java分析器是用Java编写的; C#分析器是用C#编写的。PHP网站如何高效地与Java和C#程序进行通信

我的问题是PHP网站如何以高效的方式与用不同语言编写的分析器进行通信。也就是说:当PHP网站收到一些Java代码时,它可以调用Java分析器等。我当然可以使用PHP的exec来启动分析器进程,但这太慢了。

+1

能承载PHP网页服务器支持Java Server Pages和ASP.Net页面? – mellamokb

+0

如果我想支持其他语言,此方案不起作用。 – jasonweiyi

+0

你可以给一些时间的例子吗? *太慢*是什么意思?分析仪直接从命令行运行需要多长时间?从PHP页面运行?如果你可以通过PHP exec来消除所有的管理时间,那么它会“足够快”吗? – mellamokb

回答

1

我会使用Web服务,因为他们易于开发,可扩展,可扩展,平台独立,语言无关,并且支持标准的http协议;不确定您是否会使用SOA提供的所有优势,并且这可能不是最好的方法,但我会为此付出努力。

希望它有帮助。

Web Service

Web Services Tutorial

+0

如何托管这些服务?一个用于Java,一个用于C#?有没有可以用不同语言托管服务的服务器?我是网络服务新手,可能这些问题很幼稚。 – jasonweiyi

+0

@jasonweiyi你可以在IIS中托管WCF。不知道java(apache?) – Bahamut

+0

的确,@Bahamut并不重要,你可以在任何地方托管它们,因为Web Service可以与标准的http协议协同工作,甚至可以将它们托管在不同的服务器上,在不同的国家和地区仍然工作。我不知道任何服务器可以托管不同的应用程序,有一些服务,如heroku,支持不同的语言,但不是C# –

0

对于C#,我将它作为Windows服务托管,然后设置一个为REST配置的自托管WCF服务。然后,网络服务器(PHP)将通信使用REST

我想你可以做的Java程序类似的东西,但我不知道如何运行它作为一个服务

+0

我想过运行一个java web服务器,但这意味着对于我将来添加的每种语言,我必须为它添加一个单独的服务器。 – jasonweiyi

+0

是的,甚至两个都太多了。将Java代码移植到C#,然后创建一个为该站点提供所有逻辑的.NET后端。 – Anders

相关问题