TA的每日心情 | 开心 2021-12-13 21:45 |
---|
签到天数: 15 天 [LV.4]偶尔看看III
|
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中就可以。

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中做改动,在输入页面,显示页面。改动页面都不用做不论什么的改动就能够看到变化,并且业务逻辑模块也不用改动就能够对变化的字段进行维护,很方便。
|
|