技术开发 频道

架构师是这样炼成的

    ITPUB:您多次谈到SOA,那么SOA对于系统架构的意义和影响何在?在您的理解中,SOA架构的本质是什么?

    林伟炎:SOA对系统架构的意义极为深远,从解决单一问题,到解决整个企业的问题。从以部件为主,到以企业服务为主,牵涉到设计思路的改变。也许需求更多的投入在沟通,规划,设计,基建与组织治理方面。

    很多人说服务的本质就是重用。这种看法不错,但拿捏不到重点。服务导向的本质应该是更紧密的IT-业务的关联,更高的服务抽象层次,更强的IT治理,最终达到业务的敏捷性。能达到最后这点,才是一个真正的面向服务架构(SOA)。

    ITPUB:目前,您或所在团队是如何开展软件架构设计工作的?在使用什么产品或者方法呢?

    林伟炎:要进行软件架构设计并不特别需要什么工具,最重要倒是沟通。沟通是为了两个原因。第一个是对需求的理解,第二个是把你的设计作推广,缺一不可。

    第一点比较容易理解,正如前面说过,不清楚需求是不可能设计出成功的架构。第二点则比较容易忽略。老实说,一个企业架构的成功与否就是要看到底这个架构能否落地,个别部门的项目组是否跟从。所以作为架构师,一定要多听,多沟通。

    在架构的规划及设计阶段,我发现最有用的工具是工作坊,就是为了一个特定的目的而把不同部门的人聚集起来一同讨论,让每个受影响的部门都可以充分发表意见。架构师作为facilitator,必需要有良好的沟通技巧,敏锐的触觉,以及包容和正面的态度。国内跟国外的架构设计不存在很大的技术差异,只是国内搞技术的人都太注重技术,一般忽略了对业务的关注,对治理及沟通的重视。

    ITPUB:刚才您提到了Ajax。在今年的JaveOne会议上,Tibco公司也宣布Ajax消息服务(AMS)计划,能否详细介绍什么是AMS,AMS在SOA架构中将起到怎样的作用,以及AMS与ESB的异同?

    林伟炎:我们认为SOA与Ajax会产生最完美的协同效应。两者独立演进,但也能同时善用各自的长处。典型的Ajax应用与HTTP服务联系,并只会传送HTML标记或者只是数据的信息,然后在用户端转化为可供阅读的信息。至于企业服务管道 (ESB) 则是以JMS,或以Rendezvous,或者MQ为基础,按不同的供应商而定,来实时移动数据。Ajax Message Server的功用就是连接这两个世界。

    另外一个ESB的问题就是,它只是消防喉,而不是自来水龙头。所以你需要把所有时刻改变且大量的即时数据过滤,令它们变成人能够接收了解的信息。这也正是AMS所能够做到的。它其实是一个服务器,能够连接服务器及客户端,以建立一个即时的HTTP连接,然后作多路传输、过滤信息,还会根据用户应用情况来控制流量。AMS能够优化由服务器端流向用户端的即时串流信息。

    ITPUB:最后,请对有志于软件架构发展的读者谈谈,您认为对于一个架构师,最大的挑战是什么?应该如何面对呢?

    林伟炎:作为一个架构师,最大的挑战就是要放下自己,不能假设自己什么都懂,要多听,多看,多想,多包容。不能只顾技术,也要发展沟通、带领团队,以及处理人事关系的技巧。技术只能帮你成为一个技工,而架构师,就要看你的Soft Skill了。

    感谢林伟炎先生的精彩回答,让我们在向架构师的征途上又迈进了一步。也请继续关注我们的架构师访谈系列。

0
相关文章