BM FileNet BPM 系统与 Web Services 集成及实现工作流应用示例

IBM FileNet BPM 作为业内领先的业务流程管理解决方案,实现与 XML Web Service 的集成(即 Process Orchestration)是其必不可少的功能,也是 BPM 非常重要的一个市场需求。因此,本文将从技术的角度,简单介绍 FileNet BPM 实现 Process Orchestration 的基本原理及功能,并从与 Web Service 进行交互的两个方面分别给出实际应用场景和工作流实现示例。文中所给出的技术介绍及实际案例可以使读者对 FileNet BPM 提供的这一功能有更加形象的了解,同时也可以为对 FileNet BPM 产品感兴趣或正在利用 FileNet BPM 进行工作流设计和实现的相关人士提供总结性的经验分享。

 

FileNet BPM 与 Web Service 集成(Process Orchestration)简介

IBM FileNet Business Process Management(BPM)作为业内领先的业务流程管理解决方案,提供了一系列的技术与工具来帮助企业灵活地设计、实现、管理及优化业务流程,从而通 过自动化及流水线的业务流程来提高企业的决策能力、工作效率和处理性能,减少周期时间。同时,FileNet BPM 还具有强大的与外部系统集成的功能,使得企业可以有效地利用已有资源来加快开发及简化部署,其中,BPM 与 Web Services 的集成(Process Orchestration)更是非常重要的一个市场需求。

我们可以看到,随着 SOA 的不断发展,Web Services 成为了构建 SOA 的理想模块。它由一组协议和标准构成,这些协议和标准定义了一个 Web Service 怎样被发布、发现以及实施。但是,简单的一个 Web Service 或是接口并不能意味着 SOA,能够通过 Web Services 的集成与协作来提供更高质量的服务才是 SOA 的一个实质,而 FileNet BPM 正提供了这样的灵活机制来构建 SOA 。它利用 Web Services 的相关技术使得业务流程可以很轻松地调用已有的外部 Web Service 来为工作流服务,同时也能够将业务流程本身作为 Web Service 对外发布,使得其他应用可以利用 BPM 工作流来完成自己的任务。在 FileNet BPM 中,这种动态地集成 Web Services 从而实现端到端及协作式的自动化业务流程的能力即被称为 Process Orchestration 。

 




 

FileNet BPM 与 Web Services 集成的基本原理及主要功能

在接下来的这一章节里,我们将会对 FileNet BPM 与 Web Services 集成的原理作一个简单介绍,并列出实现工作流调用外部 Web Service 以及将工作流作为 Web Service 供外部使用这两个交互方面所用到的三种 Web Services 系统功能。

FileNet BPM 与 Web Services 集成的原理简介

在了解 FileNet BPM 与 Web Services 集成的原理之前,我们需要简单了解下有关于 XML Web Services 的一些基本定义。

所谓 XML Web Services,是指通过 SOAP 协议并利用 XML 格式在 Web 上来传输数据的服务架构,它是一种面向服务的体系结构,具有良好的系统平台异构性和语言独立性。 FileNet BPM 正是采用了这种 XML Web Services 的相关技术来实现 Process Orchestration 。一个 XML Web Service 是使用 WSDL 文件进行说明并通过 UDDI 进行注册的,下面,我们即简单介绍下这些在 FileNet BPM 中也涉及到的基本概念。

  • 简单对象访问协议(SOAP):XML Web Services 的通信协议,是一种基于 XML,用于在分布式环境中交换信息的简单协议。 FileNet BPM 中的工作流与 Web Service 交互的消息就是通过这种协议进行封装与传输的。
  • Web 服务描述语言(WSDL):用于定义 Web Service 的 XML 文档,可以通过明确的表示法制定请求消息必须包含的内容以及响应消息的格式。由于它是基于 XML 的,与编程语言无关,因此适用于说明各种 XML Web Service 接口。 FileNet BPM 通过使用这种语言,可以实现与各种外部系统更加广泛的协作。
  • 通用描述、发现与集成(UDDI):相当于 Web Services 的黄页,提供了发现以及发布 Web Services 的方法。 UDDI 的目录条目是由第三方提供的服务以及这些服务的调用方式,FileNet BPM 中也是通过 UDDI 注册来发现 Web Service,从而实现与其它机构发布的 Web Service 进行交互的功能。

在 FileNet BPM 中,当工作流需要与 Web Service 交互时,会通过其底层的模块来利用上述协议实现对消息的封装以及可靠性传输。下图则是对集成原理的一个总体概括。


图 1. FileNet BPM 与 Web Service 交互原理图
图 1. FileNet  BPM与Web Service交互原理图

从图 1 中可以看到,Component Integrator 控制了 FileNet BPM 与 XML Web Service 的交互,而这两者间的通信对于工作流管理者或是用户来说都是透明的,我们只需在 Application Engine 的流程任务管理器(Process Task Manager,PTM)上去配置并启动对应 region 的 Component Manager 即可。图中所示的 WS-Adapter 和 WS-Listener 都是 Component Integrator 的一部分,它们分别负责处理工作流对外部 Web Service 的请求以及由外部向 Web Service 工作流发起的请求。而对于 FileNet BPM 实现创建、修改和管理自动化业务流程的核心引擎 Process Engine 来说,它提供了一个 WSRequest 队列来专门处理关于 Web Service 的请求。当工作流需要与 Web Service 交互时,系统就会自动将工作项目路由到这个队列中,这些工作项目会暂时存放在一个 WSPending 表中来等待 Web Service 的响应。

