发帖   主题   评论   推荐   标签   用户   查搜    用户 密码 自动 注册   
  面向对象 设计模式 领域驱动设计 云架构 开源框架 开发教程

开源项目:Jdon Framework

下载      文档       演示      jdon英文       Github项目      JiveJdon

项目新闻:
2014-01-16 Jdonframework PPT进入SlideShare 2013前Top 1%
2013-09-29 6.6.8 CQRS Command/Event异步并发输入输出
2012-11-22 StackOverflow:General-purpose databases that never delete or update data in-place

  Jdon Framework是一个实施DDD+CQRS+EventSourcing架构的Java reactive开源框架,能够快速地将领域驱动设计(DDD)落地为异步、高并发、高吞吐量的Java应用系统 。

  Jdon Framework(简称JF)是一套适合开发中小型Java/J2EE/JavaEE应用系统的轻量DDD框架(Lightweight Java DDD Framework)。国内第一个IOC/AOP开源框架,首个DDD领域驱动设计Java实施框架。

  Jdon框架帮助你实现一个干净而有流畅的软件架构。

  JdonFramework通过如下统一语言将DDD和DCI以及事件灵活结合在一起:

dci+events

 

  由领域模型聚合根实体(DDD)扮演的角色(Role of DCI)在用例场景(Context of DCI)下触发了一个交互事件(interaction event)。

  JdonFramework这种以聚合根实体发送接收消息的模型(reactive actor)符合原始的面向对象编程模型:所谓OO是消息事件传递:

模块化

  消息作为信封,信封内容是事件,这种异步机制是聚合根与外界交互的最好方式。

DDD聚合根

  JF诞生于2004年底,作为中国第一个开源Java框架,创新地运用了当时刚刚出现的新的技术思想Ioc/DI(依赖注入Dependency Injection),JF比当时Spring 1.x率先支持了注入的自动匹配;同时遵循约定优于配置以达到快速开发。

  2009年JF 6.1版本引入了事件驱动(Event Sourcing)和In-memory内存缓存概念,2011年7月Martin Fowler推荐的LMAX架构也采取类似架构,其性能达到每秒处理600万订单,每微秒延迟获得100T的吞吐量。传统编程是在一个线程内进行顺序同步编程,而JF的事件编程是一种无锁的并行异步编程模型,大大发挥了现代多核CPU潜力。

  JF 6.5版本为推广适合多核CPU的无堵塞并发编程范式进行了探索,使用了Domain Events和DCI等不同抽象层次对并发编程进行了封装,从而降低开发者使用并发编程的难度,见 无堵塞的并发编程DDD DCI和领域事件

  JF与其他开发工具相比:JF是一个领域驱动设计DDD框架。JF是快速性 灵活性和可伸缩性综合平衡的产物,它带来了多快好省的简单的解决之道(simplify the best):对于小项目,使用JF可以开发出高质量可扩展的好的系统;对于大项目,使用JF可以更快地开发出系统。

  JF关键技术特点:

  1. DDD(Domain-Driven Development),开发基于领域驱动设计(Domain-Driven Design)应用, 提供基于内存的领域模型(in memory model), 运行时刻领域对象作为“总司令部”通过Domain Events驱动命令技术构架为之服务,探索了一条真正以业务对象为核心的崭新的DDD落地编程模型。

  2. Reactive Actors模型,类似ERLang或Scala中的信箱, 事件驱动架构Event-driven Architecture(EDA) ,异步领域事件,并发策略, 懒加载赋值(Lazy initialization or evaluation),结合RabbitMQ/ZeroMQ/JMS可实现大型分布式可伸缩的架构,。

  3. 依赖注入DIAOP框架, 类自动配对注射autowiring/Autowired,无需指定,提高重构效率,所有类最大限度松耦合,包括框架本身的类或构件都是可替换的,提供强大可定制能力;灵活简单的AOP,没有复杂AOP脚本代码,可以将任何POJO引入introduce作为拦截器。

  4. 命令查询分类架构Command Query Responsibility Segregation(CQRS/CQS), 提供模型的增删改查命令流程整合,不必编写MVC模式中Controller控制器,防止新手将业务写入控制器。服务命令模式:可根据url参数直接激活对应的Service方法;提供大量数据批量查询自动分页和缓存性能优化功能。

  5. JF可以保证应用系统的良好性能和可扩展性,容易接入各种持久层框架如Hibernate或Key-value存储或NoSQL数据库。可使用分布式缓存如Ehcache + terracotta/memcached扩展到大型分布式云系统。

  6. 成熟稳定,可与Spring整合。基于JF开发的开源JiveJdon在Jdon.com稳定运行多年,同时也在多个知名公司得到了各种应用。遵循APACHE 2.0开源协议,免费应用各种商业系统中。 可plugin所有的开发工具如Spring和所有的J2EE/JEE服务器,可在所有开发工具如Eclipse JBuilder、JDeveloper、IntelliJ IDEA 、NetBeans WASD workshop Jcreator 下开发,也可部署到Tomcat JBoss Websphere weblogic iPlanet JRun等各种J2EE/JEE容器服务器中运行。

JF架构详细的PPT文档

企业培训咨询

 

 






下载源码

框架文档

框架应用系统

演示运行

JiveJdon

性能测试

Q&A 问答

技术支持

 

 


解道移动版 | 关注解道 | 联系解道 | 关于解道 | 广告联系 | 网站地图 | 设为首页

沪ICP证12033263 如有意见请与我们联系 Powered by JdonFramework
_×
您有新消息