WebSphere Process Server Service Components:Business State Machine and Business Rules(学习笔记一)

业务状态机

业务状态机 是事件驱动的业务事务,该业务事务定义了应用软件中给定部分的一组状态。状态机根据接收到的外部事件从一个有效状态转移到下一个有效状态。对于一个给定事件,使用各种条件来决定新的有效状态。售货机可以作为一个简单的例子,当它接收到足够的钱则转换到激活选择按钮的状态。在做出选择之后,它就转变到分发商品(比如说一个巧克力棒)的状态。可以使用状态机编辑器来构造业务状态机,它与业务流程编辑器一样是可视化的编辑工具,并且几乎不需要具有 Java 编程经验。

可以使用业务状态机和业务流程来协调应用程序的各个部分。二者之间有一些细微的差别,这使得它们在解决某些类型的问题时各有所长。状态机非常适合于循环模式或者那些能自然地想到一组有效状态的情况。这一点非常重要,因为在状态机中,实际在一个状态中并不进行任何动作,而仅仅是等待转移到下一个状态的信号并随后发生状态转移。当状态机从一个状态转移到另一个状态的过程中,它可以完成一些工作,比如售货机的例子中将巧克力棒分发给顾客。与之相反,业务流程则是在其活动中完成工作。它们非常适合于顺序执行或者并发执行的任务。与业务流程相似,业务状态机能够调用其他实现类型的服务,并且能够将自身作为服务来调用。图 4 显示了使用业务状态机编辑器所构造的业务状态机


图 4. 业务状态机编辑器
业务状态机编辑器

对于那些熟悉 UML 的用户,业务状态机是 UML 状态机的子集,而且它更适合于业务用户。

业务规则

业务规则 描述并实现了业务策略和实践。规则可以增强业务策略、制定决策、或从现有的数据中推理出新的数据。通常有两种不同的指定形式:规则集或者是决策表。

如果这些解释听起来更像一堆专业用语,那么请看下面的这个例子。业务规则通常形如:如果是金卡客户,并且在本公司消费长达十年之久,那么可以给予他们百分之十的折扣。这条业务规则是一个简单的 if-then 规则。如果规则计算为真,则执行一个动作,在本例中是给予客户折扣。业务规则集 由一组业务规则组成,这组规则在复杂业务逻辑的实现中具有很强的灵活性。

决策表 则用来处理基本的业务规则逻辑。它虽不如规则集那样灵活,但是用来描述简单的规则逻辑时能带来极大的便利。经常旅行的人会比较熟悉下面这个关于决策表的经典例子。假设想要避开寒冷并花光所有的频繁飞行积分去夏威夷。您会查看一张表,分别找到居住城市和夏威夷所在的行和列,这个交叉处所显示的正是这趟旅程所需的积分数。这仅仅只是能用决策表轻松描述的业务规则逻辑中的一种。

它向我们展示了业务规则的一个重要特点:它是动态的,换言之,它具有随着业务环境的改变做出反应的能力。可以使用业务规则来动态地修改产品服务器上的重要业务参数,并使它们立即生效。例如,假设在一个反常的暖冬季节里,飞往热带目的地的航线无人问津。您决定降低到夏威夷所需的频繁飞行积分。那么只需通过查看表格并修改相应的值,就可以轻松地在业务运行过程中完成这项任务。

在本文后面的内容中,我们将概述 WebSphere Business Monitor,可以用这个产品来实时监控业务,从而通过调整业务规则策略来对关键的观测结果和条件做出反应。

总而言之,在下列任何情况下都应该使用业务规则来进行决策制定:

  • 希望在运行的服务器上在运行时对结果进行更改。
  • 决策本身就是以表的形式呈现。
  • 决策本身就是以一系列简单选择项的形式呈现,即可以很容易地看作为“if-then”语句。

 

图 5 显示了如何使用决策表编辑器来创建决策表。


图 5. 决策表编辑器
决策表编辑器

以上是IBM WebSphere关于业务状态机和业务规则的相关资料

以下是我的学习笔记

          状态机

状态机:状态和变迁的组合(变迁的过程可以定义许多的逻辑)

它是利用的SACLXML文档进行状态机的配置,运行是采用的BPEL

执行流程:

1、  形成一个状态机的实例,并找出当前的状态

2、  变迁中的活动(可能调用大量的服务services

3、  到达下一步的状态

状态机的组成:

一、Transition(变迁)

1、  EventOparations)事件引起变迁

A、 Can cause a transition out of a state.

B、 Map to the operation that are available on the state machine SCA component.(只有在状态机接口里定义的事件才能被状态机接受)

C、 BO can be used as input/output parameters

D、Part of the input parameter is used to correlate to a state machine instance.

2、  Timer and Automatic 定时变迁、自动变迁

3、  Conditionreturn bool)施加某些条件(调用某些Services<这不是必需的>

4、  Action(行为):定义在变迁之上,做一些与业务有关的操作(执行一定的业务逻辑)

二、State

1、  Entry Action(进入该状态有一些操作)

2、  Exit Action

(这些都不是必需的,可以定义,也可以不定义。你可以在Transition中执行操作。)

三、Composite State(复杂状态状态机中嵌套状态机)

四、Others

1、  CorrelationSet

Used to identify unique instance of the BSM

2、  Interfaces

Define the Events(operations)

3、  References

4、  Variables

A、 定义BO以及各种类型的参数

B、 通过业务对象找到对应的状态机

 

Business Rules

If / Then rule set<一维>

1A set of If/Then statements

2Rules where If is the condition and then is the action

Decision Table<多维>

 

什么是业务规则(业务规则 描述并实现了业务策略和实践。规则可以增强业务策略、制定决策、或从现有的数据中推理出新的数据。通常有两种不同的指定形式:规则集或者是决策表。

 

1、  If/Then规则集,决策表

2、  对规则的定义和实现分离出来(松耦合)

3、  对规则的动态修改

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值