面向服务的架构(SOA)是现在企业部署应用系统主流的做法,但是,著名市场分析机构Gartner公司的一位分析师指出,SOA部署可能会因为七个常见的错误而突然中断。
“如果你有没有听说过SOA,那么你肯定生活在与世隔绝的环境中,” Gartner 公司分析师Yefim Natis 说。Gartner认为SOA已经无处不在,它不再是一个只是大胆的架构师才敢于尝试的前卫概念,而是已经变成了当今世界商业软件应用开发和交付的一种常见的方式。
“SOA已经从竞争阶段过渡到主流阶段,”Natis说。“很快拟将很难找到没有使用SOA的软件供应商。”
毫无疑问,这是一个好消息。但事情一般都是两面的,坏消息是一些常见的错误的可能会危及企业级SOA的部署。
在“开始部署SOA以及迁移到高级SOA的模式和准则”中,Natis列举了7个危险的错误,他强烈呼吁SOA用户一定要小心不要这些错误。
这些错误是:
1.将SOA部署通通交给技术人员实施
部署SOA不单单是与传统的应用开发技术有关,而且还与企业的业务有关,并且二者相辅相成,缺一不可,因此,把SOA的部署工作交给那些对企业业务目标一窍不通或知之甚少的程序员,让他们独自完成部署工作是一个极大的错误。就像很多分析师多年以来一直在说,SOA项目从一开始实施的时候就要有企业的业务人员进行参与,这是非常重要的。一个令人鼓舞的迹象是,本周举行的Gartner会议似乎比以往任何一次会议吸引了更多的商业人士的参与。
2.非理性的SOA过度“健康”
如果SOA的项目负责人热情过高,促使项目实施得过快或者部署工作铺的太广太宽,最终导致无法控制的局面,这也将会导致部署工作陷入困境。从而引发“虎头蛇尾”的危险---开始的时候起点太高,部署的SOA项目太多,服务太多,最终由于无法控制而草草收场。“所以,不要急于奔向SOA,”Natis告诫说。“如果你有20或30个服务需要部署,那么你能够做得很好。如果你要部署200到500个服务,那么我知道这肯定是有问题的。”
Natis呼吁他的听众要沿着SOA成熟度曲线“逐步推进”部署工作。他还警告说:“在SOA部署的各个级别上都有可能犯错误,因而一定要小心谨慎。”
3.对于SOA部署的几个注意点侧重顺序有误
为了正确估计SOA的范围和侧重点,牢记SOA的“A”是代表架构是非常重要的。这也是正式架构师和项目经理在SOA部署中发挥关键作用的原因。虽然供应商会极力催促用户在软件基础设施方面加大投资,而Gartner的分析师则建议在SOA管理和设计上进行投资,以确保SOA解决方案能够满足企业的业务需求。良好的管理是很重要的。“随着SOA变得越来越先进,”
Natis说:“SOA管理的程度也变得意义越来越重大。”
4.遗忘数据
所有的商业应用,从医院日常使用的病人记录查询程序到华尔街使用的每毫秒就能数百万美元交易的大型应用都是有关获取数据和处理数据的。SOA需要一个经过了谨慎设计的数据模型。因为商业应用一般需要来自企业周围的各个合作伙伴提供的数据。Natis表示,计划访问那些不属于你的数据也是很重要的。
5.重复开发
因为SOA最大的好处就是组件重用,这既为企业节省了成本,有符合现代程序开发的一般准则。因而,在SOA部署的过程中,抛弃那些认为“新的应用需要重新编写新的代码”的旧观念是很重要的。旧观念否认服务重用的目的。“SOA的成功在于利用业已有服务,并避免开发人员进行无意义的重复开发,”Natis警告。
6.部署的起点有误
SOA需要从一开始就部署企业业务需要的服务和应用。而开发看起来比较酷但却没有很大用处的服务是没有太大价值的,因为企业中没有人需要这些服务。“只部署那些有客户的服务,”Natis说。
7.部署混乱或过于专制
SOA不是一个孤立的项目,就像20世纪90年代流行一时但最终惨败的开发方式那样。SOA的部署工作也不能作为一个命令强加给IT或业务部门单独来完成。它需要成为一个合作性的有风险的项目,所有将来需要使用这些应用的人都应该参与到这个项目中来。
“SOA不是一个技术性问题,而是一个有关人的问题,” Gartner管理副总裁Darryl Plummer在一个单独的会议上说。但是,IT部门和业务人员的相互合作在SOA项目的实施过程中非常重要。“业务人员应该参与SOA的部署工作,”
Plummer说。“不是接管部署工作,而是参与到其中去” 。
Natis也警告大家不要采用一个所谓的通用方法部署SOA。“一个解决方案不可能适用于所有的业务方面,” Natis说。
Natis敦促与会人士“将SOA作为一项战略举措对待”,但不要把它作为部署每个商业应用的万用良药。“SOA并不意味着同质---这将会导致不切实际的期望。”
|