SOA面向服务架构出现更加强调了原来从关注技术和成本朝关注业务和价值的转移。或者说通过SOA能够更好的将业务和技术融合起来,使技术和结构更好的为实现业务和价值服务。
企业架构:系统是一个组件集合, 有组织地完成特定功能或功能集合。架构是系统的基本组织,具体表达在组件,它们和对方及环境的关系,以及设计和演变的治理原则。企业架构包括了企业的基础设施架构,组织架构,业务流程架构,数据架构,技术架构,信息系统架构等几个核心的内容。而SOA的目的仍然是从业务到技术,从基础设施到信息系统,如何实现这些架构更好的融合,为实现企业目标和价值服务。
在传统的没有企业架构的方式下,我们一般是就是论事,针对一个问题解决一个问题。缺少一种系统和长远的规划和建模。因此离线方式是根据企业的业务计划和商业目标,先构建或完善企业架构,再根据架构和规划来考虑具体的立项和项目的实施。有了良好的企业架构就可以缩短开发实施周期,加大复用程度,降低成本,增加系统的可扩展性。
TOGAF(The Open Group Architecture Framework)是一个架构框架,简而言之,
TOGAF是一种协助發展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。它可让您设计,评估,并建立正确的您的组织的架构。TOGAF提供一个可靠的,行之有效的方法,以发展能够满足您的商务需求的企业架构。
架构开发方法(Architecture Development Method:ADM)是TOGAF的主要组件。ADM是一种迭代的架构开发方法,每一次迭代都涉及到一次新的决定。其具体包括了十个步骤和阶段。
1.Preliminary Phase
预备阶段
描述必要的预备及开始活动以准备符合业务指令的新企业架构,包含特定组织的架构框架和原则定义。
2. Phase A: Architecture
Vision 架构愿景
描述架构生命周期的开始阶段。包含范围定义,识别利益关系人,创建架构愿景,及获取批准的信息。
3. Phase B: Business
Architecture 业务架构
描述业务架构的开发以支持已达成协议的架构愿景
4. Phase C: Information
Systems Architectures 信息系统架构
描述一个架构项目的信息系统架构的开发,包含数据及应用架构的开发
5. Phase D: Technology
Architecture 技术架构
描述一个架构项目的技术架构的开发
6. Phase E: Opportunities
& Solutions 机会及解决方案
指导以上阶段定义架构的最初实施规划和确认交付传达媒介
7. Phase F: Migration
Planning 迁移规划
以支持实施和迁移计划说明过渡架构详细顺序集合的形成
8. Phase G: Implementation
Governance 实施治理
提供实施的架构性监督
9. Phase H: Architecture
Change Management 架构变更管理
建立管理新架构变更的程序
10. Requirement Management
需求管理
自始至终在架构开发方法(ADM)中检查架构需求管理流程
对于面向对象方法朝SOA架构的转化,我的理解是更加强调了以业务的眼光来看待架构,强调了业务和架构的融合。而要实现这点就更加强调了服务,强调了服务单元和接口,强调了服务单元是可以通过编排和组合来实现业务流程的。SOA参考架构图
服务组件架构(Service Component Architecture ) 提供开发SOA应用及解决方案的编程模型及服务组件模型。Domain
> Composite > Component
SCA 观念为业务功能由一系列的服务提供,服务被组装在一起以建立为业务需要的解决方案。
服务数据对象( SDO)是一种数据编程架构和一个API 。
- SDO的主要目的是简化数据编程,因此,开发人员可以专注于业务逻辑,而不是基础的技术。
- 统一的跨数据源类型的数据编程
- 提供共同应用模式的支持
- 使应用程序,工具和框架更方便地查询,浏览,绑定,更新和自我分析数据
SOA面向服务的架构的效益
- IT方面(关注分离,标准化,松散耦合,可复用,组合)
- 业务方面(业务敏捷性,业务价值实现,端到端的业务流程)
SOA解决方案架构层次图
5 个层次分别如下(按照从下到上的顺序):
- 可操作系统:表示现有 IT 资产,说明 IT 投资非常宝贵,应该在 SOA 加以利用。
- 服务组件:实现服务,可能通过使用“可操作系统”层中的一个或多个应用程序来进行。如模型中所示,使用者和业务流程并不能直接访问组件,而仅能访问服务。现有组件可以在内部重用,或在合适的情况下在
SOA 中使用。
- 服务:表示已部署到环境中的服务。这些服务由可发现实体进行治理。
- 业务流程:表示将业务流程作为服务编排实现的操作构件。
- 使用者:表示用于访问业务流程、服务和应用程序的通道。
|