ofbiz框架以及核心原理介绍

【Apache OFBiz 系列】手把手教你快速运行OFBiz项目 环境准备 版本选择:最新稳定版本:release17.12.04 操作系统:windows 10 开发工具:ideal 下载源码: git clone https://gitbox.apache.org/repos/asf/ofbiz-framework.git ofbiz-framework git checkout release17.12.04 国内镜像: 从git仓库下载速度太慢,别挣扎,请转到国内镜像下载吧, https://mirrors.tuna.tsinghua.edu.c 阅读详情

1. 什么是Ofbiz

Ofbiz(Open for business)是一个开源的,基于J2EE和XML规范的,用于构建大型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架(Framework)。

Ofbiz几乎实现了所有的J2EE核心设计模式,各个模块之间的耦合比较松散,用户能够比较容易的根据自己的需要进行拆卸。

Ofbiz内置了许多其它开源项目,如JBoss,PostgreSQL,MySQL,Apache,Jetty,JOTM,Jpublish,BeanShell,Ant,BSF,Log4J,等,提供了相对成本比较低的解决方案。同时,用户也可以比容易的更换成其他组件,如将Jboss&&Tomcat换成Bea Weblogic或者IBM Websphere。

2. Ofbiz的好处

l 缩短开发周期,降低成本

据称,很多基于J2EE的失败实践,都可以归结于拙劣的设计。J2EE规范并不复杂,但是如何遵照J2EE规范,根据自己的业务需求,做一个合适的、高效的、可扩展的设计,是需要实际经验和智慧的。国外的大中型系统基于J2EE的早就很多了,国内近几年也多了起来,但是优秀的设计人员不是很多。

Ofbiz的价值在于它的架构非常好,不仅用到了几乎所有的J2EE核心设计模式(Sun公司推荐的),而且还实现了工作流、业务规则引擎,以处理灵活的与变更。这样,就避免了缺少优秀设计人员所造成的拙劣设计。

基于Ofbiz开发,无疑会缩短开发周期,好的设计以及工作流和业务规则引擎的引入,也最大程度的降低了系统的维护成本。

l 用很少的 Code 完成复杂的处理

这是Ofbiz 宣称的优点之一。如果把Ofbiz消化了,则基于Ofbiz开发一个CRM和ERP系统会大大缩短开发周期,由于Ofbiz优良的设计,维护的成本应该比较小。

Ofbiz 已经完成了大部分业务类软件系统都需要的部件,像用户认证、工作流、业务规则处理等,很多业务需求都可以通过写XML配置文件,以及很少的Java代码来完成。代码量不大,但知道怎么写会比较费时。弄懂Ofbiz以后,写实现代码通常会比较简单,只需要按照它的开发机制度就是了。

l 扩展性和移植性好

OFBIZ所提供的系统框架,是一个纯Java的应用程序。框架提供的接口十分的完备,例如核心部件实体引擎,早期版本就有,已经十分的成熟。通过实体引擎,用户不用直接操纵数据库,建立库表、查询、视图、触发器等都可以通过写XML配置文件来完成。也有人提出,实体引擎不能够处理复杂的SQL查询,实际上,一方面这种复杂的SQL查询很少遇到,另一方面实体引擎也同样允许你用SQL代码来操纵这种复杂的查询。

OFBIZ开发者同时维护和Weblogic,Tomcat,Jboss,Resin,Orion等16个厂商的Web和App应用服务器的兼容版本.

OFBIZ开发者同时维护和Oracle,MySql,Sybase,PostgreSQL,Hsql等数据库产品的兼容支持,包括编译、打包、部署到这些数据库产品或应用服务器产品的运行环境下。

OFBIZ开发者同时在Unix和Windows两大操作系统上进行开发和测试,而且具备Java应用系统的所有跨平台的特点。

有了这些,对于大型企业级应用系统的具体、特定实现来说,你有信心实现所谓的“一次开发,到处运行”。

l 没有版权问题

免费的,可以用于商业目的,可以分发。

3. Ofbiz的MVC 模式实现

Ofbiz最大的价值,也许就是它不仅仅是一个技术框架,更是一个实现企业应用得很好的业务框架。它的MVC模式不仅仅是Web层,而是贯穿于业务层和数据层,每一层都有出色的控制器。

 数据层的控制器 (Entity Engine)

