跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用 WebSphere Business Services Fabric V6.2 中的业务变量和业务空间快速适应不断变化的业务需求

Vignesh Velusamyravindran, 软件架构师, IBM
Vignesh Velusamyravindran 照片
Vignesh Velusamyravindran 是 IBM 印度软件实验室的软件架构师。他与 IBM 业务合作伙伴合作使用 WebSphere 产品组合设计和开发 SOA 应用程序。他是 IBM Redbook WebSphere Business Process Management V6.1.2 Production Topologies 的合著者。

简介: 本文将介绍如何利用 WebSphere Business Services Fabric V6.2 的新特性,以及由 WebSphere 驱动的业务空间共同构建灵活的业务流程,使用户能够在不涉及 IT 的情况下轻松地修改策略属性。

发布日期: 2010 年 2 月 04 日
级别: 初级 其他语言版本: 英文
访问情况 : 1207 次浏览
评论: 


简介

本文采用了一个简单的预构建贷款处理场景,并介绍了业务变量和业务空间在贷款处理复合业务服务中的应用。您将了解到如何在 WebSphere Business Services Fabric(此后简称为 Fabric)中,为预构建的贷款处理复合业务服务创建业务变量和业务空间。

业务变量指数据值的占位符。它根据布尔、整数、文本或枚举值等数据创建。业务变量在设计时被分配给一个策略或策略断言。业务用户可以使用业务空间在运行时修改业务变量的值。在完成治理过程后,新的值将立即由策略在运行时使用。

由 WebSphere 驱动的业务空间是一个基于 Web 2.0 的 mashup 环境,可以提供丰富的用户接口,包括许多预置的模板,您可以对之进行自定义并使用它们管理业务流程。在业务空间中,业务用户可以在无需 IT 协助的情况下轻松修改策略属性。有关业务空间的更多信息,请参考 通过 WebSphere 业务空间助力业务用户

业务空间和业务变量联合在一起可以为用户提供在运行时灵活管理流程的能力。

先决条件

要完成本文介绍的步骤,您必须安装以下软件:

  • WebSphere Integration Developer V6.2(此后称为 Integration Developer)和运行时
  • WebSphere Business Services Fabric Toolkit 6.2 和运行时
  • IFix JR31440
  • IFix JR31376

您应当对如何使用 WebSphere Business Services Fabric 构建复合业务服务有良好的理解。要了解更多有关构建复合业务应用程序的信息,请参考 developerWorks 系列文章 使用 WebSphere Business Services Fabric 创建灵活的面向服务的业务解决方案


场景:贷款提供系统

本文使用一个预构建的 Fabric 贷款提供业务流程,它执行以下任务:

  • 贷款支付检验
  • 贷款提供

图 1 展示了此业务流程的工作流。


图 1. 贷款提供业务流程的流程图
贷款提供业务流程的流程图

表 1. 样例场景中的断言
断言名 数据类型 变化点
LoanAmountAssertion 整数 1) 贷款数额 > $50K 为高风险贷款支付
2) 贷款数额 < $50K 为低风险贷款支付
3) 贷款数额 < $25K 为基本贷款提供
4) $50K > 贷款数额 > $25K 为普通贷款提供
5) 贷款数额 > $50K 为特殊贷款提供
RiskRatingAssertion 字符串 级别(高,低)
LoanTypeAssertion 字符串枚举 贷款类型(基本,普通,特殊)

变化点一列中可以看到,贷款支付服务出现两个变化。根据贷款额度的不同,将选择并调用相应的服务。对于贷款额度大于 $50K 的贷款,将调用高风险服务;对于任何低于 $50K 的贷款,将调用低风险服务。

贷款提供服务有三种版本。根据贷款额度的不同,将选择并调用相应的服务。对于贷款额度小于 $25K 的贷款,将调用基本贷款提供服务;对于大于 $25K 但小于 $50K 的贷款额度,将调用普通贷款提供服务。对于大于 $50K 的贷款,将调用特殊贷款提供服务。

表 2 展示了这个场景中使用的策略。


表 2. 样例场景中使用的策略
策略名称 策略表达式 约束
LowRiskPolicy LoanAmount < $50K 风险级别 = 低
HighRiskPolicy LoanAmount > $50K 风险级别 = 高
BasicLoanPolicy LoanAmount < $25K 贷款类型 = 基本
RegularLoanPolicy LoanAmount > $25K and <50K 贷款类型 = 普通
PremiumLoanPolicy LoanAmount > $50K 贷款类型 = 特殊

在预构建解决方案中,策略对贷款额度使用固定的值。贷款额度是策略的一项关键条件。企业可能会由于不同的原因而修改贷款额度,比如竞争、法规遵从性等等。如果贷款额度发生变化,那么将必须对策略进行更新。在本文中,您将了解如何使用业务变量和业务空间来避免对策略中的值进行硬编码。


