请教apache ofbizz高手

当前访客身份:游客 [
当前位置:
&delegator name="default" entity-model-reader="main" entity-group-reader=...
需要在上面做一个项目,有意向的话可以谈合作方式
1.ofbiz版本是:ofbiz12 2.根据这篇博文(http://blog.csdn.net/xiaoliouc/article/details/10...
1.ofbiz版本是:apache-ofbiz-12.04.02 2.该修改的地方,都应该已经修改了,但还是没有创建表:
1)默认的数据库已经改成了my...
我用的是WIN8,问题1:是不是这个系统不能安装部署? 我下载了JDK1.8,现在Oracle官网只有JDK1.7和JDK1.8两个了,没有JDK1.6以...
通过svn将ofbiz的代码下载后,导入eclipse后发现如下两个问题 1.请看下图:
不知道 这连个需要引入什...
将classpath的第一行放到tomcat-7.0.27.servlet-api.jar后面,结果如下:
&classpathentry kin...
1.按照Readme文件里的说明: However if you have downloaded ofbiz from SVN then you shou...
项目启动时报这个异常,这个jar包找不到啊
最近用ofbiz做网店系统,改来改去都只能访问模板中的ecommerce/control/main这个模板商店, 怎样新建出的店铺能用网址访问,有人知道o...
求 ofbiz开发人员,有项目在手,最好事广州的
我下载的是OFBIZ 12.04.01版本,按README步骤安装完后,在IE打开 http://127.0.0.1:8080/ecommerce/con...
1,环境使用tomcat7+mysql,tomcat7 web路径为/usr/local/tomcat7/webapps下 2,ofbiz安装路径为/us...
ofbiz 有没有专门负责打印的模块,我直接调用来打印订单的? 谢谢了。
大家好,我是Ofbiz菜鸟,我刚从官网上下载了ofibz源码,想部署在自己本机运行,这种怎么部署呀,平时开发的时候能部署一个项目,但这个就傻眼了,它里面有...
小弟在编译ofbiz10.4版本时,编译和启动都成功了,但是我用浏览器访问http://localhost:8080/webtools/...
谁有中文的软件文档,共享下,谢谢
各位OSChina的兄弟姐妹,大家好: 现在小弟在开发中遇到这样个需求,请大家给点建议; 环境:Jdk1.6 +MySql5.0
框架:ofbiz 背...
职位名称:高级ofbiz软件工程师 工作内容: 1、...
我们是初创的公司,专注于电子商务和网络购物,主要经营海外市场。现诚征熟悉 ofbiz 的开发人员,我们团队年轻,积极,有活力,热爱软件开发,热爱互联网,我...
界面更加的人性化,操作就像本地程序,大家感兴趣可以一起聊聊。qq:. 用户名admin,密码:ofbiz
英文看起来还是费力了点
我打算在jboss5.1中部署ofbiz9,可是一直失败!望各位给个办法!在此谢过大家! 错误信息如下: 16:23:26,062 ERROR [Stan...
本人刚接触Ofbiz,也不知道怎么安装使用(网上搜的都说的不太清楚),所以请各位帮帮忙,能不能给个详细的安装步骤,最好是10.04/9.04版本的安装,配...
现在公司里面用的那个版本比较多啊?9.04?4.0?
1)安装ofbiz时运行ant.bat出现问题,提示-Xms128M -Xmx512M -XX:MaxPermSize=128m -jar ofbiz.j...
Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException Message:...
我看到ofbiz中的单元测试有JUnit,但是需要连接数据库,涉及第三方资源等,不知道ofbiz中能不能集成mock测试,JMock,easymock等,...
今日下载了 apache-ofbiz-10.04.zip
和 apache-ofbiz-09.04.01.zip 两个版本。都未部署成功,请高手帮助! ...
ofbiz完成一个电子商务的网站要多长时间呢?大家都说这个系统很庞大,不是知道,一个人能够搞出来吗?请大牛们指教。
基于Ofbiz开发企业应用产品,共同创业,商业模式已经清晰,最好在上海。 请感兴趣的朋友联系我:QQ:
求助,我从svn checkout(https://svn.apache.org/repos/asf/ofbiz/branches/release09.0...
opentaps Open Source ERP + CRM 基于 Apache OFBiz (The Open For Business Project...
我是一点不懂软件程序政方面的信息,最近在构思一个独立的B2C的服装专业性非常强的商务网站,想用开源OFBiz 作为底层平台进行二次开发,可是有些困惑的是如...
使用OFBiz(开源电子商务平台)和ConcourseConnect(开源社区平台)修改成一个社区电子商务平台,两者相结合。我有做好的模板,看看这次的朋友...
如题。。哪位老大有ofbiz的教程和各种中文文档。。麻烦给小弟一份。。感激不尽。。。Q:
基于Opentaps/Ofbiz开发企业应用产品,希望感兴趣的朋友能联系我们,共同创业(目前模式是边上班边做产品),能在深圳最好。市场方面没有问题。另外,...
安装opentaps ERP + CRM相当简单,你不需要ROOT权限,这些说明将帮助你在Unix/Linux和Windows平台上运行opentaps ...
模块化的描述组 件:component component是什么:component包含2大类,完整的APP应用,如accounting、product、...
下图描述了 OFBiz 电子商务平台的体系架构:
找不到我想要的答案?合作平台登录:
好评:100.00% 出售了1个服务
好评:100.00% 出售了3个服务
好评:100.00% 出售了3个服务
好评:100.00% 出售了4个服务
好评:暂无 出售了0个服务
好评:暂无 出售了0个服务
好评:暂无 出售了5个服务
好评:暂无 出售了4个服务
好评:暂无 出售了5个服务
好评:暂无 出售了4个服务
好评:100.00% 出售了5个服务
好评:100.00% 出售了6个服务
好评:100.00% 出售了4个服务
好评:暂无 出售了0个服务
好评:100.00% 出售了7个服务
好评:100.00% 出售了0个服务
好评:100.00% 出售了10个服务
好评:100.00% 出售了1个服务
好评:50.00% 出售了1个服务
好评:暂无 出售了5个服务
好评:暂无 出售了4个服务
好评:暂无 出售了6个服务
好评:100.00% 出售了3个服务
好评:暂无 出售了3个服务
好评:暂无 出售了0个服务
好评:100.00% 出售了2个服务
好评:暂无 出售了5个服务
好评:暂无 出售了6个服务
好评:100.00% 出售了0个服务
好评:暂无 出售了4个服务
好评:暂无 出售了0个服务
好评:100.00% 出售了18个服务
好评:100.00% 出售了29个服务
好评:100.00% 出售了0个服务
好评:暂无 出售了4个服务
好评:100.00% 出售了0个服务
好评:100.00% 出售了3个服务
好评:100.00% 出售了5个服务
好评:暂无 出售了3个服务
好评:100.00% 出售了0个服务
好评:暂无 出售了4个服务
好评:暂无 出售了4个服务
好评:100.00% 出售了6个服务
好评:100.00% 出售了4个服务
好评:100.00% 出售了5个服务
好评:100.00% 出售了30个服务
好评:100.00% 出售了4个服务
好评:100.00% 出售了0个服务
好评:暂无 出售了0个服务
好评:100.00% 出售了0个服务
好评:暂无 出售了5个服务
好评:100.00% 出售了7个服务
好评:100.00% 出售了5个服务
好评:94.44% 出售了8个服务
好评:100.00% 出售了5个服务
好评:100.00% 出售了4个服务
好评:暂无 出售了4个服务
好评:暂无 出售了1个服务
好评:暂无 出售了0个服务
好评:暂无 出售了8个服务
好评:100.00% 出售了5个服务
好评:暂无 出售了2个服务
好评:暂无 出售了1个服务
好评:0.00% 出售了4个服务
好评:100.00% 出售了0个服务
好评:100.00% 出售了6个服务
好评:暂无 出售了20个服务
好评:暂无 出售了5个服务
好评:暂无 出售了5个服务
好评:暂无 出售了2个服务
好评:100.00% 出售了6个服务
好评:100.00% 出售了9个服务
好评:100.00% 出售了8个服务
好评:100.00% 出售了9个服务
好评:暂无 出售了4个服务
好评:暂无 出售了0个服务
好评:100.00% 出售了3个服务
好评:暂无 出售了0个服务
好评:100.00% 出售了4个服务
好评:100.00% 出售了0个服务
好评:100.00% 出售了3个服务
好评:暂无 出售了6个服务
当前位置:
招标任务¥&100-1000 任务编号:323798&&
基于ofbiz框架开发B2B电商平台
发布需求 威客投标 雇主选标 托管赏金 威客工作 验收付款
要求:构建一个基于ofbiz架构下的大型B2B网站,非此架构的勿扰,上海地区的开发公司更优1、 必须基于ofbiz架构下,要熟悉ofbiz这个开源2、需要基于ofbiz下开发ERP3、有一定实力和相关成功案例4、能在规定时间内完成具体需求和价格详谈,非这一架构下的勿扰,谢谢
温馨提示:请不要轻信需要交钱(报名费、抵押金之类)才能承接的任务。如有遇到请第一时间联系客服。
来自&上海市,市辖区,闵行区&的& &
认证状态: &
&&认证: &
信用明细×
¥0交易金额
暂无交易好评
请慎重交易
威客信用:
投标编号:&&&&
提交于 11:33:32&&
雇主未浏览
广东省,广州市,海珠区
您好,我们专业从事网站整站建设、APP开发、系统开发、微信公众平台开发!看到您发布的招标信息我们十分感兴趣,我们有能力和信心与您合作成功,大量成功案例期待您的鉴赏与体验,为了给您提供一个满意的合作方案,希望您能和我们联系,了解您的详细需求,给您量身定做出合作方案,免费提供后期维护及后台功能培训,源代码可以全部交付给您,方便您以后二次开发在您确认合作后,我们将竭力完成您的需求,报价以最终需求为准。网站技术:PHP、.NET、JAVA请站内信联系或者百度锐鹏科技进入我们官网进行联系,谢谢。锐鹏科技竭诚为您服务!!!
&&认证: &
信用明细×
¥0交易金额
暂无交易好评
请慎重交易
威客信用:
投标编号:&&&&
提交于 17:33:27&&
雇主未浏览
江苏省,南京市,玄武区
您好,您的任务需求,我们能够实现,请点击我们的头像!-----------------------------------------------------------------------南京东腾网络公司成立至今已成功完成上千个大中型网站项目案例。我们专注于开发中大型网站以及移动APP应用客户端的开发.网站技术:PHP+MYSQL、.NET、JAVA、FLASH AS移动应用:Iphone 、Ipad、android、Windows Phone公司电话: 400-000-5047 联系QQ:
价格要根据你的具体需求来定 有意向合作 请联系QQ或者电话谈.----------------------------------------------------------------------- 独家自主开发:海外代购系统、比特币交易平台、p2p网贷平台、返利网、竞拍网站、订餐网
&&认证: &
信用明细×
¥0交易金额
暂无交易好评
请慎重交易
威客信用:
投标编号:&&&&
提交于 10:12:42&&
雇主未浏览
北京市,北京市,海淀区
您好,北京华宇盈通是一家专业电商和微网站建设的软件开发公司,多年丰富的的商城建设经验,大量经典案例实现以及强劲的技术团队,公司商城品牌ShopJsp目前拥有B2C、B2B2C、B2B三种模式的商城成熟软件产品,以及微信商城,微信营销平台。产品功能强大,高扩展的技术架构,易上手的二次开发,完善的商业业务流程,在运营过程中高度体现产品的网络和数据安全性,从推广的角度做到强大灵活的seo处理机制,从体验上确保网站访问的速度是高效运行,快速反应,从长期运营来说我们提供保姆式技术支持,以及后期大数据高并发用户的整体解决方案,总之快速创建电子商务品牌以及品牌影响力的传播,完美的实现电子商务运营梦想,成功之路,一路有我!开发语言:java,数据库:mysql有意者具体咱们可以在好好沟通一下,我的扣扣是:九四三六七一二八
联系方式:一三二二零一 一 一 四三四具体案例可以参考官方网站,公司官方网站地址 :QQ验证短语:我是专业做电商网站,很荣幸在一品威客上看到您的信息
&&认证: &
信用明细×
¥0交易金额
暂无交易好评
请慎重交易
威客信用:
投标编号:&&&&
提交于 09:12:29&&
雇主未浏览
上海市,市辖区,普陀区
看了你的需求,我们完全能够完成你的任务,希望与你合作!企业网站制作,送域名、空间、企业邮局、代理备案。先制作,后付费,满意后付款!品质保证。(广锐建站)网站一键创建:
后才能发表留言。
猜您需要的人才
猜您感兴趣的任务
精品高手攻略
765 参与人数
分享可赚钱,赶快告诉您的朋友吧
电商网站类似需求
热门问答热门百科
让一品8,783,637人才为您分忧解难!
联系客服: 客服:8:30-22:00 在线
400-(免长途费)
您还可以拨打: 或留下联系方式,我们主动联系您
CEO 黄国华
产品总监 冯梅
联系客服: 客服:8:30-22:00 在线
400-(免长途费)
您还可以拨打: 或留下联系方式,我们主动联系您
一品官方微信
扫一扫,接任务,
发需求,妥妥的!
您还可以关注一品新浪微博
一句话点评
投诉维权监督
CEO 黄国华
产品总监 冯梅使用OFBIZ的理由和不使用OFBIZ的理由
在研究OFBiz的可行性。这东西实在是有点大,有点受挫啊。转载一篇文章。
使用OFBIZ的理由和不使用OFBIZ的理由(/blog/103779)
1 使用OFBIZ的理由
1.1 什么是OFBIZ
OFBIZ是由Sourceforge维护的一个最著名的开源项目之一,提供创建基于最新J2EE/XML规范和技术标准,构建大型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。
的Web应用框架以MVC模式搭建而成,整体采用了很多被大多数企业级应用系统公认的位于业务逻辑层和集成层(Business Tier
and Integration Tier)的设计模式。许多表示层(Presentation
Tier)的设计模式也被引入进OFBIZ,但是仅仅体现在Servlet控制器(the servlet
controller)中,没有包括在实体引擎中。在实体引擎中使用的设计模式包括:业务代理(Business
Delegate),值对象(Value Object), 复合实体(Composite
Entity(variation)),值对象组装器(Value Object Assembler),服务定位器(Service
Locator)和数据访问对象(Data Access
Object)。OFBIZ正在计划逐步引入其它设计模式和完善已经引入的设计模式的实现。
使用OFBIZ的框架和组件,可以大大缩短开发企业级WEB应用系统的进度和成本。了解详细情况请参见:http://sourceforge.net/project/ofbiz&
OFBIZ和其它项目的比较&
类似的项目还有很多,ofbiz与这些项目的最主要的不同点是ofbiz提供了一整套的开发基于Java的web应用程序的组件和工具。一个优秀的web
应用程序应该是至少三层结构:表示层,业务逻辑层和数据层。大多数应用框架,比如Struts, Cocoon, 和 Velocity
将主要精力都集中在了表示层。比如Struts,遵循了(MVC)构架,使用Java
Bean和Action类与JSP页面进行通讯。Struts是一个很好的web应用框架,但它并没有提供访问数据库的组件,也没有提供控制工作流的组
件。如果要使用,你必须自己创建这些组件。如果已经在利用其它的应用框架(如Struts),你也可以很容易的将ofbiz的组件添加到自己的工程中。
与其它类似开源项目相比,OFBIZ是一套有血有肉的包含编译打包部署工具、应用组件、示例应用等内容的企业级Web应用系统实现框架。
1.3 开源的优势
OFBIZ是一个开源项目,由几个牛人在维护,它具有开源项目的一切优势,如免费(随时下载);集市式开发方式;成千上万的人在维护,也在测试等等。也具备开源项目的所有缺点,如缺乏技术文档,提交的系统没有全面测试;不稳定等等,但无论如何,我们要清醒的认识到:
1、 OFBIZ是一个开源项目。
2、 OFBIZ只仅限于系统开发者使用。
1.4 完善的实体引擎
实体引擎提供了一组工具和设计模式来对现实世界中特定的实体(数据对象)进行建模和管理。在本系统的上下文环境中,一个实体就是一个由多个数据域
(fields)和该实体与其它实体之间的关系所组成的一个数据对象。这个定义来自于关系型数据库对实体关系模型(Entity-Relation
modeling)概念的标准定义。实体引擎的目标是简化企业级应用中对实体数据(对应关系型数据库表)的大量操作,包括定义、维护、通用操作(增、删、
改、查实体和实体之间的关系)的开发工作
实体引擎采用了很多被大多数企业级应用系统公认的位于业务逻辑层和集成层(Business
Tier and Integration Tier)的设计模式。许多表示层(Presentation
Tier)的设计模式也被引入进OFBIZ,但是仅仅体现在Servlet控制器(the servlet
controller)中,没有包括在实体引擎中。在实体引擎中使用的设计模式包括:业务代表(Business
Delegate),值对象(Value Object), 符合实体(Composite
Entity(variation)),值对象组装器(Value Object Assembler),服务定位器(Service
Locator)和数据访问对象(Data Access
Object)。OFBIZ正在计划逐步引入其它设计模式和完善已经引入的设计模式的实现。
体引擎的一个主要目标是尽可能的提供一种通用的代码结构,来消除在针对每一个实体的事物处理过程中,所有写死(hard code)的代码。
这种系统抽象所关注的问题,与那些把数据从数据库中提取出来,并以报表的形式进行输出和显示处理的报表管理或类似系统是不同的,而是类似于每日都可能发生
很多事物处理的商业应用系统,实体引擎能大量节省构建类似应用系统的开发费用和戏剧性的减少因为系统存在大量写死的事务处理代码所产生的bug。这种类型
的应用系统目前在OFBIZ中实现了一些,如电子商务,入库、出库的帐目管理,任务分配资源管理等等。这些工具能够用来报告和分析系统,但是并不意味着,
它能包容千差万别的客户的应用需求,在实际应用中,我们可以基于它来做一些二次开发。
为了达到尽可能少的在系统中出现与针对特定实体操作有关的代 码,
存储实体属性值的对象结构必须设计成通用的,可以用一个MAP对象来存贮实体的所有域(也可以叫字段或属性),通过实体的名称来区分它们是哪个实体的。根
据字段的名称,用一个简单操作String数据的方法,来从值对象中读出或写入某字段的值,并且还可以验证给定名称的字段是否是该值对象的一个合法域。在
实体引擎和应用系统之间建立了一个约定(体现实体结构定义文件和字段类型、Java数据类型、SQL字段类型映射关系的定义中),这个约定被定义在特定的
XML文件中,以减少这种灵活性可能存在对系统不利的风险(如数据类型问题可能引起数据库系统崩溃等)。
代替不在系统中书写针对特定实体操作的的
代码的方法之一,是把实体的定义放在XML文件中,在系统启动的时候,由实体引擎负责把这些结构定义加载进内存,并且在应用程序和数据源(通常指一个数据
库或其它资源)之间建立一些对这些定义的使用规则。在这些XML实体定义中,对实体和属于它们的域,以某种规则和数据库中的表和表的字段建立映射关系。而
且实体与实体之间的关系,实体域的数据类型,Java语言的数据类型,SQL 数据类型之间的映射关系,也被定义在XML文件中。
实体之间的关系还可以被命名,以用来区分不同实体组合之间的特定关系。
基于实体引擎这个抽象层,与特定实体操作有关的代码的编写就变的很容易创建 和修改。
使用实体引擎所提供的APIs,编写处理实体持久性(增、删、改、查)的代码,可以不同的方式来配置,以便于实现针对实体持久性操作(增、删、改、查)有
变化时,可以不改变代码本身,因为它并没有写死。这种抽象的一个典型应用场景就是你既可以通过JDBC直连方式,也可以通过调用运行在EJB服务器上的实
体Bean(Entity
Beans)的方式或者以其它方式,甚至在系统所提供的框架范围内,使用者运用自己扩充的方式去完成对实体持久性的改变等等。这些不同方式的切换并不需要
对代码做任何改动,只需要修改配置文件。
OFBIZ已经完全实现了自己设计的一套实体引擎,可以直接使用。project/ofbiz
实体引擎的好处举例说明如下:
以前的问题背景。
你需要借助工具或手工去维护已经存在的或新增加的数据库结构(库结构,表结果等的定义和更新),如果要修改表结构和定义的话,怎么做?
假设你的应用涉及200张表(实体),假设每张表(实体)都存在增、删、改、查,则需要在你的应用中静态构造(硬编码)800个sql语句。
假设这200张表之间存在100种关系,维护每一种关系的增、删、改、查,又需要400个静态构造的sql语句。
假设这些sql语句由10个不同水平的程序员来构造,构造出来的sql语句在执行性能上可能存在巨大差异,而且形态各异。
这些硬编码的sql语句分布在大量Java程序的各个角落,一旦某张表的结构发生变化或者修改某一字段名或表名,意味着什么?意味着混乱!
OFBIZ是如何解决这些问题的:
OFBIZ拒绝这种混乱,一套EntityEngine机制轻松解决上述所有问题。
涉及1张表(实体)的增、删、改、查,它提供一套处理机制(不到12个类,大约5千行代码),应用的规模是10000张表,它还是这套处理机制(不到12个类,大约5千行代码),而且这些处理机制由JAVA程序高手生成和维护,可以保证其合理性、可靠性和安全性。
EntityEngine提供了一个构造复杂sql操纵语句的机制,你可以根据需要随时构造任意复杂的sql语句,完成你想要做的事情,这样你可以在开发过程中,随时修改你的数据库定义,OFBIZ在系统启动时会自动加载并检测数据库中的不一致性和参考完整性。
实体引擎大大简化了涉及关系型数据库的管理和维护,但这还只是一小块好处,大的好处是你在实现一个复杂需求的应用时,实体引擎用为数不多的几个类解决了你所有的问题,实现任意复杂的数据库存取业务和商业逻辑,而且与需求的复杂度和数量无关。
4、 好处太多了,在使用的过程中,会进一步的体会到。
1.5 锦上添花的服务引擎
服 务框架(Services Framework)是OFBiz2.0
新增加的内容。服务(Services)被定义成一些相对独立的逻辑处理单元(服务具有业务逻辑处理的原子性),能够被灵活的组合成不同的形式去实现不同
的商业逻辑需求。服务有多种类型的实现形式:工作流(Workflow),(规则) Rules, Java程序(Java),
简单对象访问控制协议(SOAP), 轻量级Java程序脚本语言解释器(BeanShell)等等。
如果一个服务被定义成"java"类型,意味着实现该服务的机制可能就是Java类的一个static方法,
而且,OFBIZ提供的服务框架不限于使用在一个基于Web的应用程序系统中。服务需要输入一个Map形式的参数,服务处理完毕后,返回的也是一个Map
形式的结果集。这个思路是非常好的,因为Map类型的数据格式很容易被序列化(serialized,序列化成字节流),并且通过HTTP(或SOAP)
的协议进行存储和传输。在OFBIZ里,服务被定义XML文件里,定义后的服务被分派给一个特定的 服务引擎(Service Engine)
。 服务引擎 具体负责以合适的方式进行服务的定义、管理和调用。
因为服务不一定被绑定在某基于Web的应用程序运行环境中,所以服务处理的结果也就不一定会和某erquest请求的响应reponse联系在一起,这样
就允许服务可以在预先设置好的和时间点上定时触发(因为它不需要一个Http Request请求),一般是通过系统提供的
工作日程管理器(Job Scheduler)
运行环境触发(用定时器来控制对服务的调用)。&
服务还可以互相调用调用,即一个服务被设置去调用任何其它的服务。这
样,我们可以用更小粒度的已经定义好的服务组合成一个服务链,来完成一个比较大的任务,而且这种组合是任意的,从已经定义好的服务本身来讲,是很容易复用
的。使用不同的应用程序系统中的服务,可以通过创建一个"全局服务定义文件"只被定义一次(因为服务本身是实现了特定的商业逻辑,它和具体应用的关系应该
是松耦合的),当然,服务也可以通过一些限制,被指定为特定的应用程序所用。&
在一个基于Web的应用系统中,服务可以被用来实现基于Web的 事件(web
events),利用服务实现事件处理,可以在服务框架内最大可能的复用相对固定的一些业务逻辑。而且,服务还可以被定义成对可输出的
(exportable),意思是它们可以被系统外部的东西(可能是一个应用系统或其它)远程访问。
目前系统实现了一个基于简单对象访问控制协议(SOAP)的事件处理器,该事件处理器,就允许外部应用通过SOAP协议对运行(或定义)在其上的服务进行
远程访问 。在将来,会有更多的远程调用形式被加到服务框架里
1.6 双管齐下
实体引擎和服务引擎各有利弊,在实际应用中,可以把服务引
擎和实体引擎结合起来使用,实体引擎主要用于处理实体(Entities)对象的增、删、改、查,服务引擎主要用于处理商务逻辑,这种商务逻辑的定义范
围,不大会遇到上面所说的要求一次查询返回一个结果集这样的服务定义(这完全可以用实体引擎来处理)。
服务引擎可以用处理跨平台、跨操作系统、跨应用系统之间的业务逻辑。把实体引擎和服务引擎结合起来,可以这解决企业级Web应用系统的绝大部分需求所涉及到的技术实现细节。
1.7 其它甜饼
OFBIZ的野心太大,几乎想通吃所有最新的关于企业级、多层、分布式应用系统的构建技术。除最成熟的实体引擎和服务引擎之外,它还涉及到以下系统实现引擎。
1、 工作流引擎
2、 规则引擎
3、 消息引擎
这三项工作,除工作流引擎尚为alpha版本之外,其它两个都在建设之中,看来,已经把这几个人累的够呛。
1.8 主流技术的采用和跟踪
OFBIZ 的框架中引入了最先进的主流开发技术Web应用系统构建技术,如:Xerces
(xml.apache.org) ;Xalan (xml.apache.org) ;Axis (xml.apache.org)
;Log4J (jakarta.apache.org) ;Castor (www.exolab.org) ;ORO
(jakarta.apache.org) ;BeanShell (beanshell.org)
;J2EE1.3,XML1.2等,而且整个系统,在原来的基础上不断的被重构和修订。
1.9 扩展性和可移植性
所提供的系统框架,是一个纯Java的应用程序,在具体实现中采用了大良的设计模式,本身系统的实现完全符合面向对象的设计原则中的几乎所有要求,除采用
J2EE核心设计模式、数据库设计模式之外,OFBIZ的实现代码中,大量引入和Java设计模式,其应用系统本身的扩展性和可移植性已经没有问题。
OFBIZ开发者同时维护和Weblogic,Tomcat,Jboss,Resin,orion等16个厂商的Web和App应用服务器的兼容版本.
OFBIZ开发者同时维护和oracle,Mysql,Sybase,PostgreSQL,Hsql等数据库产品的兼容支持,包括编译、打包、部署到这些数据库产品或应用服务器产品的运行环境下。
OFBIZ开发者同时在Unix和Windiws两大操作系统上进行开发和测试,而且具备Java应用系统的所有跨平台的特点。
有了这些,对于大型企业级应用系统的具体、特定实现来说,你有信心实现所谓的“一次开发,到处运行”。
1.10 改进的事务处理功能
目前OFBIZ提供4种数据库连接方式的支持(在“EntityEngine.xml”文件中配置,被“EntityConfigUtil”类装载进内存)。
GenericDelegator ——&
GenericHelper.
GenericHelper
——&GenericHelperDAO
GenericHelperDAO
——&GenericDAO
GenericDAO ——&
SQLProcessor
SQLProcessor ——&
ConnectionFactory类的get
Collection()方法得到数据库连接。然后构造PrepareStatement来实施数据库操作。
改进了GenericDAO和SQLProcessor,综合利用JDBC的事务管理和应用服务器的事务管理功能实现多层分步式事务管理功能,因为不同的
实体操作可以对应不同的实体引擎(在EntityEngine.xml中通过实体所在的组了配置),这样可以在OFBIZ的主运行环境下,通过实体引擎的
配置实现对远程数据源的访问操作,而一旦连接上远程数据源,OFBIZ就提供一套机制,把针对本地和远程数据源的操作纳入到同一事务管理范围内,实现分布
式事务处理。
OFBIZ利用JDBC提供的数据库操作事务管理API(commit,rollback等)和第三方工具所实现的数据库操作事务管理API,实现了OFBIZ的实体引擎对事务的控制。
2 不使用OFBIZ的理由
2.1 系统过于庞杂
确实如此!!它用到了XXX,XXX,XXX标准,体现着XXX,XXX,XXX技术,维护着诸多的概念、理念、包含着这么多的设计模式,光配置文件就有30个之多,涉及到的配置项不下200种,它要用到很多工具,这一个理由足以让大多数人望而却步!
OFBIZ太复杂,把基础、公用的东西和特殊应用混到一块,特别在实体定义的时候(考虑关联关系)。
2.2 夸夫追日
如 果把OFBIZ比做太阳的话,使用OFBIZ的人就是夸父,因为一旦你采用了OFBIZ
,它就会诱惑你,永远跟踪下去,和其保持同步,和它保持同步的同时,意味着你必须不端的充电,和XXX,XXX,XXX规范保持一致;和XXX,XXX,
XXX标准保持一致;和XXX,XXX,XXX工具保持一致,这样你会很累,那有我用JDK写的东西维护起来的轻松?
可是纯粹使用JDK,你又能写出什么东西?
2.3 它不适合我的应用规模
的确如此,你如果是开发一个。。。。,或者。。。。或者。。。。这都用不上OFBIZ,OFBIZ是用在什么规模上的(大家自己领悟吧)。
2.4 关于自带的应用
OFBIZ自带的应用,美国化的东西太多,应用背景和我们差距太大。除用户管理,系统维护,知识管理几大块之外,其它的基本上用不到。
2.5 它有bug?
贺你,你竟然发现了OFBIZ的一个BUG,但这是开源项目最为常见的一个问题,你可以想想,再回头看看“开源项目的维护方式”,这些BUG本身就是希望
你发现并改正(或提修改建议)的,所以BUG不是什么大事。在使用开源项目,来缩短开发周期和降低开发成本的应用前提下,更需要一种“杨弃”的理念。
2.6 它连个论坛都没有?
OFBIZ的开发者没想到企业级应用关注的却是一个论坛?这不是他们关心的内容,而且你完全可以利用OFBIZ提供的一切,迅速构建一个论坛(前提是论坛的需求必须清楚)。
2.7 其它理由
考虑一下,OPENSOURCE的东西可能存在其它问题,如版权问题?协议问题等等。这好象对于我们来说,并不是问题。
3 简化OFBIz2.0
本着实际应用的目的,我在OFBIZ最新版本的基础上,进行了简化,主要包括如下措施。
3.1 数据模型改造
数据模型只保留:common,content,party,security。
2、 改造所有实体定义文件,把DTD包含在每一个文件里。
首先整理entityGroup.xml文件,确定将要删除的实体定义,包括保留的数据模型包和在保留的包中删除不需要的,如下:
(1)common和security没动。
(2)content,保留大部分内容(如文档管理,支持网站统计的实体等,其它的删除),删除content.preference,content.subscription,content.website。
(3)party。删除一部分和party无关的实体模型定义,如party.agreement,munication,party.need等。
根据删除的实体名称,查询确定被删除的实体所有的关联(包括实体和基础数据定义,java文件,jsp,xml,properties文件中出现这些实体的地方,逐一进行清除和改造)
修改entityengine.xml,删除加载的实体定义文件(eccomerence里)
6、 删除加载的与应用有关的服务定义文件。
修改serviceengine.xml,删除加载的与应用有关的服务定义文件,删除加载的基础数据(与应用有关的)。
3.2 删除特殊应用
删除accounting;catalog;ecommerce;facility;marketing;partymgr;workeffort应用及
与应用有关的存在于core和commonapp里的程序文件。commonapp/src目录下只保留:common,party,content,
security。如果有类似被删除应用的应用背景,再考虑引进。
修改setup/ofbiz/build.xml文件,把这些特殊应用有关的内容全部清除,把images应用从ecommerce应用里移到content应用里。
修改setup/catalina41/conf/server.xml文件。
修改部署环境,保留目前ofbiz支持的最好的部署环境:bea,jboss,resin,catalina41.其它以后再说。
3.3 简化后的系统
其实简化后的系统,
OFBIZ的内核并没有动,只是把它自带的应用全部删除(包括和应用相关的一切痕迹),但保留下来了常用的应用
1、 内核管理系统——Commonapp应用。
2、 用户管理——PartyMgr应用。
3、 知识管理——Content应用。
4、 系统维护工具——WebTools应用。
精简后的内核框架具备如下功能
全面支持EntityEngine,ServiceEngine;workflowEngine。
支持用户管理,权限管理,知识管理(信息发布就是小意思了),联系方式管理,还具备一些通用基础数据的定义和数据本身。
这是我们目前所面临或即将面临的大多数“基于J2EE/XML技术的多层、分部式企业级Web应用系统”所必须具备的功能。
简化或的框架可以作为我们开发自己应用的一个原始内核。在该原始内核的基础上,可迅速开发和部署我们自己的应用。
这个和适用于培训体系的OFBIZ版本的研究不冲突,可同时进行。
简化后的好处,直接体现在系统规模大大减少,系统外观复杂度大大降低,系统中我们琢磨不定的东西,但可能永远都用不上的垃圾基本被清除了。
3.4 系统规模
统计规则:每行80字节,10%空行率。
3.4.1 简化前
jsp+java文件,共05083 bytes。
Java文件,共4197776 bytes。
约4.5万行代码;497张表24个视图。
3.4.2 简化后
jsp+java文件,共3104918 bytes。
Java文件,共4197776 bytes。
约2.8772万行代码;107张表8个视图。
4 客户程序编写者需要了解的类和接口
如果有一个完整的基于OFBIZ2.0的开发过程定义和OFBIZ资深顾问做基础,一个开发团队中的开发者只需要了解以下类所提供的接口即可在OFBIZ2.0框架的基础上,开发基于实体引擎和服务引擎的应用程序。
4.1 实体引擎核心应用类(客户端API)
及到12个类,GenericDelegator,GenericValue,GenericPK,EntityCondition,
EntityExpr,EntityFieldMap,EntityConditionList,EntityWhereString,
EntityOperator,EntityOperator,EntityListIterator,这些类都是为GenericDelegator的
接口服务的。用户端程序和数据库之间的所有交往多是通过“GenericDelegator”完成的。
4.2 服务引擎应用类(服务器端API)
涉及LocalDispatcher, GenericDispatcher;
ServiceDispatcher;ServiceUtil;DispatchContext
;ServiceConfigUtil等6个类。
4.3 常用工具类
工具类主要在包org.ofbiz.core.util中。
1、 属性文件访问工具类:UtilProperties。
2、 Map、List对象操作工具类:UtilMisc。
3、 UtilFormatOut :通用格式化输出工具类(主要用在
Jsp文件或View Helper中)。
4、 UtilURL:得到文件流的URL地址类。
5、 UtilCache:缓存管理类。
UtilValidate:通用数据输入输出数据校验(合法性和有效性)类,可任意扩展。.
UtilDateTime:java.util.Date和java.sql.Date格式的日期/时间处理类。
8、 StringUtil:增强的字符串处理类。
9、 UtilXML:增强的符合JAXP & DOM
规范的XMl解析器处理工具类。
10、 SiteDefs:常数定义类,定义所有Web
程序用到的和环境有关的常量。
11、 Debug:格式化输出程序调试信息类。
HttpClient:模拟一个HttpServlet请求类。
HttpRequestFileUpload:接受一个通过Http上传的文件工具类。
SendMailSMTP:符合SMTP协议的邮件发送处理类(实现发送邮件服务器的功能)。
作为一个初级的开发者来说,用好上述这些类加上基于OFBIZ的开发过程定义就可以了;但对于一个真正要用好OFBIZ的开发者,远不止上面这些,需要全面理解和掌握OFBIZ的流程、框架和代码。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 ofbiz 部署 的文章

 

随机推荐