WebSphere Process Server V6 体系结构概述

 

本文介绍了IBM WebSphere Process Server V6 的主要组成部分、SOA核心机制以及各个功能组件,QoS服务等内容。

 

1 引言

IBM WebSphere® Process Server V6(WPS V6)是建立在WebSphere应用服务器上的新一代业务集成平台。它支持面向服务的应用架构(Service-Oriented Architecture,SCA)和企业服务总线(Enterprise Service Bus,ESB),含有符合业界标准的业务流程引擎,使用统一的服务调用和业务表现模型,并遵循业界的开放标准。

本文主要介绍WPS V6运行环境的体系结构。第2节列出其主要组成,第3节叙述了其核心机制,第4节介绍建立于核心机制之上的各个功能组件,第5节叙述WPS V6运行环境提供的QoS服务,第6节介绍运行环境与外界交互的适配器机制。

 




 

2 WPS V6体系结构

WPS V6的基本架构是基于服务组件的,图1刻画了WPS V6运行环境的基本组成。


WPS V6运行环境建立在WebSphere应用服务器之上,其最基础的部分是SOA核心机制。它基于Web服务(Web Service)规范,实现并规定了WPS V6中服务组件的交互方式和统一的业务模型,是整个WPS V6运行环境的基础。

  • 服务组件架构(Service Component Architecture,SCA)提供了统一的服务调用模型。
  • 业务对象(Business Object,BO)提供了统一的业务数据模型。
  • 通用事件基础设施(Common Event Infrastructure,CEI),以统一的事件格式(Common Base Event,CBE)记录运行环境中的事件,为WebSphere监测器(WebSphere Monitor)提供数据存储。

在SOA核心机制之上的是WPS V6的支撑服务,包括:

  • SCA接口转接器(Interface Mediator)提供了SCA接口转接的功能,它可以把同一SCA模块内不同SCA组件接合起来,即使它们的接口并不匹配。接口转接器与业务对象映射服 务(Map Service)以及关系服务(Relationship Service)一起,完成接口转接的功能。
  • Selector提供输入输出的路由选择功能,动态决定调用目标,降低客户和调用目标间的耦合度。

在支撑服务之上的是WPS V6运行环境进行业务处理的主体服务组件,包括

  • 业务流程引擎(Business Process Engine,BPE)。
  • 人工任务管理器(Human Task Manager,HTM)。
  • 业务状态机(Business State Machine,BSM)。
  • 业务规则(Business Rules,BR)。

在下面的章节会进一步介绍WPS V6运行环境的这些组成部分。

WPS V6运行环境通过WebSphere适配器(Adapter)连接到企业信息系统(Enterprise Interface System,EIS)。图2给出了一个简单的端到端业务数据同步的例子。


源EIS通过其适配器发出请求,传入一个应用特定业务对象(Application-Specific Business Object,ASBO),通过转接器转换成一般业务对象(Generic Business Object,GBO),进入业务流程引擎进行处理,处理的结果以另一个GBO的形式,通过Selector传输到指定的目标,再经转接器转换为目标 EIS的应用特定业务对象,进入目标EIS进行处理。

WPS V6运行环境的管理界面集成在WebSphere应用服务器的管理控制台内。

WPS V6支持从IBM WebSphere InterChange Server 4.2.0(WICS)及其后继版本到WPS V6的升级。表1列出了两个产品之间的组件对应关系。


表1. ICS到WPSV6的组件对应表
表1. ICS到WPSV6的组件对应表




 

3 WPS V6核心机制

本节介绍WPS V6运行环境的核心机制,即服务组件架构和业务对象。

3.1 服务组件架构

SCA(Service Component Architecture) 是一种通用的面向业务服务的组件模型。它使现有的各种服务,包括EJB,Web服务, Java代码以及业务流程执行语言(Business Process Execution Language,BPEL)等,有了统一的抽象表示,从而实现了业务逻辑和实现逻辑的分离。

3.1.1 服务组件模型

图3刻画了WPS V6服务组件的基本模型。


SCA运行环境中最基本的单位是SCA模块(SCA Module)。一个SCA模块由一或多个SCA组件(SCA Component)构成。组件之间可能存在着依赖关系,即一个组件可以使用其它组件提供的服务,也可以为其它组件提供服务。组件与其所依赖的组件可以在 不同的SCA模块中。

