功能 性能和设计是衡量软件的三个基本方面,开源Jivejdon是这三者完美结合案例之一。

真正的、彻底的、完全面向对象软件系统。是目前国内领先的、高水准开源论坛系统(Apache 2.0),不断跟踪和应用全球软件最新设计理念(DDD等背景PPT介绍)。反映软件设计流行方向,是国内最接近云计算的论坛软件。JiveJdon不只是普通论坛,融博客帖子一身,可以关注人 帖子 主题和标签分类, JiveJdon业务目标是Quora。

JiveJdon是按照国外最新设计思想"领域驱动设计"(Domain-Driven Design 简称DDD)、基于JdonFramework自主开发的复杂软件系统,JiveJdon设计特点:

■新建模:模型驱动的设计方式Evans DDD;真正OO设计和编程;功能增加容易方便,可维护性强
■新架构:传统程序是一个线程内的顺序同步运行,不适合现在多核CPU和分布式系统;JiveJdon基于JdonFramework的新的事件并发模型,充分利用多核多线程特点,且因为无锁,并发更快。

■分离的权限体系:用户认证权限系统与业务核心分离;界面与业务核心分离,数据库与业务核心分离
■良好扩展性:性能优异快速,可伸缩性强,可拓展至内存云计算机平台,依赖JdonFramework的内存优化策略能够应付高并发负载访问,按这里查看没有考虑性能优化的案例。



JiveJdon拥有良好的可拓展性,采取完全分离的多层架构,可以通过J2EE服务器搭载任何数据库;同时,实现了界面和业务逻辑真正分离,使用者可以任意设计自己的界面模板,不再象现在流行的一些论坛,必须由论坛原始作者提供的模板选择,JiveJdon采取国际最先进设计水准将免费论坛推向一个新的高度。



JiveJdon 不只是一个论坛程序,它的Message模型可以重用在网站内容系统、新闻发布系统、电子商务系统、仓库管理系统、资源管理系统等跨域范围中(部分已经实现),实现了目前重用研究领域最高级别的静态重用:业务模型重用。相关文章:快速适应需求变化的软件复用。竞争目标Google App Enginee。



新建模



Jivejdon 是在Evans DDD指导下,按照最新国际模型驱动方式开发,采取OO面向对象分析设计编程方式,抛弃传统E-R建模数据表驱动开发方式,可作为学习Evans DDD的完整样本程序。DDD领域建模学习按这里。



JiveJdon核心领域模型图如下,建模过程来自 实战DDD(Evans DDD:Domain-Driven Design领域驱动设计) :

新架构

JiveJdon 业务层采取了组件动态设计的面向构件架构,能够简单方便拓展新功能,不再发生牵一动百的错误。传统业务组件运行顺序按照编程时确定的代码调用顺序,明显缺点是:失去灵活性,不能根据实际需求动态配置运行,也就不能更快适应需要的变化;而动态组件定义则是将业务组件之间的关系在运行时指定的。JiveJdon也展示了一个基于AOP的通用权限实现案例。

JiveJdon组件架构设计如下:

优异性能

JiveJdon基于对象缓存设计原理,大大提升运行速度,并具有良好的可伸缩性,可借助开源云计算内存技术Terracotta(兵马俑 )达到分布式云计算强大处理能力,具体讨论按这里。

2011年jivejdon 4.4的测试样本(Jmeter可打开):jivejdon.jmx 结果:聚合报告.jmx其最新测试结果如下,由于将数据库等操作使用异步事件实现,回帖和帖子修改等写入性操作都是基于内存领域对象实现,性能大大提高:



云功能特点

类似google的全文搜索(Compass + lucene 一个论坛如果没有强大搜索,只能成为废话垃圾桶);基于AOP的通用权限实现;Evans DDD实现案例;所有业务功能插件式管理;界面和内容完全分离;依托Jdon框架高性能和内容实时更新;具有anti spam software特点,对频繁抓取等网络爬虫或搜索bot蜘蛛有拒绝功能。

来源:站长下载站 JSP×××