关于企业应用和Web的一些看法



1 从我的研究来看,企业应用中无非就是业务对象(数据),业务流程,业务规则,业务操作(服务)这些东西,不同的方法论,以及不同实践经验的专家对于这些内容的倾向性不同。在Ajax and REST那本书里,将ROA和以数据库为中心视为同属于以数据为中心阵营,将Web Server看成一个巨大的数据库,然后HTTP协议提供标准CRUD操作接口。而从Fielding论文出发,我更以为ROA与OO是一个阵营的。在IBM的BPM体系中,把业务对象这些东西都定义为Resource,我觉得也是这个道理。资源是抽象程度更高的对象,业务对象(对象中的实体)可以成为划分资源颗粒度的依据。而HTTP操作,应该就相当于实体对象持久化。我想这是REST与企业应用结合的一个点。

2 关于流程密集型,我觉得所谓Workflow或BPM引擎,是SRP,关注点分离,和软件复用等软件工程思想的结晶。这样考虑,流程与服务,资源等概念是一个闭环系统。我觉得IBM的BPM在Big Web Service方面的架构,已经将其融和起来了。我写了篇论文是讲如何借助REST将RESTful Web Service与BPM融和起来。

3 关于Web与企业应用,我觉得这也代表了两种不同实践经验的专家看问题的出发点。Web的出现是为了信息共享,后来延伸到企业应用,这个阵营的人看问题,是以Web作为前端,Application作为后端,所以他们看到的是一个大大的Web,和一个小小的Application,因此当Application变得超出了他们想象的大后,就认为其复杂程度超过了其本身;而企业应用专家,是以Application为前端,Web为后端,从Application--->Web的方向看问题,Web只是一种表现层,所以是一个小小的Web,一个大大的Application。而企业应用专家又分为两大阵营,像J2EE,.Net这个圈子里的人认为应使用高级语言来搞定业务,数据库只是持久化的一种手段,可以用flat file,LDAP,Stream等其他手段替代。而数据库阵营则认为企业应用的核心是数据库,这就又回到我说的第1个问题上去了。

     在做项目时,总是在和持不同观点的人争论一些问题,我思考很长时间,为啥大家会有这么大的分歧,以上是我的一些体会。

你可能感兴趣的:(Web,workflow,REST,企业应用,OO)