我们正在设计两个不同的系统,可以通过下面的典型例子来模拟。
Web #1 -课程目录(允许更新/填充课程目录)
Web #2 -学生目录(处理学生注册新课程,查看他们的成绩单等)
需要在这两个系统之间传递的数据(将有更多的呼叫和东西需要来回传递,但这给出了这样的想法:这是一个双向的问答流程):
从阅读上看,我们的选择似乎是:
你会用哪种方式把它切成罐子/战争/耳朵?
发布于 2012-11-06 09:07:47
这最初是一个评论,但实际上太长了。
如果您只得到简单的命令式服务(设置它,这样做,这有效吗?),那么您可以使用基于AXIS2 2/SOAP的web服务解决方案。(你可能不需要整个SpringWS的膨胀)。如果应用程序的逻辑不是太扭曲,我会遵循接吻原则。
我不知道您的系统场景,但是如果您使用的是完全灵活的RDBMS,那么数据库很可能驻留在它自己的机器上,因此有不同的池连接到它,这并不是什么负担。(如果您在每个AS上使用本地db,那么以后可能会遇到一些可伸缩性问题)。
在现代Java应用服务器中,您实际上可以使用一个服务器的连接池(通过jnp:// urls),这只是JNDI查找的问题。
如果db引擎支持它,oracle一样的db链接也是在应用程序之间共享数据库的好方法。
您可以节省代码时间,方法是在一个简单的java项目中有一个业务/数据层,其中包含所有ORM内容,并在两个web项目之间共享,因此业务逻辑的最终变化将反映到这两个应用程序中。
您还可以尝试混合方式(简单命令式Web服务和数据库共享),这实际上取决于两个应用程序之间交换的消息。您可以提供一层web服务API (基于SOAP或基于jsonp ),但考虑到web服务本身的执行时间(使用耗时的ws并不好)。
Web服务和EJB很好,可能可以满足您的需要,真正的问题是:您真的需要它们吗?最近我看到了很多从完全休息开始的项目,在很多情况下就像用火箭筒杀死苍蝇一样。
如果需求很简单,那么保持简单。
https://stackoverflow.com/questions/13233855
复制相似问题