1、OFBiz简单介绍,什么是OFBiz

          OFBiz is an Apache Software Foundation top level project.

          Apache  OFBiz全称是The ApacheOpen For Business
Project。

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

          OFBiz差点儿实现了全部的J2EE核心设计模式,各个模块之间的耦合比較松散,用户能够比較easy的依据自己的须要进行拆卸。很灵活。以下介绍一下它的文件夹结构以及文件说明。

2、文件夹结构

整个项目文件夹结构

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

    framework:框架文件夹,包括OFBiz框架的组件,比如实体引擎和服务引擎。这是OFBiz框架的核心。其它应用程序都是基于它来构建的。

  hot-deploy:热部署文件夹

 specialpurpose:专门文件夹,包括一些其它的应用程序。不是OFBiz的核心部分。

  themes:主题文件夹

  tools:工具文件夹

 

假设我们要写一个模块。那么建的文件夹例如以下,把此模块热部署到hot-deploy中就可以。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1dGVuZ3RlbmcxMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

 

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

build.xml是ant文件,用于測试和构建这个应用程序。

 

build文件夹是放本模块生成的jar包和已编译的Java代码。

config文件夹包括配置文件。比如国际化的UI标签的XML文件。

data文件夹包括种籽和演示数据。

 

entitydef文件夹包括实体配置的xml,即数据模型定义。

 

script脚本文件夹包括业务逻辑的脚本文件。

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

 

src源文件文件夹,包括实现业务逻辑的Java类文件

 

webapp应用程序的前端。一个应用程序能有多个webapp应用程序。包括WEB-INF。JSP。Controller.xml,web.xml

web.xml事实上就和struts的xml配置一样的。用来放一些拦截器,监听器这些东西的。当中有个地方配置screen的地址。

这个地方注意一下。

(见上篇博文)

Controller.xml,从文件的命名来看。我们可能猜出它是对controller的定义。

更确切的说它是定义view,controller之间的映射关系,不仅包括了请求的映射关系。同一时候还包括了视图的映射关系,以及一系列的处理器不如视图解析处理器,事件处理器等。

 

         widget用来放web的Form,screen,ftl等页面。它能够将一个完整的html页面拆分为一个个小块的widget,终于的页面是通过widget组合而成。

        用widget的优点是能够不用写不论什么html和css代码就能够得到一个统一的完整的页面。展示业务数据也能够轻松的获取。缺点是,不像FreeMarker是一个纯页面技术,从request和session中得到业务数据。然后直接将其展示处理。Widget技术将业务数据获取和展示混在一起,后台开发者和页面设计人员不能分工合作。甚至仅仅有后台设计人员才干开发Ofbiz应用。

 

3、总结

         

       从OFBiz的文件夹结构上我们很easy理解每一个文件是做什么的。这些知识须要建立在我们已有的知识基础上,这些东西并非新东西。全部的技术的思想都是一致的。应该说都是为了解决某一类问题。

而OFBiz是封装了一套业务框架,MVC框架,ORMapping等。同一时候也封装了自己的页面技术。实现ERP/CRM复杂的业务系统很简单。

           ERP/CRM业务系统复杂多变。模块众多。什么样的框架能够满足这种系统呢:一是适应业务变化,第二适合高速开发,第三页面风格能够一致。OFBiz就是这种框架,entity加入降低一个字段,在OFBiz中仅仅须要在entitymodel中做改动,在输入页面,显示页面。改动页面都不用做不论什么的改动就能够看到变化,并且业务逻辑模块也不用改动就能够对变化的字段进行维护,很方便。

