Overview
1.SLEE是一种AS,是SBB(Service Building Block)组件的容器,SBB构成业务(Service)在SLEE上部署和运行。
2.事件驱动
SLEE组建模型是为事件驱动的应用程序所设计,事件来源分为:
-外部资源,如协议栈
-SLEE内部,如定时器工具
-SLEE中运行的程序
构造事件驱动的应用程序的一般做法,是提供一个接收所有事件的句柄方法。
SBB组件定义了接收的事件类型和处理事件的方法的调用句柄。
3.资源和资源适配器(Resource & Resource Adaptor)
资源:网络设备、协议栈、数据库等SLEE外部的系统。应用程序通过资源适配器与资源交互。资源适配器类型诸如JCC(Java Call Control)、SIP、TCAP等。
一个资源适配器由一组Java类和一个部署描述符组成,必须包含一个实现了资源适配器接口的Java类。
资源适配器实体作为资源适配器的一个实例,将资源适配器生成的事件转发给SLEE。
4.SBB组件
一个SBB组件定义了:
-SBB接收和产生事件的类型
-事件方法
-SBB本地接口
-子关联(即SBB图中连接两个SBB节点的边)
-可共享数据
根SBB由SLEE初始化,声明一个非空的初始事件类型集来使SLEE初始化SBB的一个实例。
一个SBB实体在运行时可创建0个或多个SBB实例,一个SBB实体只有一个父亲。SLEE只创建根SBB的实例。
一个根SBB的子SBB也可能是另一个根SBB。
父SBB通常先于子SBB收到相同的事件。父SBB为每一子关联指定一个默认的优先级,当子SBB被创建时,父SBB将子关联设定的默认事件优先级赋给子SBB实体。
移除SBB实体:通过调用SbbLocalObject接口的方法或ChildRelationObject接口完成。在SBB图中为先序遍历。
5.活动(Activity)
一个活动代表一组相关的事件流。
一个Activity对象封装了一个Acitivity并提供了与之交互的方法。
每个资源适配器类型都会定义一个或多个Activity对象。
6.活动上下文(Activity Context)
Activity<--一一对应-->Activity Context
SBB实体 -----附着--->Activity Context
事件 -----通道--->Activity Context
SBB实体附着到一个Acitivity对象的Activity Context,是为了接收此Acitivity对象在其Activity Context上产生的事件。
SBB实体通过Activity Context Interface对象与Activity Context交互
7.业务
业务部署描述包括:
-一个全局唯一的业务名
-一个根SBB的引用
-一个资源信息配置表的引用(可选)
-一个地址配置表的引用(可选)
业务状态:非活动,活动,停止
业务从非活动到活动状态:
-SLEE创建业务的根SBB的实体
-SLEE启动一个业务的Activity
-业务Activity产生一个“启动”事件
-根SBB实体接收此事件
业务从活动状态到停止状态:
-SLEE结束与业务关联的Activity
-SLEE产生一个业务“结束”事件在此Activity上
-属于此业务的SBB实体接收此事件
1.SLEE是一种AS,是SBB(Service Building Block)组件的容器,SBB构成业务(Service)在SLEE上部署和运行。
2.事件驱动
SLEE组建模型是为事件驱动的应用程序所设计,事件来源分为:
-外部资源,如协议栈
-SLEE内部,如定时器工具
-SLEE中运行的程序
构造事件驱动的应用程序的一般做法,是提供一个接收所有事件的句柄方法。
SBB组件定义了接收的事件类型和处理事件的方法的调用句柄。
3.资源和资源适配器(Resource & Resource Adaptor)
资源:网络设备、协议栈、数据库等SLEE外部的系统。应用程序通过资源适配器与资源交互。资源适配器类型诸如JCC(Java Call Control)、SIP、TCAP等。
一个资源适配器由一组Java类和一个部署描述符组成,必须包含一个实现了资源适配器接口的Java类。
资源适配器实体作为资源适配器的一个实例,将资源适配器生成的事件转发给SLEE。
4.SBB组件
一个SBB组件定义了:
-SBB接收和产生事件的类型
-事件方法
-SBB本地接口
-子关联(即SBB图中连接两个SBB节点的边)
-可共享数据
根SBB由SLEE初始化,声明一个非空的初始事件类型集来使SLEE初始化SBB的一个实例。
一个SBB实体在运行时可创建0个或多个SBB实例,一个SBB实体只有一个父亲。SLEE只创建根SBB的实例。
一个根SBB的子SBB也可能是另一个根SBB。
父SBB通常先于子SBB收到相同的事件。父SBB为每一子关联指定一个默认的优先级,当子SBB被创建时,父SBB将子关联设定的默认事件优先级赋给子SBB实体。
移除SBB实体:通过调用SbbLocalObject接口的方法或ChildRelationObject接口完成。在SBB图中为先序遍历。
5.活动(Activity)
一个活动代表一组相关的事件流。
一个Activity对象封装了一个Acitivity并提供了与之交互的方法。
每个资源适配器类型都会定义一个或多个Activity对象。
6.活动上下文(Activity Context)
Activity<--一一对应-->Activity Context
SBB实体 -----附着--->Activity Context
事件 -----通道--->Activity Context
SBB实体附着到一个Acitivity对象的Activity Context,是为了接收此Acitivity对象在其Activity Context上产生的事件。
SBB实体通过Activity Context Interface对象与Activity Context交互
7.业务
业务部署描述包括:
-一个全局唯一的业务名
-一个根SBB的引用
-一个资源信息配置表的引用(可选)
-一个地址配置表的引用(可选)
业务状态:非活动,活动,停止
业务从非活动到活动状态:
-SLEE创建业务的根SBB的实体
-SLEE启动一个业务的Activity
-业务Activity产生一个“启动”事件
-根SBB实体接收此事件
业务从活动状态到停止状态:
-SLEE结束与业务关联的Activity
-SLEE产生一个业务“结束”事件在此Activity上
-属于此业务的SBB实体接收此事件