WPS V6服务组件模型的各组成部分是用服务组件定义语言(Service Component Definition Language,SCDL)描述的。描述一个SCA模块需要有下列SCDL文件。

  • SCA模块。每个SCA模块都有一个sca.module文件,它定义了该SCA模块的名称。
  • SCA组件。每个SCA组件都有一个.component文件,它定义了该组件的:1)名称。名称是组件在模块中的唯一标识。2)所提供的接 口。一个组件可以提供零或多个接口,可以是Java接口或Web服务端口(WSDL portType),而且这些接口一般都支持同步或异步交互方式。3)所提供接口的实现,如Java代码、业务流程、业务状态机、业务规则、人工任务等。 4)所引用的接口。一个组件可以引用零或多个接口,接口引用定义了它对其它组件的依赖,它需要其它组件提供这些接口。
  • SCA 引用和接线(wire)。SCA引用分为模块内的引用和模块间的引用。模块间的引用定义的是一个模块(中的组件)对于外部服务,例如另一个模块中的组件或 者Web服务等的依赖。SCA引用接线将模块内的SCA引用与所引用服务的提供者联系起来,它将各种SCA组件接合起来构成一个应用。
  • SCA服务导出(Export)。服务导出定义了模块(中的组件)向外界,例如其它模块中的组件、Web服务、JMS等提供的服务。导出的服 务可以包括一或多个接口。
  • SCA服务引入(Import)。服务引入定义的是SCA模块(中的组件)可以使用的由外界,例如其它模块中的组件、Web服务、无状态会话 bean、JMS等提供的服务。引入的服务可以包括一或多个接口。

SCA组件通过其接口向其客户提供服务。客户必须首先通过SCA服务管理器(类 com.ibm.websphere.sca.ServiceMananger)来定位某服务(接口)的实例,然后才能调用该服务。SCA支持客户以静态 类型(Type-safe)或者Reflective两种方式来调用服务接口中的方法。对于客户对接口中方法的调用,SCA除了支持同步的交互方式(即客 户调用方法后一直等待,直到方法返回结果),还支持三种异步交互方式: 1)限时响应(Deferred Response),客户调用方法后,过一段时间后读取结果;2)单向调用(One-way),客户调用方法后,不等待调用结果,继续自己的动作;3)回 调方法(Callback),客户调用方法后,继续自己的动作,当结果返回时,另一个客户线程被触发以读取结果。图4刻画了SCA所支持的这三种异步调用 方式。


3.2 业务对象

WPS V6里的业务对象框架(Business Object Framework)是对原有WICS中业务对象概念的继承,并与服务数据对象(Service Data Object,SDO)技术相融合,在此基础上有所扩展。

从狭义上说,在WPS V6里业务对象有三种形式:业务对象、业务图(Business Graph)和服务消息对象(Service Message Object)。

业务对象是业务数据的表示形式,它与SDO里的数据对象(Data Object, DO)的概念相对应。WPS V6使用XML模式来定义业务对象类型(即业务对象实例含有的属性和引用等)。在定义业务对象类型的XML模式文档中,还可以用 xs:annotation和xs:appinfo元素的形式在业务对象类型中添加其它信息,这些信息称为业务对象类型元数据(Type Metadata),通过它们可以在业务对象实例中携带非业务数据的应用信息。

业务图与SDO数据图(Data Graph,DG)的概念相近。它是在不改变既有业务对象定义的基础上对业务对象的包装,所包装的业务对象可以是平坦结构的,也可以是层次或图结构的。除 了对业务对象的包装,业务图还含有对其所含业务对象的功能扩展。这些扩展体现在业务图的头部信息中,主要是变化概要(Change Summary)和事件概要(Event Summary)。变化概要用于记录业务图中各业务对象上发生的变化,如属性值的设置和修改、子业务对象的创建和修改等。事件概要用于记录业务图中各业务 对象的事件ID(Object Event ID),该ID唯一标识了系统中一个业务对象的特定实例。事件概要还可扩展用于记录业务图所含业务对象及其子对象的其它标记信息。除了变化概要和事件概 要,业务图的头部中还含有根业务对象的动词(Verb)信息。动词表示的是该业务图中根业务对象的事件类型。例如,如果动词是Create,那么根业务对 象携带的是在其来源EIS中新产生的业务数据;如果动词是Update,那么它携带的是其来源EIS中有所变动的既有业务数据。

