我们的应用程序经常通过Web服务、MQ、JDBC、专有(直接通过套接字)和其他类型的传输与不同类型的后端连接。我们已经拥有了许多实现,让我们能够从我们的应用程序连接到这些后端,虽然所有这些实现都实现了共同的Java接口,但它们没有共享其他任何东西。
我们意识到,所有这些特定连接器实现都有重要的代码部分是通用的,我们决定通过一个通用连接器来简化未来连接器的开发。该连接器将能够将消息格式化为后端期望的格式,并使用可用的传输机制发送它们。例如,在MQ或套接字上使用固定长度的消息格式。
我们面临的一个问题是这种连接器最合适的技术。到目前为止,我们的连接器是基本的Java类,实现了共同的Java接口。由于我们通常在某个Java EE应用服务器中托管我们的应用程序,因此似乎Java连接器架构是这个软件部分最合适的技术。然而,实现符合JCA标准的连接器似乎相对复杂。选择标准JCA的明显好处是什么?这些好处是否值得额外的努力?