2009年的一月份,我在德国的Dagstuhl 城堡参加服务公用工程的研讨会。那边的住宿环境简单得刻意;没有电视,没有收音机,闲暇时能做的唯一的事情就是思考。所以在每天的探讨结束后,研讨会的参与者总会聚集在同一个地方,然后开始聊天到深夜。在那些天的一个晚上,Gregor Hohpe提到我们应该起草一份宣言,就像Agile Community几年前做过的那样。 在我与Olaf Zimmeramann, Nicolai Josuttis和Cesare Pautasso交换电子邮箱地址以后,我们起草了一些初步想法。可在当时的情况下,我们又觉得这个想法过于雄心壮志,然后大家又把注意力移回了研讨会。这个起草宣言的想法一直沉睡了好几个月。而在那个时候,整个SOA社区还在为理解Anne Thomas Manes'发表的"SOA is Dead: Long Live Services"绞尽脑汁。而我,也刚好从德国研讨会回来。 到那时为止,SOA一直苦于缺乏一个明确的定义和统一的引导方向。大多数人都同意采用这种科技最终所带来的结果具有“灵活性”以及“松耦合性”,而且也能最大限度地发挥协同作用,永远改变人们的商业运行方式,但是,每一个人对SOA好像都有一个不同的概念和想法。 我们一直在为消除这种模棱两可而努力。各种专业书籍和发表的论文也不再只是为了明确SOA的概念,其中也包括了很多制成服务导向模式的细节和人们对于应用这项技术所期望达成的目标。当我们开始集中精力研究于服务导向的方法上,一些之前没有回答的问题,像“怎么样才能把一个软件程序变得由服务引导?”最终迎刃而解。所有出现的原则,模式还有实践都在为了更好的解决在现实世界中运用到服务导向而出现。而面向服务架构本身也逐渐成为一个具有鲜明特色的分散式架构模式。 SOA的缩写是具有意义的,而且这个意义也逐渐清晰起来。但唯一的问题是,其实并没有很多人去关注它。在同一时间,Anne也参与到这一论题中来。在关注她的博客的这几个月, 我注意到了一个很清晰的产业分派:一派坚信SOA只不过就是IT行业发展规律周期的搅拌器,另一派读到标题就已经发现这根本对我们所有的人都是一个警告,一个“如果我们不明确产业路线,SOA就会死亡”的警告。可这种困境并不是因为SOA缺乏物质条件或是产业潜力,而是由于有太多不明确和错误的信息源源不断的产生。 就是这个有点混乱的时期让我最初那个起草一份SOA宣言的想法又重新燃烧了起来。这个行业需要领导,而实现这种想法的方式就是召集整个行业的思想领袖们,然后发表一份明确SOA和服务导向的远景和价值的正式声明。当我还在参加第二届国际SOA研讨会的时候 ,这些思绪在我脑海里不断徘徊着。第一届的国际SOA研讨会是在阿姆斯特丹举行的,而在那个会议上,我非常幸运的认识了很多SOA的专家们,而且他们其中的大部分都被再次邀请到第二届的研讨会上。而我也正好利用了这个机会,与他们一起成立了“迈向SOA宣言工作组”(此后改名为“SOA宣言工作组”)。 我联系了一些我在整个SOA社区特别尊敬的专家们,成立了最初的团队。后来因为会员们不断把这个组织推荐给同行,社团不断壮大起来。我们一共邀请了20个人,其中有3个人 (Jim Webber, Ian Robinson, Gregor Hohpe) 没有加入我们。最终的团队形式达到了一个平衡点,其中少于一半的人有产品组织,而另外一部分人则是一些从业者。每个人都觉得有必要检查候选人的职业背景,因为我们的组织是一个才智的集合,而不是公司的联盟。 我们遇到的第一个挑战是建立一个务实的过程。我们有三天的会议都没有实际的会前讨论,而那时宣言发表日已经被安排在了会议闭幕式的基调演讲上。截止日期是10月23日。万幸的是,Nicolai Josuttis后来提出每个成员都应该事先准备一份宣言草案;Herbjorn Wilhelmsen也为会议的起始组织了一系列短小的演讲;而Anne Thomas Manes则进一步完善了会议工程。她建议推迟辩论会的时间,直到大家都完成了所有的发言为止。这种方法行之有效,因为每个工作组的成员都得到了一个发表个人宣言的机会。当我们全部完成以后,我们一共收集到了50份价值陈述还有80条原则。直到这一刻,我们的工作才真正意义上的开始了。在接下来的48个小时内,我们通过审查,过滤,重点处理和细化,又把所有的呈递上来 文件缩小范围到6份价值陈述和14条原则。 针对宣言所应概括的范围和程度,我们又进行了一系列的讨论。我们希望这个宣言能够传递一个价值体系,和一些与其相关的原则,又同时能被大部分的IT业者接受。举个例子来说,我们必须要不断限制自己去给面向服务架构和服务导向另加定义,因为这根本就不在我们的执行范围之内。最终我们以后一份简单的,能够概括宣言总体情况的序文作了结尾。 在制定原则的过程中,我们不断提醒自己这些条例并不是服务导向的“设计”原则,而是帮助人们 意识到服务导向核心价值的“指导”原则。即使这样,我们还是不得不一再的在指导原则和产业最佳实践中划分界限。其中就有很多被提议上来的原则是很有效的实践,可是它们都太专业化,太详细,或者就根本不在宣言所概括的范围内。事实上,要坚持把宣言保持在一个简洁的范围内,才可能是我们在整个过程中所遇到过的最大的困难。 在会议进行的整个过程中,我们总会在许多不同的地方进行长时间的探讨,甚至很多时候都超过了当初制定下的会议时间。特别是当截止日期迫在眉睫时,各方的合作力度又被大大加强了。当我们对一些已制定的价值陈述和原则的措辞选择进行最后一轮的辩论时,各种激烈的交流让大家热情高涨。最终我们还是能把所有的想法都有效的结合起来。这个宣言也终于在正式公布前的几分钟被完成了。 完成所有的手续后,为了签署宣言印刷文件的副本,我们最后一次又聚集在了一起。大家最终达成了一个普遍的共识,我们在过去的几天所付出辛苦劳动的远远超过了当时预期的程度。更重要的是,现在的一切都证明了当初我们建立一份宣言的想法并不是妄想。我们明白之前一直支配着整个产业的模棱两可是怎么让我们的团体变得支离破碎的。在这样的环境里面发表一份声明当然不能达到每个人的理想程度,特别是对于那些在之前的环境中受益过的一群人。而整个社会和由这份文件所帮助实现的商业价值也最终会确定SOA宣言的重要性和相关性。 - Thomas Erl, 致“SOA宣言工作组” |
Tammy Zhou (周小涧) |