我们的应用程序通常通过web服务,MQ,JDBC,专有(直接通过套接字)等各类交通连接到不同类型的后端的。我们已经拥有了一批实现,让我们从我们的应用程序,这些后端连接,并同时所有这些的实现都实现了常见的Java接口,它们不共享任何东西的。

我们已经认识到,有一些是共同的所有这些特定的连接器实现的代码意义部分和我们已决定通过一个通用连接器,以简化将来的连接器的发展。该连接器将能够格式化消息,以通过后端预期的格式和使用可用的传输机制发送它们。例如,在MQ或通过套接字固定长度消息格式。

一个我们所面临的难题之一是为这种连接器的最适当的技术。到目前为止,我们的连接器都实现了常见的Java接口基本的Java类。因为我们一般承载我们在一些Java EE应用服务器的应用,似乎Java连接器架构将是此软件最合适的技术。然而,实现符合JCA连接器似乎是相对复杂的。什么是与标准去摸到好处 - ?JCA和福利做证明额外的努力

有帮助吗?

解决方案

事实上JCA的似乎最合适的技术为您服务。已经很优秀的争论已经做出,即可移植性,标准化的接口,连接池和事务的支持。而且不要忘了安全。

使用WebSphere Process Server适配器可能会暴露作为可以有很多的好处,如果这对你很重要SCA服务。

另外一些开发工具具有用于开发和测试JCA连接的广泛支持。

另一个好处是(资深)的Java EE管理员和Java EE开发人员(应该)知道标准使管理和开发应该很容易理顺。

但最后你应该找理由根据项目的范围,以实现JCA,未来的计划你必须为你的项目或者你的公司的策略中。

其他提示

简短的回答:我看到了其他技术选择JCA没有好处,我认为这是一个缺点,因为你需要在Java EE容器

长答案:

我一直怀疑这些的Java EE标准有一段时间了。我看不出一个令人信服的技术的理由来使用一个全功能的Java EE服务器了,因为有更好的开源实现了的每一个的功能提供。我已经实现不兼容性“enterprisey解决方案”移动/时被咬伤了好几次。

有关JCA的想法是现在在这里浮出水面,我推去尝试 Apache的骆驼或的弹簧一体化代替。我所有的开源实现,您可以使用随处可见。而且还有很多事情。检查组件名单。当然,也许比什么已经与JCA开发规模较小,但每一点是开源的,这一切都在一个位置。而且,我相信文档更简单,更完整。整合的冲动要求一个强大的SPI用大量开源的,活生生的例子,以同样的方式发展的,并且可以在同一个地方被发现。

我恨消极,但我不喜欢全功能的应用服务器。举例来说,我会去Tomcat和陶土的的任何一天的比其他“enterprisey”的产品,就像我会去与JCA前骆驼,直到需要JCA得到证实。我不喜欢的Java委员会的想法告诉我应该如何开发自己的应用程序,因为我不信任他们。我相信这是我的最佳利益时的软件可以在Java SE / RCP工作一样轻松地在Java EE环境或在纯Servlet容器。

我刚刚开发了GPS装置进行通信的一个专有协议入站资源适配器。这并不是说太多的麻烦,但我得到的印象是发展出站一个,可能需要更多的工作。与JCA的最糟糕的事情是缺少文档。所有的书籍和文章似乎有相同的哑例子。

我最高兴的事情是便携性。一旦你写的,你可以插上RAR(资源适配器档案)到任何应用程序服务器提供部署的应用程序与你的RA支持EIS沟通的能力的适配器。或者你可以捆绑成RAR战争/耳朵。

好处主要是针对谁愿意卖连接器专利的后端系统使用的任何应用程序服务器,谁想要能够在连接器下降,而不必担心它是否只能在WebLogic没有的Websphere客户的供应商,等。实际上,这是Java EE的一般的目的。

请注意JBoss已经具备决定把几件事情到JCA,例如JDBC连接通过JCA去了。

您未来的客户端代码将有一个标准化的接口,一些池和交易支持等,但以保持视线的大局观很重要;即好处是不会对你的目标和你的一个项目明确,但由许多应用服务器,许多后端系统,许多连接器等的软件生态系统。

听起来良好的使用用于 JBI 用结合部件容器。 讨论 VS JBI。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top