1、2/383/38l SOA是一种 IT 体系结构风格,或l SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期:建模-开发-整合-部署-运行-管理。4/38l 业务被划分为粗粒度的业务服务和业务流程;l 业务服务相对独立、自包含、可重用,由一个或者多个分布的系统所实现,而业务流程由服务组装而来;l 一个“服务”定义了一个与业务功能或业务数据相关的接口,以及约束这个接口的契约,如服务质量要求、业务规则、安全性要求、法律法规的遵循、关键业绩指标(Key Performance Indicator,KPI)等。l 技术和位置的透
2、明性,使得服务的请求者和提供者之间高度解耦。5/38l IT能够更好更快地提供业务价值(Business Centric)l 快速应变能力(Flexibility)l 重用(Reusability)l SOA是架构风格,是方法,而不是具体架构具体实现技术;l SOA的首要目标是IT与业务对齐,支持业务的快速变化;其次是IT架构的灵活性和IT资产的重用;l 在工程上,SOA的重点是服务建模和基于SOA的设计原则进行架构决策和设计。6/387/38l UDDIl WSDLl SOAPl BPELl WS-Securityl WS-Policyl SCA/SDO8/389/3810/3811/381
3、2/3813/3814/38瀑布模型瀑布模型原型方法原型方法迭代方法迭代方法敏捷方法敏捷方法软件危机重文档、重过程轻量级、人性化15/38l系统的正式描述,或用于指导其实现的组件级别的系统详细计划。l组件的结构、它们相互间的关系以及控制其设计及将来发展的原则和指导方针。16/38l在不同的抽象级别进行设计和建模l将规范与实现分离l构建灵活的系统l确保满足业务需求l分析需求更改的影响l确保遵循相关原则17/38l使用哪些抽象手段来为问题域建模?l如何定义组成部分之间的协作和结构关系?l如何定义从外界所看到的系统结构和行为?l是什么设计原则在指导我们的架构决策?有什么最佳实践和模式可供借鉴?18/
4、3819/3820/3821/38SOA Foundation 参考模型参考模型22/38SOA Foundation 解决方案堆栈解决方案堆栈23/38l可操作系统:表示现有 IT 资产,说明 IT 投资非常宝贵,应该在 SOA 加以利用。l服务组件:实现服务,可能通过使用可操作系统层中的一个或多个应用程序来进行。如模型中所示,使用者和业务流程并不能直接访问组件,而仅能访问服务。现有组件可以在内部重用,或在合适的情况下在 SOA 中使用。l服务:表示已部署到环境中的服务。这些服务由可发现实体进行治理。l业务流程:表示将业务流程作为服务编排实现的操作构件。l使用者:表示用于访问业务流程、服务和
5、应用程序的通道。24/38企业服务总线 外部服务提供者业务服务编排内部服务请求者企业外部服务请求者内部服务提供者ESB网管ESB名空间业务服务注册25/3826/3827/38l流程建模(BPM)用于业务领域的分析和设计,如业务流程的定义、业务数据的定义等;l企业架构(EA)和方案架构(SA)侧重在架构领域的分析和设计,如根据业务需求确定目前目标业务系统和IT系统,根据目标系统需求设计主要架构元素和它们之间的关系;l面向对象的分析和设计(OOAD)则贯穿分析、设计和开发三个阶段,它主要分析细粒度的业务需求,如用例,分析和设计实现这些需求的类和对象,以及它们之间的关系。28/3829/3830/
6、38l业务领域(Business Domain)和业务功能域(Business Function Area)l业务流程(Business Process)l业务目标(Business Goal)l现有系统(Existing System)31/3832/38l业务组件模型是业务领域分解的输入之一。l端到端的业务流程是业务领域分解的另一个输入。l变化分析的目的是将业务领域中易变的部分和稳定的部分区分开来。33/38l已有系统l套装l定制应用、行业规范或业务模型等。34/3835/38l规范性地描述服务各个方面的属性,其中既包括输入/输出消息等功能性属性,服务安全约束和响应时间等服务质量约束;l以及服务在业务层面的诸多属性,如涉及的业务规则、业务事件、时间/人员消耗等;l与此同时,规范描述服务相关方面的关系也很重要,如服务间依赖关系,服务和业务组件间关系,服务和IT组件间关系和服务消息间关系等。36/38l业务对齐。该服务候选者可以支持相关的业务流程和业务目标。l可组装。该服务候选者满足技术中立、自包含及无状态等特点,同时还满足复合应用的相关非功能性需求。l可重用。该服务候选者可以在不同的应用、流程中重用,从而减少重复的功能实现,降低开发和维护的成本。37/38l现有系统分析l确定服务分配l服务实现决策l服务基础设施设计