`
aoingl
  • 浏览: 86481 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JCA Overview

阅读更多

   Java Connector Architecture (JCA) 作为 J2EE 规范里的一个(JSR 322), 不像其他规范如 Servlet, EJB3, Web Service 那么醒目, 但确是非常重要的一个。 它定义了一个标准规范, 使得 Application Server 轻松的与各种各样的 Enterprise Information System (EIS) 进行交互。

 

  我们首先看下 JCA 的一些概念:

  • Enterprise Information System (EIS)
    • 企业信息系统。 指 JCA 用来连接的另一端。 EIS 一般可为 ERP 系统, Database, Transaction Process(TP)系统。 基本就是指能让 client 通过 local 或者 remote 的接口调用暴露的服务的系统。
  • Application Component
    •  一般为 Web 程序, 如 Servlet, JSP, EJB 等。 它通过 JNDI 的方式获取 JCA 暴露出来的引用, 然后调用其业务方法。
  • Application Server
    • 指 J2EE application server。 它是 JCA 组件的运行时环境。 另外也包含 Application Componnet 运行时的容器, 如 Servlet 容器, EJB 容器。
  • Resource Adapter
    • JCA 的核心组件。 表现为一个 .rar 文件, 一般为 EIS 的提供商提供。 如果你的系统需要与别的系统做集成, 你有很可能就需要编写 Resource Adapater。 
    • 它部署在 Java EE  server 中, 与 Java EE server 运行在同一个 JVM 下。它按照一定的规范负责 EIS 和 Java EE server 的交互。

  那么什么是 Java Connector Architecture 呢? 它是集成 Java EE server 和 EIS 的一种标准架构,用来负责 Java EE server 和 EIS 的交互。 它的实现分两部分, 一部分是 EIS vendor 提供的 Resource Adapter 实现(表现为一个 .rar 文件),另一部分是 Java EE server 里的实现,使得其允许 Resource Adapter 的载入。 



 
  上面这副图描述了 JCA 的架构。 Application Component 通过 Container-Component Contract 部署并运行在 Application Server 里, 如 Servlet 运行在 Servlet 容器, EJB 运行在 EJB 容器等。 Application Component 通过 Client API 调用 Resource Adapter, Client API 可以是 JCA 的 common client api (CCI), 或者是自定义的接口。 Resource Adapter 负责和 EIS 的物理连接, 并且通过 System Contracts 部署和运行在 Application Server 里。 System Contracts 包含如 Connection Management Contract, Transaction Managedment Contract, Security Contract, Work Management 等, 部分在 Application Server 实现, 部分在 Resource Adapter 里实现。


   Java EE server 和 EIS 的交互有两种,一种叫 Outbound, 指由 application 通过 Java EE Server 发起的请求,通过 Resource Adapter 调用 EIS 服务; 另一种叫 Inbound, 指由 EIS 发出的请求, 通过 Resource Adapter 触发 Application 方法,通常为 Message Driven Bean。

  我们先看下 Outbound 的大体结构:

  


 

 

  Application 通过 JNDI 获取 ConnectionFactory 的引用, 然后创建 Connection, Connection 是 EIS 的 Connection Handler, 定义了 EIS specfic 方法。 ConnectionFactory 和 Connection 可以是 CCI 的接口,也可以是自定义的接口。如果是自定义的接口, ConnectionFactory 需要继承 java.io.Serializable 和 javax.resource.Referenceable 接口,以便注册进 JNDI。 ManagedConnectionFactory 用来创建 ManagedConnection, ManagedConnection 代表和 EIS 的物理连接,同时在连接关闭或者出现错误的时候通过 Connection Event Listener 通知 ConnectionManager 。 ConnectionManager 在 Application Server 里实现, 用来 allocate connection, 同时处理所有 ManagedConnection 的连接池,事务和安全。 ConnectionEventListener 使得 Connection Manager 知道每个 ManagedConnection 的状态。

 

 

 

再看下 Inbound 的大体结构:

 


 



  ActivationSpec 是一个 JavaBean, 包含相应 EIS 的配置信息。ResourceAdapter 提供 inbound 交互的激活点, ResourceAdapter.endpointActivation 方法在一个 MessageEndpoint 被激活时调用, MessageEndPoint 在 application server 端实现。典型实现是 Message driven bean(MDB), 一个 MDB 被部署的时候, 会调用到 ResourceAdapter.endpointActivation 方法。 MessageEndpointFactory 用来创建 MessageEndpoint。 Resource Adapter Specific 的代码用来处理和 EIS 的交互, 并且通过 MessageEndpointFactory 发送消息。
  • 大小: 28.9 KB
  • 大小: 28.5 KB
  • 大小: 26.5 KB
分享到:
评论

相关推荐

    基于微信小程序的在线办公小程序答辩PPT.pptx

    基于微信小程序的在线办公小程序答辩PPT.pptx

    机器学习(预测模型):2000年至2015年期间193个国家的预期寿命和相关健康因素的数据

    这个数据集来自世界卫生组织(WHO),包含了2000年至2015年期间193个国家的预期寿命和相关健康因素的数据。它提供了一个全面的视角,用于分析影响全球人口预期寿命的多种因素。数据集涵盖了从婴儿死亡率、GDP、BMI到免疫接种覆盖率等多个维度,为研究者提供了丰富的信息来探索和预测预期寿命。 该数据集的特点在于其跨国家的比较性,使得研究者能够识别出不同国家之间预期寿命的差异,并分析这些差异背后的原因。数据集包含22个特征列和2938行数据,涉及的变量被分为几个大类:免疫相关因素、死亡因素、经济因素和社会因素。这些数据不仅有助于了解全球健康趋势,还可以辅助制定公共卫生政策和社会福利计划。 数据集的处理包括对缺失值的处理、数据类型转换以及去重等步骤,以确保数据的准确性和可靠性。研究者可以使用这个数据集来探索如教育、健康习惯、生活方式等因素如何影响人们的寿命,以及不同国家的经济发展水平如何与预期寿命相关联。此外,数据集还可以用于预测模型的构建,通过回归分析等统计方法来预测预期寿命。 总的来说,这个数据集是研究全球健康和预期寿命变化的宝贵资源,它不仅提供了历史数据,还为未来的研究和政策制

    基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx

    基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx

    基于微信小程序的电影交流平台答辩PPT.pptx

    基于微信小程序的电影交流平台答辩PPT.pptx

    计算机字符编码GB18030.PDF

    计算机字符编码GB18030

    Hive 操作基础(进阶版)多级分区数据文件2

    Hive 操作基础(进阶版)多级分区数据文件2

    基于java的贫困生管理系统答辩PPT.pptx

    基于java的贫困生管理系统答辩PPT.pptx

    pandas-2.1.4-cp312-cp312-win_amd64.zip

    pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。

    TA_Lib轮子无需编译-TA_Lib-0.4.18-cp38-cp38-win32.whl.zip

    TA_lib库(whl轮子),直接pip install安装即可,下载即用,非常方便,各个python版本对应的都有。 使用方法: 1、下载下来解压; 2、确保有python环境,命令行进入终端,cd到whl存放的目录,直接输入pip install TA_lib-xxxx.whl就可以安装,等待安装成功,即可使用! 优点:无需C++环境编译,下载即用,方便

    课设毕设基于SpringBoot+Vue的瑜伽体验课预约系统源码可运行.zip

    本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac

    tornado-6.2b2.tar.gz

    tornado-6.2b2.tar.gz

    javawe论坛项目 原生技术

    javawe论坛项目 原生技术

    tornado-6.2b1-cp310-cp310-macosx_10_9_universal2.whl

    tornado-6.2b1-cp310-cp310-macosx_10_9_universal2.whl

    基于司机信用评价的货运管理系统(springboot+vue+mysql+说明文档).zip

    随着物流行业的快速发展,货运管理变得愈发重要。为了提高货运效率,确保货物安全,我们开发了这款基于司机信用评价的货运管理系统。 该系统主要包含了货物信息管理、订单评价管理、货主管理等多个功能模块。在货物信息管理模块中,用户可以查看和管理货物的详细信息,包括货物名称、规格、装车状态、运输状态以及卸货状态等,方便用户随时掌握货物的动态。 订单评价管理模块是该系统的核心之一,它允许货主对司机的服务进行评价,系统会根据评价数据对司机进行信用评分。这一功能不仅有助于提升司机的服务质量,还能为货主提供更加可靠的货运选择。 此外,货主管理模块提供了货主信息的录入、修改和查询等功能,方便用户管理自己的货主资料。系统界面简洁明了,以蓝色为主色调,设计现代且专业,为用户提供了良好的使用体验。 通过该系统,用户可以轻松实现货物信息的查看和管理,对司机的服务进行评价,提高货运效率和服务质量。同时,系统也为司机提供了一个展示自我、提升信用的平台,有助于推动物流行业的健康发展。

    毕业生交流学习平台 SSM毕业设计 附带论文.zip

    毕业生交流学习平台 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    基于java的广场舞团答辩PPT.pptx

    基于java的广场舞团答辩PPT.pptx

    基于java的基于SSM的校园音乐平台答辩PPT.pptx

    基于java的基于SSM的校园音乐平台答辩PPT.pptx

    安装包JIRATimeSLA

    Jira插件安装包

    【java毕业设计】基于图像识别与分类的中国蛇类识别系统源码(springboot+vue+mysql+说明文档).zip

    项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse

    tornado-6.2b2-cp37-abi3-win_amd64.whl

    tornado-6.2b2-cp37-abi3-win_amd64.whl

Global site tag (gtag.js) - Google Analytics