本科毕业论文-基于OFBiZ的电子商务平台开发_第1页
本科毕业论文-基于OFBiZ的电子商务平台开发_第2页
本科毕业论文-基于OFBiZ的电子商务平台开发_第3页
本科毕业论文-基于OFBiZ的电子商务平台开发_第4页
本科毕业论文-基于OFBiZ的电子商务平台开发_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XXX大学毕业设计(论文)论文题目:基于OFBiz的电子商务平台开发办学单位: xxx扌旨导老师:xxx职 称: 工程师学生姓名: 学 号:xxx 专业:计算机科学与技术2013年0 5月15日摘要OFBiz 是一个非常著名的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨 数据库、跨应用服务器的多层、分布式电子商务类 WE应用系统的框架。OFBiz 最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和 工具。包括实体引擎 , 服务引擎, 消息引擎, 工作流引擎 , 规则引擎等。OFBiz 已经正式

2、成为 Apache 的顶级项目 : Apache OFBiz 。关键词 java j2ee erp ofbizAbstractOFBiz is a very well-k nown e-commerce platform, is a very well-k nown ope n source project, created based latest J2EE/XML specificati on and tech ni cal sta ndards, build ing large and medium-sized en terprise-class, cross-platform, cro

3、ss-database, cross-applicatio n server multilayerthe class WEB applicati on system for distributed e-commerce framework. OFBiz main feature is the the OFBiz provide a set of developme nt comp onents and tools based on the Java web applicati on. En tities engine, service engine, n ews engine, workflo

4、w engin e, rules engine.OFBiz has officially become a top-level project of the Apache: Apache OFBiz.KEYWORDS java j2ee erp ofbiz电子科技大学毕业论文(设计)基于ofbiz电子科技大学毕业论文(设计)基于ofbiz的电子商务平台开发 第二节 beanshellbeanshell是使用java的语法的一门动态的脚本语言,在ofbiz中用作视图 层数据的收集,可以用作调试,测试,原型设计,事实上实体服务可以用beanshell 来设计。下载和安装,在beanshell的官网

5、下载bsh-2.0b4.jar (最新版),如果是允 许桌面版直接双击该文件,如果是想在命令行中来使用beanshell,将文件bsh-2.0b4.jar 加入到环境变量,女口 classpath 设 为.;Java_Home%lib;E:bsh-2.0b4.jar;在命令行中使用命令java bsh.Interpreter显示为:bsh %当开始ofbiz时,注意到在控制台出现如下信息:Httpd started on port: 9989Sessi ond started on port: 9990(main) BeanShellContainer.java:109:INFO Starte

6、d BeanShelltelnet service on 9989, 9990(main) BeanShellContainer.java:110:INFO NOTICE: BeanShellservice ports are not secure. Please protect the ports这告诉我们在9990端口开启了 bea nshell的容器,你可以通过tel net到该端口, 有所有的权限来访问ofbiz 服务器。允许你测试代码和监听事件。将 bshco ntain er.bsh文件放在 ofbiz 文件夹下, 能够调用source(bshc ontain er.bsh);在使

7、用的过程中会使用delegator对象来访问实体引擎,dispatcher用于运 行服务,管理用户注册实体通常需要验证。实体的使用tel net 至 U bea nshell ,使用 delegator 对象访问 pers on 实体,delegator 是 一个GenericDelegator对象有一些了增删查.第五章综合实例第一节目录结构首先创建如下所示的目录结构,applications下的hello其中ofbiz-component.xml 、build.xml 、web.xml、controller.xml几个文件可以从任意一个模块中拷过来,再作些修改。Hello卜-build卜-卜

8、-build卜-data卜-HobbiesData.xml /|-e ntitydef|-e ntitygroup.xml /|-e ntitymodel.xml / 卜-script |-servicedef|-e ntitymodel.xml /|-webapp|-hello|-i nclude|-footer.ftl|-header.ftl 卜-WEB-INF|-定义相关数据文件定义数据库中表的结构以及相关的主键,关系,和约束等定义的服务信息-con troller.xml /|-web.xml|-mai n.ftl|-news.ftl |-widget|-HelloScree ns.x