服务消息对象是对业务对象或业务图的再包装,除了作为其有效载荷的业务对象或业务图外,它还有可携带各种QoS服务所需信息的头部。当它流经WPS V6运行环境中和WPS V6外部的服务组件时,这些组件可以添加特定的头部元素,用于支持诸如负载均衡、位置透明、路由选择等QoS服务。

上述业务对象、业务图和服务消息对象在广义上统称为业务对象。在它们流经各个服务组件时,不同组件关注的信息不同。例如进行路由选择的组件所关注的 是服务消息对象中含有路由信息的特定头部,而WebSphere适配器所关注的是业务图中的动词、变化概要和事件概要等信息,业务流程所关注的则是业务对 象携带的业务数据。

WPS V6业务对象框架提供了下表中所列的业务对象服务接口:






 

4 服务组件

本节简要介绍构成WPS V6运行环境主体的服务组件。

4.1 业务流程

业务流程是在异构环境下开发一致的分布式应用的基本模块。基于业务流程的应用由两部分构成:描述不同活动(activities)逻辑顺序的流程模 型和实现这些活动的服务/组件。

业务流程可看作是为了实现一定的业务目标,按设定的顺序执行的活动、规则或条件的集合。图5是一个逻辑业务流程,其中描述了5个活动和4个组件接 口。发起流程的活动(originating activity)提供的组件接口实例化了该流程。这个活动可能是来自人工任务管理器的发起任务(originating task)、Web服务调用或者其它服务组件的调用。流程中的活动可以用不同的服务来实现。所有的活动用控制链(control link)进行逻辑连接。根据业务需求和流程步骤间的依赖关系,活动可以串行或者并行地执行.


WPS V6中实现业务流程的模块称为业务流程管理器(Business Flow Manager,BFM)。它管理业务流程的生命周期,正确导航/执行相应的流程模型,调用相关服务来集成合适的业务功能。

4.1.1 WS-BPEL

WS-BPEL 定义了描述业务流程行为(流程内的交互以及与外部partner的交互)的模型和语法。它既可以描述业务流程供partner使用的公共接口,也可以描述 业务流程的实现细节(称为可实现流程,executable process). Partner可以是任何提供或者使用service的实体。WS-BPEL描述的业务流程由service调用构成,同时,该业务流程也以Web Service的形式开放给外部partner使用。 Partner之间的交互发生在Web Service接口层级,被定义为partner links。 WS-BPEL流程中定义了service交互的顺序及其协作(coordination),状态的管理及其协作。

WS-BPEL提供了处理业务异常和故障的系统的机制,具备定义在异常发生后或者在partner 要求下对单个或多个活动进行补偿(compensation)的机制。WS-BPEL标准基于WSDL1.1, XML Schema 1.0和XPath 1.0。 WSDL消息和XML Schema类型定义提供了WS-BPEL使用的数据模型。 XPath提供了数据操作的支持。外部资源和partner可以用WSDL service来描述。

4.1.2 业务流管理器

WPS V6支持下图中所列的活动(图中未显示IBM对WS-BPEL的扩展,如java 代码,人工任务等)。


它与WebSphere Business Integration Server Foundation(WBISF)相比,主要增加了下列功能:

  • 事件处理器(Event Handler)。WS-BPEL 事件处理器支持在正常的业务流程执行中发生的外部异步请求。事件与正常流程执行过程并行,不影响正常流程的执行。
  • 补偿处理器(Compensation Handlers)。在长运行(long-running)业务流程中,通常完成的活动对业务流程或其partner产生的影响已经持续化存储。因此补偿 操作实际上是逻辑意义上的撤销操作。WPS中的补偿遵循WS-BPEL补偿机制。业务流程的补偿逻辑定义在该流程的补偿处理器中。
  • 对Xpath的支持。WPS支持流程中的表达式和条件语句中的XPath。使用XPath可以方便地访问活动或者流程的自定义属性,初始化或 者比较流程中的数据对象。
  • 生命周期(Life-cycle)支持。WPS支持增强的生命周期命令。生命周期命令对关联的父-子流程都有作用。例如发给父流程的流程终止 (processTerminate)命令能让子流程终止,反之亦然。除了流程终止命令外,还有下列新增命令:1)?挂起,继续(Suspend, resume)在延迟执行场合中很有价值。2)重起(Restart),在异常发生的时候可以完全重起该流程实例。

