soa 沧海桑田
最近在看一些SOA的东东,突然发现好像一夜之间时代就变了,虽然SOA早在一年多以前就有耳闻,还被公司派去参加过普元在广州的路演大会,但是总觉得这是个比较遥远的东西,或者说,比较虚的东西。
有时候上javaeye也会关注一些,但是好像有很多人的理解也不透彻,所以一直觉得挺迷糊的。一直的理解都在基于互联网的WebService上徘徊
直到最近jianfeng去了淘宝架构部,我们偶尔还会切磋一些技术,听他说起淘宝架构的一些理念,突然觉得茅塞顿开,对SOA的思想也有了一些更深的理解。
最近公司希望做内部系统整合,松散耦合、异构、可扩展性、分布式成为了技术选型的主要标准,那么SOA自然是非常适合。于是临阵抱佛脚买了本Thomas Erl的《SOA概念、技术与设计》,每天在上下班的路上啃。看这本书前几章看得想睡觉,但前几天看到第五章时突然觉得豁然开朗,关于这本书本来想写几篇读书笔记,怎奈任务时间太紧,只能先放一放了,还有Domino的纪念文章也只能等闲时再写了。
前几天在群里有人聊起OSGi,居然不知是何物-_-#,于是在群里请人扫了下盲。感觉和SOA的概念非常的相似,松散耦合、面向服务、可扩展性,正好这段时间也在看SOA,就在群里聊起来,聊着聊着总算弄清楚了SOA和OSGi的区别,其实说起来也简单,一个支持分布式,一个不支持,嘿嘿。现行有人推荐的方案是每个应用用OSGi来架构,应用之间靠SCA链接。
这里则牵扯到了SCA,也是那次在群里聊起才知道的,算是SOA的一个实现吧。SCA历史不太清楚,看样子很像是IBM首先推出的,随后自然就有Open Source Project跟进了。由于这几天看书虽然SOA的理论书里面都讲得很清楚,但实际应用还是有点担心。虽然自己之前一直在思考SOA的几个重要组成的实现,但总是觉得自己实现框架在时间上划不来而且通用性不高,一直又没找到什么好的已有框架(可能主要是没去找,哈哈)。SCA则正合我意,至少看起来是这样的。于是这几天开始研究Apache Tuscany。
又有网文说到SCA、SDO、BPEL可以作为SOA的铁三角,分别对应调用方式、数据对象和编排,对后面两种暂时还没学习到,所以不做评论。又看了InfoQ上的一篇文章:http://www.infoq.com/cn/news/2008/03/manageability-oss 文章对使用这些技术提出了一部分质疑,使得我也对SOA是否真实能应用到生产系统中产生了担心。看来还需要对SCA进一步的了解,同时参考一些现行的SOA成功架构。不过,对于现行的企业内部系统的架构来说,不论如何,SOA应该是再适合不过了。
回想上半年还在同康众和系统的Struts2、Spring、Hibernate中游走,下半年满世界都是SOA、SCA、SDO、BPEL、OSGi,仿佛一夜之间沧海桑田。现在jianfeng不在身边,少了一个可以讨论技术的人,只能自己一个人埋头苦学了。
好在对自己的学习能力颇有信心,相信SCA不日即可迎刃而解,但最后研究出来框架是否适合系统就不得而知了。