实体引擎是Ofbiz最有价值、最核心的、也是最稳定的一个数据层控制器,通过它基本不用编码或很少编码就可以访问数据层。Ofbiz提供了用XML些配置文件的方法来操纵数据。

实体引擎的功能类似于CICS、实体EJB、以及其他O-R Mapper。但是,Ofbiz的实体引擎不仅强大、而且灵活,程序员不需要JDBC知识,不用写SQL代码。基本上,实体引擎的封装能够解决绝大部分的数据库操作,同时,也提供了给你写SQL代码,实现复杂SQL查询的空间。

实体引擎采用了不少核心J2EE设计模式,如值对象、代表、助手等模式,用户的API接口比较友好。

 逻辑层的控制器 (Service Engine)

服务引擎是Ofbiz的另一个核心组件。Ofbiz只有这两个核心组件。实体引擎代表业务数据,而服务引擎代表了业务逻辑。

引入服务引擎的另一个价值是,它使得Ofbiz业务框架不限于Web应用。非Web的客户端包括java 应用、EJB、甚至SOAP都可以直接调用,这样,框架的可扩展性非常好。

服务引擎的服务可以分为同步、异步(关心还是忽略结果),支持JMS。具体实现方式可以是一个java 静态方法、工作流、Bean Shell脚本等。如下图:




 Web层控制器 (Control Servlet, JPublish, etc)

Web层控制器的核心是Control Servlet。和Struts一样,Web层的流控制器的配置文件也是一个XML文件。



Apache OFBiz XML-RPC远程代码执行漏洞(CVE-2023-49070)漏洞复现 CVE-2023-49070 漏洞复现 阅读详情

相关推荐

OFBiz企业级开发实战文档

Apache OFBiz(Open For Business)是一个基于Java的企业级开源应用框架,致力于提供完整的业务解决方案,涵盖ERP、CRM、SCM等多个领域。其采用模块化架构设计,具备高度可扩展性与灵活性,适用于复杂业务逻辑的企业级系统开发。OFBiz 的服务引擎(Service Engine)是其核心组件之一,负责处理业务逻辑的调用、事务管理、参数传递以及服务的生命周期控制。服务引擎的设计理念是将业务逻辑封装为可复用、可配置、可扩展的单元,从而提升系统的灵活性与可维护性。

weixin_35705784的博客 768

【Apache OFBiz 系列】OFBiz整体架构介绍

背景描述 OFBiz同样作为一个企业级应用开发的框架,与市面上Spring、Struts等框架有何区别?OFBiz是基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。其核心是实体引擎,服务引擎,在实体引擎和服务引擎的基础上又实现了一组企业常用的应用:会计管理系统、内容管理系统、人力资源管理系统、资产管理系统、生产管理系统、营销管理

3635

深入解析Ofbiz实体引擎核心机制与实战应用

Apache OFBiz(Open For Business) 的实体引擎(Entity Engine)是其数据访问层的核心组件,承担着数据库抽象、持久化操作与对象关系映射的职责。它通过元数据驱动的方式,将XML中定义的实体模型动态映射为Java对象与数据库表结构,屏蔽了底层数据库差异,实现了跨平台的数据操作统一性。该引擎的设计目标在于解耦业务逻辑与数据存储细节,支持灵活的数据建模与动态扩展,尤其适用于复杂企业级应用中频繁变更的数据需求。

weixin_32480007的博客 1211

【亲测免费】 Apache OFBiz 框架使用教程

Apache OFBiz 框架使用教程 1. 项目的目录结构及介绍 Apache OFBiz 是一个功能强大的企业资源规划(ERP)框架,其目录结构组织得非常清晰,便于开发和维护。以下是主要的目录结构及其功能介绍: applications/: 包含各种业务应用程序,如会计、库存管理、订单处理等。 framework/: 包含框架的核心组件,如实体引擎、服务引擎和用户界面组件。 hot-depl...

gitblog_00084的博客 1353

Ofbiz快速开发入门详解:从零构建企业级应用

Apache OFBiz(Open For Business) 是一个开源的企业级应用集成框架,基于Java实现,提供了一套完整的ERP、CRM、电子商务等业务解决方案。其核心设计理念是“配置驱动+组件化架构”,通过XML定义实体、服务、流程和界面,实现高度可扩展的业务系统。OFBiz采用MVC模式与松耦合的服务引擎,支持自动化ORM、事务管理、安全控制及事件驱动机制,使开发者能够快速构建复杂的企业应用。

