2012-07-15 13 views
0

architecture that I am planning使用哪个公共通信协议与在网络的一个java层连通architecuture

我计划来设计这样的体系结构为我的网站如上图的上方。我正在构建一个Java核心平台,用于与DB和其他高级处理任务进行通信,并且模块可以通过定义的接口与核心进行连接。

模块可像什么,前端网站,电子邮箱,联系游戏机等,并可以像PHP,Java的,在轨道上的红宝石等任何技术构建

现在告诉我,通信协议,其应我用于模块和核心之间的通信。协议必须是大多数语言能够理解的内容,并且可以通过双向沟通方式轻松处理。

如果有人发现这样的架构存在任何缺陷,那么请提出一个更好的扩展性和灵活性的更好的建议。

+6

HTTP API,也许REST,也许JSON。 – Thilo 2012-07-15 09:39:11

+0

@Thilo在这样的设计中最好使用它们吗?在处理要求和复杂性方面? – Abhi 2012-07-15 12:59:58

回答

3

我会用HTTP,露出的核心,如蒂洛提出了REST API。

复杂性在于传统Web服务的RPC(过程模型)和资源模型之间的权衡,当使用http请求时它更适合(在URI上动词GET,POST,PUT和DELETE,并补充了一些标题和身体)。

然而,这使得一个软,易于保持和便携式分配。每一个客户端模块都可以建立在完全不同的技术上,这使您可以使用“最好的工具”。

且不说HTTP优点用于高速缓存,重写,负载平衡,SSL,等等

+0

HTTP在所有平台和语言上都有很好的支持。 – Thilo 2012-07-16 00:09:01

+0

@ user1526281和哪个休息API你认为最适合在这个环境在Java方面。因为我对它很陌生,所以我必须先通过它,所以告诉我该走哪条路。 – Abhi 2012-07-16 15:49:17

+0

我不知道Java平台上的选项。我在.Net中使用OpenRasta或Nancy,并且我在Ruby平台上了解Sinatra(Nancy基于此平台)。 – dmyoko 2012-07-16 17:24:12

3

所以基本上这是一个类似SOA的架构。 JavaEE和EJB(3+)或Spring框架立刻浮现在脑海中。

组件(您的“模块”)通常通过SOAP服务与前端,后端和组合服务之间的可选企业服务总线(ESB)耦合。

这是否是你的情况下,或者干脆超大......没有人很好的搭配,但你可以说...

+0

是的,我正在寻找一个SOA,你能澄清一下你是怎么意思来实现这一点,尤其是我没有得到你在第二段中所说的话吗?或者给我一些这方面的知识来源? – Abhi 2012-07-15 12:40:00