SOA应用平台下的新一代基础中间件浅谈

1 SOA实施者面对的挑战

随着SOA的实施,从事企业应用软件开发的建设者们面临着很多挑战:业务交付不及时,低于业务发展的要求;缺少统一规划,难以适应以客户为中心的运营模式;应用越来越多,维护量大,应用间共享困难;系统功能个性化不足,影响业务使用;企业应用软件建设缺乏弹性,影响企业业务扩张;不一致、不友好的使用体验,降低了用户的主观满意度;应用软件低成本与高要求的矛盾。

可以看到,中国企业信息化建设的现状和国外不同,整合遗留系统不是实施SOA的主要问题,国内应用建成时间往往比较晚,而且新应用的需求不断增加,如何快速构建新的、符合SOA特性的应用,如何在建设、改造应用的同时打破系统竖井,建立信息与资源的共享,是面临的主要矛盾,在这一点上,国外现有的经验并不完全适合于国内的现状;另一方面,大量新技术、新标准、新平台的出现,既为软件建设提供了新的手段,也增加了建设的复杂性,如何理解这些技术产生的目的,如何选择合适的技术手段为业务服务,也是值得持续思考的课题。

2 SOA加强可管控能力

为应对上述挑战,实现高质量、低成本、快速交付的要求,需要采用SOA的架构、理论与方法指导企业应用软件的建设,通过统一规划的松耦合的层次式企业架构,基于服务来快速搭建应用和快速组合新的业务流程,利用统一基础设施进行集约化经营,加强企业软件的可管控能力。

SOA的架构原则是实现IT与业务对齐的有效方法。企业应用软件建设必须满足业务运营与发展的需要,SOA从业务的视角来指导企业应用软件建设,更易于理解业务,灵活应对业务变化并快速实现业务需求,并且IT对业务绩效的管控治理提供支持,从而加强了IT和业务的一致性。

(1)SOA提供了弹性的企业应用信息架构。

通过弹性的IT信息架构,把业务部门、支撑性职能部门扁平化地组织在一起为共同的企业目标协同工作,并在实现组织功能服务化的基础上,敏捷应对业务流程的优化和重构,快捷响应企业业务环境的变化。让每个IT系统都有自己的自主性,灵活的发展空间,同时又能够随需共享,让IT变得更有弹性,以更快地响应业务单位的需求。

(2)SOA提供了对业务进行持续改进和创新的能力。

通过基础能力的服务化,利用业务流程和服务组合快速推出新产品和服务,对业务流程的运营管理、监控功能进行服务化,让业务运营获得持续性的改进和创新。具体表现为:在业务上,进行业务服务的开发、积累和复用;在组织上,进行业务服务和IT基础服务的协作开发、资源配置和绩效考核;在过程执行上,对于已有业务服务和IT基础服务进行规范的复用、升级和新开发;在运营上,对部署的基础设施,包括硬件、系统软件(操作系统、数据库、应用服务器等)的统一规划、动态配置和集约共享,更加透明和灵活的业务服务和IT基础服务的部署和运营。

通过统一的面向服务策略的落实,可以不断解决目前遇到的“IT和业务的一致性问题”,完成低成本、更高质量和更快交付业务,IT对业务的持续支持和响应,以及企业更为集约化的运营。

3 SOA应用面向服务

SOA应用是面向服务的业务应用,是采用SOA的思想、模块化、可复用的业务应用。通过将SOA应用作为业务的载体,利用服务化的接口,实现在系统间、部门间甚至企业间的复用。和以往应用相比,SOA应用具有模块化、服务化、数据标准化、易集成、用户体验良好、灵活业务定制6个显著特点。

为了快速构建高质量、灵活、易管控的SOA应用,出现了SOA应用平台。作为一种新的中间件产品,它运行于应用服务器这样的分布式技术平台上,采用符合SOA要求的编程模型和微内核的结构,使SOA应用具有模块化、服务化、数据标准化、易于集成、可灵活定制的特点,具备良好的可扩展能力和动态应用开发能力,并且天然具备与其他系统的互联互通能力,而不需要重新封装以达到集成目的。调查数据显示,有应用平台的公司更多地处于企业竞争力的高阶段,或者说高阶段的公司中,有应用平台的占多数。