weixin_36001279的博客 997

Apache OFBiz开发入门指南与实战手册

Apache OFBiz(Open For Business)是一款基于Java的企业资源规划(ERP)框架,采用模块化与松耦合的设计理念,为企业级应用开发提供了灵活、可扩展的解决方案。其核心架构分为多个层次,包括服务层、实体引擎、事件处理器、请求调度器与前端展示层,各层之间通过标准化接口进行通信,实现高内聚、低耦合的系统结构。OFBiz依托Java EE规范构建,结合XML配置驱动与Freemarker模板引擎,实现了“约定优于配置”的开发哲学,极大地提升了开发效率和系统的可维护性。

weixin_42465140的博客 1027

OFBIZ研究

学习一下OFBIZ,下面的文展摘自http://macrochen.blogdriver.com/macrochen/1184107.html,不知道这里是不是最初的出处1 使用OFBIZ的理由1.1 什么是OFBIZOFBIZ是由Sourceforge维护的一个最著名的开源项目之一,提供创建基于最新J2EE/XML规范和技术标准,构建大型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商

正己的专栏 3128

H.264 Profile与Level详解:如何为不同应用场景选择合适的编码配置

本文深入解析了H.264编码标准中的Profile与Level概念,指导开发者如何为不同应用场景选择合适的配置。文章对比了Baseline、Main和High三大Profile的特性与适用场景,并解释了Level如何限定视频的分辨率、帧率与码率上限。通过实战指南,帮助读者在视频通话、在线点播和专业制作等场景中,平衡画质、兼容性与性能,实现高效编码。

rgv2345678的博客 238

使用OFBIZ的理由和不使用OFBIZ的理由

