Talk:A new development platform
新的开发平台
内容
1 简介 2 前景 3 体系结构 4 MVC架构 5 业务逻辑 6 MDA增强 7 模块化
简介
Openbravo用这个平台保证了信息系统开发的统一、快速和简单。平台还是一个高性能、可扩展的体系结构。Openbravo ERP就是构建在这个平台上的。
前景
- Openbravo团队意识到Openbravo开源ERP市场的成功随之而来的是需要一个最好的平台用于具备以下特点的开发:
- 关注分布式和模块化开发。在我们平台上构建的应用程序应该易于分享、安装/卸载和移植。同时,它也应该能够和其他开发环境开发的应用程序集成。
- 高效而稳定的开发循环(设计、编码、测试、自定义、维护等)。
- 跨平台(操作系统、数据库、应用服务器等)并基于开放标准。
于是我们正在有计划地改进与增强我们的平台使其胜任这些特点-当然,还能够与之前开发的产品兼容。
体系结构
我们已经从现有平台得到了非常肯定的回馈,没理由做改变。MVC代码运行在基础软件堆的上层。大部分代码按应用字典中的说明由WAD自动生成。
MVC架构
我们不想重新发明轮子。我们2000年开始开发这个平台的时候,没有认何经验证足够进行MVC开发的平台。于是我们使用三个工具构建了我们自己的平台:模板引擎XmlEngine;持久性工具Sqlc;控制器HttpBaseServlet。
现在,很多“事实”标准的工具具备了更好的功能,于是我们决定用Spring+Acegi+Hibenate取代Sqlc和HttpBaseServlet作为业务逻辑层。但我们计划保留XmlEngine,按我们的看法,它比标准的解决方案(JSP,Velocity等)更精确地实现了表示层设计和数据的分离。
我们还计划增加一个图像化的工具用来设计基于XmlEngine的报表。
业务逻辑
当前,Openbravo遵循“过程模式”实现业务逻辑,我们用数据库的PL代码或过程化的Java类。新的MVC框架工具(Hibernate+Spring)支持“面向对象模式”,增进了可维护和可扩展性能。业务逻辑通过web服务用有开放的接口,用于表示层以及其他应用程序。
结构化和抽象化的数据访问将允许我们按照通常的方式执行统称的数据功能(比如审计或数据访问授权)。
MDA增强
我们改进我们的MDA模型的计划概括起来有三个目标:
- 在模型中声明业务逻辑
- 允许映射几乎所有数据模型使得平台能够用于开发现有应用程序的web界面
- 通过组件概念,增加生成的用户界面的数量和质量,并允许扩展
模块化
Openbravo平台上的应用应该是模块化的。模型将被定义在基于依赖关系的层级中,相同的平台,相同的模块。模块可以安装可以卸载。Openbravo ERP将成为平台上的一个模块集合。行业解决方案、语言和国家包将作为单独的模块。这些模块可以由分散的团队开发而无需协作。