技术开发 频道

SOA快速指南之快速实现服务集成模型

   1.2 团队环境

    本系列文章前三篇探讨的内容都是由SOA项目小组的早期成员(架构组成员和项目负责人,客户代表,业务分析师,现存系统架构师等)一同完成的,从现在开始,项目小组的重心向开发的方向转变,工作开始产生新一轮的迭代,新的成员加入,原有成员或离开从事新的项目,或坚守岗位,成为项目开发的主要骨干。

    我们认为,本系列文章的前三篇所探讨的话题,从时间的角度来讲,主要发生在项目的早期,视项目大小,其所用时间可能从10天到数月不等,参与人员可能从4、5人到十数人不等。除了客户人员外,项目组在早期可能只包括业务分析人员,SOA架构师和IT架构师。因此和传统的项目类似,在项目的早期,团队构成以分析人员,设计人员和架构师为主。

    当SOA项目进行到实现阶段,架构设计已经比较明确,此时开发人员和测试人员就要加入,原小组成员需要一天到数天的时间进行知识共享,使得新加入的人员对项目背景,所实现系统的功能有明确的认识。然后根据项目情况和个人情况,组建开发小组。此时我们建议架构师转变角色为开发小组的TeamLeader,保证开发和项目设计的持续性。同时我们强调小组之间的交流和信息共享,以保证项目进度的透明性,使得开发人员对SOA的认识保持一致。

    在我们的项目实例中,我们项目小组的组成如表2所示。

    表2:示例项目中的项目小组组成。
     

   
   通常项目团队的分组可能面临两种选择:

    一种是水平分组:按照应用的水平层次进行分组,如UI相关,流程相关,中介相关,服务实现后台系统等。

    一种是垂直分组:按业务功能划分,以业务流程为中心,功能相关的UI,流程,模块,后台系统为一组。

    在以服务为中心的SOA项目中,我们推荐将项目以服务为中心分为2个大的Work Stream:

    1 服务实现:

    包括新的服务和对现有服务的包装,这样实现的服务将作为基本的服务组件分布在服务模块中,等待互相调用和被流程等方式进行编排。

    2 服务集成

    包括从UI到业务流程,或者SCA之间的装配。
   
    这样考虑主要是因为服务的实现是可以独立的完成(我们强调SOA中的Service是粗粒度的业务服务),而服务的集成主要体现在流程以及服务模块之间的装配,这样的划分对于我们将来的持续集成有着非常重要的意义。

    每个Work Stream之中,可能需要按业务或者技术侧重分成若干小组,同时Work Stream之中,根据人员技能的不同,每个开发人员的角色会有侧重。各Work Stream之间需要保持相应的交流,对于一些重要的技术人员或者领域专家,可以在Work Stream之间实现共享,例如在我们的例子中,有一名BPEL专家主要承担流程编排,并同时为各小组提供相关咨询。

    在表3中我们列出SOA项目通常情况下开发人员角色(基于J2EE的SOA项目,以IBM产品为例),供读者参考。

    表3:SOA项目开发人员角色和技能列表。
     

 
 

0
相关文章