1 使用OFBIZ的理由 1.1 什么是OFBIZ OFBIZ是由Sourceforge维护的一个最著名的开源项目之一,提供创建基于最新J2EE/XML规范和技术标准,构建大型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。 OFBIZ 的Web应用框架以MVC模式搭建而成,整体采用了很多被大多数企业级应用系统公认的位于业务逻辑层和集成层(Business Ti...

jiasudu 221

别再死记公式了!用HFSS/CST手把手教你仿真一个2.4GHz WiFi的PIFA天线(附参数调试技巧)

本文详细介绍了使用HFSS和CST仿真软件设计2.4GHz WiFi PIFA天线的全流程,包括建模准备、分步操作指南和参数调试技巧。通过可视化结果和实战案例,帮助工程师快速掌握天线设计的关键参数优化方法,提升辐射性能和工作效率。

weixin_31682031的博客 336

FFmpeg视频缩放终极指南:从基础命令到保持宽高比的5种实战技巧

本文是FFmpeg视频缩放的终极指南,详细讲解了从基础命令到保持宽高比的5种实战技巧。针对不同平台(如抖音、B站、Instagram)的分辨率要求,提供了具体的参数模板和批量处理脚本,帮助内容创作者高效、精准地调整视频大小,避免画面变形或黑边问题,实现多平台适配。

juice的博客 458

OFBiz中services调用机制

OFBiz业务方法里面,当执行一个 service 的时候,通常采用如下的方式: LocalDispatcher dispatcher = dctx.getDispatcher(); Map result = dispatcher.runSync(getServiceName(), getContext()); LocalDispatcher 是本地调度器,实现服务的同步异步调度和定时任务的调

codepest的专栏 927

快速谱峭度算法解析

最近一直在研究振动信号的最优解调带宽寻找方法,而快速谱峭度算法是最常见的一种,因此本篇文章准备对该算法做个深入解析,也相当于自己的学习记录了。本篇文章对快速谱峭度算法做了一个较为详细的介绍,实际上就是通过多组滤波器将信号分解到不同的频段,再计算每个频段的峭度,从而找到值最大的频段,进一步地我们也可以选取其他指标作为频段的选择,以便更好地找到振动信号中的故障信息。

qq1234534215的博客 2742

Apache OFBiz源码解读之MVC模型

节点解析 request-map 你可以将其理解为controller的配置,如果你了解或使用过struts的配置或springmvc的annotation,就会发现这个定义跟它们是很相似的: [html] view plain copy print? <request-mapuri="createCreditCardAndPostalAddress"> ...

weixin_30369087的博客 77

Rerender A Video 技术浅析(四):跨帧约束

时间一致性是指在视频处理过程中,保持相邻帧之间内容、风格和运动的平滑过渡,避免出现视觉上的不连续性或伪影。时间一致性跨帧约束模块的主要目标是在视频增强、风格迁移等任务中,确保处理后的视频在时间维度上保持一致性和稳定性。该模块主要通过以下几种方式实现时间一致性:1.时序损失(Temporal Loss):最小化相邻帧之间的差异,确保帧间内容的平滑过渡。2.循环一致性损失(Cycle Consistency Loss):确保帧间转换的一致性,避免出现风格漂移。3.

m0_75253143的博客 1480

[Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)

分类(Classification)属于有监督学习(Supervised Learning)中的一类,它是数据挖掘、机器学习和数据科学中一个重要的研究领域。分类模型类似于人类学习的方式,通过对历史数据或训练集的学习得到一个目标函数,再用该目标函数预测新数据集的未知属性。本章主要讲述分类算法基础概念,并结合决策树、KNN、SVM分类算法案例分析各类数据集,从而让读者学会使用Python分类算法分析自己的数据集,研究自己领域的知识,从而创造价值。 19.1 分类 19.1.1 分类模型 与前面讲述的聚类模型类似

杨秀璋的专栏 2万+

Apache OFBiz架构深度剖析:从实体引擎到服务框架的实现原理

Apache OFBiz是一个功能强大的开源企业级业务框架,它为构建企业级应用提供了一套完整的解决方案。在前100字的介绍中,我们将深入探讨Apache OFBiz的核心架构设计,特别是其实体引擎和服务框架的实现原理。这个企业级框架通过模块化的设计思想,为开发者提供了灵活的业务组件和强大的扩展能力,让企业应用开发变得更加高效和规范。 ## 🏗️ Apache OFBiz整体架构概览 Apac

gitblog_01040的博客 796

视图库对接系列(GA-T 1400)四、视图库对接系列(本级)注册

在之前的步骤中,我们已经把项目大体的架构已经写出来了。那我们就来实现注册接口。GA-T 1400中的步骤如下:这里的话,我们实现的简单点, 我们不进去鉴权,也就是设备或平台找我们注册的话,我们直接返回成功,不进行验证。如果需要鉴权的话可看我的另外一篇文档。

qq_37716298的博客 1044

ofbiz初级教程

本教程是ofbiz 基本应用,它涵盖了OFBiz应用程序开发过程的基本原理。目标是使开发人员熟悉最佳实践,编码惯例,基本控制流程以及开发人员对OFBiz定制所需的所有其他方面。 本教程将帮助您在OFBiz中构建您的第一个“演示应用程序”。 ·概述(OFBiz简介) ·...

WGH100817的博客 270

【Codecs系列】x265编码器(十二):子像素运动搜索

在基于块运动补偿的视频编码框架中,运动搜索是最为重要的环节之一,同时也是编码端最为耗时的模块。运动搜索包括整像素运动搜索和子像素运动搜索,其中整像素运动搜索已经有很多快速算法,比如经典的三步搜索法、菱形搜索、六边形搜索以及TZSearch等等;但子像素搜索的快速算法却比较少,本文主要讲解x265编码器中的子像素搜索方法以及相关的快速搜索方法。

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 749

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

转自飘飘的OFBIZ成神之路

说在前面: 本文内容密集, 信息量超大, 请自备脑洞空间, 收获巨大!!!     关于OFBiz入门知识, 请先看共享文件 不要乱提不动脑筋的问题 [http://ofbizer.iteye.com/blog/2032625]   搭环境:  新手三步走, OFBiz立地成神 [http://ofbizer.iteye.com/blog/2034823] [http://...

djtao1234的博客 346

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

串讲Apache OFBiz技术架构

以图代文,串讲Apache OFBiz技术架构。

VinoYang的专栏 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OFBiz进阶--OFBiz培训之[新手]入门及学习指引

  说在前面: 本文内容密集, 信息量超大, 请自备脑洞空间, 收获巨大!!!     关于OFBiz入门知识, 请先看共享文件 不要乱提不动脑筋的问题 [http://ofbizer.iteye.com/blog/2032625]   搭环境:  新手三步走, OFBiz立地成神 [http://ofbizer.iteye.com/blog/2034823] [h...

香飘飘--专栏 1318
上一篇: 设计模式简单理解
LevelO
博客等级 码龄10年 2粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值