《威博文件管理系统》逐步对外发布了,感兴趣的用户可以到相关的站点上自由下载,今天这里主要阐述它的设计结构。
《威博文件管理系统》是按照JavaEE5的规范来设计开发的,它是多层的、可分布式部署的。
1、数据库层:目前主要运行于sqlserver2000,但是不排除可移植到mysql、oracle等数据库,因为程序并没有针对某种数据库的特殊代码。
2、数据持久层:采用JPA1.0规范,具体的实现提供者采用的是Hibernate3的实现,但采用的API是JPA1.0的规范,没有hibernate的特殊代码。
3、业务服务层:考虑到即将到来的JavaEE6规范,在服务层没有采用spring2.5提供的中间层服务,以便将来能够地平滑升级到JavaEE6规范,目前使用的是自己写的工厂服务模式。等到JavaEE6正式发布后,JavaEE6在we层也能够使用EJB3,这样就可以为今后的大规模系统应用留下了更广阔的空间。
4、表现层:采用JSF编程模型,实践证明,采用JSF1.2编程模型是明智的,虽然开始的时候困难一些,但是随着使用的逐步深入,各方面都慢慢的顺了起来,JSF的优越性也就更加能够体现。现在回过头来思考,没有JSF的组件编程模型,要想开发高质量的Web应用程序,几乎不太可能。我开发过自己的MVC框架,使用过struts1x/struts2x/springMVC开发过项目,现在我再也不想回到过去了。我不理解为什么JSF没有得到应有的重视和地位,JSF的组件模型,应该代表了专业化分工的进步。在《威博文件管理系统》的表现层中,具体就是采用JSF1.2+richfaces3.3来实现的。
《威博文件管理系统》图示体系结构
说明:当前JavaFx富客户端,手机浏览器端并未具体实现,只是用来说明软件系统的体系结构的灵活性[2009-11-23注]。