技术开发 频道

掌握SOA开发技能之架构师篇

【IT168 专稿】

    软件行业从软件开发到软件工程的转变,使得架构设计师成为SOA取得成功的重要角色。因此,首先我们看看要设计一个成功的SOA都需要哪些架构设计师?

    总设计师——他应该有高水平的技术、全面的商业知识和伟大的领导才能。这个人不但要了解SOA的方方面面,还要能用业务术语向业务部门、用高层次的技术和业务术语向CIO、尽量详细地向技术人员解释SOA的价值。至于该角色在设计活动中的参与程度则可以根据公司和SOA建设的规模而定。但是不管怎么说,这个人至少要有足够的知识,可以随时参加到设计活动中来。从领导者的角度来说,这个人很可能是建立并实施治理、把IT理念从编程转向工程、建立SOA路线图,以及其它文化因素变动的推动者。

    企业架构师——在小型或中型公司里,总设计师和企业架构师(EA)可以由同一个人担当。在大型公司里,可以设立一名以上的EA。EA要在自己的领域和业务方面有很深的了解,可以进行跨领域工作,这样才能保证所设计的架构能够同时满足业务与IT的需求。维基百科上说得好:

    “企业架构师的任务是利用这些知识保证业务与IT能够协调工作。企业架构师是企业的业务目标、战略、过程与IT策略的联系人,他利用多种架构模型或视图将这一切展示出来,并描述如何有效、持久、灵活地满足企业当前与未来的需求。”

    领域架构师——领域架构师是专精于某一领域技术的架构师。他们是相关领域的专家。需要这类人才的领域包括:

    · 应用
    · 信息
    · 安全
    · 设施
    · 业务过程
    · 网络
    · 集成

    公司规模的大小也决定了这些职位将作为单独的角色存在,还是将几个职位合并为一个范围更广的职位。比如,较小型公司可以将应用、信息和集成归为同一个职位,把设施和网络归到另一个职位。但是不管实际设立多少职位,所有这些领域都是必须考虑周全的。各个领域都是架设SOA所必不可少的重要因素。

    方案设计师——方案设计师要有关于具体技术甚至业务应用的实际经验。比如,可以是Java、.Net、后端系统、Web应用、财务体系、电子商务系统、分布式处理等方面的设计师。并且,和领域架构师一样,这个职位的设定同样取决于公司的规模与预算。

    架构团队

    如上所述,一个架构团队需要以下角色:

    · 总设计师
    · 企业架构师
    · 领域架构师
    · 方案设计师

    至于在这些岗位上具体需要多少人则由公司根据实际情况而定。比如,一个大约200人的开发团队,其架构团队可以包括一位总设计师、一位EA、一位领域架构师和一位方案设计师。

    笔者曾经在某企业架构研究会上看到一个案例,关于一家财富排名100企业的全球化SOA部署。他们的团队中有超过100名架构师,在许多业务领域上设立多名EA,甚至总设计师也有数名。这样的团队是无法做好的。

    架构理念

    总架构师可以按自己喜欢的方式任意组织团队,但是有一点不能乱来,那就是要有正确的理念。架构团队的出发点必须是SOA所要解决的目标问题,即业务需求。如果团队失去这个重心,那么SOA就会沦落为一个IT项目,而不是整个企业的重要任务。必须在整个项目中灌输业务的精神,这样才能真正发挥SOA的优势。

    此外,架构团队还要保证他们没有被别人视为(不现实、限于理论的)象牙塔团队。SOA需要架构师们从别人无法到达的高度解释一些理念问题。架构团队要成为企业的动力,推动企业从传统的、独立的应用开发方式转向更具协作性的工程方式,这样企业才能把眼光放得长远,而不局限于当前许多企业还在使用的、目光短浅的开发方式。

    另外,架构团队必须足够开放。他们要评估当前的业务过程、当前的IT实践、当前的系统,然后指出所需做出的改动,根据SOA路线图推动企业走向业务与IT共同建立的蓝图。如果不改变IT的开发方式,那么整个开发团队可能无法理解SOA与Web服务的不同之处。在架设与管理SOA方面,知识的培养与传播也是非常关键的。

0
相关文章