Apache OFBIZ快速上手--组件交互
Ofbiz是一个基于WEB的应用程序开发框架,为应用者提供了大量的基础构建,帮助开发者快速的开发出高效,良构的应用系统。对于开发者来说,只需要专注于业务逻辑层的开发以及UI的开发上,其他的都被封装成组件存在了,从而不需要开发花费精力在这些东西上面。从这个角度来说性价比会比较高吧。
做过小例子的都知道,OFBiz是web应用程序开发框架,都是由WEB服务器接受请求,处理请求,以WEB页面的形式将处理结果展示给用户;用户通过浏览器,通过HTTP协议进行应用的访问。由于OFBIZ是一个应用程序框架,基于这个框架又封装了很多组件,利用这些新技术,达到我们只需要开发web应用的效果。但是这些新技术并不是Tomcat所能认识和理解的。为了让Tomcat认识和理解,采用filter和Servlet来完成这个翻译工作。如此一来,我们就可以屏蔽服务器的差异,来更好的工作了。
那么OFBIZ组件是如何交互的呢?
首先我们每一个模块都有一个组件管理的文件,用来管理实体引擎、服务器引擎、web。通过一系列的URL来定位到相应的view或者Screen以及Service去处理。其实也就是这样一个流程controller.xml-->screen.xml-->Form.xml-->service.xml(commonService.xml)-->entity.xml
1)客户端浏览器向Web服务器发出一个请求,请求会被Web容器接收并做相应的处理。
2)请求被发送到一个代理Servlet中,该Servlet会分析请求是发往哪个app的,然后再到对应的项目下的controller.xml配置文件中去匹配request-map,根据它的配置项,具体的去如何处理,比如安全认证、权限,返回的类型,对应到哪一个view等等。
3)URL请求Web页面到View Handler.Handler根据Screen的定义决定渲染哪个页面。然后将页面和数据结合。
4)任何配置的数据准备脚本运行和结果被放在view的上下文中。
5)ofbiz的viewhandler通过模板迎请绑定页面元素与数据后,渲染出最终的数据流,通过http/https响应返回到浏览器
不足之处
首先承认一点,OFBIZ的框架封装的还是很好的,采用组件热插拔的思想,很灵活。对于开发者来说只用写web以及业务逻辑(对于业务逻辑来说,简单的业务逻辑都是封装好的标签,直接拿来用即可),开发效率高,但是开发起来还是会写很多重复性的代码,界面操作只要写错一点,对于初学者来说可能是因为不熟悉这整个的系统架构或者是开发流程来说,比较费劲,从而有一定的门槛;但是本系统规避了一些问题,通过它强大的错误日志的处理以及实体引擎的封装,我们能很容易的看出错误的所在以及实体的变更甚至是实体中数据的变更,再进一步来说,我不需要数据库,服务器等这些东西,只需要一个运行环境即可。
虽然有这么多好处但是说回来对于一个小功能来说要写N多个XML,有时候一些问题找起来还是要找一会,这时我会想我们要不要封装一个可视化界面,拖拖拽拽就把这个功能完成了。从现在我对OFbiz的理解上,我觉着这是唯一的一个不足。
总结
抽象、封装才是根本。这些所有的框架以及解决问题的方案都是通过对这些问题的抽象,封装而得出来的一套结论。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。