流程管理软件如何适应变化

      最近接触了一些关于SOA的相关理论,很是遗憾,没看出什么名堂来。最近为什么网络上比较流行SOA呢?个人认为这东西太悬乎了,凡是有什么好的软件思想或是方法都称之SOA,难怪架构师和软件企业那么热忠的去追捧它,似乎SOA万能,好多软件厂商都鼓吹自己的软件是面向SOA的,用SOA的热门词汇来攻关市场。几年前,一个简单的业务流程管理软件当作ERP,然后换成iERP,直至现在ERP变得很烂很臭,最终让企业谈E色变。金融危机来了,这一波过后能让ERP柳暗花明么?真希望SOA不要向现有的ERP或是OA,炒作向明星似的。面向SOA的软件系统能解决业务流程灵活变化的问题吗?由于现在我只是一个初级的程序员,接触的软件企业不多,感觉到很多软件厂商都只解决了一些常见的技术问题,没有真正意义上实现业务流程上的灵活变化。部分软件商做到的只是(X)OS,例如(BOS,EOS),说白了就是一些简的组件设置一下数据映射关系,然后形成人机交互接口,做出了一套面向用户的业务流程平台。对于这种做法,我很是怀疑,首先,软件的效率会不会受影响,比如一个订单信息,包括很多参照信息(客户、事业部门、负责人),这在系统底层设计时如果封装服务,单独访问各自的数据,硬件条件是否受到了限制。其实,这类系统平台几乎是基于模板的,基于模板的系统能适应灵活么!最后,类似的系统培训成本不高么?我试图用过几个相关的平台,自认为计算机应用软件操作得还是不错,看过相关演示,感觉还是不能解决实际工作中遇到实际的复杂业务流程的应用,用这类系统来生成一个流程管理软件,比重新学习一门语言或是自己写一个项目还难,最终明白了为什么大公司的软件开发工具包(VS.NET + Framework)的设计意图,越简单越能适应变化,发挥空间越大。那么,如果你是企业,你愿意授受一套通用系统还是一个量身定做的软件。如果你是开发商,你愿意做一些复杂的工作还是简单的工作,你是走通用产品道路还是二次开发项目的道路。

    接下来,你遇到过没变化的系统么?你遇到软件系统的变化是怎么应对的。拿企业一个简单的业务流程来说吧!比如销售订单,在制定订单过程中,有些企业按合同严格执行,但有些企业不按合同执行。开发阶段,软件设计的架构是否能更快的适应软件业务流程的变更,良好的软件架构能很好的适应软件变更,很方便的进行后期维护。对于企业业务流程的变更,根据SOA的理论,将软件划分成一个单独的服务,然后根据实际情况组合服务。在服务结构定义上,采用最大原则,将服务所用到的数据抽象成接口或是一个单独的实体类,然后提供服务口访问的方法,从而达到服务的组合重用。上面的情况是没有改动本身的订单实体,如果在实体本身需要改变的时候,比如订单原来是不按合同就可以发货,在保存订单时需要保存合同信息,这种变化影响到软件结构的变化,这种变化可通过软件配置管理,形成新的版本,作为一套单独的系统来运行。实施阶段,作为一套系统,最好以不变来应对变化,比如客户要求不参照合同也能进行订单生成,像这种不影响数据小的改动,您可以要求他虚拟合同来完成订单申请,尽量去说服客户接受现有的版本。

     总之,对于业务流程管理软件来说,软件开发本身不存在什么技术难度。如何提高软件的灵活性,一个良好的架构和业务的灵活变通是业务流程软件发展的方向。用一套复杂通用的软件系统替代一个流程软件,来实现一套管理方法是很难做到的。一个良好的管理系统应该能充分体现一个企业的业务流程管理思路,形成企业的核心竞争力,管理思路的改变意味着软件的改变,软件架构的灵活意味着业务的灵活。

posted @ 2008-11-08 12:14 windsea123 阅读(1674) 评论(4) 编辑 收藏

 回复 引用   
#1楼2008-11-08 12:24 | RascalX[未注册用户]
看问题看得深一点,任何问题都会有两面性,从宏观的SOA概念来讲,它是个愿望,而现在这么多人在鼓吹其实不错也不对,证明这个概念正在拓展。SOA早在很多年前就被提出来,谁都是服务器,也谁都是客户端,这是个伟大的概念。如今所谓的大多的‘程序员’也就是各种开发平台的用户而已,而往往在鼓吹的也就是这些人,他们能吹出个啥来?
 回复 引用 查看   
#2楼2008-11-08 13:06 | 林海雪原      
我个人还是比较喜欢soa,至少它代表着一种好的发展方向。
 回复 引用 查看   
#3楼2008-11-08 22:15 | 重典      
概念只是辅助实施,但是不能左右
 回复 引用 查看   
#4楼2008-11-10 10:44 | Beasy      
流程管理软件现在五花八门的很多,其实任何一个软件是通用的也好还是二次开发的也好,每个行业的业务,那怕是同一个公司的业务也都会随时发生变化,因此流程管理的灵活,我觉得主要还是要看该软件的流程重构是否好。目前业务流程都由原来的Workflow,改叫BPM了。其实M主要还是以人为主,软件只是一个辅助。我曾经实施过的很多流程项目,每个客户都会在一段时间或者是一个领导人变动后,流程就会相应改变。最通用的流程软件系统在这种情况,也只能是跟着变化了。还有无论是业界的ISO标准什么的,也都会根据公司的具体情况进行变化。要做到流程随需而变,只是动动鼠标来做到时很难的。这样完美的流程管理软件产品只会见光死。博主对流程管理的适应变化,归结到SOA的架构上来,完全寄托在一个概念上是做不到的。SOA只是软件上的,流程管理还涉及到人等硬件要求。流程的变化其实有很多是可变可不变的,关键还是在管的人上面。