建立项目

完成本节中的步骤来使用预构建的 Fabric 解决方案。

步骤 1:安装贷款应用程序

  1. 下载 小节下载项目交换 zip 文件和 Fabric 内容归档 zip 文件。
  2. 使用一个新的工作空间启动 Integration Developer。将贷款项目交换文件导入到工作空间。
  3. 启动 Fabric 服务器。
  4. 将 LoanProvision and LoanRealization 应用程序发布到 Fabric 服务器。

步骤 2:导入 Fabric 内容归档文件

  1. 提取 Fabric 内容归档 zip 文件。
  2. 将浏览器指向以下位置:http://<hostname>:<webappport>/fabric/login.jsp,使用管理员 ID 和密码进行登录。
  3. 选择 Governance Manager => Import/Export
  4. 按照以下顺序,从 Fabric 内容归档文件的 \setup 文件夹导入 FCA 文件。
    1. OrganizationsUsersandRoles-owl.zip
    2. FabricGovernance-owl.zip
    3. ITSFinanceOnt-owl.zip
    4. ITSFinanceCBA-owl.zip
  5. 选择 Governance Manager => Manage Teams > ITSFinanceTeam
  6. 从可用用户列表选择 Admin 用户,并将其移动到所选用户列表,然后单击 Save
  7. 在 Integration Developer 中创建一个名为 ITSLoan 的新 Fabric 项目。
  8. 在存储库中同步新的 Fabric 项目和 ITSFinanceCBA 业务服务项目。

创建业务变量

为了在贷款提供业务服务中实现更好的灵活性,我们将创建三个业务变量并将它们关联到策略。

贷款额度 $50K 在 LowRiskPolicy 和 HighRiskPolicy 中被用作固定值,以确定要调用哪一个贷款支付服务。我们将创建一个名为 Credit risk limit 的业务变量来保存 $50K 的固定值,并在 LowRiskPolicy 和 HighRiskPolicy 中使用 Credit Risk Limit 业务变量替换硬编码的贷款额度值。

贷款额度 $25K 在 BasicLoanPolicy 和 RegularLoanPolicy 中被用作固定值,用来确定要调用哪一种贷款提供服务。我们将创建一个名为 Basic Loan Provider Limit 的贷款变量来持有 $25K 这个固定值,并在 BasicLoanPolicy 和 RegularLoanPolicy 中使用 Basic Loan Provider Limit 业务变量替换硬编码的 $25K 贷款额度。

贷款额度 $50K 在 PremiumLoanPolicy 中被用作固定值,用于确定要调用哪一个贷款提供服务。我们将创建一个名为 Premium Loan Provider Limit 的业务变量来持有 $50K 这个固定值,并在 PremiumLoanPolicy 中使用 Premium Loan Provider Limit 业务变量替换硬编码的 $50K 贷款额度。

表 3 展示了我们将创建的业务变量以及相关联的策略。


表 3. 业务变量以及相关联的策略
业务变量名 数据类型 相关联的策略
贷款风险限制 整数 LowRiskPolicy, HighRiskPolicy
基本贷款提供限制 整数 BasicLoanPolicy,RegularLoanPolicy
特殊贷款提供设置 整数 PremiumLoanPolicy

创建 Basic Loan Provider Limit 业务变量

  1. 在 Integration Developer 工作空间中,切换到 Business Service 透视图。
  2. 在 Business Services Explorer 中,右键单击 Business Variable,然后选择 New => Business Variable
  3. 在如图 2 所示的 Business Variable 对话框中,完成以下操作:
    • 选择 ITSLoan 作为项目。
    • 指定 Basic Loan Provider Limit 作为名称。
    • 选择 ITSFinanceINS 作为名称空间。
    • 选择 Loan Provider 作为类别。
    • 指定 Basic Loan Provider Limit 作为字段名。
    • 选择 Integer 作为字段类型。
    • 单击 Next


    图 2. 创建业务变量 - 步骤 1
    创建业务变量 - 步骤 1

  4. 在如图 3 所示的 Create a Business Variable 对话框中,执行以下操作:
    • 指定 0 作为最小值。
    • 指定 1000000 作为最大值。
    • 指定 25000 作为当前值。
    • Permissions 选择 User can edit this variable
    • 单击 Finish


    图 3. 创建业务变量 - 步骤 2
    创建业务变量 - 步骤 2

    注意:在本例中,最大和最小值决定了数据类型为 Integer 的业务变量的值范围。
  5. 使用如下值再创建两个业务变量:
    • ProjectITSLoan
    • NamespaceITSFinanceINS
    • Field TypeInteger


    名称 字段名 类别 最小值 最大值 当前值 权限
    贷款风险限制 贷款风险限制 贷款风险 0 1000000 50000 用户可以编辑此变量
    特殊贷款提供的基本限制 特殊贷款提供的基本限制 贷款提供 0 1000000 50000 用户可以编辑此变量


  6. 保存所有业务变量。