9、ml /|-build.xml|-ofbiz-comp onen t.xml /用于控制页面跳转等前端 screen 文件用于加载相关模块第二节相关配置说明ofbiz-comp onen t.xml vofbiz-comp onent n ame=helloxml ns:xsi= HYPERLINK /2001/XMLSchema-i /2001/XMLSchema-i nsta neexsi: no NamespaceSchemaLocatio n= HYPERLINK /dtds/ofbiz-com /dtds/ofbiz-com ponen t.xsdvresource-loader n

10、 ame=ma in type=comp onen t/vclasspath type=dir locatio n=script/vservice-resource type=model loader=ma inlocati on=servicedef/services.x ml/vwebapp n ame=hellotitle=hello ofbizdescripti on=hello ofbiz applicati onserver=default-serverlocatio n=webapp/hellomoun t-poi nt=/helloapp-bar-display=false/v

11、/ofbiz-comp onent其中entity-resource type=model用于加载相关的实体资源,type=data用于记载相关的数据,service-resource用于加载相关的服务.buld.xml用于和ant进行集成时使用。增加了一个 target模块vtarget n ame=i nitvproperty en viro nmen t=e nv /vproperty n ame=desc value=hello applicati on / vproperty n ame=n ame value=ofbiz-hello / vproperty n ame=src.di

12、r value=src / vproperty n ame=dtd.dir value=dtd / vproperty n ame=lib.dir value=lib / vproperty n ame=build.dir value=build /v/targetweb.xml中的上下文初始化参数vparam-n amee ntityDelegatorNamev/param-n ame vparam-valuedefaultvdescriptionTheNameof the Entity Delegator to use, defined inen titye ngin e.xmlv/des

13、criptio nvparam-n amelocalDispatcherName hellovdescriptionA unique name used to identify/recognizethe localdispatcher for the Service Engin ev/con text-paramvparam-n ameserviceReaderUrls /WEB-INF/services.xmlv/param-value vdescriptionConfiguration File(s) For The ServiceDispatcherv/descriptio nv/con

14、 text-paramcontroller.xml将相关的请求用 ofbiz 框架来接管。request-map 和view-map的搭配使用负责页面的转发vha ndler n ame=java type=request class=org.ofbiz.webapp.eve nt.JavaEve ntHa ndler/ vha ndler n ame=soap type=request class=org.ofbiz.webapp.eve nt.SOAPEve ntHa ndler/ vha ndler n ame=service type=request class=org.ofbiz.w

15、ebapp.eve nt.ServiceEve ntHa ndler/ vha ndler n ame=service-multi type=request class=org.ofbiz.webapp.eve nt.SimpleEve ntHa ndler/vha ndler n ame=ftl type=viewclass=org.ofbiz.webapp.ftl.FreeMakerViewHa ndler/ vha ndler n ame=jsp type=viewclass=org.ofbiz.webapp.view .J spViewHa ndler/vha ndler n ame=

16、scree n type=viewclass=org.ofbiz.widget.scree n.Scree nWidgetViewHa ndler/vrequest-map uri=viewvresp onse n ame=success type=request value=ma in / vview-map n ame=ma in type=scree npage=comp onen t:/hello/widget/HelloScree ns.xml#ma in / vview-map n ame=n ews type=scree npage=comp onen t:/hello/widg

17、et/HelloScree ns.xml# news /第二节相关数据文件说明第一步是定义数据模型。我们想用户信息和他们的爱好并且查看每个人的所 有爱好(或者,所有的人分享一种爱好)。数据模型是定义人员,爱好,和人员- 爱好的联系。在关系型数据库中,你将定义两个table,其中一个是人员,另一个是爱好。 还有定义他们之间联系的第三个表.第三个表允许一个人员关联许多爱好,反 之亦然你将定义人员和爱好的外键来约束第三个表。OFBiz工作原理也是类似.你可以定义两个实体,我们将定义HelloPerson和HelloHobby ,和一个连接实体,HelloPersonHobby ,并建立了它们之间的关

