• 面向服务的架构SOA


    面向服务的体系结构(Service-oriented architecture)是构造分布式系统的应用程序的方法。它将应用程序功能作为服务发送给最终用户或者其他服务

    它采用开放标准、与软件资源进行交互并采用表示的标准方式。

    何谓 SOA?

    企业系统的架构师认为SOA能够帮助业务迅速和高效地响应变化的市场条件. 服务导向的架构在宏观(服务)上,而不是在微观上(对象)提高了重复使用性。同时,服务导向的架构可以简化与传统系统的互连和使用。

    在某种意义上说,服务导向的架构可以被认为是一种演化,而不是革命。它捕捉到了之前体系架构的许多最佳实践或实际应用。比如在通信系统中,近年来进展有限的解决方案多采用完全静态的绑定来与网络中的其他设备沟通,但若正式采用SOA方式,解决方案就更能妥善定位,进而突显定义明确且可高度跨平台操作接口的重要性。

    有些人质疑服务导向的架构是不是1970年代模块化编程,1980年代的面向事件设计,1990年代的基于接口/构件设计的一种复兴?(1990s)。 服务导向的架构提升了将用户从服务实现分开的目标。服务可以运行在不同的服务器上,并通过网络被访问。 这也大大增加了服务的重用。

    SOA的原则

    以下指导原则是开发,维护和使用SOA的基本原则

    • 可重复使用, 粒度, 模组性, 可组合型, 构件化以及具交互操作性
    • 符合标准(通用的或行业的)
    • 服务的识别和分类,提供和发布,监控和跟踪。

    下面是一些特定的体系架构原则

    • 服务封装
    • 服务松耦合(Loosely coupled) - 服务之间的关系最小化,只是互相知道。
    • 服务契约 - 服务按照服务描述文档所定义的服务契约行事。
    • 服务抽象 - 除了服务契约中所描述的内容,服务将对外部隐藏逻辑。
    • 服务的重用性 - 将逻辑分布在不同的服务中,以提高服务的重用性。
    • 服务的可组合性 - 一组服务可以协调工作并组合起来形成一个组合服务。
    • 服务自治 – 服务对所封装的逻辑具有控制权
    • 服务无状态 – 服务将一个活动所需保存的资讯最小化。
    • 服务的可被发现性 – 服务需要对外部提供描述资讯,这样可以通过现有的发现机制发现并访问这些服务。

    除此以外,在定义一个SOA实现时,还需要考虑以下因素:

    • 生命周期管理
    • 有效使用系统资源
    • 服务成熟度和性能
  • 相关阅读:
    关于SQL Server中的DateTime类型和C#中的DateTime类型的一点小记录
    强类型DataSet的使用简明教程2
    byte[]转string的感悟
    ArrayList的Insert方法
    FormsAuthenticationTicket对象
    powerdesigner设置唯一键,但不是主键的方式
    KeyValuePair用法(转)
    如何在安装过程中部署DevExpress控件
    asp.net GridView手写事件,包括取主键、取值、更新、选择、删除
    序列化(Serialize)、反序列化(Deserialize)
  • 原文地址:https://www.cnblogs.com/Kconnie/p/1982109.html
Copyright © 2020-2023  润新知