SOA方法论与路线图
在很多技术问题之外,SOA的成功实施需要一个企业或组织做大量的工作,也就是说,SOA的实施是一个永续的过程。应该说,每个企业的业务和IT系统都是不同的,是否存在SOA就绪的方法论和路线图?
记者:面对SOA,很多用户却不知道如何下手,应该采用什么样的方法?IONA是否从历史案例中总结出经验?
Eric:从用户方面来看,“自上而下”和“自下而上”的方法均可以使用。第一种方法是自顶层向下,从业务逻辑开始;另外一种方式就是从底层开始,直接去做代码的编写,然后再考虑如何在上层支持业务逻辑,最后再将其构建成为完善的SOA。总结起来,就是9个字,“思于博,始于细,成其大”,这也是IOAN的企业理念。首先要根据企业的业务需要,通盘考虑需要的SOA架构,用中国的一个成语,叫“胸有成竹”;其次是从一个局部做起,以渐进的方式向SOA架构演进,避免大而全的SOA实施,这样可以最大程度地规避项目风险,降低初期投入;再次就是在局部成功实施SOA的基础上,构建完整的SOA架构系统。
作为全球分步式SOA的领导者,在IONA公司的SOA成功案例中,大多通过分布式的、基于标准的途径实现。其中最主要的特点就是用户可以渐进式地采用SOA。用户根据应用系统的发展情况确定要使用规模,从非常小的局部开始,最后再扩展到整个系统的应用中,不断向大规模SOA演进,获得很大的灵活性。这样做的目的很明显,就是要降低客户初期的以及大规模实现SOA时的成本,IONA不需要企业用户再去购买服务器。具有讽刺意味的是,现在100%的SOA解决方案提供商都希望用户采购他们的应用服务器,然后在这些应用服务器之上去构建用户的SOA体系,用户的成本就大大提高了。
其次是使用国际标准,体现可兼容性,体现技术上的中立。可以说,用户业务是随时变化的。因此基于开放标准的解决方案对他们来说至关重要,这样可以广泛兼容现有系统,并为快速响应未来的业务变化打下坚实的基础。
记者:企业在实现SOA过程中,应如何发挥SOA最大功效?
Eric:应用程序供应商也逐渐采用SOA体系,如Oracle、SAP、i2等企业,这将会使SOA体系得到更为广泛的采用。需要指出的是,虽然SOA的一个核心思想是实现程序和服务的重复利用,重复利用带来的利益可在所有应用程序中实现,但并不是说,SOA体系能够在每个项目中都取得显著成果和效益。
一个企业要想最大化地发挥SOA的功效,需要在以下几个方面进行深入思考并做好准备,从而实现“SOA就绪”。
1.可能需要建立新的成本/利益模型。
2.利用新的团队建立业务框架模型。这个团队对业务进行整体规划和设计(包括BPR在内),打破单个业务使用独立IT系统的模式,特别是那些可以重复使用的,并判断哪些流程适合这一模式。
3.要求应用开发商不断提高技能并提供服务。要求应用程序开发商使用多种新的技术开发重用软件、不断提高服务能力正成为用户一项重要的技能。
4.建立区别于传统的技术支持中心。
我们可以把SOA看作是工厂里的产品装配线。它是一笔对将来业务运营的投入,所以在这笔投入发挥效益之前,需要做相关的计划、设计和开发工作。正如生产线上制造的第一辆车的花费要比第一千辆高出很多一样,用SOA部署的第一个服务所需的花费要比部署第一百个多出很多。SOA的主要优势是逐渐体现出来的,不能一蹴而就。
记者:这么说来,SOA对一个企业来说将是一个长期的过程,是什么原因促成SOA过程的长期化呢?
Eric:有几个常见的导致业务集成的驱动力使得企业需要在SOA上长期不断投入:
兼并与收购:兼并和收购活动常常使得一个企业的CIO解决“有多个IT系统处理相似事务”的问题以体现兼并和收购的商业价值。
内部重组:尽管企业内部重组所产生的影响不如兼并和收购那样巨大,但也可以造成许多相似的问题,而且出现的频率更高。
应用和系统整合:如果相似的事务可以被多个IT系统处理,这就需要通过合并或者替换,以节省资金,减少人数,让业务操作运营更加流畅。比如一家电信公司有多个不同的计费系统,那合并和简化将是明智之举。
不一致、重复和零散的数据的共享:有时候,很多重要的业务数据分布在多个不同系统上。用户必须对它们加以合并和过滤才能有助于决策。比如,销售部门的领导希望员工和客户看到的都是同一个视图界面。
新业务战略:一个持续创新的公司经常要根据变化的业务环境贯彻新的业务战略,这就要求原来的各个IT系统能够以崭新的方式一同工作。最终,同行业的其他公司也必须做出同样或类似的改变才能保持竞争力,比如电信行业中的运营商和SP的关系、实时精准制造等。
遵守政府条例:为了遵守新的政府条例,企业可能需要重新定义业务流程以保护消费者或符合新的信息披露要求,比如本地电话携号转网和企业遵守萨班斯法案等。
保持业务流程流畅:在过去的业务流程中,数据常常需要通过手工录入到不同的系统当中;如今,很多系统都被新的支持“无需人工干预就可以进行多系统间事务处理”的系统所代替。比如,一家公司以前通过传真接收定单,然后手工将定单信息录入到定单管理系统和制造控制系统中;而现在,该公司功过网站接收定单,定单信息被自动录入到定单管理系统和制造控制系统当中。
SOA治理(SOA Governance)的目的是让软件治理与业务治理相互配合,包括协调各领域之间的软件开发、软件获取及软件、重用。以取得最大程度的机动性和规模经济性与范围经济性。SOA治理认为服务是整个生命周期都需要管理的企业资产。
网友评论