1.面向服务简介

所有执行特定任务以支持他人的动作都属于提供一项服务。

1.1 业务自动化中的服务

  • 服务是一款软件程序,通过发布API (服务契约的一部分)实现其功能的可用性。

  • 常见的两种SOA服务

    • Web服务

    • RESTful服务

1.2服务是能力的集合

  • 服务本质上是相关能力的容器。它由一组旨在执行这些功能的逻辑体系和表明其功能可用于公共调用的服务契约组成。

  • 服务消费者是当软件程序访问和调用服务时的运行时角色,当它向服务契约中表示的服务能力发送消息时由软件程序采用的运行时角色。在接收到请求时,服务开始执行调用能力所包含的逻辑,执行后可能回向服务消费者返回相应的相应消息也可能不返回。

  • 不可知逻辑

    • 足够通用 /不针对(不具备该知识)特定任务的逻辑被归类为不可知逻辑。

    • 被认为是多用途的

    • 重用度高的

  • 非不可知逻辑

    • 针对(包含该知识)单一目的任务的逻辑被标识为非不可知逻辑。

    • 特定性比较高,重用性比较低

1.3面向服务是一种设计范式

  • 设计范式是设计解决方案逻辑的一种方法。

  • 在构建分布式解决方案逻辑时,设计方法通过一种称为“关注点分离”的软件工程实现。即将更大的问题分解为一组较小的问题或关注点是,这个问题可以得到更有效的解决。

  • 相关功能可以分组为解决方案逻辑单元。

  • 面向服务体现在:面向服务执行关注点分离的方式以及他如何塑造具有特定特性和支持特定目标状态解决方案逻辑的单个单元。

  • 服务组合是服务的协同聚合,功能范围通常与付业务流程的自动化相关联。

  • 服务目录是描述企业内或企业内有意义部分边界中,相互依赖的服务的独立标准化和管理化的集合。

    • 服务目录符号由容器内部的球体组成。

    • 当组织有多个服务目录时,此术语进一步定位为域服务目录。

面向服务元素的简要回顾:

  • 面向服务的解决方案逻辑通过服务和根据面向服务设计的服务组合来实现。

  • 服务组合由一系列组装起来以提供特定业务自动化任务或流程所需功能的服务来组成。

  • 因为面向服务将许多服务形成企业资源,所以一个服务也许会被多个消费者程序调用,每个消费者程序可以涉及不同服务组合中的相同服务。

  • 标准化服务集合能够形成在自己的物理部署环境内独立管理的服务目录的基础。

  • 通过从服务目录中的现有不可知服务池中创建服务组合可以使多个业务流程实现自动化。

1.4 面向服务的设计原则

  • 标准化服务契约

    • 同一服务目录中的服务复合相同的契约设计标准。

  • 服务松耦合--服务契约降低消费者耦合需求,并且它们自身与他所在的周围环境解耦。

  • 服务抽象--服务契约只包含基本信息,以及那些仅限于服务契约中发布的信息。

  • 服务可重用性--服务包含并显示不可知逻辑,可以定位为可重用的企业资源。

    • 面向服务极大地强调了重用,重用是设计过程的核心部分,是关键服务模型的基础。

  • 服务自治--服务对其内部的运行时执行环境进行高度的把控。

  • 服务无状态--服务通过必要时推迟状态信息的管理来最小化资源消耗。

  • 服务可发现性--服务补充了交互元数据,通过它们可以有效的发现和诠释服务。

  • 服务可组合性--服务是有效的组合参与者,无需考虑组合物的大小和复杂性。

2面向服务所解决的问题

2.1竖井式应用架构,也称“一次性应用程序”

通过识别要自动化的业务任务,定义其业务需求,然后构建相应的解决方案逻辑。

优点

  • 解决方案的有效构建

  • 解决方案设计以战术为重点。

  • 每个解决方案的项目交付生命周期都是可精简的/相对可预测的。

  • 从头开始构建新系统,可以采用最新的技术。

缺点

  • 大量的浪费

  • 缺乏效率

  • 企业膨胀

  • 产生复杂的基础设施和错综复杂的企业架构

  • 共享数据--系统间集成成为永恒的挑战。

面向服务设计原则的优势

  • 提高了功能和数据表达的一致性

  • 降低了解决方案逻辑单元之间的依赖性

  • 降低了对底层解决方案逻辑设计和实现细节的关注

  • 增加了在多种目标中使用一个解决方案逻辑模块的机会

  • 增加了在将解决方案逻辑单元组合成不同配置的机会

  • 提升了行为可预测性

  • 提高了可用性和可扩展性

  • 提高了对可用解决方案逻辑的认知

2.8增加大量可复用解决方案逻辑

2.9 削减应用个性化业务逻辑

2.10 削减业务逻辑的总量

2.11 本征互操作性

  • 来自服务目录的不同部分的服务可以组合新的服务组合如果这些服务设计为本征可互操作的,那么将他们组装成性的组合配置就会容易很多。

3 面向服务对企业的影响

3.1 面向服务和应用的概念

  • 面向服务强调重用,通过建立具有高百分比的可重用和不可知服务的服务目录,通过服务组合自动化实现现有的/新的和增强的业务流程。

3.2面向服务和集成的概念

  • 服务目录由面向原则的服务已被塑造成标准化 可重用解决方案的逻辑单元组成。

  • 集成意味着将两个或多个兼容或不兼容的应用程序连接起来。

3.3服务组合

4面向服务计算的目的和优势

  • 增强联合

  • 增强本征互操作性

  • 增强供应商多元化选择

  • 同步提升业务与技术

  • 提高投资回报率

  • 减少IT成本

  • 提高组织业务敏捷性

4.1增强本征互操作性

  • 互操作性指数据的共享

  • 集成是实现互操作性的过程

  • 面向服务的目标是在服务中建立天然的互操作性,以减少集成需求。

  • 互操作性是靠一致的应用设计原则和设计标准特别培育的

  • 契约标准化/可扩展性/行为预测性/可靠性是促进互操作性所需的一些设计特性

面向服务原则

  • 标准化服务契约--保证相关互操作性的基线测量和数据模型协调

  • 服务松耦合

  • 服务抽象

  • 服务可重用性

  • 服务自治

  • 服务无状态

  • 服务可发现性

  • 服务可组合性

4.2增强联合

  • 企业范围的解决方案逻辑自然协调,而不用关注其底层实现。

4.3 增加供应商多元化选择

  • 技术架构不局限于任何一个特定的供应商平台。

  • 这为组织提供了持续自由来改变/扩展甚至替换解决方案实现以及技术资源,而不会终端整个联合服务架构。

  • 与主要供应商的SOA平台对齐同时又与其保持中立,并且通过将服务契约定位为贯穿联盟企业的标准化端点,可以抽象专有服务实现细节以建立一致的服务见通信框架。

4.4同步提升业务和技术领域

4.5提高投资回报率

衡量自动化解决方案投资回报率(ROI)是决定应用程序或系统实际成本效益的关键因素。

4.6提高组织的业务敏捷性

在组织层面,敏捷性值得是组织能够对变化作出反应的效率。

4.7减少IT成本

5 面向服务的4个支撑点

  • 团队合作

  • 教育

  • 纪律

  • 平衡范围

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