随着企业业务的发展,信息化发挥着越来越大的作用,同时也面临着众多的挑战。
众多领先的行业客户正在清晰制定‘Enterprise-on-Service’的发展愿景和实施策略,正在规划和建设的IT系统将以服务和流程为核心。SOA是实施‘Enterprise-on-Service’的最佳方式,SOA架构中模块化、松耦合、服务共享与业务灵活的特性,也逐渐被接受和采用。为帮助企业用户更好地理解SOA带给中国企业应用软件建设的好处和价值,需要提供中国企业软件服务化的切入点。实施SOA的难点在于服务构造以及业务化流程,因此需要新一代的基础中间件即SOA应用平台。通过从应用开始的SOA实施路线图,最终向企业用户提供完整的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的工作度量体系的建设,方法论的持续改进等。
6 SOA未来的挑战
IT规划比国外要难十倍
在中国,实际系统的业务运营往往超出预期的设计,稳定、高效是基本要求。中国的IT规划和建设比国际的同等企业要难十倍,照搬国外的技术不能解决中国IT系统建设的所有问题。中国同等系统的建设,IT投入是国际同类系统的十分之一,系统容量性能的要求却是国际同类系统的十倍。比如电信企业级的数据仓库、国家税务申报系统、证券交易系统、银行柜台系统等等,其容量和性能都是国际上没有的。因而建设之初需要考虑系统对超出预期系统设计的快速应对能力,设计重点应该是对整体资源的可控能力,有明确的业务需求目标。这个十倍的难度,更是体现在业务变化的能力:中国的IT系统的灵活度和变化度要求是国际同等系统的十倍!
随着SOA的实施,从事企业应用软件开发的建设者们面临着很多挑战:业务交付不及时,低于业务发展的要求;缺少统一规划,难以适应以客户为中心的运营模式;应用越来越多,维护量大,应用间共享困难;系统功能个性化不足,影响业务使用;企业应用软件建设缺乏弹性,影响企业业务扩张;不一致、不友好的使用体验,降低了用户的主观满意度;应用软件低成本与高要求的矛盾。
可以看到,中国企业信息化建设的现状和国外不同,整合遗留系统不是实施SOA的主要问题,国内应用建成时间往往比较晚,而且新应用的需求不断增加,如何快速构建新的、符合SOA特性的应用,如何在建设、改造应用的同时打破系统竖井,建立信息与资源的共享,是面临的主要矛盾,在这一点上,国外现有的经验并不完全适合于国内的现状;另一方面,大量新技术、新标准、新平台的出现,既为软件建设提供了新的手段,也增加了建设的复杂性,如何理解这些技术产生的目的,如何选择合适的技术手段为业务服务,也是值得持续思考的课题。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突