结合经验浅谈SOA的剖析(三)

企业范围级的进程常常会进化--进程与进程之间一样会进行交互
 
业务进程
 
今天的IT系统大部分都是记录保存(record-keeping)的系统。在过去的很长时间里(大概有30年吧),IT界已经获取了接近以千兆为单位的数据,而这些数据都保存在各自不一样的应用和不少不少不一样的数据库(一般都是私有财产)中。今天IT界所普遍使用的方法,技术以及注意力都继续关注在数据的获取和存取上。
 
业务的定义取决于动态的进程,这些进程会随着业务行为而不断的扩大,收缩和改变。由于进程很难去正式化和自动化,因此长久以来它们都是IT界的二等公民。在大多数的IT系统中,只有最基本的,起策划做用的进程才会合并在一块儿。相反的,各类各样的业务进程倒是管理所关注的焦点。
 
在以数据为中心的IT范例中,业务人员不可能获取所需的信息来进行价格竞争,质量竞争,速度竞争和服务竞争。他们须要的是可执行的信息和知识。那些想提升它们的效率和竞争能力的公司必须创造并控制进程,而不是数据或者应用,由于进程才是基于计算机的自动化和支持的最基本单元。它们必须得把焦点从记录转移到进程上面来,进程处理必须代替数据处理。
 
一个业务进程是一整套的活动,这套活动为了实现某个目标而按前后次序开展的。每一步都包含着相关的行为(这些行为是在这一步中开展的)和业务规则(这些规则定义了如何过渡到下一步)。
 
根据Workflow的管理联合术语学和术语表(Workflow Management Coalition Terminology and Glossary),一个业务进程其实:
  • 每每是和目的和业务关系关联在一块儿的,例如一个保险索赔进程。
  • 每每定义了每一个进程实例(例如索赔的提出)的触发条件(初始化),也定义了该进程结束的输出。
  • 可能包含参与者之间正式或者相对非正式的交互,其交互持续时间能够变化很是大。
  • 进程能够在一个更高级的业务进程中做为子进程而使用。
企业范围级的进程常常会进化--进程与进程之间一样会进行交互。它们改变的速率每每快到令应用和开发人员没法跟的上。惟一可行的解决办法就是:
  • 使进程外部化,把它们从应用中抽离出来,并提供一些工具来使进程的设计,实现和改变简单化。
  • 以服务的形式来设计应用,让它们在端到端的进程中起一个重要做用,并让它们能够存取进程所需的外部数据。
经过这种办法,业务进程就可以在进程之间进行交互,并可以协调好服务与服务之间的行为,而这些行为是与进程的全局目标有着必然的关系的。
 
若是用尘归尘,土归土的处理方式(case by case,application by application)来解决这些进程相关的问题,并不比纯粹建立更多单独的自动化和记录保存的作法作多多少活。解决办法其实就是把远景转移到端到端的进程,并使其成为EA的核心,就像下图所示。
 
转变到这个架构上须要对应用的从新思考,从全部的实体构成到服务,而这些服务是被业务进程用以整合和协奏来支持其所需的功能的。
 
下转“结合经验浅谈SOA的剖析(四)”
相关文章
相关标签/搜索