4.2 人工任务(Human Task)

WPS V6中的人工任务管理器(Human Task Manager)模块实现了与人工任务相关的下列功能:

  • 让用户启动业务流程或者其他Service 组件
  • 实现业务流程中的Staff活动
  • 流程管理(Administration)
  • 动态创建含有与人工或者Service交互的任务

人工任务管理器针对三种基本场景:机器-人(Machine-to-Human),人-机器(Human-to-Machine),和人-人 (Human-to-Human)。相应的,人工任务有四种不同类型,见下图。


  • 人-机器场景中的任务(Originating Task, oTask)。用户(人)通过oTask使用services。oTask支持对所有SCA 组件的调用。这样,用户(人)可以用这个单一接口,启动任何获得授权的组件或者业务流程。
  • 管理任务(Administration Task, aTask)。管理任务由希望提供管理接口的组件创建。这种任务提供了对WS-BPEL流程的挂起,继续,终止的功能。这种任务还能被用来修复WS- BPEL流程中失败的活动。
  • 机器-人场景中的任务(Participant Task, pTask)。pTask使service的执行中能融入人工交互。典型的例子是一个业务流程为参与业务执行的人创建任务。pTask是一个标准的SCA 组件,可以被用在任何希望引入人工交互的应用中而不仅仅是业务流程。
  • 人-人场景中的任务(hTask)。hTask是一个人为其他人创建的任务。例如一个负责信用审查的经理想了解一个新客户的情况,这个经理为 负责该客户的销售创建一个询问客户情况的任务。如果该销售没有及时回应,根据预设的调升策略,这个查询被自动转给该销售的主管经理。当查询结果返回的时 候,如果创建这个任务的经理不能及时处理,其他负责信用卡审批的经理可以接手。与传统的方式(电话,email)不同,整个过程高效且得到了很好的跟踪和 记录。

4.2.1 授权

人工任务管理器具有可扩展的授权和人员指派系统。

4.2.2 调升(Escalation)

人工任务管理器提供了灵活的调升机制。调升定义了任务的进程与预期不符时系统执行的操作,例如建工作项(work item),发通知email。人工任务管理器支持为一个任务定义多个调升,支持调升的并行执行和调升链。下图是一个任务和三个调升链的例子。以第一个调 升链为例。当任务被接受的时候,调升链被激活。此后,如果该任务没在规定的时间内完成,调升链中的第一个调升操作被触发,发送通知给该任务的接受者的一线 经理。再经过规定的时间,如果任务还是没有完成,第二个调升操作被触发,发送通知给二线经理。以此类推。


4.2.3 人工任务管理器功能

相比于WBISF和WebSphere MQ Workflow(WMW),人工任务管理器具有以下主要增强:

  • 支持不同类型的任务(人-人,机器-人,人-机器)
  • 流程模型和人工交互的分离。流程模型可以专注于业务流程。
  • 用内嵌任务的方式继续支持WBISF和WMW的人工型活动(staff activity)。
  • 引入调升,调升链,调升操作,和优先级概念。
  • 生命周期管理
  • 本地化语言支持
  • 支持任务的自定义属性,这些属性可以被用于工作列表的查询条件中,也用于在客户端的工作列表上显示更多信息。

4.2.4 人工任务管理器特性

人工任务管理器是WBISF和WMW的人工功能的综合的结果,是功能全面的人工任务解决方案。与其他工作流类的流程整合解决方案不同,WPS中引入 了基于SCA service的人工任务,用户可以灵活地替换系统中基于SCA service的自动service和真正的人工实现。人工任务和相应的BPEL扩展的标准化工作正在进行中。

4.3 业务规则(Business Rule)

