SOA是什么?

        概念:SOA是英文Service Oriented Architecture的缩写,Service [ˈsɜːvɪs] 服务,Oriented ['ɔːrɪentɪd] 导向的 ; 以…为方向的,Architecture ['ɑːkɪtektʃə] 体系结构,一句话概括就是:以 服务导向的 体系结构。

        描述:SOA是对外提供接口的一种架构设计方式。

        它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

        特点:SOA是一种以服务为导向的软件架构,SOA架构中有两个主要角色:服务提供者和服务使用者。

SOA为什么会出现?

        1、需求拉动:

  企业内互联互通的需求:信息化建设以来,许多企业和政府部门都在不同时期、应用不同技术、与不同的厂商合作,建设了不同规模的应用系统,造成了信息化不是没有系统,而是信息孤岛太多的问题,不是没有数据,而是信息不一致,难以整合。因此,互连互通是信息化中的核心问题和核心需求。

  业务灵活性的需求需要:软件有新增加业务需求,或是修改现有模块,能在不影响现在系统的前提下,直接增加或替换新的服务,而不影响其他服务,节约时间和人力成本。

  2、技术推动:

  软件技术发展内容,包括更好的程序设计语言、更好的平台和软件开发技术,如面向对象、组件开发、面向服务等等。而这方面,在技术上逐渐发展的成果大部分都凝聚在今天的SOA解决方案之中。 而这些技术推动因素,从本质上是通过复用、松耦合、互操作(标准)等机制来提高软件质量、加快软件研发效率、使研发出来的产品能够相互集成并灵活适应变化。这些技术因素逐渐推动了SOA架构的形成和发展。