由于项目原因, 结识了OFBiz. OFBiz? 这是个什么东东?先从它的英文简写说起.OFBiz是"Open For Business"的缩写, 它是Apache的一个项目, 更详细的信息可从这个链接里看到:http://ofbiz.apache.org/.基于这个开源项目,我们可以方便快捷地开发出整个业务流程所需的一 系列功能:ERP,CRM,E-Business / E-Commerce,SCM,MRP,CMMS/EAM.
这个东东有什么优势呢?说到优势得看跟谁比,又都比哪些方面? 对这个问题我也有很大的疑问.这个项目从2003年开始到现在最起码来说在国内一直没见火起来.是中国的特殊环境?(不喜欢用开源,开源的东西不好吆呵, 你总不能要开源的东西向客户要高价吧?而且也没有那么玄目的新名词) ,.跟现在大家很熟悉的名词有什么联系?像JSP,JSF,Ajax,Struts,Hibernate,EJB,Spring... 现在我能体会到的是,用OFBiz开发时不用频繁地重启服务器,一些文件修改后下一次访问时可直接与未改文件"会师",用为数不多的代码实现一些基本功 能. ... 还有一个大大的优点:OFBiz把PHP世界编程里的方便快捷与Java世界编程里的层次分明给很好地结合了起来,这个我已感觉到了.
这个话题太大现在还不可能描述的很详细,先放一放,毕竟本篇的重点是先用OFBiz写一个Hello World,以对OFBiz有个直观的体会.
在写Hello World之前先要把OFBiz下载下来, 下载有很多选择,我是从http://build.hotwaxmedia.com/这个链接里下载,下载后解压到一目录,我们称之为 "OFBIZ_HOME",在我机子上这个目录是"E:\ERP\ofbiz-trunk-current\ofbiz-trunk",
我们先对这个目录下的文件(夹)有个大致的了解."OFBIZ_HOME"目录下当前要关注的几个文件(夹):applications,framework,hot-deploy,runtime,startofbiz.bat.
按重要/常用程度依次介如下: 这里边的hot-deploy就是我们往里写/放程序的地儿; 而runtime下的catalina文件夹里放的是jsp生成的java和class文件;logs里放的是ofbiz的日志,出错时我们常看这里的 error.log文件;framework我感觉是整个ofbiz的核心,当然里面也放有例子(example),有时我们参考这个example下的 文件;application用的最少, 可能是程序开发后真正要运行的地儿;startofbiz.bat就是ofbiz的启动脚本了.
上面我们对目录下的文件有了个大致了解,下面就动手写一个helloWorld.
Step1: 在hot-deploy下,新建一名为"myHelloWorld"的文件夹,后续的文件(夹)都是加在这个文件夹下的.
Step2: 在刚建的文件夹下新建一个名为"ofbiz-component.xml"的文件, 感觉这个文件与ofbiz的关系像web.xm与servlet容器的关系.在文件ofbiz-component.xml里写如下内容:
先不必关心这里的配置都代表什么意思.
Step3: 在"myHelloWorld"文件夹下新建名为"webapp"文件夹,我们现在要做的是web程序嘛.
Step4: 在Step3新建的文件夹里新建文件夹"myHelloWorld",感觉这一块就很像往Tomcat里部署程序了,我们会在这里加WEB-INF文件夹,error文件夹,index.jsp文件,这都很熟悉了.
Step5: error文件夹和index.jsp文件可以直接从framework下的example里拷过来.
Step6: 新建WEB-INF(在Step4新建的"myHelloWorld"文件夹下)后, 在它下面新建两个文件web.xml和controller.xml.web.xml就是我们常见的那个web.xml, controller.xml文件,顾名思义, 类似于struts里的struts.xml.web.xml文件里的内容可从framework下的example里对应文件内部拷过来,内部一个字也 不改,当然还是改的好,只是现在那些信息还用不到.controller.xml的内容如下,先这么写,待会再边做边往里加些东东.
<?xml version="1.0" encoding="UTF-8"?>
Step7: 写到这,基本结构已搭好,下面写要显示的内部.OFBiz项目刚开始时是以jsp为默认表现层技术的, 后来慢慢改成FreeMarker了, 当然也还支持jsp, 现在随大流儿,用FreeMarker.有webapp下的myHelloWorld文件夹里新建helloWorld.ftl文件,其内容如下:
这不就是一个HTML文件么? 是的, 现在咱们这个HelloWorld还没有用到FreeMarker的东西.
Step8: 要显示的内容写好了,下面配置下我们就可以浏览器里访问了.
在Step6新建的"controller.xml"文件里,"<errorpage>/error/error.jsp</errorpage>" 一行的下面加如下内部:
<request-map uri="main">
<security https="false" auth="false"/>
<response name="success" type="view" value="main"/>
</request-map>
Step9: OK了, 现在就可以启动OFBiz了(通过startofbiz.bat脚本文件).如果不出意外的话,就能看到如下所示的效果:
为了方便比照, 把刚建的myHelloWorld文件夹图片也贴上来.
这篇就先写到这, 接下来的博客里就逐步描述其它功能.