FileNet BPM 中的工作流与 Web Service 的通信是通过 XML 完成的,正如上面的描述,整个交互过程对于使用者来说都是完全透明的。 FileNet BPM 提供的流程设计器(Process Designer ,PD)能够自动地解析 WSDL 文件中定义的操作的输入输出参数,因此,我们需要关注的仅仅是所要调用的操作及交互中涉及到的数据域,而没有必要去真正了解 XML 。基于 FileNet BPM 这一通用性强、稳定性高并封装良好的设计原理,用户可以非常方便、容易地实现工作流与 Web Services 的交互,从而丰富并优化业务流程。

FileNet BPM 提供的 Web Services 功能

为实现 Process Orchestration,FileNet BPM 提供了以下三种 Web Services 系统功能:

  • Invoke 功能
  • Receive 功能
  • Reply 功能

Invoke 功能是工作流用于调用 Web Services 的方法。工作流可以利用 FileNet BPM 提供的这一功能来从所选合作伙伴链接(Partner Link)中请求外部提供的已定义好的服务,实现与外部 Web Services 的交互。可以这样说,只要有外部提供的可使用的 Web Services,我们就可以根据业务需求在工作流的任一位置调用这一功能。当系统发现工作流中的某一步使用了该功能时,就会自动地把工作项目路由到 WSRequest 队列中,而 Invoke 功能正是被处理成了这个队列中的一个操作,从而通过这一操作来完成对 Web Service 的调用。应用示例 1 即是对如何使用 Invoke 功能的详细讲解。

Receive 与 Reply 功能则都是用于实现将工作流设计为 Web Service 对外提供的。其中,Receive 功能可以被看成是工作流的一个入口,当外部请求被监听到时,系统会通过这一功能来自动启动 Web Service 工作流。而 Reply 则能够将工作流处理后的信息返回给发起请求的外部应用,它与 Invoke 功能类似,也是作为 WSRequest 队列中的一个操作来实现的。对于设计一个 Web Service 工作流来说,Receive 功能是必不可少的,它与 Reply 功能可以是一对一的关系,也可以是一对多的关系。应用示例 2 即对如何使用这两个功能来实现工作流对外提供 Web Service 作出了讲解。

 




 

实际应用示 例 1 ——工作流调用外部 Web Service

在本章节,我们将给出一个具体的应用案例来说明在 FileNet BPM 系统中,工作流是如何实现调用外部 Web Service 这一功能的,同时,我们还会在最后的解决方案小结中对操作的主要流程及可能的问题作相关总结。

应用场景描述及 需求分析

我们所提出的应用场景是基于使用信用卡支付来订购图书这一简单流程的。当某图书订购中心的客户想要订购图书时,首先需要提交购书申请,包括自 己的个人信息、信用卡相关信息、想要购买的图书信息等。然后中心审查员会审核欲购图书的信息是否有效,若无效(如欲购图书无货),则直接拒绝客户的订购请 求并给出拒绝原因;若有效,则会通过中心的业务员去提交一个正式的订单,并调用信用卡中心提供的用于支付的 XML Web Service 来验证客户是否具有支付权限和能力。业务员会根据信用卡中心返回的信息来决定是否批准订单,若客户无支付能力,则业务员会拒绝订单;若信用卡中心返回有效 信息,则业务员会批准订单并通知送递员在三天之内把图书送递到客户手中。客户收到图书后的一周以内,需要向业务员提交已收到的信息确认,从而完成整个订购 图书的流程,如图 2 所示。


图 2. 应用场景流程图(调用外部 Web Service)
图 2. 应用场景流程图(调用外部Web  Service)

通过上面的描述,我们可以清楚地看到,整个流程中涉及到了与外部 Web Service 的交互,即调用信用卡中心对外提供的已存在的支付验证功能,这一服务在现实生活中也是非常普遍与必不可少的。因此,在接下来的工作流实现中,如何调用已有 的一个 Web Service 将是我们所要关注的主要环节,而对于其他的设计环节,我们只会作简单的介绍以求使读者能够有一个整体的认识。

工作流设计与实现

鉴于 FileNet BPM 流程设计浅显易懂及形象化的优点,我们可以按照图 2 中的流程图非常容易地通过使用 Process Designer 托拽图标来得到如下所示的工作流:


图 3. 工作流示图 1
图 3. 工作流示图1

上图只是给出了这个工作流的各个步骤及走向,我们仍有以下几个方面需要在流程配置控制台(Process Configuration Console ,PCC)上作具体定义:

  • 工作队列(Work Queues)建立
  • 用户及权限设置
  • 操作(Operations)定义

首先,在 PCC 上相应的 region 下,我们会新建四个工作队列,即 Customer(客户),Checker(审查员),Clerk(业务员)以及 Operator(送递员)。对于每个工作队列,我们需要在其属性中的 SecurityOperations 里去分别设置用户及权限、相关操作和操作的输入输出参数。下表所示即为每个队列所要设置的内容。


