JAIN SLEE 服务创建过程 (创建一个服务)

种地  论坛元老 | 2024-10-15 20:05:08 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1714|帖子 1714|积分 5142

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
JAIN SLEE 服务创建过程 (创建一个服务)

根据 JAIN SLEE 1.1 规范,创建服务遵循特定步骤,包括定义、定制、打包和摆设服务。以下是关键部分的解释以及 XML 节点的注释阐明。

1. 服务定义

定义服务时,需要确定服务的构成部分,比方服务构建块(Service Building Blocks, SBB)以及它与外部资源的交互。

  • 服务摆设形貌符

    • 摆设形貌符是一个 XML 文件,用于定义服务的各种属性。
    • 关键元素

      • service-name, service-vendor, service-version: 唯一标识服务的名称、提供商和版本信息。
      • root-sbb: 标识服务的根 SBB,这是驱动服务逻辑的核心组件。
      • default-priority: 设置根 SBB 与 SLEE 之间的事件传递优先级。
      • address-profile-table: 定义为服务触发的地点配置文件表。


  1. <!-- 服务部署描述符:定义服务的名称、提供商和版本 -->
  2. <service-xml>
  3.     <service>
  4.         <!-- 服务的描述信息 -->
  5.         <description> FooService </description>
  6.         
  7.         <!-- 服务名称 -->
  8.         <service-name> FooService </service-name>
  9.         
  10.         <!-- 服务提供商 -->
  11.         <service-vendor> com.foobar </service-vendor>
  12.         
  13.         <!-- 服务版本 -->
  14.         <service-version> 1.0 </service-version>
  15.         
  16.         <!-- 根SBB:标识服务的核心逻辑处理模块 -->
  17.         <root-sbb>
  18.             <description> Root SBB for FooService </description>
  19.             <!-- SBB名称 -->
  20.             <sbb-name> FooSBB </sbb-name>
  21.             <!-- SBB提供商 -->
  22.             <sbb-vendor> com.foobar </sbb-vendor>
  23.             <!-- SBB版本 -->
  24.             <sbb-version> 1.0 </sbb-version>
  25.         </root-sbb>
  26.         <!-- 事件传递的默认优先级 -->
  27.         <default-priority> 5 </default-priority>
  28.         
  29.         <!-- 地址配置文件表 -->
  30.         <address-profile-table> FooAddressProfileTable </address-profile-table>
  31.     </service>
  32. </service-xml>
复制代码

2. 定制服务

在服务运行之前,必须根据运行环境对其进行定制,特别是在资源适配器绑定和 SBB 属性别名的辩论处理惩罚上。


  • 资源适配器: 服务摆设者确保 SBB 绑定正确的资源适配器,定义服务怎样与外部系统交互。
  • 运动上下文属性别名: 如果两个 SBB 之间在别名上存在辩论,摆设者可以通过修改摆设形貌符来办理。
  1. <!-- SBB部署描述符:定义SBB与资源适配器的绑定 -->
  2. <sbb-jar>
  3.     <sbb>
  4.         <!-- SBB的名称、提供商和版本信息 -->
  5.         <sbb-name>FooSBB</sbb-name>
  6.         <sbb-vendor>com.foobar</sbb-vendor>
  7.         <sbb-version>1.0</sbb-version>
  8.         <!-- 绑定的资源适配器类型 -->
  9.         <resource-adaptor-type-binding>
  10.             <resource-adaptor-type-name>FooRAType</resource-adaptor-type-name>
  11.             <resource-adaptor-type-vendor>com.foobar</resource-adaptor-type-vendor>
  12.             <resource-adaptor-type-version>1.0</resource-adaptor-type-version>
  13.         </resource-adaptor-type-binding>
  14.         <!-- 绑定的资源适配器实体 -->
  15.         <resource-adaptor-entity-binding>
  16.             <resource-adaptor-entity-name>FooRAEntity</resource-adaptor-entity-name>
  17.         </resource-adaptor-entity-binding>
  18.     </sbb>
  19. </sbb-jar>
复制代码

3. 打包服务

服务定义和定制后,需要将服务及其所有组件打包为一个可摆设单元(通常是一个 JAR 文件)。


  • 可摆设单元结构

    • 包含服务的 XML 形貌符和构成部分,如 SBB、配置文件规范、事件范例和资源适配器范例。
    • 可摆设单元必须按照结构化方式打包,并包含 META-INF/deployable-unit.xml 文件,该文件形貌了其内容。

  1. <!-- 可部署单元描述符:定义服务打包时的组成部分 -->
  2. <deployable-unit>
  3.     <description> FooService deployment package </description>
  4.    
  5.     <!-- 包含的SBB JAR文件 -->
  6.     <jar> FooSBB.jar </jar>
  7.    
  8.     <!-- 包含的地址配置文件规范 -->
  9.     <jar> FooAddressProfileSpec.jar </jar>
  10.    
  11.     <!-- 服务部署描述符 -->
  12.     <service-xml> FooService.xml </service-xml>
  13. </deployable-unit>
复制代码

4. 摆设服务

服务打包后,需要将可摆设单元安装到 SLEE 环境中,注册服务并开始处理惩罚事件。


  • 服务注册:服务根据其定义的逻辑开始处理惩罚事件,比方根据事件范例创建新的 SBB 实例。
  • 服务交互:服务的根 SBB 会处理惩罚这些事件,须要时与外部系统进行交互。

示例:服务摆设过程

一旦服务摆设到 SLEE 中,它就会根据配置表中的地点信息,自动创建 SBB 实例来处理惩罚相应的事件。

  • 触发 SBB 实例
    如果在 FooAddressProfileTable 中配置了某个地点,那么每当与该地点相干的事件发生时,系统会为 FooSBB 创建一个实例来处理惩罚该事件。
  • 处理惩罚事件
    根 SBB (FooSBB) 会根据事件的范例和内容实验相应的逻辑,可能会调用子 SBB 来处理惩罚特定的任务。

总结

JAIN SLEE 服务的创建过程重要分为四个步骤:


  • 定义服务的各个构成部分;
  • 定制服务,确保与外部资源的交互正常;
  • 将服务及其组件打包为可摆设单元;
  • 摆设服务,开始处理惩罚现实事件。
通过这些步骤,服务可以或许根据事件的发生动态创建 SBB 实例,并根据业务逻辑进行事件处理惩罚。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表