关键字:SOA 开发技能
《掌握SOA开发技能之架构师篇》
在前面分析了SOA架构师的重要性,下面将对各种不同类型的开发人员做出分析,并总结一个成功的SOA开发人员所应具备的特征。
传统的三层架构通常包括一个呈现层、一个中间层或应用层,和一个数据层。在某些情况下,开发人员要负责这三层的所有工作。在较大规模的公司中,可能会有专门的UI开发人员、应用开发人员和数据库开发人员等。在SOA中,除了在集成应用时,可以说应用这个概念已经与SOA毫无干系。在SOA中,我们构建的是独立于应用的业务服务。下图列出了SOA所需要的开发人员的类型。
现在来谈谈业务服务。业务服务是各层所有开发人员所做的工作的集合体。比如一个像在亚马逊上所用的“购物车”这样的业务服务,它很可能是由服务和/或寄存在这个架构中的各层组件所构成。呈现层包含最终的使用方式,也就是用户最终看到并在浏览器上使用的样子。业务过程层包含引导用户从开始到最后付款结束的整套逻辑流。业务规则层包含税收、折扣、会员等规则,而底层的数据元素和结构则是在数据层处理的。在许多情况下,由于合并、兼并、多年的遗留系统、第三方应用的购买等诸多因素,公司会使用多种数据结构提供相似的功能。数据层的存在就是为了提取这些数据结构并以相同的形式呈现出来,掩盖底层的复杂实现方式(可以想像主数据管理)。
所以,要开发这样一个购物车的业务服务,所有工作在架构中不同层上的开发人员都要全力协作,并以满足公司所采用的SOA治理中所定义的业务需求与技术需要为前提。其中的技术需要可能是:
· 遵守WS-*安全标准
· 数据加密策略
· 平台无关
· 满足具体的性能要求
为什么要说这么多呢?因为在面向服务的架构中,一个成功的开发人员需要具备以下特征:
· 灵活、变通
· 协作能力
· 可以与同僚一起检查他们的工作
· 能看清大局
· 不会固执地偏好某种特定技术
· 能接受建设性的批评
· 创新精神