SOA之我见

1         什么是SOA

S(啥)、O(哦)、A(啊)”,当然这是网上某哥们的玩笑话。网上给出很多SOA解释,基本上都是诸如此类:

n        SOA本身是一种架构思想,并不是一种具体的、特定的技术。

n        SOA是用做企业异构系统集成、整合的一种解决方案。

n        SOAIBMBEAIT厂商炮制的用来忽悠企业的众多名词中的一个。

以上解释我都认同,不同程度上。

2         SOA能带来什么好处?

力推SOA的人员一般都会这么说:业务敏捷性、复用已有的IT资源、加快新系统构建速度、减少IT建设投资……。

   像做广告吧:),但有一个词很重用,就是“复用”,其它的都是复用带来好处。说白了,SOA就是为了复用,只是复用层次提高了,“服务”一般来说实现特定的业务、是粗粒度的业务组件,且部署在远程。原始社会复用XXX(没经历过)、奴隶社会复用函数、封建社会复用对象、资本主义社会复用组件、社会主义社会复用服务。

3         如何达到SOA目标?

企业被鼓吹SOA好处的集成厂商游说之后,心动了……。当然,可能信息化水平也到了这个程度,而且也多了一个花钱的机会,为了享受到SOA给出的种种好处,他可能怎么做呢?

企业会告知系统开发商:你们新开发的系统一定要SOA,这样会给我们带来如何如何……好处,现在开始所有方法、接口什么的都要做成服务,最好采用当前最流行的Web Service。系统开发商会说:所有的方法和接口都做成服务没有必要、只是跟外系统打交道的特定模块的有必要做成服务,而且“服务”也不一定要Web ServiceWebService的效率低下、大数据量下稳定性也是问题,建议大数据量的接口采用FTP方式实现,实时地的采用消息中间件来实现,需要穿墙的接口采用WebService实现吧。然后企业和开发商对掐,最后可能妥协到某一程度。

然后企业会纠集新、老系统的开发商和应用系统集成商,让开发商协作集成商把遗留系统暴露的各类接口(或者说非标准的)封装成“标准服务”,至于什么是标准服务,不同厂商也是各说各话,且互不兼容。应用集成商就在纳入自己管理平台下的“标准服务”基础上,做分发、做策略、做编排、做流程、做监控……,以后业务变更可以在该平台上进行,如果衍生出新业务也可以在已有服务的基础上编排、组合而成,从而达到(或者说有可能达到)快速满足业务需求的目标。

钱也花了,折腾了一段时间,也渐渐SOA了,企业可能会注意到:1SOA架构下有时候的确能省点事,但是在这时候系统一但出问题,开发商和集成商都相互指责,都不承认是自己。多了SOAESB的环节当然就得多个一个可能出错的环节。2、有些接口封装成服务,但是效率明显下降。企业咨询集成商,集成商说在我们平台下需要作一系列的管理啊、转化啊……,这些不得不占用一些资源!

4         SOA对不同人员的意义

对于设计人员

深刻理解业务,把业务功能抽象为服务,好处还是复用,把一个项目各个环节分而治之,加快项目的推进,为项目转化为产品多一些可能……,最终提高了生产力,大家多挣钱。

对于企业管理人员

       提高了管理水平……吧

对于企业具体用户:

       有感觉么……,说不上来。

对于SOA集成商:

       多了一个商机,多了一些职位、多了一些就业机会。

5         相关名词:

5.1    服务(Service)和组件(Component)的关系

组件:一般情况都是部署在本地的。不对,有些组件也是部署在远程的,比如说RMICorba……,噢,那些组件已经变成服务了。但,不标准吧。

服务:服务是部署在远程的,也就是说需要远程调用的,而且它一直在那儿,就象是Windows服务。服务是标准的,也就是说服务可以跨平台、跨语言的被调用。如WebService?但.net下的webservicejava领域不同的框架(axisaxis2xfieCXF)的webservice互相调用也有潜规则。

5.2    SOAESB的关系

ESB是实现SOA的一个基础设施,通常被叫XXXServer,有的被叫做XXXXPlatform,等等吧。但ESB一般都作这样的一些事情:协议转化、格式转换、路由分发、消息过滤、校验、组合编排、服务注册、元数据仓储、服务监控等;能够包装、屏蔽不同的协议的服务提供者,能够接受不同协议的服务消费者(请求者);能够支持多种交互方式,如:请求/响应、请求/回调、异步请求、发布/订阅等。

5.3    SOAEAI的关系

SOA是面向服务架构,EAI是企业应用集成。EAI就是用于应用集成的,或者说,用于搞互联互通的;而SOA有更高的追求,他有服务,这样不仅仅可以达到互联互通的效果,而且还可以复用服务,且还有其他一些增值的管理功能。

5.4    SOAWebService的关系:

WebService是一种实现SOA的技术手段,在《SOA With WebService》一书中曾提到:通常有这三种实现SOA的技术,WebService + 扩展、CORBA + 扩展、消息中间件 + 扩展。我也认同这个观点:)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值