Apache OFBIZ快速上手--目录&&配置文件介绍

1OFBiz简介,什么是OFBiz

          OFBiz is an Apache Software Foundation top level project.

          Apache  OFBiz全称是The ApacheOpen For Business Project。是开放的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新的J2EE/XML规范和技术标准,构建大中型企业级、快平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。

          OFBiz几乎实现了所有的J2EE核心设计模式,各个模块之间的耦合比较松散,用户能够比较容易的根据自己的需要进行拆卸,非常灵活。下面介绍一下它的目录结构以及文件说明。



2、目录结构


整个项目目录结构

技术分享

    applications:`各个应用的目录,包含了OFBiz核心的应用程序组件,如订单管理,电子商务存储等。

    framework:框架目录,包含OFBiz框架的组件,例如实体引擎和服务引擎。这是OFBiz框架的核心,其他应用程序都是基于它来构建的。

  hot-deploy:热部署目录

 specialpurpose:专门目录,包含一些其他的应用程序,不是OFBiz的核心部分。

  themes:主题目录

  tools:工具目录

 

如果我们要写一个模块,那么建的目录如下,把此模块热部署到hot-deploy中即可。

技术分享

 

Ofbiz-component.xml:每个组件都有这样一个文件。他们用于定位该组件的entity,service,web配置文件以及jar包等。

build.xmlant文件,用于测试和构建这个应用程序。

 

build目录是放本模块生成的jar包和已编译的Java代码。

config目录包含配置文件,例如国际化的UI标签的XML文件。

data目录包含种籽和演示数据。

 

entitydef目录包含实体配置的xml,即数据模型定义。

 

script脚本目录包含业务逻辑的脚本文件。

servicedef包含services服务,是细粒度的业务逻辑(DAO方法)。

 

src源文件目录,包含实现业务逻辑的Java类文件

 

webapp应用程序的前端,一个应用程序能有多个webapp应用程序。包含WEB-INFJSPController.xml,web.xml

web.xml其实就和strutsxml配置一样的,用来放一些拦截器,监听器这些东西的。其中有个地方配置screen的地址。这个地方注意一下。(见上篇博文)

Controller.xml,从文件的命名来看,我们可能猜出它是对controller的定义。更确切的说它是定义viewcontroller之间的映射关系,不仅包含了请求的映射关系,同时还包含了视图的映射关系,以及一系列的处理器不如视图解析处理器,事件处理器等。

 

         widget用来放webForm,screen,ftl等页面。它可以将一个完整的html页面拆分为一个个小块的widget,最终的页面是通过widget组合而成。

        widget的好处是可以不用写任何htmlcss代码就可以得到一个统一的完整的页面,展示业务数据也可以轻松的获取。缺点是,不像FreeMarker是一个纯页面技术,从requestsession中得到业务数据,然后直接将其展示处理。Widget技术将业务数据获取和展示混在一起,后台开发人员和页面设计人员不能分工合作,甚至只有后台设计人员才能开发Ofbiz应用。

 

3、总结

         

       从OFBiz的目录结构上我们很容易理解每个文件是做什么的,这些知识需要建立在我们已有的知识基础上,这些东西并不是新东西,所有的技术的思想都是一致的,应该说都是为了解决某一类问题。而OFBiz是封装了一套业务框架,MVC框架,ORMapping等,同时也封装了自己的页面技术,实现ERP/CRM复杂的业务系统非常简单。

           ERP/CRM业务系统复杂多变,模块众多。什么样的框架能够满足这样的系统呢:一是适应业务变化,第二适合快速开发,第三页面风格能够一致。OFBiz就是这样的框架,entity添加减少一个字段,在OFBiz中只需要在entitymodel中做修改,在输入页面,显示页面,修改页面都不用做任何的修改就可以看到变化,而且业务逻辑模块也不用修改就可以对变化的字段进行维护,非常方便。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。