SOA框架
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 |
|
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://zhoujg.cnblogs.com/ ]
SOA框架的更多相关文章
- 支付宝soa框架发展思路(转载)
大家好,这里是首届QCon Beijing的现场,现在坐在我的旁边是的支付宝的首席架构师程立.先给大家介绍一下,支付宝架构发展到今天,经历哪些时期,都有哪些里程碑? 我回忆一下,支付宝系统架构发展大概 ...
- 从零开始设计SOA框架(三):请求参数的加密方式
第二章中说明请求参数有哪些,主要是公共参数和业务参数,服务端需要对参数进行效验,已验证请求参数的合法性 参数效验前先解释下以下参数: 1.参数键值对:包括公共参数.业务参数 1.公共参数:按 ...
- 从零开始设计SOA框架(二):请求/响应参数的设计
每个接口都有请求参数.响应参数.其中请求参数分为公共参数和业务参数.响应参数分为两类:正常的响应参数.统一的错误参数 一.请求参数 1.公共参数:每个接口都有的参数,主要包含appkey.时间戳. ...
- Ant.SOA微服务框架开源
开源地址:https://github.com/yuzd/AntServiceStack 框架特色0.Service Management(服务治理) 1.CodeGen Contract Fir ...
- 浅谈SOA
概念 wiki对于SOA定义如下: A service-oriented architecture (SOA) is a design pattern in which application com ...
- SOA、ESB、NServiceBus、云计算 总结
SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统.与此同时,SOA 还实现了整合资源,资源复用. SO ...
- WCF SOA --- AJAX 跨域请求处理 CORS for WCF
一.问题 跨域请求无法处理的问题,由于为了阻止恶意的网站通过JS脚本来窃取正常网站受保护的资源.所由所有的浏览器的默认策略是阻止XmlHttpRequest的跨域的异步请求. 但是对于一 ...
- SOA、ESB、NServiceBus、云计算
SOA.ESB.NServiceBus.云计算 总结 SOA SOA 是通过功能组件化.服务化,来实现系统集成.解决信息孤岛,这是其主要目标.而更进一步则是实现更快响应业务的变化.更快推出新的应用系统 ...
- webService-cxf框架的使用
webService-cxf框架的使用: 1:简介: wbservice常用框架 Axis: --> Axis2 XFire: -->(Web Service框架) XFire是codeH ...
随机推荐
- centos7安装etcd
http://blog.csdn.net/dream_broken/article/details/52671344
- Spring IOC 巨多 非常 有用
关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 <Spring入门经典>这本书无论对于初学者或者有 ...
- p1098 逆序对
传送门 题目 输入格式: 第一行,一个数n,表示序列中有n个数. 第二行n个数,表示给定的序列. 输出格式: 给定序列中逆序对的数目. 数据范围: 对于50%的数据,n≤2500 对于100%的数据, ...
- Struts2学习第七课 动态方法调用
动态方法调用:通过url动态调用Action中的方法. action声明: <package name="struts-app2" namespace="/&quo ...
- 【QtAV】QtAV中的工厂模式
QtAV中的各个模块大量使用的工厂模式,下面对其实现进行介绍. 工厂模式的使用 以 VideoRenderer 类为例子,他含有下面3个工厂模式相关的方法,Register方法用于给一个产品<c ...
- 使用VS Code配合Remote Development插件连接远程服务器(Mac/Linux+Windows) | Using VS Code with Remote Development Connect to Remote Server (Mac/Linux+Windows)
最新版VS Code(2019年6月)出了一系列新的插件,包括Remote Development,Remote SSH等,使得用户可以使用VS Code远程连接服务器写代码,方便了协同工作.具体配置 ...
- 功防技术与实践第1.2章,kali初步了解
20169314 2016-2017-2 <网络攻防实践>/<网络攻击与防范>第2周学习总结 一.教材学习内容总结 1.hacker和cracker的区别 网络攻防分三部分:系 ...
- HDU - 5542 The Battle of Chibi(LIS+树状数组优化)
The Battle of Chibi Cao Cao made up a big army and was going to invade the whole South China. Yu Zho ...
- PS2018学习笔记(19-24节)
19-随心所欲变换 # 本节知识点 自由变换 移动变换 旋转变换 斜切变换 变形变换 扭曲变换 透视变换 # 本节段落表 自由变换命令 变换中的移动 再次变换命令 对象缩放 旋转 斜切 变形 扭曲 透 ...
- 浅谈UML——九种图(二)
前言 看我UML视频,对UML图有了一定的了解,终于明白了,为什么一幅图代表了千言万语.每一种图都有其特殊的存在,都在软件开发过程中起了至关重要的作用.那么如何阅读?如何绘制?请看下去: 1 行为图 ...