表 1. 各队列属性设置列表

工作队列用户组权限设置操作定义
CustomerQuery/Process
CheckerQuery/ProcessSubmitOrder(审 查员判断书籍信息是否有效,若有效,则向业务员提交订单申请,如无效,则拒绝客户请求)
ClerkQuery/ProcessApproveOrder(业 务员接到订单申请后,计算总价并生成订单号);
ChangeOrderStatus(业务员根据订单信息及信用卡中心返回的支付信息,更改订单状 态)
OperatorQuery/ProcessBookDelivery(根 据业务员批准的订单信息将书籍送递给客户,更改订单状态为 Delivery)

 

需要指出,所定义操作的输入和输出参数是通过不同的读写权限来区分的。我们可以这样理解:Read 权限相当于操作的输入,Write 权限相当于通过该操作后的输出,而同时具有读写权限则相当于该操作可以对输入的参数进行修改然后输出。下图即为一个操作定义的实现示例:


图 4. 操作定义示例
图 4. 操作定义示例

OperationDef.jpg

 

接下来,我们需要回到Process Designer 的工作流定义上来配置以下几点:

  • 工作流属性设置:主要是设置工作流数据域
  • 每一步骤的目标用户设置,显示数据或操作设定以及用于路由的Responses 设置
  • 两步骤间的路由条件定义

工作流属性中的数据域(Data Fields )实际上是定义了每一步骤中目标用户所能看到的条目,同时也是为所调用的 PCC 中定义的操作指定与输入输出参数对应的表达式。在工作流数据域定义之后,我们以图 3 所示工作流中的第二步 CheckBooks 为例,用下图简单说明一下怎样设置目标用户、操作及路由响应等属性。


图 5. 工作流属性设置示例
图 5. 工作流属性设置示例

下面,我们将开始重点说明这个案例中最具代表性的一步,即调用信用卡中心提供的 Web Service 来作支付验证。


图 6. 工作流中调用外部 Web Service 的步骤
图 6. 工作流中调用外部Web  Service的步骤

从图 6 可知,当我们需要调用外部 Web Service 的某一功能来为自己的工作服务时,可以通过托拽 Web Service Palette 中的 Invoke 图标到工作流中并配置相关属性来实现。在图中左边的属性(Properties ) 面板中,Partner Link 这一项是调用 Web Service 的重要属性,它指定了 Web Service 所提供的 WSDL URL,通过 WSDL 文件中定义的 Web Service 供外部使用的接口,我们可以调用该 Web Service 中允许的一系列操作。而要在工作流属性中定义 Partner Link 并找到与所调 Web Service 相对应的 WSDL URL,则首先需要在 PCC 中的 region 属性中进行 UDDI 注册。


图 7. UDDI 注册列表
图 7. UDDI注册列表

图 7 所示即为 UDDI 注册,其中的 Inquiry URL 是外部 Web Service 给定的,在本例中即是由信用卡中心所提供。添加到列表后,需要点击右上角的Validate 图标进行格式验证,同时可以不选择图 7 下方所示的选项来限制 PD 定义 Partner Link 时只能使用 UDDI 注册列表中的条目。

回到 PD 上的工作流属性面板,图 8 和图 9 给出了 Partner Link 的定义过程。


图 8. 定义 Partner Link
图 8. 定义Partner Link

图 9. 点击浏览已 UDDI 注册的 Web Services
图 9. 点击浏览已UDDI注册的Web  Services

