Quasar0.1.0 & Skyhome2.1.1发布(基于MVC的开源web框架和网站系统)
总习惯与将学到的东西多少做点什么出来,一来看
看效果,二来也可检验下自己到底学的如何,毕竟纸上谈
兵终觉浅。所以在去年年底开始学J2EE时即打算着开发本
栈,从JSP/SERVLET入手,做个网站练练手在合适不过了:)
半年下来J2EE的高级技术没学半点,网站倒做的起劲了,
既然做了,就要做好,终于在4月时基本完成并发布,但
考虑到以后的扩展等又花了一个多月时间重构了整个系统,
并将公用部分提成Quasar,所以现在两个一起发布了。
Quasar
================================================
Quasar是一套基于J2EE技术的开源web框架系统。以高
度模块化的方式组合web应用,减小了系统间的耦合度。将
能更明确的划分系统功能,提高开发效率。
系统在实现上参考了Struts等开源项目。
特点:
1:MVC模式 按技术实现方式将系统从纵向上明确分层,
包括如下几部分:
View(前台表现层):
处理前台的显示,主要使用jsp技术,可扩展至XML/XSLT等
Control(控制层):
处理控制逻辑,根据请求调用并执行相应的业务逻辑模块,
并根据其执行结果重定向web服务给前台,基于Servlet/JavaBean等
Model(业务逻辑层):
处理具体的业务功能,根据请求参数存取数据,返回处理结果给控制器,
Java
*DAO(数据存取层):
处理数据的存取,是系统和实际数据源间的交互层,目前使用JDBC技术,
后续版本中将可能会使用JDO等技术。
2:高度模块化 将各应用功能按模块分组,从横向上划分系统,大大降低了系统
间的耦合度。用配置文件配置各模块,使得在增加、修改、删除模块时基本无需
更改、编译、部署原有系统,将对其他模块的影响将到了最低。
3:高度抽象和灵活的DAO系统 将所有的DAO操作抽象,对外提供统一的接口,使得
业务逻辑中无需关心具体的DAO实现;使用DAO Mapping技术定制配置DAO系统,动态
加载并池化DAO,使系统具有更好的扩展性和移植性。
4:其他
使用Servlet中的Filter接口更有效的进行授权控制;
使用common-logging做为日志系统,可提供多种日志方式,如log4j,jdk log等;
多数据源共存共用,可在系统中配置多个数据源并同时使用;
提供数据库连接池并封装了SQL操作,方便了底层数据访问操作;
支持多种web服务器
支持多种数据库
计划:
1:系统优化
目前系统在很多方面存在着很多不足,主要由于自己水平不够,希望能通过
更多的学习来完善这套系统,更欢迎各位的指教和参与。
2:提供更有效的数据库操作封装以及O/R Mapping等
目前系统提供的只是简单的SQL操作封装,在使用中很多地方都是硬编码,正
考虑提供一种更为有效和灵活的操作方法,以将对具体数据库的依赖降到最低。
3:其他
将学习到的各种新技术等用到系统中来,学以致用:)
================================================
Skyhome
================================================
Skyhome是一套基于Quasar开发的开源网站系统,亦即本栈。当前版本2.1.1。
Skyhome以高度模块化的方式构建,所有的应用都按功能分类打包,以模块的形式集
成进系统。当新增加一个模块时仅需将相应文件等放入相应的目录;修改配置文件即
可,而无需修改、编译原有功能模块。
Skyhome实现了在同一web应用中多个异质数据库共存共用的功能,每个模块都可以拥
有自己的数据源亦可访问公共数据源。
现在技术上已经基本解决,无论扩展还是新增加功能都已经变的很简单了,
但一个网站最重要的是内容,内容是灵魂!我不想将这个网站做成技术类的网站,
因为太多了,很多都只是COPY AND PASTE。所以想做个面向程序员的非技术类网
站,我们有很多技术外的东西需要学习,需要讨论,需要交流......
希望将这里建成一个开放的,可定制的站点,希望能给大家提供一些实用的
功能。如果你觉的有什么好的主意或想法,可以提出来,或者你自己,或者由我
们来帮你实现并集成进系统。
现有模块:(都只是个雏形,都做的非常简单)
用户模块
论坛模块
文章模块
计划模块:
Bug管理
留言本
备忘录
日记
文档管理
工作日志
笔记
...
===============================================
独学而无友,则孤陋而寡闻。共享之,如班门弄
斧,贻笑大方了。不足之处尚请谅解,更希望能将错误、
意见、建议等告诉我,欢迎加入,一起学习:)
提供源码下载、在线浏览、JavaDoc等,但目前文档
方面还非常缺乏,正在撰写中,如有如何问题请随时给我
邮件:)
网站:http://www.skyinn.org
邮件:webmaster@skyinn.org