面向服务的软件开发之一——SOA

本文详细解释了面向服务的体系结构(SOA),包括其定义、理解角度、开发范型变迁、与传统架构的区别以及优势。SOA通过服务的抽象性、自治性、自描述性和可组合性,提供了基于消息的松耦合通信方式,简化了系统构建与维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、SOA

二、SOA编程技术与基础设施


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


一般的有一下几种理解:

一种软件架构——W3C,一种针对分布式系统的软件结构
一套技术体系——开发面向服务软件的相关标准和技术
一种开发范型——业务敏捷的、随需而变的开发

开发范型的变迁
结构化程序设计->面向对象的架构->基于组件的架构->面向服务的架构

从单机系统、分布式系统、异构分布式系统,软件的规模和复杂度逐步提高,模块耦合度逐步降低

和以前的架构的不同之处

1)系统构成元素——服务

服务的抽象性(基于接口的编程)

服务的自治性(实现分布式应用)

服务的自描述性(支持动态调用)

服务的可组合性(支持快速组装)

2)交互方式——基于消息的松耦合式通信

不关心对方是谁、在哪里、怎么做

不访问服务的实现实体,只向服务发消息

不获得服务实现体的对象引用,不对服务实现体进行直接操作

一般是基于XML的标准化消息,如SOAP消息

技术和平台无关

地址是透明的


SOA架构的优势

使用共享服务 — 无需 “再造轮子”
松耦合 — 应用变化时影响最小化
位置透明性 — 重新部署应用影响最小化 
基于开放的标准 —互操作性、互联互通,减少对厂商私有方案的依赖

面向服务的技术体系

早期的设想:三角体系
三类组件角色:服务提供者、服务请求者、服务代理
三种交互操作:发布、查找、绑定


已有的SOA实现方案

Web Service 应用范围:EAI、面向网络的分布式应用
OSGI 应用范围:基于Java的单虚拟机内的应用
CORBA 早期的实现技术,因过于复杂,应用较少。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值