完成以上几步后,我们就可以在 Invoke 步骤的属性中选择这个定义好的 Partner Link 以及其所提供的 WSDL 文件中定义的操作(本例中为 authorizePayment 操作)。如果设计者认为已完成工作流定义,则可点击 PD 面板上的 Validate 图标来对所设计的工作流进行验证。工作流验证通过后,我们可以启动一个工作流的实例来看看是否能够成功调用 Web Service 。当业务员完成为客户生成订单号的操作后,工作流进入到调用信用卡中心提供的 Web Service 这一步。此时,进入流程管理平台(Process Administrator )找到对应的工作流,然后点击 Open Tracker 图标即可跟踪当前工作流的执行状态。从图 10 可知,工作流停在了调用 Web Service 这一步,同时,我们可以通过命令行的方式(vwtool -> count #)来查看工作项目在每个队列中的数目,如图 11 所示。不难发现,工作流停在 WSRequest(0) 不能被处理的原因是因为我们还没有在 Application Engine 的 Process Task Manager 上去启动 WSRequest(0) 。从前面的原理简介中可以知道,FileNet BPM 为调用 Web Service 所提供的 Invoke 功能是被处理成 WSRequest 这个 Web Service 队列中的一个操作的,因此它是工作流与 Web Service 交互的关键。按照图 12 所示新建 Component Manager 并启动 WSRequest(0) 后,工作流即可成功获得 Web Service 返回的信息(本例中的返回为 authorize_payment: INVALID),进行到下一步去等待业务员选择 Reject 来拒绝订单。


图 10. 进入 Process Tracker 跟踪工作流
图 10. 进入Process  Tracker跟踪工作流

图 11. 使用 vwtool 命令查看状态
图 11. 使用vwtool命令查看状态

图 12. 新建 Component Manager 并启动 WSRequest(0)
图 12. 新建Component  Manager并启动WSRequest(0)

解决方案小结

上一小节中,我们对工作流调用外部 Web Service 的案例给出了详细的解决方案,下图则是对这一解决方案中如何调用 Web Service 的具体步骤总结。按照这样的步骤,只要我们有可用的 Web Service,就可以成功地将其集成在工作流中任意需要调用它的地方。


图 13. 调用外部 Web Service 的操作总结
图 13. 调用外部Web Service的操作总结

另外,对于调用 Web Service 的这一步,在进行 Validate 时一般来说有可能会出现以下几个错误:


图 14. 关于 Web Service 调用的常见错误
图 14. 关于Web Service调用的常见错误

分析可知,错误 1 是由于设计者的疏忽,没有为 Invoke 这一步指定 Partner Link 所造成的;错误 2 则是因为没有指定调用的 Web Service 所提供的操作;错误 3 表明在定义 Partner Link 时,没有指定具体的 WSDL URL(比如,当前有一个名为 abc 的 Partner Link,但设计者却没有通过浏览 Web Service 来指定具体的 WSDL 文件);错误 4 则是最常见的一个错误,即没有为调用的 Web Service 操作中的输入输出参数指定对应的工作流数据域(如图 6 中绿色框里的各项没有指定的话,就会出现这个错误)。

 




 

实际应用示 例 2 ——工作流对外提供 Web Service

除了调用外部 Web Service 以外,工作流本身也可以作为一个 Web Service 为其它工作流或是外部系统提供服务。下面,我们将在上一章节应用场景的基础上,给出一个简单的例子来说明怎样设计一个 Web Service 工作流并利用其它工作流对其进行调用。

应用场景描述及 需求分析

对于图书订购中心的客户,当他决定购买某一书籍前,需要先对该书籍在此订购中心的信息进行了解,如价格、折扣及返回积分等。客户的此类请求首 先会被提交到中心管理员那里,然后通过管理员返回想要获得的图书信息。这一查询的流程需要以 Web Service 的形式对外提供,从而使客户能够:

  • 在订购中心专门提供的主页上发起图书信息查询请求调用这一流程;
  • 通过启动另外一个工作流来调用这一图书信息查询流程。


图 15. 应用场景流程图(工作流对外提供 Web Service)
图 15.  应用场景流程图(工作流对外提供Web Service)

工作流设计与实现

基于上一章中对工作流设计的详细描述,这一节我们就只关注如何将工作流设计成一个 Web Service 。

一个工作流要对外成为一个 Web Service,需要在工作流中包含 FileNet BPM 提供的 Receive 和 Reply 两个 Web Services 功能,如下图所示工作流定义。


图 16. 工作流示图 2
图 16. 工作流示图2

根据之前的介绍可知,图 16 中的 Receive 步骤是用于监听外部请求从而启动整个工作流的,而 Reply 步骤则是把工作流中产生的信息返回给发送请求的工作流或外部系统。这两个步骤的属性中都需要指定 Partner Link 和相应的操作及参数。但和前面介绍的调用 Web Service 的 Invoke 步骤不同,这里的 Partner Link 的类型应该是 Receive/Reply 而不是 Invoke ,而且我们只需要定义一个供外部调用的 Process Port Type 即可。另一方面,Receive 和 Reply 属性中的操作及参数定义是分别用于指定这个 Web Service 工作流的输入和输出的。图 17 和 18 分别给出了图 16 所示 Web Service 工作流中的 Partner Link 定义及两个主要步骤的属性配置。


图 17. 为提供 Web Service 的工作流定义 Partner Link
图 17.  为提供Web Service的工作流定义Partner Link

图 18. Receive 和 Reply 步骤属性配置
图 18. Receive和Reply步骤属性配置

工作流定义完成后,我们需要对该工作流进行传输(Transfer),这是使其能够提供 Web Service 的必需步骤。

下面,我们会用图 19 中的工作流来简单调用上面定义的这个提供 Web Service 的工作流,从而验证该工作流能够成功地作为 Web Service 供外部使用。


图 19. 测试调用工作流提供的 Web Service
图 19. 测试调用工作流提供的Web Service

调用内部工作流提供的 Web Service 和外部 Web Service 的操作是类似的,只是在定义 Invoke 的 Partner Link 时,可以直接通过搜索工作流名字在浏览 Web Service 工作流的界面上获得其对应的 WSDL URL 。同时,可以看到,图 19 所示 Invoke 属性中选择的操作及输入输出参数正是在图 18 中 Receive 和 Reply 属性设置里定义的。

新建对应 region 的 Component Manager 并启动 WSRequest 队列后,我们可以启动测试工作流。在调用 Web Service 时,提供该 Web Service 的工作流会自动启动,WSRequest 队列将出现成功处理 Invoke 方法的信息,同样,在 Web Service 工作流返回信息给测试工作流时,WSRequest 队列也将会出现成功处理 Reply 方法的信息。

如果我们想要把 Web Service 工作流提供给外部使用,一般需要对其进行发布。发布一个 Web Service 工作流的先决条件是要在 PCC 中的 region 属性里先添加一个可用的 UDDI 注册到列表中,然后进入 Publish to UDDI 窗口来发布定义好的提供 Web Service 的工作流,如图 20 所示。


图 20. Publish to UDDI 窗口
图 20. Publish to UDDI窗口

如果想要在不发布工作流的情况下将其提供给外部用户调用,则可以直接将已传输的 Web Service 工作流的 WSDL URL 提供给用户。 WSDL URL 的构造方法为:http://[AE Server]:[port]/Workplace/P8BPMWSBroker/wscp[connection point name]/wc/[Workflow Name]/ [Workspace ID]?wsdl 。我们可以根据构造好的 URL,在 IE 中打开该工作流的 WSDL 定义文件进行查看。

解决方案小结

在设计工作流使其对外提供 Web Service 时需要注意以下几点:

  1. 想要作为 Web Service 对外提供的工作流,其名字是不能包含空格的;
  2. 为了使工作流能够在外部将其作为 Web Service 进行调用时自动启动,需要把 Receive 这一关键步骤放在 LaunchStep 之后的第一步;
  3. 由于 Web Service 工作流是在外部调用时自动启动的,因此不能在该工作流中指定 F_Originator(工作流发起者),它将被作为无效用户来处理;
  4. 必须先对工作流进行传输,才能将其作为 Web Service 使用。

下图即是对如何将工作流定义成为 Web Service 的具体步骤总结。


图 21. 工作流对外提供 Web Service 的操作总结
图 21. 工作流对外提供Web  Service的操作总结




 

结束语

通过 XML Web Services 来实现 Process Orchestration 是 FileNet BPM 中非常重要的一个功能,同时也是一个理想的业务流程管理解决方案所必须包含的部分。从上面的介绍可以看出,FileNet BPM 以面向服务为原则,全面地提供了一系列工具和系统功能来支持工作流与 XML Web Services 的交互,通过通用、独立并且安全的机制使工作流的设计者与管理者可以很容易地将已有 Web Services 集成到企业流程中来,从而实现真正的端到端协作式的自动化流程管理。希望通过本文的介绍,能够使相关设计人员或管理人员对 FileNet BPM 与 Web Services 的集成有一个整体理解,并能够帮助他们在未来的项目中付诸实践。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAP Process Orchestration The Comprehensive Guide, 2nd Edition SAP流程编制综合指南 1 Introduction to SAP Process Orchestration 1.1 Historical Overview and Evolution 1.1.1 SAP Process Integration 1.1.2 SAP Composition Environment 1.1.3 SAP Process Orchestration 1.1.4 SAP Process Orchestration 7.5 Highlights 1.2 SAP Process Orchestration Components 1.2.1 SAP Process Integration 1.2.2 Business Process Management 1.2.3 Business Rules Management 1.3 Architectural Overview and Positioning 1.3.1 SAP Process Orchestration Positioning 1.3.2 SAP NetWeaver Application Server for Java: System Architecture 1.3.3 SAP NetWeaver AS Java System Logical Layers 1.4 Installation Options 1.4.1 Case 1: SAP Process Integration Dual Stack 1.4.2 Case 2: SAP PI Dual Stack and SAP Composition Environment in Separate Installations 1.4.3 Case 3: SAP PI Single Stack and SAP Composition Environment in Separate Installations 1.4.4 Case 4: SAP PO—SAP PI and SAP Composition Environment in a Single Installation 1.5 Summary 2 Administration and Development Tools 2.1 SAP Process Orchestration Tools 2.1.1 Enterprise Services Repository 2.1.2 Integration Directory 2.1.3 System Landscape Directory 2.1.4 Configuration and Monitoring 2.2 SAP NetWeaver Administrator 2.2.1 Availability and Performance 2.2.2 Operations 2.2.3 Configuration 2.2.4 Troubleshooting 2.2.5 SOA 2.3 SAP NetWeaver Developer Studio 2.3.1 Use and Download 2.3.2 SAP Process Orchestration and SAP NetWeaver Developer Studio 2.4 Summary Part II Advanced Adapter Engine Extended (AEX) 3 Configuring the System Landscape Directory 3.1 System Landscape Directory Components and Features 3.1.1 Landscape 3.1.2 Software Catalog 3.1.3 Development 3.2 Registering Systems to the System Landscape Directory 3.2.1 Connecting to ABAP-Based Systems 3.2.2 Connecting to Java-Based Systems 3.2.3 Connecting to Other Systems 3.3 Administration of the System Landscape Directory 3.3.1 Server 3.3.2 Data and Content 3.4 System Landscape Directory Strategies 3.4.1 Manual Export and Import of Data 3.4.2 Automatic Bridge Forwarding 3.4.3 Full Automatic Synchronization 3.5 Tips and Tricks 3.5.1 Naming Convention 3.5.2 Keeping Your System Landscape Directory Catalogs Up to Date 3.5.3 Self-Registration of a Java-Based System with the SLD 3.5.4 Configuring Data Suppliers from One SLD to Another 3.5.5 Manual Export and Import of Data 3.5.6 Connecting the SLD to CTS+ to Facilitate the Export and Import of SLD Data 3.6 Exercise: Configuring the System Landscape Directory 3.6.1 Exercise Description 3.6.2 Exercise Solution Approach 3.6.3 Exercise Step-by-Step Solution 3.7 Summary 4 Working with the Enterprise Services Repository and Registry 4.1 Basic ES Repository Technical Concepts 4.1.1 Functional Blocks 4.1.2 First Steps in the Enterprise Services Repository 4.1.3 Service Interface 4.1.4 Integration Patterns: Stateful and Stateless Communication 4.1.5 Asynchronous versus Synchronous 4.1.6 Quality of Service 4.2 Design Objects 4.2.1 Software Component Versions 4.2.2 Folders 4.2.3 Namespaces 4.2.4 Mappings 4.2.5 Process Integration Scenario 4.2.6 Actions 4.3 Data Types and Message Types 4.3.1 Data Types 4.3.2 External Definitions 4.3.3 Message Type 4.3.4 Additional Design Objects 4.4 Exercise: Working with the ES Repository and Registry 4.4.1 Exercise Description 4.4.2 Exercise Solution Approach 4.4.3 Exercise Step-by-Step Solution 4.5 Summary 5 Working with the Integration Directory 5.1 Integration Directory Overview 5.2 Collaboration Profiles 5.2.1 Party 5.2.2 Communication Component 5.2.3 Communication Channel 5.2.4 Communication Component without a Party 5.3 Adapter Types 5.3.1 Technical Adapters to Enable Communication with SAP or Third-Party Systems 5.3.2 Application Adapters to Enable Communication with an SAP System 5.3.3 SAP Industry Adapters 5.3.4 Third-Party-Developed Adapters 5.4 Integrated Configuration 5.4.1 Inbound Processing 5.4.2 Receiver 5.4.3 Receiver Interfaces 5.4.4 Outbound Processing 5.5 The XI Message Protocol 5.6 Configuration Scenario 5.6.1 Creating a Configuration Scenario from Scratch (Manually) 5.6.2 Creating a Configuration Scenario from a Model 5.7 Value Mapping 5.7.1 If/Else Logic 5.7.2 Fixed Values 5.7.3 Value Mapping 5.8 Business-to-Business Integration 5.8.1 Business-to-Business On Premise 5.8.2 Business-to-Business Managed Services 5.8.3 Trading Partner Management 5.9 Axis Framework 5.10 Representational State Transfer Adapter 5.11 Message Alerting 5.11.1 Alert Rule Overview 5.11.2 Creating an Alert Rule 5.11.3 Editing or Deleting a Rule 5.12 Publish the Service in the Services Registry 5.13 Integration Directory Programming Interface (Directory API) 5.14 Exercise: Working with the Integration Directory 5.14.1 Exercise Description 5.14.2 Exercise Solution Approach 5.14.3 Exercise Step-by-Step Solution 5.15 Summary 6 Building an Integration Flow 6.1 SAP NetWeaver Developer Studio 6.1.1 Installing SAP NetWeaver Developer Studio 6.1.2 Setting Up SAP NetWeaver Developer Studio 6.1.3 Enterprise Integration Patterns and User-Defined Templates 6.2 Basics of Creating and Configuring an Integration Flow 6.2.1 Creating an iFlow 6.2.2 Configuring an iFlow 6.3 iFlow Example 6.3.1 Creating Products, Software Components, Business Systems, and Technical Systems in the SLD 6.3.2 Importing SLD Objects into the ES Repository in SAP NetWeaver Developer Studio 6.3.3 Create Enterprise Service Repository Objects 6.3.4 Create Directory Objects: Import Business Systems and Create iFlows 6.3.5 Testing the iFlow Scenario 6.3.6 Monitoring the Scenario 6.4 New Features of the Process Integration Designer 6.4.1 Export Objects from the Integration Designer 6.4.2 Automatically Deploy after Import 6.4.3 Version History and Deployment Status 6.5 Supporting Multiple Senders for Your iFlow 6.6 Exercise: Building an Integration Flow 6.6.1 Exercise Description 6.6.2 Exercise Solution Approach 6.6.3 Exercise Step-by-Step Solution 6.7 Summary 7 Administration and Monitoring in AEX 7.1 Administration 7.1.1 Central Administration Tool 7.1.2 SAP NetWeaver Administrator 7.1.3 SAP NetWeaver Application Server Java 7.1.4 SAP Process Integration Monitoring (pimon) 7.1.5 SAP Management Console 7.1.6 Config Tool 7.1.7 Administration Using Telnet 7.2 Monitoring 7.2.1 SAP NetWeaver Administrator 7.2.2 SAP Process Integration Local Monitoring 7.2.3 SAP PI Central Monitoring with SAP Solution Manager 7.2.4 Message Retention 7.2.5 User-Defined Message Search 7.3 Troubleshooting 7.3.1 Configuring Log and Traces 7.3.2 Using the Log Viewer 7.4 Summary 8 Migrating Interfaces from SAP PI Dual Stack to SAP PO 8.1 Migration Strategies 8.2 Migrating System Landscape Directory Content 8.2.1 Products 8.2.2 Software Components 8.2.3 Technical System 8.2.4 Business System 8.3 Migrating Enterprise Services Repository Content 8.3.1 Exporting Objects 8.3.2 Importing Objects 8.4 Migrating Integration Directory Content 8.4.1 Manually 8.4.2 Using the Migration Tool 8.5 Summary Part III Business Process Management and Composition 9 Introduction to SAP BPM and BPMN 2.0 9.1 Managing Business Processes 9.2 SAP Business Process Management 9.2.1 SAP BPM versus SAP Business Workflow 9.2.2 BPM before SAP BPM 9.2.3 SAP BPM Main Components 9.3 Business Process Model and Notation 2.0 9.3.1 Swimlanes 9.3.2 Artifacts 9.3.3 Flow Objects 9.3.4 Connections 9.4 Summary 10 Creating Your First SAP BPM Process 10.1 SAP BPM Positioning and Development Environment 10.1.1 Positioning 10.1.2 Setting Up Your Development Environment 10.2 Creating and Modeling an SAP BPM Process 10.2.1 Demonstration Scenario 10.2.2 Building an SAP BPM Process: Overview 10.2.3 SAP NetWeaver Developer Studio Perspective Concept 10.2.4 Create a Project in SAP NetWeaver Developer Studio 10.2.5 Creating a Process for Your BPMN 10.2.6 Creating a BPMN Model 10.3 Configuring the BPMN Model 10.3.1 Data Objects 10.3.2 Creating Data Structures 10.3.3 Importing XSD and WSDL 10.3.4 Process Pool Properties 10.3.5 BPMN Flow Objects 10.4 Flow Objects 10.4.1 Events 10.4.2 Tasks 10.4.3 Activities 10.4.4 Gateways 10.4.5 Artifacts 10.5 Build and Deploy Your Process 10.5.1 Steps for Building a Process 10.5.2 Steps for Deploying a Process 10.6 Advanced Mapping 10.6.1 Mappings 10.6.2 Options in Mapping Assignment 10.6.3 Automatic Mapping 10.6.4 Custom Functions 10.7 Implementing Error Handling 10.8 Combining SAP BPM and the AEX 10.8.1 Message from SAP BPM to the AEX 10.8.2 Message from the AEX to SAP BPM 10.8.3 Leverage an ES Repository Mapping in SAP BPM 10.9 Exercise: Creating an SAP Business Process Management Process 10.9.1 Exercise Description 10.9.2 Exercise Solution Approach 10.9.3 Exercise Step-by-Step Solution 10.10 Summary 11 Applying Advanced SAP BPM Concepts and Extensions 11.1 Service-Oriented Architecture Configuration 11.1.1 Configuration for an Automated Activity 11.1.2 Configuration for a Start Event or Intermediary Event 11.2 Testing and Running an SAP BPM Process 11.2.1 Process Repository Overview 11.2.2 Process Testing 11.3 Custom Enterprise Java Bean Functions 11.3.1 Create EJB and EAR Development Components 11.3.2 Create the Enterprise Java Bean 11.3.3 Build and Deploy 11.3.4 Create a New Enterprise Java Bean Function 11.4 Using the Claim Check Pattern 11.4.1 Create Interfaces 11.4.2 Create Mappings 11.4.3 Configure the Channel 11.4.4 Retrieve the Large Message from SAP BPM 11.4.5 Update the Status of the Large Message from SAP BPM 11.5 SAP BPM Application Programming Interface 11.5.1 Prerequisite to Using the SAP BPM API 11.5.2 Implementation Aspects and Examples 11.6 SAP Business Process Management OData 11.6.1 OData Services for Tasks and Task Data 11.6.2 Error Handling 11.7 Using the Push API to Access SAP BPM Lifecycle Events 11.7.1 Accessing Events through a Message Driven Bean 11.7.2 Accessing Events through a Java Message Service API 11.8 Debugging and Troubleshooting SAP BPM Processes 11.8.1 Place Breakpoints in the Process 11.8.2 Add a Debug Configuration 11.9 Tuning SAP BPM-Related Performance Parameters 11.10 Best Practices for Your SAP BPM Application 11.10.1 BPMN, Mapping, and Parallelism 11.10.2 Task Related 11.10.3 Gateways 11.10.4 Looping 11.10.5 Data Object 11.10.6 Correlation 11.10.7 Error Handling 11.10.8 Housekeeping 11.11 Exercise: Applying Advanced SAP BPM Concepts and Extensions 11.11.1 Exercise Solution Approach 11.11.2 Exercise Step-by-Step Solution 11.12 Summary 12 Combining SAP BPM and UI Technologies 12.1 Web Dynpro Java User Interface Technology 12.1.1 Generating a Web Dynpro User Interface 12.1.2 Post-Configuration Steps 12.2 Integrating SAPUI5 into an SAP BPM Process 12.2.1 SAPUI5 Technology Platform 12.2.2 Model-View-Controller Concept 12.2.3 SAPUI5 Components 12.2.4 Other SAPUI5 Concepts 12.2.5 Integration Steps 12.3 Other User Interface Technologies 12.3.1 Visual Composer 12.3.2 Adobe Offline Forms 12.3.3 Support for Custom User Interface Technologies 12.4 Summary 13 SAP Business Rules Management 13.1 How Business Rules Work 13.2 SAP Business Rules Management 13.2.1 Rules Composer 13.2.2 Rules Manager 13.2.3 Rules Engine 13.3 Modeling Business Rules with Rules Composer 13.3.1 Create the Rules Composer Development Component 13.3.2 Adding Context to the Rules 13.3.3 Creating a Ruleset 13.3.4 Flow Ruleset 13.4 Testing Business Rules 13.5 Best Practices for Modeling Business Rules 13.5.1 Separate Decision Logic from Other Types of Logic 13.5.2 Reuse and Extend before Building 13.6 Exercise: SAP Business Rules Management 13.6.1 Exercise Solution Approach 13.6.2 Exercise Step-by-Step Solution 13.7 Summary 14 Implementing Java Proxies 14.1 Java Proxy Concept and Considerations 14.2 Implementation Approaches 14.2.1 Outside-In Approach 14.2.2 Inside-Out Approach 14.3 Technical Implementation 14.3.1 Development Environment 14.3.2 Developing a Server Java Proxy 14.3.3 Developing a Client Java Proxy 14.4 Building an Orchestration 14.5 Exercise: Implementing Java Proxies 14.5.1 Exercise Solution Approach 14.5.2 Exercise Step-by-Step Solution 14.6 Summary 15 Administration and Monitoring Message Processing in SAP BPM 15.1 Monitoring 15.1.1 SAP Business Process Management System Overview 15.1.2 Process Repository 15.1.3 Process Management 15.1.4 Task Management 15.1.5 SAP BPM Inbox 15.1.6 Business Logs 15.1.7 SAP BPM Action Monitor 15.1.8 Process Troubleshooting 15.1.9 Rules Business Logs 15.1.10 SAP BPM Analytics Dashboard 15.2 Administration 15.2.1 Process Data Archiving 15.2.2 Log Viewer 15.3 Summary 16 Migrating ccBPM from SAP PI to SAP PO 16.1 Motivation for Migration 16.2 Migration Approach 16.2.1 Analyze the As-Is Integration Processes 16.2.2 Translate and Redesign 16.2.3 Export and Reuse Enterprise Services Repository Objects 16.2.4 Migrate and Adapt Configuration Scenarios 16.3 Recommendations 16.4 Summary Part IV Advanced Concepts 17 SAP Cloud Platform Integration for SAP PO 17.1 Enable Cloud Integration Content in SAP PO 17.2 Reusing Cloud Integration Content 17.2.1 Download Cloud Integration Content 17.2.2 Deploy the Cloud Integration Content 17.3 Monitoring 17.3.1 Monitoring the Integration Gateway Component 17.3.2 Monitoring Messages Related to the Deployment of Cloud Integration Content 17.4 Summary 18 Additional Components for SAP Process Orchestration 18.1 Component Model 18.1.1 Product 18.1.2 Software Components 18.1.3 Development Component 18.1.4 Dependencies among Development Components 18.1.5 Public Parts 18.2 SAP NetWeaver Development Infrastructure 18.2.1 Change Management Services 18.2.2 Design Time Repository 18.2.3 Component Build Service 18.3 SAP Composite Application Framework 18.3.1 Design Time Aspects 18.3.2 Runtime Aspects 18.4 Service Registry 18.5 Enhanced Change and Transport System 18.5.1 SAP PI-Related Transports 18.5.2 Transports for Non-SAP PI Java Objects 18.6 Exercise: Create an SWCV 18.6.1 Exercise Solution Approach 18.6.2 Exercise Step-by-Step Solution 18.7 Summary 19 Landscape Setup Considerations 19.1 Java System Configuration 19.1.1 Java Sizing and Setup Considerations 19.1.2 Java System Architecture 19.1.3 Java Central Services 19.1.4 Java Parameter Tuning 19.2 Handling Certificates 19.2.1 Certificate Key Storage 19.2.2 Encryption of Message Content on Database Level 19.3 Housekeeping 19.3.1 Archiving 19.3.2 Deletion 19.3.3 Restarting 19.3.4 Recovery 19.4 Monitoring 19.4.1 Runtime Workbench 19.4.2 Wily Enterprise Manager 19.4.3 SAP Management Console 19.4.4 SAP Solution Manager Monitoring 19.4.5 Tracing 19.4.6 JVMMON 19.5 Summary A Orchestration Outlook A.1 SAP API Management A.2 SAP Cloud Platform Integration A.2.1 Features and Facts Overview of SAP Cloud Platform Integration A.2.2 Development Guide: Getting Started A.2.3 Monitoring A.3 The Integration Advisor A.3.1 Interface Specifications: Advice from the Advisor A.3.2 Mapping Guideline A.3.3 Runtime A.3.4 Testing A.4 SAP Cloud Platform Workflow as a Service A.4.1 Workflow Service A.4.2 Workflow Modeling A.4.3 SAP Cloud Platform Business Rules A.4.4 Workflow Tasks Management A.4.5 Integration 官方出品,英文原版,可编辑带导航非影印版(总计1866页)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值