zoukankan      html  css  js  c++  java
  • 关于SOA架构设计的案例分析

    关于SOA架构设计的案例分析

    SOA架构开发

     

    SOA介绍

     

    1、什么是SOA

     

    SOA是:面向服务的体系结构(Service Oriented Architecture)指的是一个系统的架构,他的研究领域是大型分布式系统的“架构”范式。而OOP指的是程序具体开发过程中的“编程”范式。再通俗一点说就是在一个具体的软件内我们谈论OOP,但是在讨论软件与软件,系统与系统的关系的时候我们会借助SOA的理念帮助我们处理他们(指各个系统)之间的关系。

     

    2、SOA的核心理念

     

    支持异质(异构)

     

    不要奢望企业中的每个系统都是java平台的,不要奢望企业中的每个系统都运行在Window平台上,不要奢望企业中的数据库都是结构化的……随着时间的流逝老版本的系统依在(里面的数据是无价的,别跟我说可以重新开发一套新系统,然后把旧系统的数据导出来,这就相当于让一个环境的某个物种短时间内重新进化,梦一样幼稚的想法!)新系统层出不穷,SOA要做的就是在这些异质(异构)的系统之上保证他们的“和平相处”。

     

     

     

    支持变化

     

    SOA绝不是一次性的事件,随着企业的发展要在系统环境的变化中产生出具有自己风格的SOA,这次整合了新旧系统兴许不就的将来,一次公司的收购就会迎来新的一轮SOA过程。

     

     

     

    松耦合

     

    目的是保证整个系统的灵活性和可伸缩性。

     

     

     

    并且:

     

    SOA中,服务之间应保持独立。更改一个服务不能影响到服务的调用。

     

    SOA由一些通过标准消息通信的服务组成,标准消息机制让他们彼此独立。服务之间应该能进行异步通信。服务应该提供安全的通信和可靠的消息服务。

     

    3、企业服务总线ESB

     

    企业服务总线(Enterprise Service Bus)是SOA的基础设施,用于保证消费者能够调用供应者提供的服务。

     

     

     

    ESB的核心作用

     

    数据格式转换

     

    因为SOA是支持异质的,所以ESB主要的作用就是处理不同平台不同语言之间的相互调用。那么首先要做的就是数据格式的转换。

     

    引入一个中间格式然后将不同平台中的API都映射到这种格式上来。大多数情况人们选择的是和平台无关的WebServices技术,于是SOAP也就成为了这种中间格式。

     

     

     

    (智能)路由

     

    不同优先级的消息,不同类型的消息是需要给予不同处理。从这个角度说ESB就不单单是一个传递消息的通道了,还需要有一套自己的能识别其他服务提供数据方法。关于智能路由的另一个作

  • 相关阅读:
    (转载)敏捷开发一千零一问系列之三十三:每天编码多少行?
    (转载)memcpy的几个实现版本
    (转载)HTTP URL
    (转载)C++lambda表达式
    (转载)程序员面试什么最重要?
    (转载)static全局变量与普通的全局变量有什么区别?
    (转载)【C++】new A和new A()的区别详解
    (转载)php如何判断IP为有效IP地址
    查看修复HDFS中丢失的块
    dfs.replication、dfs.replication.min/max及dfs.safemode.threshold.pct
  • 原文地址:https://www.cnblogs.com/877612838zzx/p/10912327.html
Copyright © 2011-2022 走看看