SOA 常见误区_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1831 | 回复: 0   主题: SOA 常见误区        下一篇 
dwx8023
注册用户
等级:上尉
经验:612
发帖:114
精华:0
注册:2011-11-8
状态:离线
发送短消息息给dwx8023 加好友    发送短消息息给dwx8023 发消息
发表于: IP:您无权察看 2015-5-18 17:41:35 | [全部帖] [楼主帖] 楼主

在 SOA 领域中有一些常见误区,现说明如下:
1)认为 SOA=Web Service:
Web 服务通常指的是基于 SOAP/HTTP 的一种服务,这些服务通常是实践 SOA 所定义服务的一种技术形式,它提供了分布式环境下卓越的互操作能力,但实现 SOA 的方法还很多,并不仅仅是 Web 服务一种。SOA 构架是独立于技术实现的。SOA 并不必用 Web Services 来实现,相反,Web Services 也并不一定遵循 SOA 标准。
不过,Web Services 的特性十分适合用来实现 SOA 架构。Web Services 之间能够交换带结构的文档(比如 XML),这些文档可能包含完全异构的数据信息。这些文档可以同时附带关于数据的数据:元数据(metadata)。换句话说,Web Services 可以有较粗的粒度,这样较粗的粒度正好可以构成 SOA 中服务的粒度。
说到底,两者是相交的圆,SOA 服务和 Web Services 之间的区别还在于设计。SOA 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互理解。其中的区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。而另一方面,Web Services 在需要交互的服务之间如何传递消息有具体的指导原则;从战术上实现 SOA 模型是通过 HTTP传递的 SOAP 消息中最常见的 SOA 模型。因而,从本质上讲,Web Services 是实现 SOA 的具体方式之一。
2)认为 SOA 是一种特殊的分布式组件对象(Components Objects):
SOA 中的服务与组件对象的相似之处在于:都有一个或多个接口,并且,服务发布者和使用者都遵守这些接口。
不同之处在于:SOA 是关于模式(schemas)的,组件对象是关于对象类型(object types)的;SOA 通过像 SOAP 这样的标准消息机制(messages)来实现通信,而组件对象通过方法调用(method calls)来交互。与 CORBA 中的接口定义语言 IDL (Interface Definition Language)相比,SOA 在 WSDL (Web Services Definition Language) 中采用 XML,会显得更加普遍和通用。
联系之处在于:服务最终还是通过类和组件对象来实现的。SOA 被认为是传统紧耦合的、面向对象的模型的替代者。像通用对象代理架构 CORBA(Common Object Request Broker Architecture)和分布式组件对象模型 DCOM (Distributed Component Object Model)。在 SOA 中,单个服务可以用面向对象方法来设计,但是,整个SOA 的设计却是面向服务的。下面给出了 SOA 与分布式组件架构的不同点。
SOA 与分布式组件架构的区别
编号 分布式组件架构 面向服务的架构
1 面向功能 面向流程
2 设计目的是实现需求 设计目的是适应变化
3 开发周期长 交互式和重用性开发
4 成本为中心 业务为中心
5 应用阻塞 服务协调
6 紧密耦合 敏捷的和松耦合
7 同构技术 异构技术
8 面向对象 面向消息
9 需要更深入的了解实施细节 独立与实施细节
3)认为新系统 SOA 没有用武之地:对于新构建的系统,如果需要得到业务敏捷性的话,这就使 SOA 具有了用武之地。SOA 通过更好地让 IT 和业务融合在一起,借助于企业架构、业务建模、SOA 监管以及一些新的设计原则,使支持这种风格的新技术来达成 IT 的灵活性,可以更好的支持业务敏捷性。
4)认为 SOA=BPM:业务流程管理(Business Process Management,BPM)与 SOA 的关系紧密,但并不是一件事。BPM 的目的是业务优化,这种优化需要 IT 支持,SOA 很好的能提供这种支持;反过来 BPM 在业务建模和业务规则方面也能给 SOA 提供很好的支持,为SOA 达成业务敏捷性带来良好的基础。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论