18、系.他们之间关系主要是外键约束,而且不需要你自己去定义。(当外键改变,需 要改变你的代码).注意:我们正在创造一个应用完全独立的数据模型来作说明 .如果我们是在建立 一个真正完整的应用,最好的做法是尽可能利用许多现有的 OFBiz框架实体来 做,而不是创造自己HelloPerson ,我们将利用现有的框架 OFBiz Party/Person/PartyGroup 这三个 已有实体.定义数据模型,在hello 下 创建entitydef文件夹在entitydef /目录内, 仓U建 en titymodel.xml和 en titygroup.xml HelloPers on和HelloHob

19、by各有一个主键,HelloPersonHobby 有两个主键,它用来链接 HelloPerson和HelloHobby .这是好的做法,让你外键关联,使调试容易,避免 发生意外。外键的名称OFBiz由产生.定义这些实体在另一文件里,entitygroup.xml,这也是很重要的(但很容易忘记)。在entitydef /目录,这样OFBiz就会知道哪些数据写入数据库中,以供 使用人):否则,将实体存在OFBiz的,但是当你真正尝试使用他们,你会得到这 个错误:org.ofbiz.entity.GenericEntityException: Helper name not found foren

20、 tity HelloPers on最后,你必须增加这一行到你的 ofbiz-component.xml中的,这样让OFBiz知道这个实体是应用程序的一个组件entitymodel.xml对应数据库中的3张表。ven titymodel xml ns:xsi= HYPERLINK /2001/XMLSchema-i /2001/XMLSchema-i nsta neexsi: no NamespaceSchemaLocatio n= HYPERLINK /dtds/e /dtds/e ntitymod el.xsdvfield n ame=helloPers onld type=id-n ev

21、field n ame=firstName type=idvfield n ame=middleName type=idvfield n ame=lastName type=idvfield n ame=comme nts type=comme ntvprim-key field=helloPers onl d/vfield name=helloHobbyId type=id-nevfield name=description type=descriptionv/fieldvprim-key field=helloPers onl d/v/en tityven tity en tity-nam

22、e=HelloPers onH obbypackage-name=org.ofbiz.hello title=E ntity and attribute En tityvfield n ame=helloPers onld type=id-n ev/fieldvfield name=helloHobbyId type=id-nev/fieldvprim-key field=helloPers onl d/vprim-key field=helloHobbyld/vrelation fk-n ame=HPRSN_PRSN rel-e ntity-name=HelloPers on type= o