应用平台始终是帮助落实和实现业务需求的关键所在。在应用平台之上,利用SOA技术和平台构件库提供的大量成熟构件,通过构件、服务和流程的复用,构件化快速搭建应用。更进一步建立提供业务领域模型的应用框架,实现在更大业务粒度上的复用。

4 多样化、灵活性和标准化

最佳的SOA开发模式:传统的非SOA架构下的MVC开发模式已应用至今,但却不能很好地支持服务构造的多样化、服务与逻辑的松耦、服务与流程的松耦、服务的灵活装配和服务的标准化。为了更好实现业务的构件化、技术的标准化和管理的规范化,需要用适合SOA体系架构的开发模式来支撑业务应用与服务的开发、复用、部署和维护。通过SOA应用平台提供了一套完备的开发模式,从顶层业务模块的构件包设计,到业务服务的定义和业务数据的设计,再到业务服务和业务数据的开发实现,都统一实现了设计即开发的理念。在此基础上实现了业务服务的灵活装配、业务服务集成功能和业务流程的可定制,统一实现了开发即集成的理念。同时在客户端,开发出具有更丰富用户体验和高效操作的客户端应用,来使用和消费这些业务服务。这套开发模式也可以采用自底向上的方式来实现业务应用和服务,基于底层积累的稳定的技术构件不断组装成上层的服务和流程,再交付到前端的消费客户端。

高效的管控和治理能力:SOA应用平台覆盖了开发、调试、运行、维护、管理完整的软件过程,为IT系统的建设提供了统一的软件架构、一致的项目开发方法和规范,并且通过软件的可视化达到真正的可阅读。自动生成详细设计文档,永远保证上线的系统在软件和文档上的统一、可阅读,使得知识能够持续得以积累,并且能够进行有效的管理。通过提供的应用监控工具,时刻掌握应用系统运行情况,并且可以迅速定位故障和优化的方向。这些特点不仅极大地保护了企业的软件投资,更使得企业对IT的管控能力得到实质的改善和提高。

快速响应新的业务需求:基于SOA应用平台的解决方案提供层次分明的多层架构,SOA应用内部以及同其他SOA应用接口实现了完全的松散耦合,从而使得应用自身具有高度的扩展性,当业务需求发生变化的时候,把应用的修改和调整限定在最小的范围内,不会因某一个层次中逻辑或者数据的变化引起其他层次的变化。另外,在统一稳定的架构下,还可通过对构件的重新组合生成一些新的构件,灵活地对局部功能进行修改或添加,从而随时针对变化进行调整。通过复用SOA应用平台提供运行支撑的框架和大量久经验证的构件,大量的开发都可以基于原有构件组装,不需要再像以往一样一切从头开发。而且,使用那些经过多次验证的软件成果,无疑大大提升系统的质量,并节省修改Bug的巨大时间成本,这也使得业务人员能够更快速验证自己的想法,快速地支撑新业务的运行。

开放的集成能力,保护已有的软件投资:基于SOA应用平台的解决方案有效规范了不同的开发商遵循统一的、标准化的应用架构进行开发,因此不同时期、不同厂商开发的应用系统彼此之间能够很好整合。在该解决方案下开发的SOA应用,由若干个稳定的构件以易懂的图形化的方法组装构成,这些成果通过构件形式可很好地被分享,经过不断的积累可以形成本企业的构件库,在今后企业的IT系统建设中能够很好地重用,从而减少重复投资。

5 SOA实践的未来之路

SOA的实践是长期的和不断深化的,SOA架构带给企业IT建设的价值,也将是不断深化的,因此,为了进一步深化使用,挖掘基于SOA架构和SOA应用平台平台的优势,主要体现为业务构件的抽象和业务服务的统一管理、基于SOA的工作度量体系的建设,方法论的持续改进等。众多领先的行业客户正在清晰制定“Enterprise-on-Service”的发展愿景和实施策略,正在规划和建设的IT系统将以服务和流程为核心。SOA是实施“Enterpriseon-Service”的最佳方式,SOA架构中模块化、松耦合、服务共享与业务灵活的特性,也逐渐被接受和采用。为帮助企业用户更好地理解SOA带给中国企业应用软件建设的好处和价值,需要提供中国企业软件服务化的切人点。实施SoA的难点在于服务构造以及业务化流程,因此需要新一代的基础中间件即SOA应用平台。通过从应用开始的SoA实施路线图,最终向企业用户提供完整的SOA平台解决方案。