SOA笔记 (1)

SOA笔记
知道SOA有些日子了,一直把它当成一个技术名词来看待,觉得是个大而无当的概念,IBMers编来骗钱而已。年初和同学讨论起SOA,才恍然SOA还有很多绕绕在里面。今年以来,一直在思索如何将SOA实施落地,期间碰到了一些问题,把自己的思索简单写写,权当笔记。
1 web services是不是SOA?
今年很多客户提出用web services来做系统整合方案,当时我在想这是不是SOA的一个形式? 后来做多了,觉得web services仅仅是个S,离A还远着哪。web services仅仅把单个系统的功能接口封装成能被抽象的调用方法,与具体调用语言无关,说穿了就是字符串调用,无非是计算机之间约定好语义的字符串调用。2个系统之间就直接call来call去的,多个系统间哪? 就形成了EAI上很有名的蜘蛛网。牵一发而动全身啊,本意是想提高灵活性,反而降低了灵活性。
说句实话,挺替EAI可惜的,好歹发展了这么多年,把该考虑的问题、优化的地方都做得差不多了(题外话,去年出差终于把Enterprise Integration Patterns Designing Building And Deploying Messaging Solutions看完了,真是拍案叫绝),SOA突然杀出,说改规则了,以前的作法通通推翻。大家又来一个新的轮回,不过原来EAI碰到的问题,这回SOA一个也躲不掉。
先看看EAI是怎么做的?它们基本上都会提供一个类似message bus的中间服务器,不要两个系统直连,我告诉你调用格式,大家统统从我这里走。好了,SOA也抄袭了这个概念,提出ESB, enterprice service bus。可以这么说,有没有这个bus,就是决定了有没有A,一家之言。有了这个bus,很多东西都好做了,比如QoS质量、服务的router、BPEL等等,这些才有了基础。套用EJB3的概念,有了ejb container,就是ejb,没有就是POJO。
2 为啥要用SOA来做实施?
直接用套装软件不行吗,又成熟,又有保证。那为啥又要用SOA? 说句实话,我也没想明白,网上搜了一大堆,基本上都是国外的资料。出于眼见为实的研究态度,都过滤了。既然技术上说不通,那就换个思路,还是IBMer说的好,在开放性成长一书中说了,未来的竞争不是价值链的竞争,而是价值网的竞争。好嘛,本来套装软件能很好的处理一个完整价值链的业务过程,现在不行了,要来个网,而且还不知道业务会怎么变化,怎么办? 只好把价值链里面的点抽取出来,让这些点能够被另外一条线连起来,这样不就是网了嘛。
这不就是SOA的理念吗。嘿嘿,够抽象的。没办法,架构师最基本的能力就是要会抽象。
 
3 SOA怎么做实施?
这个问题有点大,不过还是有思路可循,套用一位客户的观点就是:大规划,细原则,小目标,快实施。
……,怎么做哪?我先整理一下,明天继续。
Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s