文章作者所在公司这一年来在信息化道路上经历了频频受挫的辛酸过程——越是与管理关联紧密、集成度越高、规模越大的系统,其受挫的概率就越高。一个重要原因是企业虽然做了IT规划,但应用的仍是传统或相对落后的IT架构,不能满足和适应业务的快速增长。请看作者的IT规划中应
SOA变革基础架构
以前,随着业务需求和网络技术的发展,笔者公司产生了大量为满足产品或服务需要的软件系统,如:ERP、CRM、OA、SCM等。但这些系统一般都是单独实施、独立存在,由于数据标准不统一、接口不一致,系统间往往缺少联系与合作,这也就导致每一个系统成为一个孤岛。
SOA(面向服务的体系结构service-oriented architecture)与其说是一种技术,不如说是一种的思维方式。它是一项大胆的基础架构变革,表达我们如何通过技术和协同工作来实现业务变化。
与面向对象的技术架构不同,SOA架构所需要的服务模块可以分布在更为广泛的分布环境中,而不必像面向对象技术架构那样,需要使用大块的可重用去构建一个全新的系统。通过合理的部署,SOA系统可以改善原有的IT系统效率,使得原有的那些应用系统更具有柔性。
SOA架构的革命性思路是在传统的业务层和技术层之间增加一个服务层,服务层通过一套协议或规范把应用程序从底层技术层调出来,加以封装,再根据业务层需求灵活组合。
服务层不依附于任何特定技术平台,能够在业务层和技术层之间沟通、组合,业务应用系统就变成了“松耦合结构”,想用什么功能就调用什么功能,需要什么功能就装配什么功能,改动调整非常方便。而且这些构建在各种各样系统中的“服务”可以以一种统一和通用方式进行交互。保证系统灵活性,另外,还可以保证“服务”的重复利用。
SOA让二次开发成本降低为零
在笔者参与的项目中,有一个架构设计小组和两个开发小组,其中一个开发小组主要开发面向客户的应用服务,另一个开发小组主要开发核心系统服务。经过一段时间的工作,我们发现那些在业务流程中最基本最通用的功能是可以抽取出来,使用SOA架构进行重构。并且,系统的开发部署时间以及系统的性能这两个检验系统是否成功的两个关键标准都得到极大的改善。
①SOA降低成本。我们成功构建了一个通用的服务功能模块,在下一次开发时,我们可以直接调用这一功能模块。从这个意义上讲,第二次开发时的开发成本为零。
②SOA架构使管理统一。对于SOA系统而言,要想成功实施一个系统,必须从企业整体来通盘考虑,成立专门的架构设计小组,确定整个企业业务流程运作的最佳路径。这样整个业务流程及信息系统的管理将会实现统一管理,改变过去各部门、各业务环节脱节的现象。
③SOA架构从一开始就显示出ROI(投资回报率),因为SOA反对四处出击,是按成本受益顺序确定服务开发的优先级。通过仔细的规划,启动成本就能限制在现有预算内。经过一段时间后,服务模块的重用会确保以后每个新业务应用程序的启动成本很低。在实施开始时设置好基线,确保可测量性,避免临时修路的效果。
网友评论