气功人论坛

标题: 关于建设新站点的一点说明 [打印本页]

作者: a吾龙    时间: 2008-11-24 11:23
标题: 关于建设新站点的一点说明
    群友和灵浪都比较关心新站点的开发,如果没有回应,会让大家着急,因此,我把目前的进度简单地介绍一下。在软件开发过程中,交流十分重要,在此作以下说明:

1.关于需求
    需求是整个软件的核心,决定一个软件的成败。

    我个人认为灵浪和我所拟的需求还不够具体,目前还没有明确具体的需求。因此势必随着软件开发和实际应用,需求会不断更新,软件需要会不断修整,这个可以预见到。

    我们做的不是一个论坛,也不是其他已有成型系统的二次开发,更不可能拿一些现有的开源系统来组装。所以在时间上和组装比不是一个数量级,新系统里的每个功能都需要手工开发。事实上一开始是要做个论坛,因此利用几天时间二次开发了一个,后来随着需求的变化,最终又否掉了,J (所以说,需求在不断更改和完善)

2.关于时间
    软件开发时间:软件开发有本经典书叫《人月神话》,通过书名大家可以看出,软件是按照人&月来计算的,而不是人&天,所以请大家不要着急,我们是希望做出精品的。

    我的时间:我个人平时上班大概12小时左右,路上来回3小时,吃饭1.5小时,练功1.5小时,还剩下6小时,还需要睡眠,所以可能会更新比较慢,请大家体谅。

3.关于系统架构 (目前走在这一步)
3.1 关于选型
    JDK: JDK6.0
    IOC Container: Spring 2.5.6 (抛弃GuiceGuice目前发展不错,但是我们需要的不仅仅是一个IOC容器,而且需要一站式的JavaEE各规范的支持,但我们最终不使用AOP标注)
    ORM: Hibernate 3.3.1
    Web Framework: Struts 2.1, JSP 2.0, JSTL
    JS: JQuery (抛弃Prototype,两者都能跨浏览器,但是近来JQuery发展更好些)
    Security: Spring Security 2.0
    Search Engine: Lucene, Compass
    Transaction: Hibernate Transaction, JTA
    Application Server: Tomcat
    Cache: EhCache (抛弃OSCache, JBossCacheEhCache是目前发展势头最好的Cache方案,    涵盖普通缓存,轻量级缓存,页面缓存,中央缓存服务器等方面。我们通过对比抛弃了OSCache(更新慢)JBossCache(太沉重))
    Database: MySQL | Oracle

    整个系统采用目前最为流行的annotation大于configuration的风格。
                                          
3.2 系统分层
系统采用通常业界最流行的架构方案,分成四个层:

(1)
数据访问层
    主要封装对数据库/JMS/外部资源的访问逻辑。简单的CRUD可能会挪到业务层。HQL都在这层定义,不会放在业务层。


(2)
业务逻辑层
    封装核心业务逻辑,使用Springannotation定义Service类。使用SpringTransaction annotation来定义事务,事务一律在业务层解决。对只读方法使用readOnly,异常只用runtime的。


(3) Web


MVC
使用Struts 2(实际就是WebWork的改进版),使用ZeroConfigCodeBehind实现灵配置文件。
View使用JSP2.0JSTL
Validation使用JQuery.


(4)
领域模型层
   使用JPA annotation来定义实体和关系。

3.3 其他

(1)
安全控制
    使用Spring SecurityLogin/LogoutRememberMe机制,通过用户+角色+授权控制,拦截URL和页面内容。


(2)
二级缓存
    不使用QueryCache,缓存实体及其关系。


(3)
日志
    使用Log4j作者的最新Logback & SLF4J,替换掉 Log4j & commons logging,它的性能更佳(判断日志记录的操作对比时3纳秒对30纳秒)。事实上,HibernateJetty都迁移到了SLF4J
   
3.4 遗留问题
    (1) 关于量化表
    使用图片自动生成,还是做个flash自动获取,目前还未定。

    (2) 关于远程教学软件
    不打算自己实现远程教学,毕竟这种软件已有很多成型产品,本站可以考虑使用UC

总之,我们会尽力,会做出令大家满意的东西,请大家期待!

[ 本帖最后由 a吾龙 于 2008-11-24 11:35 编辑 ]
作者: 无上境界    时间: 2008-11-24 12:46
吾龙太专业了,你说的系统构架我都看不懂,支持下!
作者: 龙脉灵浪    时间: 2008-11-24 13:38
吾龙是我们群里的最高荣誉会员
作者: a吾龙    时间: 2008-11-26 09:56
标题: 回复 1# 的帖子
关于搜索引擎优化(SEO):
现在的爬虫会为防止因link互相引用而陷入死循环(所谓的Spider traps),都不爬URL中带?号后面的部分。

(1) 我们采用URLRewrite技术,伪装内部url成为普通html页面,这样能搜索引擎友好,得到索引
(2) 网站目录结构尽量简短,目录尽量控制在4层以内
(3) 目录和文件名中使用关键字,用“-”分割词组,不要用“_”来分割
(4) 充分利用title, keywords,description,便于得到索引
(5) 不使用frame和iframe,便于索引
(6) 减少flash的使用

[ 本帖最后由 a吾龙 于 2008-11-26 22:39 编辑 ]
作者: a吾龙    时间: 2008-11-26 22:42
标题: 回复 1# 的帖子
关于用户纪事:
使用Clickstream (Opensymphony) 来跟踪用户请求和请求队列,以便管理员了解网站使用明细。
作者: a吾龙    时间: 2008-11-26 22:47
标题: 回复 1# 的帖子
关于网络负荷:
酌情使用GZip的filter动态压缩css, js, html, jsp,减轻网络负荷。

[ 本帖最后由 a吾龙 于 2008-11-27 17:06 编辑 ]
作者: a吾龙    时间: 2008-12-1 10:47
挪我blog上去了,这里超过一定时间就不让再编辑了,太讨厌。

http://intolong.spaces.live.com/
作者: whistle    时间: 2009-6-27 15:40
原来你们老早就开始筹备了,现在情况怎么样?




欢迎光临 气功人论坛 (http://bbs.qgren.com/) Powered by Discuz! X3.2