把传统应用中的嵌在系统各处的业务规则提取出来,进行独立的开发管理,是业务规则模块的基本思想。一个显而易见的好处是,可以动态更新业务规则从而 使运行的业务更加灵活。通常商务分析人员致力于制定能为企业带来最大利益的且符合相关法律法规和行业标准的业务政策。业务规则模块能把这种业务政策反映到 IT系统中并且保证其被强制实行. WPS中的业务规则根据其实现可以分为两类:

  • if/then 规则集
    该类型的规则由一组if/then实现。例如,下面是一个根据重量计算邮资的规则:
    If weightInGrams < 250
    	then postage = .47
    If weightInGrams >= 250
    	then postage = .53
    If weightInGrams >= 500
    	then postage = .76
    	

    该规则集中每一个条件表达式都会按顺序被计算一次,如果结果为真,则相应动作被执行。

  • 决策表
    该类型的规则由多维嵌套的if/then实现。例如考虑了运输方式的邮资计算规则。


4.3.1 业务规则组(Business Rule Group)

业务规则组组件是一些业务规则逻辑上的组合,它提供了用户使用业务规则的接口。用户无法直接调用业务规则。事实上,业务规则组是一个SCA service,该service中的操作(operation)是根据业务需求定义,且被具体的业务规则实现的。由于业务规则会随着企业需求和法律法规 的变化而不断变化,所以通常为业务组接口中的操作指定实现该操作的业务规则的同时需要指定有效期限。下面是一个业务规则组的例子。


4.3.2 业务规则模板

业务规则模板提供了运行时的规则编制功能。在业务规则模板的帮助下,业务分析人员可以根据业务运行状况,实时地编制规则。业务规则模板可以

  • 规定业务规则的哪些部分(条件句/动作)可以被修改
  • 定义约束(例如有效的折扣范围等)
  • 定义if/then规则的结构
  • 分别定义条件句和动作的结构
  • 定义自然语言描述,以帮助业务分析人员理解该规则模板

业务规则模板对两种类型(if/then规则集,决策表)的业务规则都适用。

4.4 业务状态机(Business State Machine)

在WPS V6中业务状态机能够更好地描述由事件驱动的业务应用。虽然事件驱动的业务应用也可以用BPEL来描述,但是业务状态机的形式提供了更直观的描述,并且能 自动生成底层BPEL实现,这使用户可以更加专注于业务逻辑的实现。

业务状态机由以下要素构成:

  • SCA接口。定义了它对外支持的操作。
  • 状态。状态机的基本要素,对应于BPEL中长期业务流程(long running process)中的可持续化(persistent)变量的概念。
  • 事件。状态变化的诱因。对业务状态机的SCA接口操作的调用就产生了事件,所以通常把操作和事件等同起来。
  • 迁移。状态的变化,即状态机离开一个状态进入另一个状态。伴随着状态迁移的是实现业务逻辑的动作。
  • 哨兵(Guard)。决定状态迁移能否发生的布尔函数。
  • 动作。业务逻辑的实现。当事件产生时,如果哨兵检查通过(该函数返回true),状态迁移发生,于是引发动作。动作可以用简单的java 代码实现,也可以用SCA调用实现。
  • 状态出口动作(state exit actions)。离开某一状态时发生的业务逻辑。
  • 状态入口动作(state entry actions)。进入某一状态时发生的业务逻辑。

下图是一个简单的业务状态机。


操作initial触发了该状态机实例,执行动作Action1,在执行状态State1的入口动作Entry1后状态机实例进入状态 State1。如果操作oper2发生,并且哨兵Condition1返回真,那么执行状态State1的出口动作Exit1后离开状态State1,执 行动作Action2,在执行状态FinalState1的入口动作Entry2后进入结束状态FinalState1。状态机实例结束。

4.5 接口转接器(Interface Mediator)

WPS V6中的接口转接器是一种SCA组件。它最常见的用途是作为从连接源EIS的适配器组件(Adapter Component)到WPS V6业务流程组件,以及从WPS V6业务流程组件到连接目的EIS的适配器组件的中介,把源EIS、目的EIS和WPS V6业务流程连接成为贯通的业务数据通路。但它的作用并不仅限于此。

在一个SCA模块里,如果一个SCA组件(例如连接源EIS的适配器组件、WPS V6业务流程)所引用的接口与另一个SCA组件(例如WPS V6业务流程、连接目的EIS的适配器组件)所提供的接口有差异,它们无法直接接合在一起。在这种情况下,接口转接器可以作为粘合剂组件内插在这两个组件 之间,间接地把它们接合起来。

