1、SOA项目设计文档目 录1SOA概念31.1与老式建设办法不同41.2与老式建设过程不同42SOA特点52.1以业务为中心52.2灵活适应变化52.3重用IT资源,提高开发效率52.4更强调原则53SOA效益及合用场景63.1SOA效益63.2SOA合用场景74SOA技术概述84.1SOA技术体系84.2SOA原则体系124.3面向服务办法与老式办法区别145SOA 项目实行简介155.1SOA项目需求来源155.2服务生命周期(以服务为中心实行过程)165.2.1实行过程关系图165.2.2业务与IT规划185.2.3需求规划195.2.4服务规划及设计205.2.5服务开发及测试205.2
2、.6服务布置215.2.7服务发布215.2.8服务运维及监控225.2.9治理过程225.3SOA项目阶段实行过程核心点235.3.1规划阶段235.3.2分析阶段255.3.3设计阶段265.3.4实现、调试和布置阶段275.3.5运维阶段285.4SOA项目实行要素295.4.1顾客原有IT资源295.4.2SOA项目实行组织295.4.3SOA项目实行支撑平台305.4.4SOA项目实行指引文档体系305.4.5顾客信息化规定305.5顾客在实行过程中职责305.6产品选型建议325.7SOA项目实行与老式项目实行比较331 SOA概念随着国内各行业信息化建设不断进一步,企事业单位和政
3、府部门逐渐建立起大批计算机信息系统和各类数据信息因缺少有效衔接,导致信息资源共享难、“信息孤岛”现象普遍存在。与此同步,对于企事业单位,随着经济全球化大环境下市场竞争日益激烈,公司正在通过加快管理转型、技术创新、新产品研发以及业务方略调节等方式来提高自己核心竞争力、持续占有并扩大市场份额。对于各级政府部门,在以“大部制”为核心政府行政管理体制改革驱动下,以“管理”导向政府职能正在向“服务”导向转变。企事业单位和政府部门这些转型方式及过程有效实行,一方面更需要信息技术和信息化手段来支撑,另一方面,这些业务需求也对信息技术和信息化建设自身提出了更高规定:IT系统(普通也称为“信息系统”、“应用系统
4、”或“软件系统”等)要能迅速响应顾客业务发展和变化需求,新系统必要能在充分运用顾客原有IT资源基本上迅速构建出来,同步要实现跨平台、跨组织数据共享和业务协同。SOA(Service Oriented Architecture,面向服务体系架构)是近年来软件规划和构建一种新办法,其概念最早由国际征询机构Gartner公司于1996年初次提出。由于其自身特性非常符合上述信息化需求和问题解决思路,因而在后来成为国内软件产业界和各行业顾客关注焦点,并在逐渐开始在各种行业信息化建设中被选取和应用。SOA概念自被提出之后,不少国内外机构、公司均对SOA进行了定义和阐释,但当前尚未形成权威、统一定义。本书作
5、为国内首部从顾客角度对SOA概念和应用进行客观简介书籍,在全书中将对SOA做如下定义和阐明,以便于顾客从应用角度对SOA有直观理解:SOA不是一种技术,而是一种IT系统和软件构建办法和过程,贯穿IT系统规划、设计、构建、运维各个阶段。SOA与老式IT系统建设办法和过程有较大区别,简要阐明如下:1.1 与老式建设办法不同基于SOAIT系统建设更强调基于统一原则迅速开发和灵活组合。“服务”是SOA核心元素,它相应于某个业务流程、业务功能或数据资源,按照统一规格来构成信息系统。基于“服务”,SOA能明显缩小顾客业务需求与IT支持能力之间鸿沟,指引IT团队开发出具备良好移植性、扩展性和兼容性应用系统。
6、SOA不但仅站在单个信息系统或集成项目角度,而是更强调站在顾客IT建设全局或行业内信息化建设全局,从而规划并逐渐建成统一IT系统架构模式,并积累可重复使用信息系统资源库,以实现顾客组织内或全行业内信息资源共享、信息系统协同、新系统迅速构建以及系统对业务变化迅速应变能力。1.2 与老式建设过程不同SOA建设过程重点是基于“服务”IT系统规划和设计阶段,业务人员将不但仅是提出需求,而是进一步参加各类“服务”规划和设计。“服务”间互相独立,所有“服务”信息可被汇集到统一服务资源库中,使得顾客、其她系统以及其她“服务”可通过服务资源库来访问和使用。SOA系统详细开发阶段则是由技术人员根据每个“服务”功
7、能和范畴规定来详细实现或选取已有可用服务,并进行合成与装配。在SOA系统运维过程中,业务人员可以自行调节相应服务,以使IT系统能满足新业务规则和需求。此外,与SOA密切有关尚有一种概念业务流程管理(BPM,Business Process Management)。BPM来源于业务流程变革领域,如业务流程再造(BPR)、业务流程建模以及业务流程集成等。在技术方面,业务流程管理融合了许多有关技术,如流程建模、工作流技术、流程自动化以及业务流程监控等。借助BPM,通过对业务流程监控,顾客可以及时发现问题,并对业务流程进行不断创新和优化。而SOA使得这种流程变化更加便捷,从而大大提高了业务灵活性。因而
8、,当前SOA系统中大多都包括了BPM功能和可供顾客来开发和管理技术平台。近年来,随着SOA技术实现手段、特别是基于原则互联网技术(如Web服务和XML)不断成熟,SOA发展势头迅猛。从至今,SOA已经逐渐成为影响中华人民共和国IT系统构建主导办法和过程,在国内金融、电信、烟草、电子政务、医疗卫生、公司信息化、B2B、物流以及钢铁制造等行业和领域开始得到应用,关于各行业或领域SOA应用状况,可参阅本书第二篇有关内容。2 SOA特点基于SOA来构建IT系统具备如下特点:2.1 以业务为中心SOA更多关注于顾客业务,通过业务人员参加SOA系统规划、设计和管理,使得IT系统能在对业务深刻理解基本上进行
9、构建,实现IT系统与顾客业务密切结合。在详细实行中,通过把完毕实际业务流程中一项任务所需IT资源组织为服务进行封装,从而达到以业务为核心,通过业务选取技术,避免技术制约业务问题。2.2 灵活适应变化IT系统环绕顾客业务构建,顾客业务在实现层通过体现为一系列松散耦合“服务”来实现,这些服务可以依照顾客需求随需组合,使得IT系统对于业务适应能力明显提高。2.3 重用IT资源,提高开发效率SOA强调对“服务”重用,对原有IT资源重用度提高是SOA带来核心效果之一,大量具备高重用服务资源,为迅速构建新业务功能和业务系统奠定基本,使得IT系统开发和软件生产效率得到提高。同步,重用过程有助于保护顾客前期信
10、息化投资和IT资产积累,节约IT系统开发成本,实现顾客信息化可持续性建设与发展。2.4 更强调原则SOA实现强调基于统一原则,SOA系统建立在大量开放原则和合同之上,以实现系统及信息互联互通和互操作。因而,SOA系统从规划到实行,原则都至关重要。3 SOA效益及合用场景3.1 SOA效益SOA效益重要体当前如下几种方面:1) 提高业务效率和顾客满意度当前,国内企事业单位及政府部门都在强调“服务”能力,各类组织对如何提高服务水平并使IT系统迅速响应新业务需求规定,已经超过了对于IT系统开发效率规定。依托“服务”松耦合性和重用性,通过既有“服务”和IT资产组装,SOA减少了新业务应用开发时间,提高
11、了产品和服务上市速度和开发效率,使得SOA系统中“服务”和IT资产以更灵活配备适应新需求变化,提高了业务效率。SOA通过创立与详细技术和最后顾客设备无关服务,应用于各种顾客服务渠道,以保证一致顾客体验,提高顾客满意度。2) 有助于整合IT资源,提高IT系统对外协作能力不少行业企事业单位实行了诸多应用系统,例如金融、电信行业以及某些集团公司,如何在不同省市子公司、分公司和多元化下属单位整合原有系统和信息资源,都是当前面临重要系统建设需求。SOA不但仅是技术层面,同步提供了系统集成开发重要办法及方略。SOA倡导遵循开放原则,并独立于厂商多样性环境,为基于互联网组织内和组织间系统通信协作和资源共享提
12、供了良好互操作性和可用性。3) 提高投资回报率采用SOA公司、机关部门,将基于服务规则和规定,构建下层IT架构,具备技术中立特性,减少了对厂商依赖和转换成本;另一方面,SOA系统以“服务”为中心,梳理和重组业务流程,使各个业务系统可以互联互通和资源共享,这种服务松耦合及平台中立为机构减少了集成成本,松耦合和模块化简化了维护工作,减少了维护成本;因而,总体而言,SOA可以保护原有IT投资,提高既有IT资产投资回报率。单个公司或单位力量是有限,只有某个行业内或供应链上多家公司和单位联合,共享“服务”资源,才干推动SOA开发模式进程,收到良好效益。在推动SOA同步,相应原则化工作必要先行,用统一原则
13、指引各家服务开发、接口定义、通用数据格式定义、资源存储、服务注册与查询等SOA实践工作。3.2 SOA合用场景上述章节提到了SOA特点以及能带来效益,但是,SOA并不是在所有状况和场景下都合用,只有在适当SOA特性场景下,并采用适当实行方略来保障,才有也许逐渐得到SOA带来各项效益。从SOA特点来看,SOA在某些场景中能发挥其作用和优势,如:n 企事业单位或者政府部门内部IT系统整合由于业务重组、并购或者内部机制调节,而需要实现组织内统一管理、协作和信息共享。需要对各种异构IT系统进行整合,提高组织整体决策、监控能力或业务流程效率。n 企事业单位和政府部门之间IT资源共享和协同为了在业务和市场
14、上合伙,需要依赖业务合伙伙伴提供其IT系统非核心业务功能或信息。某项服务能力,需要各种组织和单位IT系统需要共享信息,并联合解决,例如电子政务中“一站式审批”服务、各级政务资源共享互换平台等。n 从头开始开发新应用系统SOA将是将来IT新系统构建主导办法,因而考虑到将来扩展和重用能力,顾客在业务容许条件范畴内、可选取基于SOA来构建新应用系统。n 基于互联网某些新应用模式基于互联网软件服务化平台,如SaaS等模式。在信息化建设中,除自己IT系统之外,也同步但愿集成互联网上某些软件工具或Web服务企事业单位,如采用“软件+服务”方略单位。但是,也有某些应用场景不适合用SOA来实现,此时采用老式技
15、术、办法和过程来实行更为妥当,例如下述某些场景:n 顾客业务涉及效率敏感及实时性规定较高系统,如工业控制、核心交易系统。n 事务及安全性规定较高业务系统。n 顾客业务系统没有集成需求。n 当前IT系统基于统一平台和编程办法。对于大多数企事业单位和政府部门来说,如果采纳了SOA,还需要注意如下事项:n 考虑SOA产品选型,注重业务流程管理,使SOA成为其全面业务转型实现手段。n 企事业单位和政府部门在进行业务规划时,应基于自身实际,不要盲从。n 采用SOA要从全局慎重规划,以循序渐进、逐渐推动为宜。详细规划和实行建议,可参见本书后续章节有关内容。4 SOA技术概述4.1 SOA技术体系从技术层面
16、来看,SOA并不是一项技术创新,老式技术在构建SOA系统时同样能派上用场。事实上,在采用SOA进行系统整合项目中诸多被整合系统自身就是基于老式技术开发,但与老式构建系统办法比较,SOA更强调原则化应用,更加注重系统层次架构。SOA特性之一互联互通性就体当前系统中任一种服务能被其她服务甚至是其她系统服务精确无误地发现及理解,而满足这种特性最直接方式就是每个服务都遵循一系列统一原则。因而,只要在开发过程中遵循SOA理念,采用统一原则,任何既有技术都能用来开发SOA系统。SOA与老式技术体系区别在于系统均是基于“服务”构造,“服务”之间交互和组合采用了一种基于“服务中介平台”方式实现了松耦合,图1-
17、1是“服务”被提供和使用过程示意图。SOA系统中服务交互示意图在图1-1中,服务提供者是一种可以通过网络寻址到实体,它提供“服务”是基于IT系统某个功能或流程;服务祈求者调用和使用服务提供者提供“服务”;服务中介平台类似代理角色,以目录方式存储了大量“服务”资源,一方面可以接受服务提供者提供各类“服务”信息,另一方面可以通过协调机制把“服务”祈求分派给服务提供者。这样为服务祈求者和服务提供者建立了中立沟通渠道。上述对服务交互图描述是为理解释SOA核心元素“服务”运营机制。便于对技术有兴趣顾客IT人员理解。下述内容将环绕SOA系统整体技术体系来进行阐明。在详细项目中,SOA系统构建没有完全统一模
18、式,系统体系架构需要依照顾客现状进行分析设计。但在层次和内容上,SOA系统存在某些共性特性。普通而言,SOA系统技术体系包括如下几种层次及内容,如图1-2所示。SOA系统基本技术体系1) 基本设施层既涉及服务器、网络设备等硬件设施,也涉及操作系统、数据库系统等基本软件,作为整个SOA系统运营基本平台。2) 已有资源层指顾客当前所拥有IT资源。“已有应用系统资源”和“已有信息或数据资源”是指顾客当前运营应用系统及数据系统中,若干适合抽取出来作为为上层系统提供服务支持资源。被抽取出来资源可以是某个系统(指应用系统或数据系统)中某个模块,可以是某个系统,可以是若干系统合并及组合,也可以是各类格式数据
19、资源;“已有组件/构件资源”即涉及原先采用组件/构件系统顾客所拥有组件/构件资源,例如基于COM/COM+、JavaBean/EJB或者是CORBA开发技术功能组件或业务功能组件,也涉及已有Web Services服务组件。“基本设施层”与“已有资源层”是服务详细技术实现层,上层应用使用服务最后都由这两层提供。3) 服务提供层本层重要职责是封装下面两层资源,并以服务形式呈现出来,从而构建整体应用系统。这是SOA系统最核心一层,也是SOA系统设计最难某些,难点在于服务规划与设计该如何划分服务及服务粒度。服务规划与设计不但直接影响到SOA系统性能,也间接影响到SOA系统扩展能力。但这不但仅是技术问
20、题,需要从公司战略目的层次上考虑服务划分,业务人员参加也是设计出适合公司使用服务核心。详细办法和原则可参见本书第一篇第3章3.2节有关内容。本层重要由三某些构成服务、公司服务总线(ESB)、服务资源库,各某些内容阐明如下:n 服务重要是与业务需求对齐各类“业务服务”(与顾客业务有关、实现特定业务功能)、“流程服务”(与顾客实际业务流程有关、包括人员与IT系统参加一种解决过程)、“信息服务”(用于共享各类数据和信息)、“交互服务”(为最后顾客、其她IT系统或服务提供多渠道统一访问入口服务)以及“其她服务”(涉及实现安全规则、管理机制、质量方略等各类构建顾客IT系统所需服务)。n 公司服务总线(E
21、SB)为服务之间间接和动态交互提供支持。ESB详细功能涉及:消息寻址路由(依照祈求对服务描述以及服务在服务资源库中注册信息,定位详细服务)、消息验证(检查服务发送消息与否满足格式规定)、消息格式转换(把消息从一种格式转成此外一种格式)、消息操作(涉及增长或删除字符,或把消息中特定字符进行转换操作)等。ESB包括了老式消息中间件“消息代理”(MessageBroker)功能,但其增强了服务动态路由和互换功能。通过把服务接入ESB,由ESB负责服务消息流通,顾客就可以把注意力所有集中在服务构建上。此外,由于消息发送不再在服务间点对点地进行传送,消息原先直接互换就变成了当前间接互换,实现了松耦合。n
22、 服务资源库服务资源库里储存是已注册服务描述信息及有关服务元数据描述信息。已注册服务可以提成两大类,一类是可以直接被使用、实现详细功能服务,另一类是在运营时才进行组装服务。服务描述信息记录了服务实现功能、服务该如何调用、服务详细实体所在地以及服务在方略方面作出规定等。4) 应用接入层顾客在这一层里可以布置各种应用,例如图1-2中所示在政府、金融、电信等行业应用。应用根据业务流程,重要由业务人员设计,IT技术人员辅助。应用依托下层提供服务及服务组合详细实现。5) 原则体系原则体系贯穿SOA系统从最底层到最上层所有四层构造,内容上由若干行业内公认原则构成,是每层系统规划设计时建议采用规范,为SOA
23、系统原则化实行拟定了边界,同步便于实现SOA系统间互操作。6) 开发平台及各类工具集用于对SOA系统进行规划设计、实行测试、运维管理软件平台及工具集,涵盖系统各个层次。从系统生命周期角度出发,可划分为如下平台及工具:n 规划平台及工具重要用于做出整个系统分析与规划,需要进行工作涉及项目管理、需求分析、版本控制以及文档管理等。n 设计平台及工具协助有关人员完毕整个系统设计工作。详细平台及工具应当涉及“业务建模”(模型化公司业务)、“流程建模”(把业务整顿成流程)、“服务组装”(按照一定规则组装流程形成服务或应用)、“服务建模”(模型化整顿出来服务用于服务生成)。这个阶段平台及工具与老式开发办法所
24、需平台与工具备较大区别,体现是SOA思想。n 开发平台及工具用于实行SOA系统开发,所采用开发语言及开发平台没有限制。n 测试平台及工具用于实行SOA系统测试。老式测试平台及测试工具在SOA系统测试工作中同样可以采用。n 注册布置平台及工具用于实行服务注册发布以及SOA系统布置。n 监控管理平台及工具用于SOA系统整个生命周期监控及管理。此类平台及工具贯穿系统规划、设计、开发、测试及布置各个阶段,监测各个阶段SOA系统实行进展,便于顾客及早对意外状况做出反映。以上是通用SOA系统技术体系,可用于指引SOA项目实行。各厂商在实际项目实行中可依照顾客需求及产品选型状况,在此技术体系基本上提供个性化
25、解决方案。4.2 SOA原则体系SOA原则体系是指SOA领域内各种类、多层次SOA原则所构成互相联系有机整体。这套体系对统一顾客与公司对SOA理解,加快SOA项目实行规范化,以及增强SOA系统间互操作能力等方面具备重要意义。当前国际上尚未有被广泛承认与接受SOA原则体系。某些国际原则协会组织(如W3C、OASIS、OMG、WS-I等)及国际主流公司发布了若干用于构建SOA系统规范及原则(常用是基于Web Services技术一系列WS-*规范及原则),但这些规范及原则仅在各个原则化协会或公司内形成初步体系,并且不同组织发布规范及原则间存在重复甚至冲突现象,因而,国际上统一SOA原则体系短时间内
26、还不能成型。为让顾客理解当前国际上各类规范及原则研制与使用状况,使顾客在做系统开发决策时有一定参照根据,同步抱着建设适合国内顾客使用SOA原则体系目的,ISOL梳理了各个国际原则协会组织及国际主流公司发布主流规范及原则,整顿出84项关于SOA与Web Services规范及原则,通过体系化分析,划分出14个原则域(见图1-3),形成当前主流SOA与Web Services规范及原则全集,最后形成国际SOA原则体系研究报告白皮书SOA原则体系V1.0(已发布在“中华人民共和国SOA原则服务网”上,详细阐述可参阅该文档)。SOA及Web Services规范及原则域当前,国内正在基于国内产业和顾客
27、需求,建立国内SOA国家和行业原则体系,此工作已于开始,当前已初步规划出国内SOA国标体系,如图1-4所示。此原则体系会在国内原则化专业机构、软件产业界、学术界以及顾客共同合伙下进行细化及详细研制。中华人民共和国SOA原则体系全景图国内SOA原则体系工作将环绕4个层次原则研制工作展开:n SOA基本原则是支撑SOA系统实现通用性基本原则,涉及SOA术语、SOA总体技术规定、SOA原则化指南以及SOA集成开发原则,这一层次原则将为SOA系统或产品基本功能、性能作出限定,并为顾客和软件厂商提供使用指引。n SOA支撑技术原则是SOA系统有关基本技术原则,在图1-4所示11个原则域若干原则中,国内将
28、对国外已有有关成熟技术原则(如某些WS-*原则)进行裁剪和修改,并采纳为国内相应国标,某些国内有特殊需求原则将采用自主研制方式来制定。n SOA测评原则涉及两类:一类对SOA有关产品对于SOA原则符合性及互操作性进行评测,第二类为顾客提供SOA建设成熟度评估评测规范,涉及有关评测办法和指标。上述原则规范将作为相应SOA测评工具和平台基本根据。n SOA行业/领域原则将依照行业或领域特性及信息化现状来研究制定适合本行业或本领域SOA原则体系。此某些原则研制工作将由国内各行业有关原则化委员会或行业协会来主导制定。当前所列出几种领域为某些有代表性行业或领域,其她行业或领域也会逐渐扩展进来。当前,中华
29、人民共和国SOA原则体系正逐渐形成之中:基于XMLWeb服务描述语言(0146-T-339)与基于XML简朴对象访问合同(0147-T-339)两项国标已完毕制定并发布;Web服务可靠消息传递(0478-T-469)与Web服务互操作框架(0477-T-469)已开始研制;SOA术语、SOA总体技术规定、SOA原则化指南与Web服务管理原则4个原则处在国标公示阶段;Web服务业务流程规范等两个原则处在申报阶段;金融行业SOA原则化指南等处在筹划阶段。4.3 面向服务办法与老式办法区别软件开发办法历经多次变革,从构造化分析办法开始,经面向对象办法、面向构件办法,到当前面向服务办法,这些变革都是为
30、满足客户需求主线变化,以适应应用领域不断增长复杂限度而提出。1构造化分析办法构造化分析办法在20世纪70年代逐渐形成,以算法为中心,按照逐级分解、逐渐求精原则,给出一组协助系统分析人员产生功能规约原理与技术,办法简朴、清晰,符合人们结识世界、改造世界普通规律,从而大大减少了求解问题复杂限度。但其对需求变更适应能力很差,所需文档数据资料极大,也不合用于解决复杂大规模问题。2面向对象办法面向对象办法产生于20世纪80年代,以对象(对象=数据+算法)为中心,为软件工业实现工程化提供了强有力支持。面向对象办法具备封装性、多态性和继承性,与人类习惯思维办法一致,加强了人们对问题域理解,增强了适应需求变化
31、能力,且利于顾客参加和各类人员交流。但其需要依赖详细编程语言,与业务存在鸿沟;封装粒度小,耦合度高,难于实现大规模、高层次重用。3面向构件办法面向构件办法以粗粒度、松耦合构件封装可重用功能单元。公司业务被映射成系统构件,从整个公司视角出发构思、设计系统,是面向对象办法更高一级抽象,比面向对象办法更切合公司实际应用,重用度也进一步提高。但与开发语言紧密联系,导致接口原则不统一,不同开发语言实现系统之间很难实现互操作。4面向服务办法面向服务办法是在面向对象办法基本上扩展构建系统思想和办法。面向服务办法关注是公司业务,它直接映射到业务,强调IT与业务对齐,以服务为核心元素来封装公司业务流程和公司已有
32、应用系统。服务粒度更大,更加匹配公司级应用中业务,可以实现更高档别重用。但当前存在有关原则未统一、应用案例较少等某些问题。上述各类系统构建办法比较如表1-1所示。名称 概述 长处缺陷构造化办法以算法为中心,又称为构造化分析体现了逐级分解、逐渐求精原则,有严格规则难于检查分析成果对的与否;对需求变更适应能力很差;系统设计人员对分析成果理解存在障碍面向对象办法以对象(对象=数据算法)为中心,实现了对数据和算法封装和继承加强了相应用领域理解,改进了沟通和交流;适应需求变化能力较强;支持分析和设计成果复用纯技术导向,存在与业务鸿沟;复杂度高,抽象限度低,难以实现大规模和高层次重用面向构件办法以组件或构
33、件封装可重用功能单元重用度进一步提高,提高了软件公司开发效率和质量组件或构件封装办法和接口原则不统一,很难实现与外部应用系统之间互操作面向服务办法以服务封装业务流程和应用系统业务驱动技术,以开放原则实现应用系统之间服务互相访问,乃至复合应用组装,实现了更高档别重用处在概念导入期末尾,有关原则尚未统一,应用案例及工程实践刚起步5 SOA 项目实行过程5.1 SOA项目需求来源当前SOA项目建设,需求来源重要分为两大类:系统整合驱动和新系统建设驱动,下面分别简介之。1系统整合驱动电信、金融、政府等以服务为导向公司或组织中,为了更好地满足客户或公众需求,必要提供一站式以及随需应变服务能力。不但要对公
34、司或组织内部系统进行整合,同步要与有关公司及组织进行信息系统协同,因而在整合及协同为重要需求推动下,基于SOAIT系统整体架构成为选取热潮。基于SOA整合范畴涉及3类:应用系统之间数据整合、功能整合和流程整合。整合方式是通过对原有数据及IT系统资源进行服务化包装,从而使得各系统以统一、原则化方式进行数据共享和业务协同。2新系统建设驱动随着信息化建设进步一开展,某些公司原有系统已经较庞大而复杂,面临新业务需求,原有系统已远远不能满足这些新业务需求。既有IT系统相对刚性使诸多CIO在面对频繁业务变化时步履维艰、痛苦不堪。从技术层面来说,许多软件系统基本采用手工编码方式,总体架构设计缺少注定无法全面
35、适应系统需求变更需要。因而许多单位在建设新系统时,以柔性化敏捷化业务应用系统为目的,但愿能持续地支撑业务应用变化及发展。SOA在基本架构上基于业务服务、原则化、平台无关特性,使其成为这些新系统构建首选。需要指出是,上述两种需求来源均不是孤立,在各行业项目建设中,系统整合往往与新系统建设互相融合,但各项目所解决问题会对整合或新系统建设各有偏重。5.2 服务生命周期(以服务为中心实行过程) SOA既是对IT规划设计和基本设施方面重大改革,也是应用开发和业务部门应用上极大改进。SOA项目实行不但涉及IT部门,并且涉及公司从上到下、从业务到IT全面参加。在项目实行过程中,必要一方面由公司或组织最高层做
36、出决策,对IT系统及各项目实行路线做出整体规划,然后由有关业务部门与IT部门深度合伙并分步实行,逐渐获得SOA项目成功,并最后给公司带来效益。5.2.1 实行过程关系图SOA项目实行过程关系图如图3-1所示。SOA项目实行过程关系图整体而言,公司IT系统建设是逐渐进行,对于一种详细SOA项目,其实行过程总体上由3个过程构成:1规划过程规划过程目是基于公司或组织业务发展需求,拟定信息IT系统建设总体规划,并明确即将启动详细SOA项目范畴及目的。此过程分为两个阶段:业务与IT规划阶段、需求规划阶段。详细各阶段阐明见后续章节有关内容。2实行过程实行过程是SOA项目建设执行阶段,此阶段需要顾客项目团队
37、与指定软件公司实行团队共同合伙推动,在实行阶段应注意及时沟通,避免不必要风险。如图3-1所示,SOA实行过程为一种持续更迭阶段,涉及:服务规划及设计、服务开发及测试、服务布置、服务注册发布、服务运维及监控5个阶段。详细各阶段阐明见后续章节有关内容。3治理过程治理是贯穿规划过程和实行过程方略和工作指南,其过程在SOA项目中比在普通IT项目中更为重要。在SOA中,业务人、IT人员、服务使用者和服务提供者均处在不同环境中,由不同部门开发和管理,无论从项目全过程中角度,还是服务全生命周期角度,均需要进行大量协调工作,并且所有协调工作必要基于统一管理方略、原则和机制来实现。关于上述内容在后续章节中有详细
38、阐释。5.2.2 业务与IT规划业务规划和IT规划目的是面向顾客高层决策者、CIO和业务主管,在协助其理解SOA商业价值基本上,对于组织采纳SOA来进行信息化建设方向、目的、行动、任务、原则、方略、资源等进行综合分析,最后就与否采用SOA来进行信息化建设做出宏观决策,并建立SOA总体规划蓝图,其关系图如图3-2所示。业务与IT规划关系图一方面,企事业单位或组织决策部门和业务部门需要进行业务规划,通过对公司愿景、内外部环境、资源约束、风险等方面梳理和分析,拟定公司业务方略及需要解决业务问题;另一方面,在业务规划驱动下,IT部门CIO以及团队需要从信息化角度,对当前组织已有IT系统功能、性能、问题
39、、基本架构、平台、原则以及需要满足需求等各方面进行评估和规划,拟定IT整体建设方略、建设路线以及组织构造。在业务和IT规划过程中,在如下方面需要双方依次进行研究和磋商:1与否要采纳SOAn 业务当前问题和需求是什么,现阶段与否有必要、有条件在信息化建设中采纳SOA?n 采纳SOA,究竟可以解决什么核心问题?此处可参照本指南中SOA效益及合用场景内容。n 采纳SOA,与否具备相应基本条件?例如:高层决策者对SOA具备全面理解和一致结识,具备采纳SOA所需预算,信息化建设水平较高,具备较高素质信息化专业队伍等。2采纳何种SOA方略n 究竟应当在什么层次、什么级别上采纳SOA?n 是在战略级别上还是
40、战术级别上?是全面铺开还是局部试点?n 详细而言什么业务单元需要SOA?如何排定需求优先级?把哪个作为切入点和突破口?3需要如何投入资源n 采纳SOA需要哪些资源投入?n 既有资源条件与否满足规定?n 采纳SOA需要哪些政策、制度、指南、原则方面配套?n 在此过程中,两方面人员在规划过程中通过重复沟通和协商并达到一致后,最后决策出与否采纳SOA以及总体采纳思路。5.2.3 需求规划需求规划阶段工作是:通过对业务及IT目的进行综合分析,拟定当前所要实行SOA项目目的以及项目实行方案。SOA项目目的涉及成果性目的和约束性目的两大类,重要是需要在一定成本及时间限度内完毕项目建设内容并达到预期目的,涉
41、及SOA系统、子系统功能、非功能和顾客界面描述等。SOA项目实行方案重要涉及项目实行范畴、进度规划、质量控制办法、成本预算、团队筹划、风险管理筹划、技术规划和产品选型方案等。在IT系统规划中需要考虑系统规模,建议第一种SOA项目要限定项目大小,不要选取太大,保证在一定期间内可以顺利实行完毕,保证项目成功并使业务人员体会到SOA特点和价值。通过项目经验积累,为后续SOA项目开创一种良好局面和环境。SOA自身特点支持项目递进式实现,可以采用不断滚动改进方式实行项目。同步需要强调是,在SOA项目实行方案中需要特别考虑原则问题。SOA项目所涉及原则包括两方面:业务原则和技术原则。拟定和采纳适当原则体系
42、,将有助于保证IT系统建设质量,同步提高其持续运用与扩展能力。项目详细实行涉及两方面内容:一方面要建设基本设施,另一方面环绕服务采用不断迭代方式进行业务功能实现。由于SOA项目建设核心是“服务”,因此本书后续阶段重点环绕第二方面进行简介。 5.2.4 服务规划及设计服务规划及设计阶段工作是:进行业务分析和梳理,使业务流程可以映射到IT流程,并进行服务建模,以拟定所需要服务集和服务实现方略。在业务分析层面,目是对业务及业务流程进行清晰建模,此阶段详细实行中可根据某些国内外知名业务分析办法论来完毕。在IT层面,需要用服务建模办法来指引如何将业务模型转化为实现 SOA 所需要模型,通过发现和定义与业
43、务对齐“服务”,使“服务”成为业务与IT之间桥梁,从而让IT与业务能更好地互动。此过程中,需要顾客业务人员参加进来,共同完毕业务服务定义、业务流程定义、业务数据分析和组织架构拟定等内容。对于相应服务及流程,需要基于实际状况拟定是运用已有IT系统进行服务化封装实现还是重新开发新服务来实现。同步,顾客方还需要与专业实行团队共同拟定总体技术架构及所采用技术、原则、工具和产品。重要规划和设计内容如下:n 组织构造、业务布局分析。n 有关业务部门功能及需求分析,业务流程分析以及业务建模。n 服务规划,依照业务分析和建模成果,分析辨认所需服务,对服务层级进行合理划分,对服务分类和聚合进行设计。辨认和规划服
44、务过程中,基本原则是要保证基于原则服务可以被重新组合和运用并成功地用于典型行业应用环境中各种系统中。n 服务定义和描述,包括详细服务名称、服务操作、输入消息、输出消息,业务目的、业务规则、业务事件,非功能性需求等服务定义,服务之间关系描述,服务之间依赖关系和包括关系。n 服务实现方略,拟定如何实现所需服务,可以自行开发、外部采购或者集成遗留IT资源。5.2.5 服务开发及测试SOA项目中服务开发即服务实现,其与老式IT项目开发有较大差别。“服务”是SOA项目开发阶段核心概念,涉及单个功能服务,也涉及流程类服务。服务开发是将业务服务定义进行真正技术实现。在老式项目中几乎所有代码都需要编写实现,而
45、在SOA实现中,可以选取自行开发和手工编码,也可以调用或购买已有内外部服务,实现过程更多采用参数配备、组装、流程定义等技术,代码编程工作量会减少。在服务详细技术定义、开发和组装中,顾客可以基于既有基本设施状况以及服务设计阶段业务服务定义,选取采用Web Service、SCA/SDO技术或其她老式技术逐渐实现单业务功能服务、组合类服务或流程类服务。服务测试是保证服务开发对的有效手段,与服务开发交叉进行。服务测试涉及对单个服务单元测试,也涉及对于组装类服务或服务流程集成测试。服务测试工作重要是基于服务定义和描述中功能和性能指标,采用一定测试工具、技术和原则规范,对服务进行质量测试和评估,并依照测
46、试成果来决定服务开发与否合格。在SOA项目中,服务测试与老式测试也不同,为保证服务能与其她服务互联互通,对服务原则符合性测试及互操作性测试更为重要。5.2.6 服务布置此阶段是依照SOA项目目的、通过布置工具将所开发各类服务及流程布置至顾客物理环境内,例如顾客应用服务器、流程服务器、门户服务器等。对于单个服务,布置后服务可以被终端顾客、其她IT系统或服务实际调用;对于各种基于服务流程,布置后可形成完整应用系统,从而为顾客业务提供相应IT支持。服务布置涉及静态和动态两种。静态布置是指服务之间调用关系在运营前已拟定,动态布置是指在应用系统运营中需要通过动态路由后拟定服务调用关系。这两种布置类型需要
47、在一定基本设施基本之上进行。由于顾客物理环境往往是基于网络分布式环境,详细布置类型需要依照SOA项目实行状况和需求来定。5.2.7 服务发布此阶段需要将已开发完毕服务发布在服务注册中心(或服务资源库)内,以便被其她服务发现和调用。服务发布也被称为服务注册,两者含义相似,均指将已有服务描述信息提交至公共服务注册中心(或服务资源库)中。服务注册中心(或服务资源库)是各类服务统一登录目录,其功能分为两个方面:一方面,每个服务提供者可以发布其所提供服务描述信息,供其她服务访问;另一方面,服务祈求者可以迅速查找其所需服务,以充分运用已有服务来实现其IT系统构建目的。服务注册中心(或服务资源库)可以在单个公司或组织内部使用,可以供各种合伙伙伴共享,也可以在整个行业内部或特定区域内部共享;此外,服务注册中心(或服务资源库)与服务自身运营节点之间可以是联机方式,也可以是脱机方式。详细范畴和方式依照顾客IT规划目的和方略来拟定。需特别阐明是,服务发布不一定在服务开发布置完毕之后才进行,某些SOA项目实行过程中,服务在设计阶段被