23、n evkey-map field-n ame=helloPers onl dv/key-mapv/relati onvrelation fk-n ame=HPRSN_HBBY rel-e ntity-name=HelloHobby type= on evkey-map field-n ame=helloHobbyldv/key-mapv/relati on v/en tity用名称是实体(HelloHobby 在我们的情况)的标签名称,使用名称的领 域要么属性或作为内标签(见上次值为葡萄酒你的属性可以是属性的数值或内 部的标签的值,如果你有很长的数值在CDATA段落里面是最好的.另外,主键

24、不须大写或隔着_ ,但在其他OFBiz的应用程序这是一个规范.现在你准备加载 例子数据到Web Tools主界面,你会看到链接的XML Import . 点击XML Import ,并于下一个画面,它会提示你文件夹的名称,在你的OFBiz中的路径. 我通常不点击任何复选框和仅仅是Import .如果你是成功的,同一个介面底部会告诉你,有多少数据添加:HobbiesData.xml Win e除了增加你的属性和数据之外,当你的数据被创建并且被更新时,OFBiz自动地创建了时间戳,这是为了横跨 OFBiz多个事例同步数据。最后,如果你增加这个命令到你的ofbiz-compo nen t.xml文件

25、,在安装过程期间OFBiz可以自动地安装你的例子数据:OFbiz实际上让你定义数据是否有 “例子数据”,这样为你的app可以展示,例子数据仅仅是展示用的。第二节业务逻辑即然我们已经定义了数据模型,我们可以写一种简单的应用以delegator直接地访问实体。 这是OFBiz应用程序的标准操作,但是,做为业务逻辑的分层: 新建,更新和删除。delegator直接地为查找数据使用,如更加复杂的查寻。创建业务逻辑的过 程是有二步。 首先,你定义了通用的业务逻辑在 XML文件(使用class和 方法 或者 脚本),来告诉OFBiz业务逻辑引擎你的参数和位置,第二, 你实现服务可 以用java,OFBiz

26、 minilang,或者另一种脚本语言。业务逻辑通常定义在一个servicedef/目录里面,并且包括一个或更多 services.xml文件。这我们的services.xml文件:注意services.xml 是参考实体执行。同时直接地与 标签执行。这些自动属性标签保存你时间并且使你的应用更加容易维护。你在你的ofbiz-component.xml也会需要参考service 资源。另外,你必须创建并告诉它在哪里的ofbiz-component.xml装载即ps。这就是为什么我们的ofbiz-component 文件看起来相似,在增加classpaths 以后,实体体定义、 service定义

27、和例子数据:现在它是否看起来和其他ofbiz-component.xml很相似?现在创建services 。A Java service流行的写法是在你的应用的src/目录里面被写的:一个公共的class有两个参数的公开静态方法,DispatchContext 为得到一个对象是你输入参量的 delegators, dispatchers, locale, and security,和称上下文的 map并且退回结果map Java services 也将需要编译, 需要适当的classpaths 的知识为其他OFBiz即ps。这可以使用ant并且 build.xml构建脚本,当然你可以从另一种应

28、用通常复制。它是在所有OFBiz应用和框架中一个相当长的标准文件,因此我这里不会包括它。当写你的service和创造build.xml脚本,你能建立你的象这样的Javaservice :构建过程基本上采取了在src/目录的所有您的文件,编译了他们 并且把他们放入构建或lib目录。Minilang比较起来是简单的。简单的 minilang service 在script/目录里面并且是一个XMI文件。由于它是专门为共 同的OFBiz应用任务设计,例如 查寻数据,存放数据,检查premissions,并且 与现有的实体一起使用,并且执行业务逻辑,它使那些任务工作非常容易:最后, 测试它,重新启动O

29、FBiz装载所有新的定义在ofbiz-component.xml和services.xml。然后,打开beanshell窗口并且测试我们的service (注意: 您 首先应该下载bshcontainer.bsh 并且把它放入在你的ofbiz/目录)这里,bea nshell称执行service的服务调度员,他们是成功的,因此正 确的数据被创建。(当然,它实际上采取了大约六次尝试,但我不会和你谈论细节使你不耐烦。)那么现在你创造了数据模型和service为他们。下一个步骤将放他们入Web应用程序。services.xml Hello Servicesvservice n ame=createH

30、elloPers on engin e=javalocati on= org.ofbiz.hello.HelloServicesinv oke=createHelloPers on create a helloPers on create a ssssvauto-attributes mode=IN entity-name=HelloPersonHobby in clude=pk opti on al=false 第二节屏幕的创建OFBiz screen-widget 使用汇集复杂页与显示元件许多更小的片断。(如果您使用了 OFBiz的更早的版本,它替换JPublish和regions框架。)

31、第一步将在您的webapp并且创建includes/目录和文件header.ftl 、 footer.ftl 。 如果您想要使用通用的 stylesheet 和graphics,这是使用它最 好的地方。您也可以想要从main.ftl去除同一个代码:第二步使用screen-widget 并把他们拼接起来。 在hello2/里面的webapp/ 旁边创建一个widget/目录。在widget/里面,创造一个XML文件定义你的页面: HelloScreens.xml 。vscree ns xml ns:xsi= HYPERLINK /2001/XMLSchema-i /2001/XMLSchema-i nsta nee xsi: no NamespaceSchemaLocatio n= HYPERLINK /dtds/widget-sc /dtds/widget-sc reen. xsdvscree n n ame=com mon Decoratorvsecti onvhtml-templatelocatio n= comp on et:/hello/i ncludes/header.ftlv/html-template v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论