zoukankan      html  css  js  c++  java
  • SOA是什么

     估计很多人都听说过SOA这个词了,但是很多人还是不知道到底什么是SOA。开发人员很容易理解为是一个Web Service,但是这绝对不是SOA,那顶多只能算是SOA的一种实现方法。那么,到底什么是SOA呢?最近正在看SOA Source Book,本篇我将介绍一下SOA到底是什么?如有错误,欢迎指正。

        SOA是Service-Oriented Architecture的首字母简称,它是一种支持面向服务的架构样式。从服务、基于服务开发和服务的结果来看,向服务是一种思考方式

    服务

    • 是一种有特定结果的可重复业务活动的逻辑表示(例如,检查客户信用度、提供天气预报等)
    • 自包含
    • 可以组合其他服务
    • 对于服务使用者来说是"黑盒"的

    SOA架构样式

    • 基于服务的设计,这些服务代表的是组成企业业务流程的业务活动
    • 服务提供上下文描述(业务流程、目标、规则、策略、服务接口和服务组件),使用服务编排来实现服务
    • 对技术设施提出要求,建议采用开放标准,以便更好的实现可交互性和透明性
    • 实现是基于特定环境的,约束和使能都必须在上下文中进行描述
    • 服务描述和实现需要很好的治理
    • 需要进行验证式的测试之后才能决定这个服务是否好的服务

    SOA和EA

        虽然SOA和企业架构(EA)的开始不一样,但是现在SOA已经成为企业架构的一个组成部分,所以这里也介绍一下企业架构。

    • 企业架构比IT范围大很多
      • 除技术之外的业务操作、财务、人等
      • 它包含除IT之外的技术,例如制造或物流等
    • 组织实现最大化定义的一些改变
    • 对当前操作的基本控制和治理
    • 企业持续改变,带来成本的减少并能提高商业价值

        TOGAF是一个业界企业架构框架,如果想更多了解TOGAF,可以参考我写的企业架构框架-TOGAF v0.2.pdf

        由于企业架构范围很大,SOA Source Book值关注企业架构的IT组件:

    • 企业IT的战略性开发
    • 一个完整的企业系统,而不只是一部分系统
    • 长期的IT演进,而不只是满足于短期目标

    SOA

    • SOA并不会增大IT系统的内容,但是会提高它们的可交互性
    • IT系统执行一些被明确定义和描述业务活动上下文的服务
    • 之前的应用是那种大的、一整块的应用,只有很小的可交互接口,比较勉强的做集成,对交互也不提供保证。而SOA提供一些小的、模块化的服务,这些服务接口被清晰描述和约定。

    Overview of SOA

    SOA架构维度

    • 成功应用SOA需要具备丰富的知识和技能
    • SOA不能解决所有IT问题,IT架构师必须知道什么时候以及如何使用SOA
    • SOA将是一个大的投资,是从企业长期战略来考虑的
    • 有时候,技术可能会改变战略,但是业务需要和可能性仍旧是主要驱动力。这也是引入企业架构的原因,企业架构会依据企业的长期战略来设计IT战略。

    SOA和无边界信息流(Boundaryless Information Flow)

    • The Open Group的愿景是Boundaryless Information Flow.

    • 因为SOA可以带来无边界信息流,所以SOA在The Open Group占据了重要地位
    • 使用服务来替代应用

    SOA给企业带来敏捷

    有三个不同的方法来实现企业敏捷性

    • 服务组合
    • 模型驱动开发
    • 服务虚拟化

    架构师能够把这些方法都应用到SOA上,但是它们需要不同的基础设施的支持,你必须根据需求来选择合适的方案。

    SOA功能和作用

    功能

    作用

    基础设施

    Service

    • 改善的信息流
    • 对外公布的能力
    • 功能组织的灵活性
     

    Service Re-use

    • 低的软件开发和管理费用

    Service repository

    Messaging

    • 配置灵活性

    Messaging program

    Message Monitoring

    • 商业智能Business intelligence
    • 绩效度量
    • 安全攻击检测

    Activity monitor

    Message Control

    • 应用管理策略
    • 应用安全策略

    PDPs and PEPs

    Message Transformation

    • 数据转换

    Data translator

    Message Security

    • 数据机密和集成

    Encryption engine

    Complex Event Processing

    • 简化软件结构
    • 快速适配外部不同环境的能力
    • 提高可管理性和安全性

    Event processor

    Service Composition

    • 快速开发新的功能组合

    Composition engine

    Service Discovery

    • 优化绩效、功能和成本的能力
    • 更容易的系统升级

    Service registry

    Asset Wrapping

    • 集成现有资产的能力
     

    Virtualization

    • 提高可靠性
    • 可以扩充满足不同要求级别
     

    Model-driven Implementation

    • 快速开发新功能

    Model-implementation

    environment

    推荐:你可能需要的在线电子书 

    我的新浪围脖: http://t.sina.com.cn/openexpressapp

    欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]

  • 相关阅读:
    scala之伴生对象的继承
    scala之伴生对象说明
    “Failed to install the following Android SDK packages as some licences have not been accepted” 错误
    PATH 环境变量重复问题解决
    Ubuntu 18.04 配置java环境
    JDBC的基本使用2
    DCL的基本语法(授权)
    ZJNU 1374
    ZJNU 2184
    ZJNU 1334
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1963701.html
Copyright © 2011-2022 走看看