e-works 孙亚婷
2009年10月,e-works Research对用友U9 2.0版进行了一次评估。本文对U9的UAP平台的评估结果进行解析。
1、现代企业环境的变化
现代企业的业务环境正在面临巨大的变化,经济全球化要求企业的业务具备更大的灵活性,面对市场的快速变化和激烈竞争能主动响应:
·敏捷制造的思想伴随着企业关注的核心竞争力越来越受重视。随着生活水平的日趋提高,市场对产品的需求和评价标准从质量、价格、功能转变为最短交货期、最大客户满意、资源保护和污染控制等方面。这种继大量生产时代后的制造产品、分配产品和提供服务的新制造模式,强调将许多柔性的、先进的、实用的制造技术,高素质的劳动者以及企业之间和企业内部灵活的管理三者有机地结合起来,对顾客需求的产品和服务驱动的市场,迅速做出快速响应;
·企业快速扩张与转型升级。随着企业的发展壮大,特别是处于高速发展中的企业,通过快速扩张或者转型升级来提升自己,因此企业业务模式总在不断地发生变化;
·降低成本和内控风险的迫切要求。国际资本市场大力强化内部控制。安然、世通等财务舞弊和会计造假案件的发生,严重冲击了美国乃至国际资本市场的正常秩序。研究结果表明,内部控制存在缺陷是导致企业经营失败并最终铤而走险、欺骗投资者和社会公众的重要原因。为此,许多国家通过立法强化企业内部控制,内部控制日益成为企业进入资本市场的“入门证”和“通行证”;
·经济环境快速变化。美国次债风波引发的全球金融大震荡,使中国企业的经济环境发生了巨大的变化,如何根据快速变化的经济环境及时作出调整,是摆在中国企业面前的又一新课题。
·IT应用逐渐由部门级应用走向企业级。随着企业的规模变大,经营风险逐渐变高,企业的IT应用逐渐由部门级应用走向企业级应用,企业的经营者希望能时时地侦测到企业的综合信息,把原有的部门级应用的信息抽取出来,进行综合提取有用的信息。
2、传统IT解决方案带来大量问题
为了跟上企业发展的步伐,企业内部的应用软件也逐渐增多,于是出现了种类繁多的ERP、PLM、BPM、CRM、SCM……因此以下问题成为了CIO的噩梦:
·信息孤岛林立,系统集成为一个亟待解决的问题;
·在众多的企业应用系统之间又有很多共性,存在着严重得重复建设,重复投资的现象,如何把原来的IT资产整合起来,提高资源的重用性,成为摆在CIO面前的又一道难题;
·同时不断出现的新业务使得老系统已经无法适应,跟不上市场和客户的需求,企业需要把这些新业务需求快速建设到应用系统中去;
·每个解决方案都有新的技术体系,使IT运维变得极为困难 ;
·布署新的解决方案需要很长时间;
·不一至的技术标准导致了系统间的兼容性与安全性都出现了很大的问题。
3、SOA的出现
此时SOA理念的出现正好迎合了企业对于业务和IT上的需求。
SOA最初的定义是由Gartner公司给出的,但到目前为止,由于各厂商、个人和专家对SOA的理解不同,所以出现了很多关于SOA的定义:
Gartner则将SOA描述为:“客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成……SOA与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”
而e-works在总结了各方的定义后给出了自己的理解,在总结以上定义的基础上,给出了自己的理解:
SOA是一种软件架构思想,通过使企业中一个个细化的服务标准化、独立化,来达到企业的IT系统跟随企业的动态变化的目的。
其核心为:
1)SOA是一种软件架构思想,并不是一种产品。
2)SOA的重点是面向服务,此服务包括企业的内部与外部的每一个业务细节,比如企业中财务应收发票的处理就是一个服务。SOA的思想是把这些服务从复杂的环境中独立出来——组件化封装,然后通过标准的接口使不同的服务之间相互调用。
在此过程中需注意:每个服务有一个明确的界限,其他服务只能通过接口来调用服务;每个服务是独立自主的,每个服务不必依赖于其他的系统而存在。
SOA的优势是:
1)实现企业IT闲置资产的重用
实施SOA,企业必然需要对自身所用的信息系统进行重新的分类,这势必会使企业全面的了解自身的信息系统,然后针对企业的服务寻找适合的IT支持。以前由于种种原因被闲置的企业IT资产,企业必然会重新考虑,挖掘到闲置资产的价值,从而使闲置的IT资产得以重用。另外,SOA可以将旧的系统封装起来,成为Web Services得以重新利用。
2)降低企业的IT投资成本
以往多数企业在建设企业的IT系统时是从项目的角度出发的,比如ERP项目、CRM项目等,事后等企业的IT系统越来越多的时候,才会考虑系统的集成问题,但这时候往往集成的难度就很大了。而SOA要求企业在建设IT系统之初就要考虑这些问题,也就是要考虑服务之间的接口问题。这样就会使企业的IT的成本大大缩减。
同时,SOA将改变以往的软件购买模式,目前的多数企业在购买软件时往往是是成熟性软件,需一个模块或一个系统的购买,企业在购买时往往无法将那些企业不需要的功能剔除出去,这样,企业就不得不为此多付出资金成本、培训成本等许多不必要的成本,而SOA则可以帮助企业实现真正的按需购买,企业需要什么功能就购买相应的服务,帮助企业避免不必要的支出。
3)实现企业的动态变革
SOA使企业的IT人员不必太多的关心企业IT系统的底层技术,而更多的去考虑企业的业务以及业务与IT的接合。同时,以往企业在开发系统时,在重复功能上浪费了大量的人力与财力,同时系统在开发完成后,如果企业业务变化,系统将很难更改或者更改的成本很高。而SOA面对的是一个个独立的服务,服务之间可以通过标准接口来相互调用,这样企业在重复功能上就可以直接通过接口调用,而不必去重新开发。企业的业务发生变化时,只需要修改相对应的服务即可,降低了修改的难度与复杂度,保证了企业的IT系统的动态变化。
4、基于SOA架构的 U9 UAP平台
U9系统基于5层架构,5层依次是企业级面向服务基础设施、统一业务运营平台、服务组件库、业务过程库、业务系统,其中核心层的作用分别为:
第二层是统一业务运营平台,在其上通过Web Services技术可以开发出完整的U9服务组件。Web Services就是把企业处理业务过程的一个个程序封装起来(如同一个个的小积木),成为一个组件,企业可以调用这个封装起来的组件,而多个组件的不同组合就可以构成企业的软件应用。
第三层是服务组件库,由一个个独立的服务组成。服务组件库就如同一个沃尔玛卖场一样,只不过里面存放的是一个个封装起来的服务组件,然后由沃尔玛提供服务组件的目录清单,企业可以根据目录清单,快速的找到想要的服务组件。
第四层是业务过程库。它如同用积木搭房子,除了要有一块块的小积木外,还需要知道这些积木摆放的顺序,而业务过程库就是描述积木的摆放顺序的。有了业务过程库,企业不仅可以用服务组件快速搭建出不同的企业系统,也可以积累出各行业真正的最佳实践。
其中,第二层、第三层、第四层构成了UAP平台核心应用。
与其他ERP软件不同,U9是先有UAP平台,后有ERP系统,U9系统全部在U9 UAP平台之上进行架构。在U9系统中,在企业业务系统与底层开发工具之间的统一的集成开发平台(UAP Studio)。UAP基于特定领域语言(DSL),通过模型驱动开发(MDD)模式,将常用的软件代码进行了封装,软件开发工程师可以快速地调用这些已经封装的代码进行开发,降低了用底层代码开发的难度,同时避免了共性功能的重复开发,使软件开发效率大大提升。
e-works Research认为,UAP的特点在于:
·业务驱动设计。U9系统的开发是采用SOA架构、基于业务驱动,并在UAP平台上完成的。然而一个软件产品要完成SOA的改造并非易事,有些厂商通过WEB的形式调用系统的功能,对API接口进行了封装或抽象改造,然后对外宣称是SOA架构,e-works认为这并不是纯粹的SOA架构,纯粹的SOA架构必须是将服务粒度化,而非模块化,系统必须打散原有的概念,对服务进行抽象,然后以统一的标准进行封装。二者最大的区别就是动态可重构性,前者的SOA粒度很粗,企业无法让系统做出灵活性很强的变动,而后者的SOA的粒度很细,通过一个个细小服务进行重新组装,就可以实现系统的动态变化。U9在软件设计时并不是按传统的方式进行设计,而是从企业的战略、到流程、再到服务的实现,从而在UAP平台上实现了一个个服务具体化封装。目前,U9共提供将近1万个服务组件。
·企业可以基于UAP平台开发出完全个性化的应用,并且与U9系统完全集成。UAP平台搭建了统一的集成开发环境(UAP Studio),基于特定领域语言(DSL),通过模型驱动开发(MDD)模式,企业可以使用包括企业建模、领域建模、服务设计、UI设计、报表设计、规则设计、数据库设计等全方位的设计器,并通过可视化的界面互操作,自动生成企业所需要的各种服务部件,极大的缩减了企业的客户化工作量。同时,企业的客户化也是分层次的:
1)个性化:包括表单进行定制、交付逻辑、数据表、报表、打印模板,不需要写代码;
2)插件:提供了标准的扩展机制,插件式的开发模式;
3)服务:开发U9中本不存在的服务,并让自身开发的服务也放到U9组件库中统一管理。
据e-works Research的评估,实现第一个层次的客户化是不需要编写代码的;而实现第二、三个层次的客户化则需要UAP平台的支持。如果只是实现个性化的定制,对人员要求不高,但如果是做成U9的服务组件,要求就会相对高一些。这3个层次分别由不同的对象完成:
1)个性化定制往往由客户自身完成;
2)插件一般由ISV完成;
3)由U9的战略客户部完成,分层交付。
·异构系统集成。UAP平台中是通过元数据描述API,可以通过API的变化,方便企业实现与异构系统之间二次开发接口的开发与升级。
因此,对于面临快速变化的制造企业而言,选型过程中遇到平台化架构的ERP系统时除了应重点考察平台的开放性、集成性及重用性,还须考虑开发者对软件厂商的依赖性、开发效率、开发管理及升级维护的难易程度等。
例如,用UAP开发一个表单,企业只要进行表单的设计工作,并在UAP平台中建立关联,就会自动在U9系统生成这一张表单,而这一张表单与U9系统是完全集成的。同时,二次开发后的升级问题不需要企业太过担心,因为升级最怕的是不兼容,但U9的Web服务粒度很细,可以最大限度地减少系统的更改,这是UAP平台带来的好处。 当然,UAP平台是用户需要额外付费购买的,而且UAP平台的开发需要企业有一定的软件开发能力才能掌握。
而不具备基础平台的ERP系统,企业在进行个性化应用开发时,很多开发方式原始,开发效率低下,开发完成后的个性化功能从界面到流程都无法实现最大价值的重用,而且由于与原有ERP系统兼容性差,很多二次开发完成后,企业出现了“四处救火、痛不欲生”的局面,使得企业还不得不保留大量的开发人员。所以e-works建议企业在条件许可的情况下,尽量选择平台化的ERP软件。
5、结束语
e-works Research认为,UAP对企业最大的价值在于:企业可以基于UAP平台开发出完全个性化的应用,并且与U9系统完全集成;同时,UAP平台中是通过元数据描述API,可以通过API的变化,方便企业实现与异构系统之间二次开发接口的开发与升级。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24494043/viewspace-671933/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24494043/viewspace-671933/