在IT行业有两个越来越普遍的发展方向,一个是架构方面的,一个是方法学方面的,面向服务的架构设计师可以从中有所收获。第一个就是MDA(模型驱动架构),由提出CORBA的OMG模型提出。MDA认为架构设计师首先要对待创建的系统有一个形式化的UML(也是由OMG提出)的模型。MDA首先给出一个平台无关的模型来表示系统的功能需求和Use Cases,根据系统搭建的平台,架构设计师可以由这个平台无关的模型得到平台相关的模型,这些平台相关模型足够详细,以至于可以用来直接生成需要的代码。
SOA的另一个基础是敏捷方法(AM),其中非常有名的方法是极限编程(XP)。AM的目标是仅仅创建用户想要的,AM的核心思想就在于其敏捷性-处理需求变更的敏捷性.
那么,如何开始SOA呢?经过了几次讨论,大家已经度过了盲人摸象的阶段,实质性的进展是从5.30号晚上的那次讨论开始的。从那次后,已经逐渐的看清了方向。
最佳的方法时开始构建较小的SOA,侧重于提高当前缺乏效率的交互性。例如,假设使用一个系统上需要重新键入到另一个系统的打印报告,将两个计算机系统紧密联系在一起,这会消耗时间、浪费成本,导致出错,而且数据无法保持罪行。可以设计一个简单的基于Web服务SOA项目,直接链接信息,将含更新的SOAP消息发送到合作伙伴系统,而不是打印报告。
开始简单的SOA使我们可以在作出大的决定前之前先衡量,并在出现大的问题之前获得小改善的经验。
所以,再次看到SOA的的第一条准则:“业务驱动服务、服务驱动技术”的时候,深有感触。这才是问题的本源,原来的几次讨论和想法,其实都偏离了轨道。