将业务变量分配给策略

现在,您需要将业务变量分配给策略,这样策略便可以在运行时使用业务变量值。为此,完成以下步骤:

  1. 选择 Basic Loan Policy
  2. 单击 Policy Expression 选项卡。
  3. Expression 部分中右键单击 LoanAmount <= 25000 并选择 Edit
  4. 将显示 Property Condition 对话框,如图 4 所示。单击 Edit Content

    图 4. 分配一个业务变量 - 步骤 1
    分配一个业务变量 - 步骤 1

  5. 单击 LoanAmount 字段旁边的按钮,然后单击 OK,如图 5 所示。

    图 5. 分配一个业务变量 - 步骤 2
    分配一个业务变量 - 步骤 2

  6. Business variable Selection 对话框中选择,然后单击 OK,如图 6 所示。

    图 6. 分配一个业务变量 - 步骤 3
    图 6. 分配一个业务变量 - 步骤 3

  7. 在接下来的两个对话框中单击 OK。策略表达式窗口应当如图 7 所示。

    图 7. 分配完业务变量后的基本贷款策略编辑器
    分配完业务变量后的基本贷款策略编辑器

  8. 保存策略。
  9. 将策略变量 Basic Loan Provider LimitPremium Loan Provider Base Limit 分配给 RegularLoanPolicy,如图 8 所示。

    图 8. 分配完业务变量后的普通贷款策略编辑器
    分配完业务变量后的普通贷款策略编辑器

  10. 将业务变量 Premium Loan Provider Base Limit 分配给 PremiumLoanPolicy,如图 9 所示。

    图 9. 分配完业务变量后的特殊贷款策略编辑器
    分配完业务变量后的特殊贷款策略编辑器

  11. 将业务变量 Credit Risk Limit 分配给 LowRiskPolicy,如图 10 所示。

    图 10. 分配完业务变量后的低风险策略编辑器
    分配完业务变量后的低风险策略编辑器

  12. 将业务变量 Credit Risk Limit 分配给 HighRiskPolicy,如图 11 所示。

    图 11. 分配完业务变量后的高风险策略编辑器
    分配完业务变量后的高风险策略编辑器

  13. 当分配完业务变量后,保存所有策略并将更改从 ITSLoan 项目提交到来自 Repository Changes explorer 的服务器。
  14. 最后,模拟策略并对所有策略进行测试,看看它们是否按预期工作。
  15. 从 Repository Changes explorer 更新项目 ITSLoan。

测试复合业务服务

我们将使用 Fabric Unit Test Environment (UTE) 服务器测试我们的应用程序。要测试业务服务,完成如下步骤:

  1. 在 Integration Developer 中,切换到 Business Integration 透视图。
  2. 打开 LoanProvision 模块的结构图。
  3. 右键单击 LoanProcessInjector
  4. 指定如下值:
    • CustomerID:100
    • CustomerAddress:任意字符串
    • LoanAmount:50000
  5. 单击 Continue
  6. 选择 IBM WebSphere Business Services Fabric Server,并输入管理员名称和密码(在本例中为 admin/admin)。
  7. 您将看到一个流程工作流序列。业务服务应当被成功执行并返回一个贷款回复,如图 13 所示。

    图 13. 测试结果
    测试结果

  8. 我们提供了一个 LoanAmount 为 50000 的贷款。根据这个策略条件,Dynamic Assembler 调用了低风险贷款支付终端和特殊贷款提供终端。您还可以检查服务器日志,通过查看日志语句确认哪些终端被调用。

适应新的需求

业务更改在竞争激烈的业务环境中会频繁发生。这些变更是由各种因素驱动的,比如业务扩张、合并、竞争压力、成本缩减、策略变更等等。在我们的示例场景中,假设组织决定修改根据贷款额度确定贷款风险和贷款提供的条件。新的条件如表 4 所示。


表 4. 新条件
策略 业务变量值 新条件
LowRiskPolicy 贷款风险限制 = 45000 Loanamount <= 45000
HighRiskPolicy 贷款风险限制 = 45000 Loanamount > 45000
BasicLoanPolicy 基本贷款提供限制 = 20000 Loanamount < 20000
RegularLoanPolicy 基本贷款提供限制 = 20000

特殊贷款提供基本限制 = 55000
Loanamount > 20000 且 Loanamount < 55000
PremiumLoanPolicy 特殊贷款提供基本限制 = 55000 Loanamount > 55000

