急速咨询在线客服

计算机

您如今的地位: > 论文观赏 > 计算机 >

基于Petri网的SOA架构应用商量

  1 引言
  SOA(Service-Oriented Architecture,面向办事的体系构造)是构造分布式计算的应用法式榜样的办法,它将应用法式榜样功能作为办事发送给终究用户或许其他办事,平日认为SOA是一种技巧架构或许架构风格。基于这类架构,营业流程或营业的变更可以经过过程办事编排调剂快速适应,完成营业的敏捷性。随着SOA的快速生长,基于SOA架构的中心件产品同样成为搜集化贸易体系的重要设计思路。由于企业的营业近况、前景需求及IT体系近况等的差别,SOA架构存在不合的构建思路,但普通来讲,SOA的开辟、保护和应用的基来源基本则可以归结为:
  (1)可反复应用,模组性,可组合性,构件化和具有交互操作性;
  (2)办事的辨认和分类,供给和发布,监控和跟踪;
  (3)符合开放标准(通用的或行业的)。从基来源基本则可以看出,SOA架构的重点是要找到可重用的办事,同时这些办事满足团圆、自治和无状况等根本条件;其次是办事本身可以组合和编排,以满足流程整合的须要。
  2 SOA办事识其他难点
  S O A 参考架构可总结为营业才能组件化及组件才能的办事化。办事识其他过程是经过过程自顶向下的分析,可以将流程的功能点逐层细分,直到最后一级的原子才能,再经过过程原子才能按照SOA架构的思维自底向上逐层组装,分析出可以重用的才能,重新编排为办事。
  办事辨认是SOA架构实施的难点之一。由于当实施SOA架构时,营业系同普通曾经具有必定范围,营业人员和技巧人员对营业体系的体系划分、模块划分曾经有必定商定俗成的概念,轻易先入为主。不管是往下的逐层细分,照样向上的逐层组装,都须要参考SOA架构做出思想上的改变。
  是以, 须要引入一些成型的流程建模对象来引导这个过程。今朝SOA的办事辨认有很多成型对象和形式,比如BPM(Business Process Management,营业流程管理)和BPEL(Business Process ExecutionLanguage,营业流程履行说话),然则这些对象和形式也并不是合适一切的体系。一方面,建模对象本质上是用于帮助设计,这些企业级其他对象和形式覆盖面过于大年夜,复杂程度高,分析的周期也较长,关于主动任务流较多的体系,帮助设计过程当中常常须要较为简单轻巧的对象;另外一方面,纯设计层次的建模与有任务流引擎参与的建模实际是存在不合的,完成办事辨认后,再转化为可认为任务流引擎应用的办事也比较艰苦。
  3 Petri网思维在SOA架构中的应用
  SOA架构设计本身是一种思想改变的过程,曾经成型的体系会存在很多固定的模块划分和功能划分,形成SOA实施艰苦,须要采取一些建模对象来帮助思想。应用建模对象停止建模时,应当覆盖2个要点:起首,建模对象是帮助设计的过程,选择合适的建模对象是须要的;其次,纯设计方法流程建模和SOA的建模方法是有所区其他。建模对象既要符合SOA的设计形式,也要切近今朝的营业实际,更要让建模的成果在SOA任务流引擎中可以或许无缝连接。
  Petri网是分布式体系的建模和分析对象,可以清楚地描述体系中的过程和功能模块的次序。研究范畴趋势认为Petri网是一切流程定义说话之母,实际上一切的流程建模对象应用的办法都可以用Petri网的概念来表达。由于Petri网相对BPM和BPEL这些对象更加简单及灵活,是以用于描述流程上相对简单的主动任务流体系,则更具有明显的优势。相关于BPM和BPEL这些对象,Petri建模的优势在于:一方面,建模元素比较简单,加倍重视流程本身;另外一方面,代码逻辑和Petri图可以或许逐一对应,可以加倍有效地应用原本的应用完成而不消担心全部推倒重来。3.1 Petri建模简介
  Petri网是对团圆并行体系的数学表示,作为一种可以或许用来有效地分析体系的并发、异步和不肯定行动,并能有效描述体系静态和静态的图形化模型,Petri网被广泛应用于临盆制造范畴、计算机范畴、过程控制和专家体系等范畴。Petri网既有严格的数学表述方法,也有直不雅的图形表达方法。Petri网是过程模型,由库所和变迁两类节点、有向弧和令牌等元素构成。
  (1)Petri网的元素定义
  ◆库所(Place):圆形节点;
  ◆变迁(Transition):方形节点;
  ◆有向弧(Arc):库所和变迁之间的有向弧;
  ◆令牌(Token):库所中的静态对象,可以从一个库所移动到另外一个库所。
  (2)Petri网的规矩
  ◆有向弧是有偏向的;
  ◆两个库所或变迁之间不准可有弧;
  ◆库所可以具有随便任性数量的令牌。
  假设一个变迁的每个输入库所(input place)都具有令牌,该变迁即为被许可(enable)。一个变迁被许可时,变迁将产生(fire),输入库所(input place)的令牌被消费,同时为输入库所(output place)产生令牌。
  3.2 应用Petri建模停止办事辨认
  Petri网模型本身具有子网的概念,可以将变迁逐层下转到最底层的原子变迁,也能够将一切Petri子网模型分解一个更大年夜的Petri网模型,用来描述全部体系的静态行动模型,这与SOA办事识其他过程是高度契合的。
  (1)子网逐层向下分化
  用Petri建模的思维,可以经过过程“映照”的思维和办法,按今朝的详细设计或许代码逻辑将应用模块用Petri图画出。Petri网中的库所元素映照为法式榜样数据,Petri网中的变迁元素映照为法式榜样函数和办法,体系模型中的各对象子网映照为法式榜样中的类。对重要以数据驱动的主动任务流的法式榜样,按照法式榜样的状况,Petri网的建模普通如图1所示:数据处理法式榜样状况的建模Petri网的每个变迁都可以懂得成子网,特别是的数据处理的变迁,也能够按照代码的实际逻辑,分化成如图2所示的子网数据处理子网的建模上图的每个变迁也能够持续懂得成子网的概念,按照代码逻辑持续往下建模,直到变迁弗成再持续细分,这正符合了SOA逐层细分的理念。
  (2)变迁组装成办事SOA办事请求
  具有可重用性,须要将可重用的组件才能开放为办事,这个可以映照为Petri可重用的子网。将每个变迁细化到“原子”级其他变迁后,起首须要对变迁停止分析,经过过程对变迁的输入输入令牌停止笼统,将能笼统成雷同输入输入令牌的变迁视为一种办事,则这个变迁具有了SOA请求的可重用性。重费用最高的同时也最轻易分析的是体系底层的原子才能,如操作体系资本、数据库操作的办事,这些办事今朝曾经有成型的形式,此处不再赘述,重要难点在于营业级其他办事分析。关于营业级其他办事分析,重点应存眷应用处理数据的状况。表示了过程级别法式榜样状况的建模,假设将数据状况的部分抽离出来,进一步推敲这个数据在全部应用中的状况,可以构成的处理过程(忽视了异常处理):图3 Petri针对体系中数据状况的建模是过程级别数据状况的建模,结合前文第一步子网逐层往下分化的成果,可以将全部数据处理的过程构成一张大年夜的Petri网模型,然后对这张Petri网模型停止分析,便可以停止办事的辨认。
  4 停止语
  由于主动任务流较多的体系偏向于数据的流转,在这类体系中应用今朝经常使用的建模对象会使办事辨认过程过于复杂和繁琐。Petri建模是从子网到原子变迁的逐层分化、再由变迁组装成办事,其全部过程符合SOA架构设计的准绳,将Petri建模应用于SOA办事辨认,可简化分析过程,进步架构设计的效力;同时,在开辟过程当中可以用Petri构建中心件,直接用于SOA的流程监控和营业监控。是以,基于Petri建模在主动任务流较多的体系中存在优势。假设进一步推敲Petri与SOA架构中ESB理念结合,Petri网也能够在ESB形式中有相当广阔的前景。