SOA(service-oriented architecture),面向服务的架构,是近几年最热门的话题之一。2004年中国软件业曾评出10大热点名词,SOA名列榜首。ZapThink调研公司曾发表了一份报告预测2006年时基于SOA的中间件产品将成为网络化商业系统的主要设计思路。据Gartner估计,到2008年,超过60%的企业在创建关键任务的应用程序时,将会使用面向服务的架构(SOA)作为主导原则。实践证明,SOA正逐渐成为IT系统构建的主流思想。前几年,SOA成为企业IT部门主要使用的一种企业应用集成方法。而在应用逐渐成熟后,越来越多的企业开始利用SOA创建对跨多种应用服务进行组合与重用的组件。随着应用水平的提升,SOA在企业环境中不再只专注于应用的集成,其应用扩展到企业业务流程建设的的各个方面。SOA的参与让应用的升级变得更容易和快捷,减少了开发的时间,同时改进提供给客户和合作伙伴的服务,以及节省资金。
一个基于SOA的项目要建设成功,必定会有一套完善、标准并且能落地的SOA实施指导方案,这套方案不仅详细描述和界定整个项目建设过程的每个步骤所具体进行的工作内容、输出内容,同时还对项目各工作过程提出相关的标准和规范,作为SOA项目建设过程的依据和准则。
方案总述
SOA实施与实现涉及到一系列的广泛的能力、技术、工具和技能的集合,其最终体现为四个步骤,包括SOA规划和业务咨询、设计、实现和管控。
第一阶段:SOA规划和业务咨询
该阶段主要进行SOA采纳和实施进行分析和评估;然后根据分析评估结果进行SOA战略制定和规划;之后则依据相关的评估报告、规划结果进入具体的业务分析和规划,规划和确定具体的业务流程,之后根据业务分析和规划报告进行需求分析/建模,形成需求规则说明书。这四个步骤的完成后SOA规划和业务咨询阶段就可以算完结。不过,通常关于后面设计、实现和管控阶段需要遵循的一些相关的标准和规范也都在该阶段完成,因此该阶段还有另一个重要的工作就是进行服务标准和规范的确定。
第二阶段:设计阶段
在该阶段主要是完成将要建设的各个平台和应用系统的体系架构、技术架构和功能架的设计,以及对平台、系统中相关的服务进行分析和设计。各个平台和应用系统的体系架构、技术架构、功能架构的设计时需要依据第一阶段SOA规划和业务咨询除了标准规范之外的所有成果来进行。而服务建模和服务设计则需要以第一阶段中的业务建模、需求建模和相关规范标准为输入。该阶段完成后将会得到各个平台和应用系统的架构设计、相关系统的服务关系模型及服务设计成果。
第三阶段:实现阶段
第三阶段是具体平台和服务开发建设的实现阶段。该阶段主要完成各平台和应用系统建设,服务开发和封装、服务业务需求验证、服务部署等。在该阶段,服务实现各步骤完成后,服务只要在服务管控平台上进行注册和发布,即可被各系统进行调用。
第四阶段:管控阶段
第四阶段主要是相关平台和服务的管理、监控过程。该过程会完成服务注册、服务发布、服务安全、服务监控、资源监控及日志分析等。该阶段服务的使用情况、性能情况、安全情况等都将形成相关的报告,作为服务改进的依据。因此在该阶段服务的维护和改进也是一项重要工作内容。
上述四大步骤虽然存在一定的流程先后顺序,然而他们实际上也是一个迭代的过程。第四阶段管控阶段的结果可能又启动第一阶段规划工作,之后又是一次SOA实施过程。
本指导方案整个实施过程主要有三个方面的工作内容:
一:关于平台/应用系统建设,相关工作包括第一第一阶段规划和咨询中的全部过程,设计阶段的架构设计,实现阶段的平台和应用系统建设,最后是管控阶段的管控功能建设和维护。
二:服务的实现过程,相关工作从第一阶段业务建模、需求建模开始,到设计阶段的服务建模、服务设计,实现阶段的服务开发和封装、服务测试、服务部署,最后是管控阶段中的服务注册、发布、改进等等。
这整个的服务实现过程实际上就是SOA服务实现过程,这个过程也应该有一套相应的指导方案对SOA服务的整个分析、设计、实现过程提供指导。
三:服务标准和规范的确定,相关的工作主要就是需要根据对应项目具体情况和要求,编制出切实可行的服务标准和规范。
各步骤内容及输出
SOA项目实施过程四大步骤、各步骤都有自身需要实现的内容,也应该有相关的成果输出,其内容可参考下表所示:
角色与职责
面向服务的设计和开发主要涉及到的角色有:企业管理者、项目经理、业务分析员、架构设计师、开发人员、测试人员及部署人员等,他们相应的职责如下图所示:
其中,企业管理者有着重要的作用,他/她需要通过相关的管理手段,推动整个项目的建设。
编者语:广州从兴电子开发有限公司经过多年为客户提供基于SOA的系统/项目的咨询、开发建设过程中,经过不断的探索、归纳、总结、优化改善,形成了上述基于SOA的项目实施指导方案。同时,从兴公司形成一套完整的基于SOA的项目的服务实现指导方案和基于SOA的项目的服务规范,作为基于SOA的项目实施指导方案的一部分细则,和基于SOA的项目实施指导方案一起为从兴公司基于SOA的项目/系统咨询、设计、开发、建设提供参考和依据,也为业界其他公司提供参考。 |