Apache OFBIZ高速上手(三)--文件夹&&配置文件介绍的更多相关文章

  1. Apache OFBIZ高速上手(二)--MVC框架

    继续上一篇博客,本篇博客介绍OFBiz的MVC框架. 1.OFBiz特点 OFBiz最基本的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具.包含实体引擎.服务引擎.消息引擎 ...

  2. win7+Apache 设置域名指向本地文件夹

    实现:浏览器地址栏输入 www.bnzoo.com 访问 D:/www 系统:win7旗舰版+Apache 步骤: 1.打开文件 C:\Windows\System32\drivers\etc\hos ...

  3. apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

    apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...

  4. 使用WWW获取本地文件夹的XML配置文件

    Unity3D读取本地文件可以使用Resources.Load来读取放在Resources文件夹下的文件,如果不是放在该文件夹下,则可以通过WWW类来读取. 譬如读取xml的配置文件. /// < ...

  5. Ubuntu根目录下各文件夹的功能详细介绍

    Ubuntu的根目录下存在着很多的文件夹,但你知道他们都存放着哪些文件呢?这些是深入了解Ubuntu系统必不缺少的知识,本文就关于此做一下介绍吧. /bin/    用以存储二进制可执行命令文件. / ...

  6. [JAVA IDEA]在使用maven项目中,无法读取resources文件夹中的配置文件的一种解决方案

    1.在通过配置文件来连接数据库时,在resouces文件中放入了db.properties配置文件,但无法正常读取到 读取配置文件信息的代码: InputStream input=JdbcUtil.c ...

  7. Apache Tomcat目录下各个文件夹的作用

    1.bin:存放各种不同平台开启与关闭Tomcat的脚本文件. 2.lib:存tomcat与web应用的Jar包. 3.conf:存放tomcat的配置文件. 4.webapps:web应用的发布目录 ...

  8. 宝塔 windows下apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件

    首先我们来看两段对上传目录设置无权限的列子,配置如下: //在宝塔下如用/upload这个路径应用无效,一定要C:/wwwroot/upload才有效果 <Directory "要去掉 ...

  9. apache rewrite设置 禁止某个文件夹执行php文件

    RewriteRule (data|templates)/(.*).(php)$ – [F]

随机推荐

  1. 06 JVM 是如何处理异常的

    在 JAVA 中,异常处理的方式主要是抛出异常和捕获异常.这两大要素共同实现程序控制流的非正常转移. 抛出异常可以分为显示和隐式两种.显示抛出异常的主体是应用程序,它指的是在程序中使用 throw 关 ...

  2. web项目中各种路径的获取(复制,为以后好找资源)

    web项目中各种路径的获取 1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获 ...

  3. Ubuntu安装nginx(复制)

    gcc.g++依赖库 apt-get install build-essential apt-get install libtool 安装 pcre依赖库(http://www.pcre.org/) ...

  4. File IO(NIO.2):文件操作

    简介 Files类是java.nio.file包的另一个主要入口点.该类提供了一组丰富的静态方法,用于读取,写入和操作文件和目录.Files方法适用于Path对象的实例.在进行其余部分之前,您应该熟悉 ...

  5. hdu 4096 判断路径

    思路:将每个关系当成一条有向边,查询时就判断之间存在路径. #include<iostream> #include<cstdio> #include<cstring> ...

  6. ionic2实战-使用Chart.js

    前言 Chart.js官网 Chart.js中文文档 安装Chart.js 执行cnpm install typings -g,全局安装Typings 执行typings search chart.j ...

  7. Codeforces Round #363 (Div. 2) B 暴力

    Description You are given a description of a depot. It is a rectangular checkered field of n × m siz ...

  8. 关于在redux当中 reducer是如何知道传入的state是初始化state下面的哪一条数据

    首先初始化redux的数据 reducer 那么问题来了,todos这个reducer是如何知道传入的是初始化state下面的todos这条数据呢? 合并reducer 合并之后是这样的 他们之间的关 ...

  9. Mybatis Plugin插件安装破解及使用

    2018年2月更新 2018年2月份,提供一个网上比较多的一个版本V3.21版本,下载资源里面有个已整合版直接解压放入C:\Users\你的用户名\.IntelliJIdea2017.3\config ...

  10. POJ1671 Rhyme Schemes

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 1776   Accepted: 984   Special Judge De ...