乱涂乱画OFBiz/Opentaps架构图

闲暇时绘制了OFBiz和Opentaps的架构图,供用得着的朋友参考。


个人感觉,技术框架的发展其实是比较缓慢的(而且有很多限制),因为这往往牵涉到技术之外的事情。举个例子,至今,OFBiz不支持OR Mapping。不是说开发OFBiz的人没有能力做这件事,也不是说OFBiz技术框架不能引入OR Mapping,而是因为一旦做了这件事,就相当于废除了OFBiz原先关于Entity Engine的设计理念,这需要下一个决心。相比之下,Opentaps就没有那种顾忌,它引入了领域驱动架构的概念,然后在Infrastructure tier引入了Hibernate。原因很简单,对于Opentaps来说,我只是基于OFBiz而不是OFBiz本身,所以我不用顾忌自己有两种不同的做法同时存在。

 

下面是OFBiz的架构图:

 


乱涂乱画OFBiz/Opentaps架构图_第1张图片

 

有这样几个地方可以注意一下:一个是由view handler建立的screen widget context;一个是service engine;一个是entity engine。这三个地方是MVC模式的具体体现。
配置文件也需要重点关注。框架的很多能力都通过配置文件体现出来,比方说,引入一个新的handler,view mapping体现出来的页面流转,通过event类型引入脚本语言,security声明,service和entity的定义,eca的定义,等等。
OFBiz还提供了大量的工具类,如果不熟悉这些工具类,在实际开发过程中,也会很麻烦。

 

Opentaps是基于OFBiz的,看了下面这张图,就会理解“基于”的含义。下图中明黄色的矩形部分,是Opentaps对OFBiz作出的主要扩展。
值得注意的是,Opentaps对OFBiz中的business tier和model tier又进行了新的层次划分,一个是application tier,一个是domain tier,一个是infrastructure tier。这样划分是为了引入domain driven architecture的理念。这也是Opentaps对OFBiz最重要的扩展之一。
我对Opentaps印象比较深的,除了下图中的那些扩展外,还有它的集成“意愿”。例如,部署到amazon的云计算平台,和开源BI工具Pentaho的集成,和Hibernate的集成,和GWT的集成,以及和大量开源应用程序集成等等。

 


乱涂乱画OFBiz/Opentaps架构图_第2张图片

 

 

你可能感兴趣的:(mvc,Hibernate,框架,云计算,gwt)