服务组合的概念
(2013-09-16 14:38:38)
标签:
it |
服务组合是SOA开发软件应用、实现业务过程的核心方法和技术。
一、服务组合的基础
1、认识服务组合
服务组合需要使用其它服务,组合后形成一个具有新功能的服务,服务组合使用的基本服务可以是组织外部的。
服务组合语言:用来规范Web服务操作的调用以实现业务过程的语言,用该语言定义的实现过程通常称为服务组合规范(specification)或者规划(schema)。
服务组合(service composition):是以特定方式按给定应用逻辑将若干服务的功能由其包含的其他服务“复合”形成。
复合服务(composite service):通过服务组合产生的逻辑整体,该整体本身也是一个服务。
2、服务组合技术分解
服务组合作为一种构造SOA应用的技术不仅包含编码技术,还有一系列与SOA应用开发的生命周期相关的技术。
1)建模技术:建立服务组合模型。类似于业务过程模型,在该阶段,业务过程定制者创建过程的高层模型,包括任务和任务的编排、对任务时间和经费开销的估计、任务执行涉及的人员资源等。
2)分析和仿真技术:对服务组合模型的可达性、结构、资源使用、性能等进行定性和定量的分析,以及设计业务场景对过程进行仿真测试,发现关键路径和瓶颈技术。
3)编程技术:高层服务组合模型被转换成可执行的服务组合代码。
4)部署和执行技术:指服务组合执行引擎技术,包括服务组合代码在执行引擎上的部署和执行。
5)监控技术:在监控工具帮助下,服务组合代码的实际执行以及执行中各项关键指标的测量数据可以实时的以各种图表等可视方式提供给用户,高级工具还可以提供自动预警功能。
6)优化技术:根据服务组合代码执行的历史数据对代码进行优化的技术。
二、服务组合建模和BPMN语言
服务组合建模的意义在于在较高的抽象层次对业务问题进行规范和定义,为服务组合编码活动提供设计蓝图。
1、BPMN:跨组织业务过程建模的开放标准建模语言。
1)BPMN元模型:关于模型的模型,通过元模型可以帮助理解组成模型语言的元素之间的关系。
四类图形元素:流对象-定义业务流程的主要元素,类似于有向图中的节点,可以用连接对象互相连接;连接对象-用于流对象之间的互相连接,或者用以建立流对象和其它信息的关联;泳道-用于对基本建模元素进行分组;物件(artifact)-用于对流程提供额外信息。
2)流对象:包括活动对象,事件和网关。
活动对象是对一定行为的抽象。
事件在流程活动期间发生的情况。
网关类似于工作流中的路由节点,决定业务过程的分支、合并等路由情况。
3)连接对象:包括顺序流、消息流和关联(联系物件和过程中非物件的元素,为流对象提供额外的信息)。
4)泳道:包括池(pool)和道(lane)。池为过程的参与者,道把池分为几个部分,表示池的各个组成部分。
5)物件:为过程模型提供注释的实体,本身不对过程的语义产生影响,而关联为物体和过程模型中的实体建立联系。包括数据对象、注释和分组。