接口转接器通过对源接口(源SCA组件所引用的接口)中的操作和参数进行转换,调用目标接口(目的SCA组件所提供的接口)中的操作来实现转接,如 下图所示:


它把传给源操作的输入参数转换成目标操作需要的输入参数,把目标操作的输出参数转换成源操作需要的输出参数,并把目标操作抛出的错误(Fault) 经转换后从源操作抛出。因此它的主要工作实际上是对源操作的参数和目标操作的参数进行数据转换,在转换过程中它会使用WPS V6的业务对象映射服务和关系服务。

 




 

5 QoS服务

5.1 错误事件恢复(Recovery)

WPS V6运行环境提供了错误事件恢复机制,对于应用间通过系统总线传递的消息,一旦出现异常或错误,消息会被存储到数据库中。因为在SCA服务的四种调用方式 中,同步调用不会通过系统总线来传递消息,所以错误事件恢复只支持对异步事件传输过程中异常的处理。此外,在WPS V6运行环境中除了SCA系统总线外,还有SCA应用总线和BPC总线。目前错误事件恢复只支持SCA系统总线内错误消息的处理。

可能引起事件处理出错的原因包括(但不限于):

  • 未找到指定的消息目的队列导致消息无法正确传递
  • 消息从队列中取出进行处理时,在事务提交之前出现未预期的错误

用户可以在WPS V6的管理控制台中浏览、删除或重新提交导致出错的事件。用户可以查看出错事件的以下属性:

  • 消息的唯一标识
  • 目标模块名称
  • 目标组件名称
  • 调用目标的方法名称
  • 源模块名称
  • 源组件名称
  • 重新提交的目标队列名称
  • 事件交互方式
  • 错误信息
  • Session标识
  • 出错时间

还可以进一步查看事件内部业务对象中的数据,修改并重新提交。除了对出错事件进行存储和管理外,用户还可以通过设置系统日志跟踪级别,将保存、删除 和重新提交事件的动作本身写入CEI,以便系统监控和管理。

5.2 系统监控(Monitoring)

WPS V6中的监测基于CEI。CEI是一系列模块化的组件,简化了对事件的管理,方便了对事件的分发、更新和查询。它使用开放的事件表示标准CBE,正被越来 越多的IBM产品集成。CEI提供了事件集成的一个框架,使用CBE来记录各种各样的事件。如下图,当系统中有重要事件发生时,这个事件会被Event Emitter捕获,以CBE的形式被记录下来,发送到CEI中。不同功能的事件用户(Event Consumer)只要是遵循CEI规范,都可以来访问这些事件,并根据特定业务需求来使用这些事件。例如可以跟踪业务流程的执行过程,审计系统的使用, 监测业务流程中的异常,协调独立运行的业务流程。


WPS V6运行环境提供了可简化CEI使用的监测机制。在用WebSphere Integration Developer V6 (WID)编制各种服务组件时,可以指定对不同层级元素的事件监测属性,这些事件监测属性被记录在扩展名为.mon的文件中,与这些服务组件一块部署到 WPS V6运行环境中。当这些组件在运行时,WPS V6运行环境的监测机制能按照事件监测属性的要求,为指定的元素向CEI发出具有指定详细程度的事件。它支持在管理控制台中通过设置相应组件的日志跟踪级 别来动态控制事件的生成,还可以利用WebSphere应用服务器提供的的性能监测基础设施(Performance Monitoring Infrastructure,PMI)方便的对WPS V6中的服务组件进行性能测量。

5.3 系统安全(Security)

WPS V6运行环境的安全机制建立在WebSphere应用服务器的安全管理之上。通过设置全局安全性并设置用户角色的许可,可对部署在WPS V6中的应用进行安全保护,未经认证的访问将会被拒绝。用户角色的设置保证登陆的用户只能进行授权许可之内的操作,这对于提供Web界面的应用尤为重要, 例如WPS V6提供的错误事件处理器(Failed Event Manager,FEM)。

WPS V6的安全设置在管理控制台内完成。

