OFBiz 模块化结构分析

红薯 发布于 2010/04/15 14:27
阅读 3K+
收藏 4

模块化的描述组 件:component

component是什么:component包含2大类,完整的APP应用,如accountingproductmarketing,以及某个 功能模块及基础服务,如entitysecurityservice。每个component目录下有对应的ofbiz-component.xmlOFBIZ特色就是所有的功能模块都是component

如何组织:所有的componentcomponent-loader.xml进行注册,其目的是描述该文件夹作为独立的component。通常以目录名称作为component-location。在每个component目录下面,存放ofbiz-component.xml文件,用于描述该component相关信息,如entity-resource的定义文件目录及路径、test-suite的路径描述、classpath路径描述、service-resource。如果是APP,还可以描述APP的虚拟路径。

如何新增加component-loader:在baseconfig下面,有component-load.xml,该文件描述了当前系统中,需要被加载的所有component-loader,是所有component-loader的注册中心。当需要增加新的component-loader时,需要在相应的目录下新增component-load.xml,并向base/configcomponent-load.xml注册中心进行注册。

load-componentsload-component的 区别:load-components用于描述多个component-load.xmlload-component用于描述单个component-load.xmlload-components只描述下级load-component的路径。而load-component描述component路径和名称,路径是必须的。

例如:A component-load底下还包含B component-loadB包含多个component,那么BA做注册的时候,就必须使用load-components,用于递归。Abase注册的时候,也是load-componentsB底下的component如果没有再包含component,则使用load-component

一个ofbiz-component包 含哪些:classpathdepends-onresource-loaderentity-resourceservice-resourcetest-suitekeystorewebapp

目录划分:从svn checkout(https://svn.apache.org/repos/asf/ofbiz/branches/release09.04)出来后,可以看到以下目录结构

 

 

applications:存放OFBIZ自带的应用,包括accountinghumanresorderpartycontent等等

framework:底层框架及基础服务、工具,包括basestartentitysecurityminilangtesttoolsdatafile等等

hot-deploy:该目录只有一个说明文件,官方的用意是存放应用开 发者本身的应用。

This is a hot-deploy component directory.

All components in this tree will be loaded after the OFBiz components, including those in::

framework

themes

applications

specialpurpose

runtime:运行时数据。这里的运行时数据是指OFBIZ运行时产生的日志, 或者安装时生成的配置文件以及其他的临时文件。为什么会有运行时的数据?这个是因为目前的OFBIZ本身嵌入了tomcat,用David的原话翻译过来是 说,目前是OFBIZ里面嵌入了tomcat,而不是tomcat下面运行着OFBIZ

setup:安装时,自动配置脚本生成的相关配置。例如:将OFBIZ迁移到外置的tomcat6下面时,使用 java –jar setup tomcat6,这时会在setup下面生成tomcat6相应的配置。如何将OFBIZ进行APP容器的迁移,会在下一篇文章中描述。

specialpurpose:顾名思义,特殊用途。里面存放OFBIZ开发人员为某些特殊 领域或者模块定制的功能,例如:posgoogleCheckoutebayecommerce等等

themes:界面相关的主题包。

加载中
返回顶部
顶部