如果解决方案的实现没有涉及业务变量和业务空间,那么业务用户需要用 Fabric composition studio 修改策略中的贷款额度值。这是更加困难的一个过程,并且可能需要 IT 支持。

然而,我们使用业务变量和业务空间构建的解决方案简化了这种更改。业务用户可以登录到业务空间并轻松地修改业务变量的值,无需 IT 介入。当完成贷款批准流程后,Fabric 引擎将立刻使用新的值选择并调用终端。

注意:为了保持简单性,我们使用了一个单个用户提交、批准和发布变更。在生产环境中,用户可能是不同的。

在下一小节中,我们将介绍应用新条件的必需步骤。


配置业务空间

在本节中,我们将配置业务空间以修改业务变量的值。我们稍后将使用业务空间页面来编辑业务变量。

创建业务空间

  1. 将浏览器指向 http://<hostname>:<webappport>/BusinessSpace/login.jsp
  2. 使用管理员 ID 和密码登录(在本例中为 admin/admin)。
  3. 单击 Create New Business Space 图标。
  4. Create New Business Space 对话框中,指定 My Business Space 作为名称,选择 From a template 并选择 Business Process Agility,然后单击 OK,如图 12 所示。选择 Business Process Agility 将自动列出 Fabric composition studio 中创建的所有业务变量。

    图 12. 创建新业务空间
    创建新业务空间

编辑业务变量

  1. 将浏览器指向 http://<hostname>:<webappport>/BusinessSpace/login.jsp
  2. 使用管理员 ID 和密码登录(在本例中为 admin/admin)。
  3. 选择 My Business Space
  4. 单击 Business Variable Configuration 选项卡。
  5. 选择 Basic Loan Provider Limit 并单击右侧的 Edit
  6. 为新的变更集指定名称和描述,如图 14 所示,然后单击 OK

    图 14. 创建基本贷款提供变更集
    图 14. 创建基本贷款提供变更集

  7. 单击 Basic Loan Provider Limit 的值。
  8. Basic Loan Provider Limit 修改为 20000,如图 15 所示,然后单击 Save

    图 15. 基本贷款提供编辑页面
    基本贷款提供编辑页面

  9. 单击 Governance 选项卡并选择 Basic loan Provider change set
  10. 单击 Submit 并为变更提供一个描述和注释,如图 16 所示。

    图 16. 基本贷款提供变更集
    图 16. 基本贷款提供变更集

  11. 单击 Approve 并提供注释。
  12. 单击 Publish 并提供注释。
  13. 重复步骤 1 到 12,将业务变量 Premium Loan Provider Base Limit 的值修改为 55000
  14. 重复步骤 1 到 12,将业务变量 Credit Risk Limit 的值修改为 45000

针对新需求测试复合业务应用程序

  1. 在 Integration Developer 中,切换到 Business Integration 透视图。
  2. 打开 LoanProvision 模块的结构图。
  3. 右键单击 LoanProcessInjector
  4. 指定以下值:
    • CustomerID:100
    • CustomerAddress:任意字符串
    • LoanAmount:50000
  5. 单击 Continue
  6. 选择 IBM WebSphere Business Service Fabric Server,并输入管理员名称和密码(在本例中为 admin/admin)。
  7. 您将看到流程工作流的序列。业务服务应当被成功执行并返回一个贷款回复,如图 17 所示。

    图 17. 测试结果
    测试结果

  8. 我们将贷款额度设置为 50000,但是,根据新的条件,Dynamic Assembler 这一次调用的是高风险贷款支付终端和普通贷款提供终端。您还可以检查服务器日志,通过查看日志语句确定哪些终端被调用。

结束语

在本文中,您了解了如何在一个复合业务服务中使用由 WebSphere 驱动的 WebSphere Business Services Fabric 业务变量和业务空间轻松应付业务变化。您学习了如何创建业务变量并将它们分配给策略。您还了解了如何创建业务空间页面,为业务用户编辑业务变量。



下载

描述名字大小下载方法
包含业务集成模块的项目ITSFinance.zip110KBHTTP
Fabric 内容归档FCA.zip28KBHTTP

关于下载方法的信息


参考资料

关于作者

Vignesh Velusamyravindran 照片

Vignesh Velusamyravindran 是 IBM 印度软件实验室的软件架构师。他与 IBM 业务合作伙伴合作使用 WebSphere 产品组合设计和开发 SOA 应用程序。他是 IBM Redbook WebSphere Business Process Management V6.1.2 Production Topologies 的合著者。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=466439
ArticleTitle=使用 WebSphere Business Services Fabric V6.2 中的业务变量和业务空间快速适应不断变化的业务需求
publish-date=02042010
author1-email=vvelusam_cnnew1@in.ibm.com
author1-email-cc=

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。