如果我们观察这几年来程序语言与开发平台的演进,可以很明显感受到对于以组件(component)为基础的对象导向程序开发(Object-oriented Programming,OOP)相当重视,不论是主流的.NET、J2EE或是PHP,甚至是Python,都特别强调以组件技术来达成软件可再利用(reusability)的特性。
尤其这两年来Web Services/SOA的窜红,更将组件化的观念透过网络的分布式延伸,展开了所谓建构企业跨平台组件储存库(repository)的想法。
很多企业信息技术主管都在思考,组件化技术普及后,信息系统开发的下一步将会出现什么样的变化?与此同时,很多企业主管可能隐约发现:几乎一些知名(不论是工具或是套装)软件供货商,都宣称其产品已经符合,或是即将符合服务导向(service-oriented)的组装式架构,这股趋势在逐渐发酵中。
以组装的途径来完成信息系统建构与调整,我们可以通称为「软件组装」的观念,以区别强调开发导向的传统「软件开发」途径。不论这项立意被称作SOA、ESB或是SaaS(Software as a Service),这些炫丽名词背后,隐藏一个共同的特性:软件组装的时代已经开始了。众多软件厂商的希望是:未来的软件系统将不在局限于「需求分析」与「软件开发」的活动,取而代之的将是以「塑模方法」来描述与决定软件将如何被组成,以企业如何有效建构管理内部或外部的「储存库」来供应实际所需的功能组件。
但是从市场供需法则的另一方来看,很多企业主管派员或亲自参与研讨会,以求了解这些趋势的机会与威胁,但在研讨会后除了认识一些新名词与缩写之外,似乎鲜少有企业宣称已经准备导入,甚至大部份企业在短期发展蓝图上,也没有具体的先导计划。
为什么供应与需求会有落差?一套好的解决方案不是应该受到鼓舞与欢迎吗?从我拜访几个大型企业用户得到的响应归纳出,实际的问题不在于相不相信「软件组装」的企业效益,而是—也是真正困难的--配套措施为何。如果不能解决以下几个问题,我们认为企业仍只会停留在观望的阶段,而不会有确切的投入行动: