内容摘要:什么是SOA?为什么要上SOA?过去几年日见清晰的概念让大家逐渐找到了共识。而如今,SOA如何落地?怎样上SOA?这些新的关注点又摆在人们面前。
什么是SOA?为什么要上SOA?过去几年日见清晰的概念让大家逐渐找到了共识。而如今,SOA如何落地?怎样上SOA?这些新的关注点又摆在人们面前。有人说,Web2.0和SOA珠联璧合;也有人说,ESB是SOA的基础与核心;还有人说,最重要的是找到快速切入SOA的技术手段。12月20日,51CTO.com邀请三位资深专家和多名用户代表,在北京理工大学国际教育交流大厦举办“巅峰访谈:整合异构,从ESB切入SOA”活动。活动吸引了数百网友在线观看并参与讨论,以下是访谈中的部分精彩实录。
51CTO.com用户代表:实施SOA存在哪些风险,如何解决这些风险,ESB的安全和稳定性怎么保障?
毛新生:好像有人说坐在屋里,天会塌下来,在外面会地震,会掉下去。做SOA第一个风险,我观察是人的技能和经验。毕竟SOA是一个新的东西,思考问题的模式要发生变化,又有很多新的架构的范式核心的技术,而且最关键的问题是,SOA比较多强调的是企业级范围的架构,跟过去人们习惯于一个应用,一个系统的构造的方式不一样。这些东西都是过去在OO或组件级别做得很习惯了,现在突然间转移到企业级的架构的相关领域,转移到大规模分布式计算的领域,确实有一些不适应。所以我们在这一块是有风险的,尤其国内有经验的CIO,CTO,有经验的架构师还需要培养。
毛新生:另外,风险还在于选错了启动的点和实施的方法,比如我们有一些客户,一上来就开始做整个企业范围内的东西,站在这样角度做这个事情,自己没有经验,又不花钱请有经验的人帮忙,风险在所难免。
毛新生:有时候也会因为不恰当的产品和技术选择出现问题。我们需要非常好的,非常强的产品。在分布广阔的地域上进行数据传输的时候,如果选择比较糟糕的ESB和消息中间件作为基础的话,是会有问题的。技术和非技术方面的风险都有,还有监管方面的问题。这跟企业本身的成熟度和IT部门的成熟度都有非常紧密的关系。
毛新生:事实上我们看到,ESB的性能,最主要的是在分布的情况下怎么样激活大规模分布的应用之间进行数据和服务的互操作。IBM有一个实际的经验,有个客户在全球有很多分公司,我们要通过ESB将分公司的人的应用连接到总部来。当时最大的压力在于消息尺寸变化非常大,最大的能够到100MB,有时候也很小,所以尺寸变化很大。另外,突发性也很强,各个不同的分公司都在不同时候进行大规模的数据传输。当时做这事情首先要测尺寸大小变化,数据能不能非常有效。这非常困难的,跟操作系统一样,比如有很大的数据两小时还没有到,这其实是有问题的,我们怎么让消息中间件确保ESB传递消息的时候,大的数据小的数据都能够比较高效地在适当的时间间隔内有效到达。这实际是一个评价指标,这也是我在这个项目中学到的,以前没想到这是一个需要考虑的因素,这在业务流程中是很重要的。
毛新生:第二个是这些数据的转换,因为消息是要转换的,而且也是通过中间件转换。这种转换有两个层面,一种是简单的格式层面,比如美国人对人名字的要求名字在前面,姓在后面,中国是反过来的,这是小东西。但是另一种是格式上的转换,有时候牵涉到语义上的转换。从一个端点传达到另外一个端点要进行消息格式和语义的转换,这种转换能力也是ESB极其重要的能力。
毛新生:100MB的东西如果都是XML的文件,你转换看看。比如某公司100MB东西转换下来2个半小时,我们是5分钟。5分钟对比2个半小时不是一个概念,所以转换能力也是非常重要的,所以第一个是通过率,第二个转换的能力。第三个,我今天在短的时间里快速传递很多消息,在单位时间里有多少的消息传过去,这消息的量多大?还有一个跟ESB相关的,ESB通常都会建立冗余的路线,就像交通系统一样,没有冗余路线系统断了就惨了。这里面牵涉到路由的智能问题,要充分了解对传递能力利用率是多少?我们需要从很多角度充分考虑ESB的性能。
来源:51CTO.com 作者:崔灿 责编:豆豆技术应用