WebSphere应用服务器的安全设置的两个基本要素是对用户身份的鉴定(User Authentication)和基于角色的访问控制(Role-Based Access Control)。WPS V6遵循这两个要素,保证在启用了安全设置的WebSphere应用服务器上正确运行。

  • 身份鉴定。WPS V6的组件以认证别名的形式提供身份鉴定,以运行在启用了安全设置的WebSphere环境中,包括数据库连接、消息引擎、BPEL和CEI的连接认证 等。客户访问一个部署在已设置了安全的WPS V6运行环境中的应用必须进行身份鉴定。
  • 访问控制。基于角色的访问控制确保通过鉴定的用户只能进行授权之内的操作。

 




 

6 适配器组件

适配器是WPS V6运行环境与外部EIS的中介,它的作用是把来自外部EIS的事件传递给WPS V6运行环境(称为入境事件),以及通过与外部EIS进行交互来处理来源于WPS V6运行环境的请求(称为出境事件)。

WPS V6支持三种类型的适配器/连接器:

  • 遗存的WebSphere Business Integration(WBI)连接器。WPS V6支持现有的WBI连接器,不过有些WBI连接器已经不再需要,如网络服务连接器,因为SCA已提供了对网络服务引入和导出的内建支持。
  • 标准的JCA 1.0/1.5连接器。WPS V6基于WebSphere应用服务器,完全支持符合JCA 1.0/1.5规范的连接器。只是JCA 1.0连接器不能支持从EIS向WPS V6运行环境的通信。
  • Websphere适配器。Websphere适配器不仅完全符合JCA 1.5规范,在功能上还有所扩展。首先是对事务的支持。对出境方向的通信支持分布式事务和本地事务,对入境方向的通信能保证事件被传递且只传递一次。其次 是对企业元数据发现(Enterprise Metadata Discovery,EMD)1.0规范的支持。WID V6实现了EMD 1.0规范,因此用户可以在WID V6中通过企业服务发现(Enterprise Service Discovery)工具选择感兴趣的EIS服务和数据,WID V6就可以自动地为用户产生所需要的服务和数据定义。

适配器本身并不与直接与WPS V6运行环境交互,而是通过WPS V6运行环境中的适配器组件(又称为SCA EIS引入/导出组件)与WPS V6中的其它组件进行通信。SCA EIS引入/导出(Import/Export)组件的作用就像一座"桥梁",把适配器的JCA/JMS接口和WPS V6中组件的SCA服务接口连接起来。WPS V6组件,如业务流程引擎,使用SCA EIS引入/导出组件所暴露出的服务来与外部的适配器进行交互。因为SCA EIS引入/导出组件遵循SCA客户编程模型,因此WPS V6中的组件不需要使用特别的逻辑就可与外部的EIS交互。

EIS引入组件使SCA模块内的客户可以访问外部EIS服务。在.import文件中定义的接口定义了外部EIS服务通过EIS引入组件而提供的 服务,换言之,EIS引入组件定义了从该服务到其外部EIS服务的绑定。绑定有三个层次:

  • 接口绑定。接口绑定把服务的接口和提供服务的EIS相关联。
  • 方法绑定。方法绑定把接口方法和对EIS系统的特定交互相关联。
  • 数据绑定。数据绑定是EMD规范的一部分,它定义了传递给SCA应用的数据和EIS本地数据的映射。

EIS导出组件使SCA组件能够监听外部EIS的请求。它定义了从JCA资源适配器能理解的入境事件到SCA操作调用之间的映射。EIS导出组件 的绑定也有三个层次:

  • 监听器绑定。绑定接收请求的监听器和通过SCA导出组件而暴露的SCA组件。
  • 本地方法绑定。使监听器接收的本地方法或者事件类型和通过SCA导出组件而暴露的SCA组件所实现的操作相关联。
  • 数据绑定。与EIS引入组件的数据绑定相同。

 




 

7 总结

综上所述,WPS V6提供了一个基于服务组件的流程整合的完整解决方案,其关键是采用了公共的业务数据表示模型--业务对象和基于开放标准的服务调用模型--SCA,它们 奠定了WPS V6的面向服务架构的基础。在此基础上,WPS V6提供了对业务流程、业务状态机、业务规则、人工任务管理等的支持,以及先进的数据和服务调用转换功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值