说在前面:
本文内容密集, 信息量超大, 请自备脑洞空间, 收获巨大!!!
关于OFBiz入门知识, 请先看共享文件
不要乱提不动脑筋的问题
[http://ofbizer.iteye.com/blog/2032625]
搭环境:
新手三步走, OFBiz立地成神
[http://ofbizer.iteye.com/blog/2034823]
[http://ofbizer.iteye.com/blog/2028166]
[http://ofbizer.iteye.com/blog/2272549]
本文导航
OFBiz介绍/下载
OFBiz中国
新手引导
常见问题
全面进阶
源码级升华
学习心得
什么样的人能做OFBiz开发
答
能耐心的坚持看完
[Apache+OFBiz+开发初学者指南[Ob4.0-EN+Ob9.0-CN].chm](后文中有下载地址)
并且照着指南实践过
记录下迷惑和问题, 还有学习笔记的任何人
你都可以参与开发!
OFBiz介绍/下载
了解/下载
OFBiz官方下载地址: [http://ofbiz.apache.org/download.html]
OFBiz开发版SVN地址:[http://svn.apache.org/repos/asf/ofbiz/]
OFBiz当前稳定版本打包列表: [http://www.apache.org/dist/ofbiz/]
文档/社区
官方教程 [https://cwiki.apache.org/confluence/]
[https://cwiki.apache.org/confluence/display/OFBIZ]
[https://cwiki.apache.org/confluence/display/OFBADMIN]
[https://cwiki.apache.org/confluence/display/OFBENDUSER]
[https://cwiki.apache.org/confluence/display/OFBREQDES]
[https://cwiki.apache.org/confluence/display/OFBTECH]
OFBiz版本维护Jira: [https://issues.apache.org/jira/browse/OFBIZ]
OFBiz邮件订阅列表: [http://ofbiz.apache.org/mailing-lists.html]
OFBiz在线Demo演示网站
电子商城: [http://demo-stable-ofbiz.apache.org/ecommerce/]
管理工具: [https://demo-stable-ofbiz.apache.org/webtools/control/main]
中国业界强人
Q`Q`群: 7`1`7`0`0`6`6`1 OFBiz超`级`群 (防屏蔽, 请去点)
在组里有, 北京_hongs, 上海_加速度, nick anthony, ★北京_王毅★, 南京 guhao, 杭州_我改名了 ...
我: 上海_香飘飘, email: mf1389004071@163.com
更详细的介绍, 请参看 [http://ofbizer.iteye.com/blog/2032625]
开始学习
认真看
[Apache+OFBiz+开发初学者指南[Ob4.0-EN+Ob9.0-CN].chm]
一定要坚持看完文档
手工依照指南认真编写指南中代码, 实现指南说到的技术
这个文档是以 OFBiz 9.0 混合 部分4.0版本截图 编写的, 其实用最新版学习影响不大
在看的过程中不要因为迷惑或问题停下脚步, 请记录下迷惑的地方/有问题的地方, 笔记同样重要
跟着它
[OFBiz创建模块-基本CRUD图文教程.docx]
了解一套基本CRUD业务代码的最简单实现方式, 并手工模仿实现
不要被没见过的标签用法阻挡, 先实现, 有问题请记录笔记
这里涉及到了 ant crate-component 创建模块的指令, 一套CRUD的实现图文教程
是时候看它了
[OFBiz技术文档-CN-[ofbiz-tech-zh-cn].doc]
这个文档是介绍 OFBiz 核心原理和代码结构的
同时介绍了很多标签, 说明了标签的属性和用法
还包含了框架支持的很多功能的介绍及用例
看完应该会对OFBiz的运作原理, 编码思路有一定的了解
此时看再看
[OFBiz开发快速入门-hongs-Ob9.04.pdf]
这个文档是 北京_hongs 根据 OFBiz9.04版功能通过代码编写步骤, 逐步截图并解释编写完成的
文档从下载源码开始从头开始介绍开发的步骤和思路
它是作为前面几个文档内容的一个温故存在的, 请耐心看完
入门提示
学会使用 [ant build] 指令来编译 java文件打 jar包
学会使用 [ant load-demo] 或 [ant run-install] 来初始化数据库表结构和数据
学会使用 [ant start] 或 [ant run] 来启动项目
学会使用 [ant create-component] 指令来快速创建模块, 免去手动模块的手误, 而且高效
学会使用 [ant start-debug] 或 [ant run-debug] 指令启动项目, 配合Eclipse调试 java/groovy 代码
学会使用 ftl(Freemarker) 标签中常用的 assign/if/list/?/. 等语句的用法
至此
第一本指南为的是认识OFBiz代码
第二本是根据图文真正的实现一套功能代码
第三本文档为的是了解OFBiz核心原理和逻辑实现结构
第四本是为了完整的回顾入门的过程, 并进一步深化对OFBiz的理解
入门结束, 你已经可以进行日常开发了, 基本问题都能解决了
那么, 赶紧干活吧!!!
新手常见问题
中文乱码
表设计了, 项目启动后没有
java代码请求不到
服务请求不到
新建的模块不能访问
Ftl代码着色
eclipse导入开发
eclipse开启debug调试
一台电脑上启动多个OFBiz
提示Theme皮肤没找到
怎么使用 Screen.xml 中的 set 构建 List / Map
怎么使用通用查找服务做条件查询
怎么接入短信接口
怎么接入支付宝支付
怎么接入微信支付
怎么接入QQ/微博 等账号联合登陆
poi 导入导出
全面进阶
虽然日常需求实现已经能胜任了
但是一旦有一些特殊点的需求时, 基础知识已经不能满足需求的变化
此时可能需要知道更高级的代码实现方案, 发现OFBiz已有而你不知道的功能或用法
此时你需要看官方提供的开发人员手册
[OFBiz开发指南-Ob4.0-EN[Apache-OFBiz-Development-The-Beginners-Tutorial].pdf]
此本书是以 OFBiz4.0 为基础编写的,
但是它依然适合最新版OFBiz的开发学习, 只是少量的地方有些不一样
由于项目开发为的是实现需求
而OFBiz本身就是一个业务框架,
它自带一套功能齐全的国际前沿的标准ERP业务代码
[OFBiz食谱(指南)-2010-EN-[Apache OFBiz Cookbook].pdf]
看这个 OFBiz Cookbook, 进一步的了解OFBiz的业务实现方式, 功能表现方式, 进而熟悉ERP业务
建议有兴趣有耐心的人同时参考翻看
[数据模型资源手册++卷1++林友芳(高清版).pdf]
这部业务代码的基础数据模型手册
根据分析, OFBiz几乎就是依照这本手册来实现ERP业务逻辑的核心数据表结构设计的
对业务有想法的人应该认真研读此手册, 充分理解表设计的核心思想
看表结构: 正在开发的项目运行起来之后, 打开下面的链接
[https://localhost:8443/webtools/control/entityref]
可以看到当前项目中所有有效的表结构介绍, 同时可以看到 view-entity 标签对应的视图结构说明
Tip: view-entity 对应的视图是OFBiz独有的, 不同于数据库支持的视图, OFBiz在最终只是生成一句联合查询的sql,
所以在Mysql数据库看不到它的结构和数据, 但是OFBiz自带的工具页面可以查看,
注意:不可直接在视图上做数据修改!
看表数据: 若项目运行着, 请打开下面链接
[https://localhost:8443/webtools/control/entitymaint]
目前OFBiz自带约 800+ 表结构, 包含 100+ 框架级核心表, 700+ 业务关系表
在上述链接中可以看到所有表的数据, 可以做表数据的 看表结构/新增/查找/查看/删除
目前来看
考虑到很多新人所在环境都想做电子商务或B2B2C平台
同时被OFBiz强大的框架结构和业务支持度所吸引
此时, 你需要进一步研究OFBiz核心代码, 可能还要做二次开发来满足公司的个性需求
[OFBiz的电子商务解决方案-EN-Ob11.04-hongs-[Apache OFBiz E-Business Solutions11.04].pdf]
这本 北京_hongs 编写的 电子商务解决方案 你一定要拜读,
它是基于 OFBiz11.04 版本截图分析的
全面分析了电子商务网站的实施过程
由于OFBiz使用了100%开源的第三方支持库
所以它涉及到了很多开源项目的引入, 同时支持多种用于业务实现的方案
如 Groovy的代码编写规范, 可以翻看
[Groovy in Action[文字版][中文].pdf]
如 Freemarker的标签使用及技巧, 可以翻看
[FreeMarker_Manual_zh_CN(2.3.19).pdf]
源码级的再次升华
需要熟悉常见文件内容编写及标签含义
初级
[entitymodel.xml]
[*Menus.xml]
[controller.xml]
[*Screens.xml]
[*Forms.xml]
[services.xml]
[*Uilabels.xml]
[*Data.xml]
进阶
[*.ftl]
[*.groovy]
[*scripts.xml] 又名 Mililang
[eecas.xml]
[secas.xml]
[mcas.xml]
[web.xml]
辅助
[component-load.xml]
[entityengine.xml]
[ofbiz-component.xml]
[entitygroup.xml]
[groups.xml] 这是 service 的
[serviceengine.xml]
需要了解部分核心java类的方法使用
[org.ofbiz.entity.Delegator] / [org.ofbiz.entity.GenericDelegator]
[org.ofbiz.service.GenericDispatcher] / [org.ofbiz.service.LocalDispatcher]
[org.ofbiz.entity.GenericValue]
[org.ofbiz.base.util.*]
[org.ofbiz.entity.condition.*]
[org.ofbiz.entity.util.*]
[org.ofbiz.security.Security]
[org.ofbiz.security.authz.Authorization]
可以调整部分核心功能
[start.properties] 项目启动配置
[url.properties] 项目访问参数端口等
[general.properties] 项目通用功能参数
[debug.properties] 项目日志记录级别设定
[cache.properties] 项目所有缓存的配置中心
[security.properties] 项目安全相关
[widget.properties] 项目显示方式配置, 默认 html 页面
至此, 你已经成为一个强人了, 去做你想做的事吧!!
附送个人学习心得
关注我的个人博客 [http://ofbizer.iteye.com/]
专题: OFBiz进阶 [http://www.iteye.com/blogs/subjects/ofbiz_learn-advance]
实战
根据实际项目需求设计数据结构, 独立完成CRUD开发
逐渐加大需求的复杂度, 强化数据结构组织能力
尽量使用框架自带的数据结构, 完成实际需求的实现
学习并参考框架自带业务实现思路和方案, 进化需求实现能力
尝试在项目中接入定制化的功能, 如: 支付/短信通知/富文本编辑器 等
尝试解读源码的设计风格和实现思路, 并演化成自己的
研发
看代码, 可以跟着页面请求, 一步一步跟踪代码, 达到需求导向实现
写⽤例, 根据实际需求的功能点, 自己动手写实例, 尝试实现业务
做笔记, 好记性不如烂笔头, 任何一个自己以前不知道的最好都记下, 防止以后忘记同时深化记忆
写实例, 将实际需求的功能点联合起来, 做成一个大的功能, 完善功能点衔接
看业务, 看框架自带业务的数据结构, 逻辑思路, 实现方式
用业务, 将实际的需求使用自带的业务结构来实现, 达到少量调整就可实现多种需求
技巧
认真学习并实现OFBiz开发文档内代码, 理解代码用法和含义
做好笔记, 技术点笔记, 功能点笔记, 可以做图文笔记
记录每一次遇到问题最终的解决方法, 总结问题原因和规避方案
善用关键字搜索 源码, 能更快更专心的研究源码业务, 推荐 sublime text 软件载入文件目录右键搜索
按实际需求做功能, 快速理解技术点, 业务功能
仔细分析框架自带业务的实现, 谨记项目是跟着业务走的
看看这个文件包够不够
不啰嗦, 本文涉及到的所有文件打包分享, 看不到? 你再试试!!!
链接: https://github.com/mf1389004071/books/tree/master/ofbiz
相关推荐
最新版OFBiz,apache-ofbiz-16.11.05,apache-ofbiz-16.11.05
首先,你需要在`hot-deploy`目录下创建一个名为`practice`的子目录,并在其中创建`ofbiz-component.xml`文件。该文件定义了组件的名称、资源加载器类型以及其他相关信息。例如: ```xml <ofbiz-component name=...
服务(Service)是OFBiz的核心组件之一,它封装了业务逻辑。OFBiz提供了基于XML的服务定义语言(Service Engine XML, SEXML),用于声明式地定义服务接口、参数和实现。通过学习如何编写SEXML文件,开发者可以创建...
总之,OFBiz是一个功能强大的企业级应用框架,学习OFBiz不仅能够提升你的Java开发技能,还能让你掌握复杂的业务系统构建。通过深入源码、熟练工具使用和实战练习,你将逐渐成为OFBiz开发的专家。
Ofbiz 官网上的OFBiz Tutorial - A Beginners Development Guide中的案例practice,其中内容有些是老版本的,与新版本(13版)并不兼容,尤其是Ajax部分已经有较大差异。同时有一部分操作和源代码没有在教程中说明...
`component-load.xml`是Ofbiz系统启动时读取的配置文件之一,它负责在运行时加载和初始化组件。这个文件包含了组件的配置信息,如组件名称、描述、依赖关系、服务定义、事件处理等。理解并能熟练编辑此文件对于...
这个压缩包文件"Ofbiz-16-全量数据库873张表.rar"包含了Apache Ofbiz 16版本的全量数据库结构,包括873个数据表的SQL脚本。这些脚本用于创建和初始化数据库,对于理解和开发基于Ofbiz的应用程序至关重要。 1. **...
### OFBiz 入门操作手册知识点详解 #### 一、OFBiz简介与背景 - **OFBiz**(Open For Business)是一款开源的企业级电子商务框架,主要用于构建和部署各种类型的业务应用,包括电子商务、供应链管理等。 - **目标...
OFBiz API 文档,英文html版。使用官方资源中的ant命令自动生成,无任何修改。有兴趣的朋友可以自己生成,ant命令是:docs-all,该命令生成帮助文档时会获取操作系统语言设置,要生成英文文档请先将操作系统语言改为...
OFBiz-manual-zh.docOFBiz-manual-zh.docOFBiz-manual-zh.docOFBiz-manual-zh.docOFBiz-manual-zh.doc
Apache OFBiz是一种开源的电子商务解决方案,其全称为Open For Business。它是一个功能强大的企业级电子商务平台,能够...通过学习和应用这份文档,企业可以有效地利用OFBiz构建一个强大、安全和可扩展的电子商务系统。
本篇将聚焦于“Ofbiz12.04 进阶之三 第一个HelloWord的应用”,我们将深入探讨如何在OFBiz框架下创建并运行你的第一个应用。 首先,理解OFBiz的基本结构至关重要。OFBiz采用模块化设计,每个模块都有其特定的功能,...
apache-ofbiz-16.11.02.zip,ofbiz菜鸟笔记,Apache+OFBiz+开发初学者指南.chm
3. **组件开发**:学习如何创建一个新的组件,以及组件中的主要文件如`ofbiz-component.xml`的用途。 4. **实体模型**:解释OFBiz中实体模型的概念及其作用。 5. **服务定义和服务调用**:如何定义服务并从其他组件...
Ofbiz 是一个开源的商务软件系统,它集成了多种优秀的开源项目,如 Tomcat、Ant、BeanShell 和 JBoss,构建了一个强大且灵活的平台。Ofbiz 专注于提供商务应用程序所需的常见组件,如用户认证、工作流程和商业规则...