IT技术和系统的建设是为实际的业务提供服务的。从有IT系统以来,各个行业的信息化建设都是从单个应用系统开始,目的是解决一些基本的问题,然后再解决综合复杂的问题,并逐步建立起复杂的IT应用系统。比如对于一个企业一开始建立财务系统,将帐务处理电算化;随后为了更好的管理人力资源建立人事系统,按照这种方式为了解决企业运行各方面的问题建立了大量的不同的应用系统。对于每一个应用系统的建设,企业都需要投入大量的资金,人力和时间来开发,维护这些系统。在解决了这些基本问题后,随着业务的不断发展和新需求的不断增长,就需要开始考虑如何将这些内部的系统整合在一起,提供更高层次的业务服务。同时随着经济全球化的发展,产业链的分工越来越细,跨企业合作经营成为不可回避的现状,所以还需要考虑企业之间的IT系统如何协同工作,以此能够提高工作效率。
另外当前的总体竞争环境越来越激烈,企业需要从业务角度能够及时的适应市场需求变化或者随时定制出灵活的业务模式,这就要求企业的IT系统能够及时跟随企业的策略变化,并且能够提供IT技术支持,以适应市场变化和激烈竞争的需要。随着IT系统的建成和广泛使用,一方面提高了企业的运行和管理效率,另一方面也使企业越来越依赖于IT系统。对于上面提到的这些需求,都需要良好可扩展的IT系统来加以支持。为了实现这些需求重新开发新的系统显然是不现实的,首先抛弃已经建立并稳定运行的系统是一种浪费,其次传统的开发技术对费用和时间要求都很高,不能满足随需应变的要求,在这种背景下SOA的技术引起了广泛的关注,大家越来越感觉SOA是当前解决这些问题的最佳方式。
通过上面背景的简单分析,我们在讨论IT技术和IT系统时需要关注下面几个方面:
l
IT系统是为业务提供服务的,不能就技术而讨论技术
l
IT系统需要解决现实中的问题
l
在实际环境中首先是建立基本的应用系统,然后需要考虑企业内部和企业之间IT系统的整合和协作
对于前面两点,在后面讨论SOA技术时,是一个重要的考虑依据。对于第三点涉及SOA适用场景问题和如何应用问题,针对这一点我们需要考虑在国内如何来推进SOA的应用。对于我们国家的IT系统建设过程来说,区域和行业信息化发展极不均衡,有些行业基本业务系统的建设基本完成,现在就面临如何内外整合,使IT系统更好的支持企业为客户服务,并能适应市场的变化和激烈竞争。而更多的企业和政府部门正在IT系统的建设过程中,既需要建立起基本的业务系统,也需要将已经建成的系统加以整合应用。还有些企业甚至还没有IT系统或正在考虑建设IT系统。针对这不同的IT建设情况,如何应用SOA,对于IT技术人员、企业和政府来说都还有许多内容需要考虑,需要在实际地推进工作中进行总结归纳。
SOA
概念介绍:
我们首先需要了解一下SOA是什么,它的特点是什么。
SOA(
Service Oriented Architecture)从字面上看它的含义是“面向服务的架构”。它强调了两点,一是“服务”,二是一套解决问题的技术方案。从字面上看SOA需要解决的是有关服务的各种技术问题。
首先我们来看一下服务,对于每一个人来说都可以从日常生活中感受到服务。比如对于银行来说,存款/取款是服务,账户余额查询是服务,代缴电话费/煤气费是服务。对于现在的银行来说为客户提供这些服务都需要有后面的IT系统提供技术支撑。服务指的就是“业务”,它能实实在在地完成一项业务工作或任务,而不是技术上的打开一个文件,或传递一个消息包这样的工作任务。它更多的是业务层面的,而不是技术层面的。
我们再来了解一下SOA的特点,这些特点也都是围绕服务的。
l
强调的是业务服务,正如同前面的描述,服务是业务层次的,是需要能够完成一项具体的业务,而不是技术层次的。
l
强调的是接口而非服务的具体实现。服务之间的互操作根据服务的接口来实现,接口一旦确定,理论上这些互操作就可以建立。服务的具体实现的变化并不会影响到该服务和其他服务的互操作性。
l
服务的可重用,强调服务的概念是为了服务的可重用。对于已经建立的业务系统,他能够提供不同的服务,完成不同的业务需求。对于一些新的业务,需要利用到已有的业务服务功能,而不需要重新开发,从而加快新业务的推出速度。这里强调的是服务的重用,实际上就是业务的重用,而不是实现服务的技术模块的重用。
l
灵活的服务流程重组能力,每个企业都有自己的管理流程,在新的竞争环境下,需要对流程进行按需调整,以适应业务变化和竞争的要求,这些调整既包括内部流程的调整,也包括企业之间的合作流程的调整,这都要求有灵活的业务流程重组能力,实际上要求的是服务流程的重组能力,以提供新的业务服务功能。
l
服务的松耦合特性,服务的可重用,和可灵活组装都要求服务具有很好的松耦合特性,服务之间的耦合性越小,服务的可重用新越好,也越容易进行服务的重新组装。
l
广泛采用标准,服务实际上代表的是不同的应用,不同的系统实现技术可能各不相同,应用软硬件平台也各不相同,如何实现这些系统,服务的协同工作,就是一项艰巨的任务,这些都需要靠标准来加以保证,保证系统之间的互操作性,保证平台的无关性,保证实现技术的无关性。
介绍了SOA的定义和特点,那总结一下为什么说面向服务的架构(SOA)是解决上述业务需求的最佳解决办法呢?因为服务是与业务相关联的,在一个企业中,基本业务改变的可能性不大,所以也有利于实现服务的可重用性。另外服务接口的确定性,也保证了服务实现技术的改变不会影响业务执行的改变,也不会影响业务流程的执行。服务的松耦合特性保证了服务流程可以更容易进行改变,从而能够适应企业内外流程的改变。服务的可重用,也保证了已经建立的应用系统,可以在新的业务流程得以继续使用,保护了已有的投资,也能加快新业务流程的建立。