我读到JCA用于遗留EIS集成。这个规范适用于供应商而不是应用程序开发人员吗?我很想知道开发人员编写JCA适配器以解决技术或业务问题的用例。
答案 0 :(得分:10)
我为各种终端系统(FTP,SFTP,文件,金融系统)编写了JCA连接器。
这主要是在投资银行部门,我需要将交易和/或静态数据发送到银行内外的各种系统。从RESTFul JSON / XML Web服务到大型机的套接字调用的任何内容都可以参与业务事务。
所以JCA真的很方便,因为它提供了统一的编程模型,可以由应用程序服务器管理,它们可以帮助您进行事务处理,池化等。
想要包含非常昂贵的交易的FTP文件到达(交易保证)? JCA是一种可以用来解决这个问题的技术。
< blatant plug>我将补充一点,我目前正致力于一个名为Ikasan的开源项目,该项目具有免费的JCA连接器< / blatant plug>和其他几个项目一样,例如Mule和Spring Integration。因此,普通开发人员不必经常自己编写。
答案 1 :(得分:2)
JCA代表J2EE Connector Architecture,它提供了将J2EE应用服务器上运行的组件与外部世界,许多现有异构系统连接的方法。
在J2EE中,您可以编写在Web容器中运行的表示层代码和EJB容器中的企业bean,但您的应用程序不是真空,您需要访问其他系统,您的应用程序也需要被其他系统访问。 JCA只提供访问外部系统的标准API,或者由外部系统访问。
如果您是EIS系统供应商,那没关系,因为您希望在J2EE服务器中访问系统。
如果您是应用程序开发人员,您可能还需要JCA,因为您可能需要在应用程序中访问其他没有开箱即用的JCA资源适配器的系统,只需为自己编写资源适配器。
答案 2 :(得分:2)
JCA是连接,线程,事务,安全和生命周期合同的集合。通过遵守这些合同,您可以将大部分连接管理,线程管理,事务管理,安全性,打包,部署,激活,停用等卸载到容器(符合JCA的应用程序服务器)。 Jca还提供了一个可选的cci(通用客户端接口),允许应用程序访问适配器。
现在是否编写符合jca标准的连接器实际上取决于应用程序的要求。
人们通常编写jca适配器来访问文件系统,jms,数据库,ldap,电子邮件,大型机,打包应用程序以及任何其他EIS。开发人员的特权是确定写一个是否有必要,但写一个是非常重要的。