欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
JFox 3
小 (→MVC框架) |
|||
(未显示1个用户的7个中间版本) | |||
第1行: | 第1行: | ||
− | + | JFox 3 = 基于IoC的微内核 + Java EE 容器 + MVC框架 | |
− | JFox 3 = | + | |
我们将JFox 3定位为轻量的 Application Server + 集成的 Application Framework,来支持快速开发 | 我们将JFox 3定位为轻量的 Application Server + 集成的 Application Framework,来支持快速开发 | ||
第6行: | 第5行: | ||
JFox 自己的 Framework 将紧密耦合在 JFox AS 上的,但是用户也可以选择其它的 Framework,没有任何问题 | JFox 自己的 Framework 将紧密耦合在 JFox AS 上的,但是用户也可以选择其它的 Framework,没有任何问题 | ||
− | 我们在加入了一些 [[OSGi]] 的思想在 JFox 3 里面, 如果今后有 OSGi 的要求,我们可以考虑集成一个开源的OSGi 实现来解决这个问题 | + | 我们在加入了一些 [[OSGi]] 的思想在 JFox 3 里面, 如果今后有 OSGi 的要求,我们可以考虑集成一个开源的OSGi 实现来解决这个问题. [[Apache Felix]]是个选择方案, [[JOnAS]] 5 也采用Apache Felix作为其OSGi的基础 |
我们这次将给用户提供一个一揽子解决方案,应用很贴近他们的真实需求, 而且会比 Spring + JSF/Struts/Shale + Hibernate 更好用,更好管理 | 我们这次将给用户提供一个一揽子解决方案,应用很贴近他们的真实需求, 而且会比 Spring + JSF/Struts/Shale + Hibernate 更好用,更好管理 | ||
第12行: | 第11行: | ||
此外, 我们重新构建了 Petstore, 通过一个更加完善的 Petstore 来演示基于 JFox 3 的应用 | 此外, 我们重新构建了 Petstore, 通过一个更加完善的 Petstore 来演示基于 JFox 3 的应用 | ||
− | == | + | ==特性== |
− | *1. 重新设计的 IoC | + | JFox 3.0在以前版本的基础上进行较大的重构和改进,在尽可能兼容EJB 3规范的同时,保持JFox一直以来坚持轻量、简单、高效、实用的目标。 |
− | *2. | + | *1.重新设计的 IoC 微内核,融入 OSGi 模块化思想 |
− | *3. 支持 | + | *2.设计成嵌入式架构,能够和任何 Java Web Server集成部署 |
− | *4. | + | *3.支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件 |
− | *5. 采用 XAPool 提供 XA | + | *4.支持EJB发布成Web Service |
− | * | + | *5.采用JOTM(http://jotm.objectweb.org/)提供事务处理,支持两阶段提交(2PC) |
− | * | + | *6.采用 XAPool(http://forge.objectweb.org/projects/xapool/) 提供 XA DataSource,支持智能连接池管理 |
− | * | + | *7.内置 MVC 框架,实现自动Form Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB |
+ | *8.支持多应用模块部署,让中大型应用充分享受模块化开发的带来的优势 | ||
+ | *9.提供 Manager 管理模块,可以查看和管理各种运行时参数 | ||
+ | *10.提供根据 JFox 特色重写的 Petstore 应用模块 | ||
+ | ==标准== | ||
+ | JFox 3支持标准如下: | ||
+ | *支持EJB 规范 3.0 | ||
+ | *支持 JPA 规范 1.0 | ||
+ | *支持JMS 规范1.1 | ||
+ | *支持JNDI 规范1.2 | ||
+ | *支持JDBC规范3.0 | ||
+ | *支持JTA规范1.1 | ||
+ | *支持Servlet规范2.5 | ||
+ | *支持JSP规范2.1 | ||
+ | ==架构== | ||
+ | [[Image:jfox3-arch.jpg|right|thumb|JFox 3 Architecture]] | ||
+ | JFox 包含了3个部分: | ||
+ | ===基于IoC的微内核=== | ||
+ | 包含在 org.jfox.framework 中, 包含了三个重要的概念: Framework、Module 、Component | ||
+ | |||
+ | *Framework用来负责启动以及停止内核,同时它也管理整个微内核的资源,以及负责出发和传递事件。 | ||
+ | |||
+ | *Module是模块,一个模块用来完成一个领域的问题,模块拥有封闭性,通过发布接口和其它模块进行交互,模块有自己个独立的ClassLoader,类加载器的加载路径为:conf, classes,WEB-INF/classes,lib,WEB-INF/lib。Framework会根据web.xml中的MODULES_DIR配置加载多个模块,Framework将本身也加载为一个模块,模块名为__SYSTEM_MODULE__。我们可以将一个应用模块做一个Module发布到JFox应用服务器中。 | ||
+ | |||
+ | *Component 即为一个组件,用来实现一个特定的功能,组件被实现为Java类,它们都从org.jfox.frameowkr.component.Component继承而来,组件总是被加载在一个模块中。 | ||
+ | |||
+ | 尤其要注意 Module 和 Component的区别 | ||
+ | ===Java EE容器=== | ||
+ | JFox 3提供支持EJB3和JPA组件的Java EE容器,包括服务组件有:JNDI,EJB Container,JTA Transaction Manager,JMS Message Service,JPA Container,DataSource。 | ||
+ | ===MVC框架=== | ||
+ | JFox 提供MVC框架,它直接建立在JFox 微内核之上, 有了MVC,JFox应用服务器为企业应用开发提供了IoC + MVC + O/R Mapping + EJB3的整套开发平台,以满足企业开发对快速化、模块化的需要。 | ||
+ | |||
+ | JFox MVC使用模板引擎(Apache Velocity/FreeMarker)来输出HTML | ||
+ | |||
+ | 目前, JFox MVC仅支持将jsp作为模板使用. | ||
+ | |||
+ | 在JFox MVC中, Action可以使用@EJB来注入EJB,@Resource从JNDI中注入资源,和在EJB中使用完全一样,这大大简化了Action对EJB容器资源的访问。 | ||
+ | |||
+ | 可以说,JFox MVC is EJB3 ready! | ||
+ | |||
+ | [[category:huihoo]] | ||
+ | [[category:java]] | ||
+ | [[category:JFox]] |
2015年12月14日 (一) 06:24的最后版本
JFox 3 = 基于IoC的微内核 + Java EE 容器 + MVC框架
我们将JFox 3定位为轻量的 Application Server + 集成的 Application Framework,来支持快速开发
JFox 自己的 Framework 将紧密耦合在 JFox AS 上的,但是用户也可以选择其它的 Framework,没有任何问题
我们在加入了一些 OSGi 的思想在 JFox 3 里面, 如果今后有 OSGi 的要求,我们可以考虑集成一个开源的OSGi 实现来解决这个问题. Apache Felix是个选择方案, JOnAS 5 也采用Apache Felix作为其OSGi的基础
我们这次将给用户提供一个一揽子解决方案,应用很贴近他们的真实需求, 而且会比 Spring + JSF/Struts/Shale + Hibernate 更好用,更好管理
此外, 我们重新构建了 Petstore, 通过一个更加完善的 Petstore 来演示基于 JFox 3 的应用
目录 |
[编辑] 特性
JFox 3.0在以前版本的基础上进行较大的重构和改进,在尽可能兼容EJB 3规范的同时,保持JFox一直以来坚持轻量、简单、高效、实用的目标。
- 1.重新设计的 IoC 微内核,融入 OSGi 模块化思想
- 2.设计成嵌入式架构,能够和任何 Java Web Server集成部署
- 3.支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件
- 4.支持EJB发布成Web Service
- 5.采用JOTM(http://jotm.objectweb.org/)提供事务处理,支持两阶段提交(2PC)
- 6.采用 XAPool(http://forge.objectweb.org/projects/xapool/) 提供 XA DataSource,支持智能连接池管理
- 7.内置 MVC 框架,实现自动Form Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB
- 8.支持多应用模块部署,让中大型应用充分享受模块化开发的带来的优势
- 9.提供 Manager 管理模块,可以查看和管理各种运行时参数
- 10.提供根据 JFox 特色重写的 Petstore 应用模块
[编辑] 标准
JFox 3支持标准如下:
- 支持EJB 规范 3.0
- 支持 JPA 规范 1.0
- 支持JMS 规范1.1
- 支持JNDI 规范1.2
- 支持JDBC规范3.0
- 支持JTA规范1.1
- 支持Servlet规范2.5
- 支持JSP规范2.1
[编辑] 架构
JFox 包含了3个部分:
[编辑] 基于IoC的微内核
包含在 org.jfox.framework 中, 包含了三个重要的概念: Framework、Module 、Component
- Framework用来负责启动以及停止内核,同时它也管理整个微内核的资源,以及负责出发和传递事件。
- Module是模块,一个模块用来完成一个领域的问题,模块拥有封闭性,通过发布接口和其它模块进行交互,模块有自己个独立的ClassLoader,类加载器的加载路径为:conf, classes,WEB-INF/classes,lib,WEB-INF/lib。Framework会根据web.xml中的MODULES_DIR配置加载多个模块,Framework将本身也加载为一个模块,模块名为__SYSTEM_MODULE__。我们可以将一个应用模块做一个Module发布到JFox应用服务器中。
- Component 即为一个组件,用来实现一个特定的功能,组件被实现为Java类,它们都从org.jfox.frameowkr.component.Component继承而来,组件总是被加载在一个模块中。
尤其要注意 Module 和 Component的区别
[编辑] Java EE容器
JFox 3提供支持EJB3和JPA组件的Java EE容器,包括服务组件有:JNDI,EJB Container,JTA Transaction Manager,JMS Message Service,JPA Container,DataSource。
[编辑] MVC框架
JFox 提供MVC框架,它直接建立在JFox 微内核之上, 有了MVC,JFox应用服务器为企业应用开发提供了IoC + MVC + O/R Mapping + EJB3的整套开发平台,以满足企业开发对快速化、模块化的需要。
JFox MVC使用模板引擎(Apache Velocity/FreeMarker)来输出HTML
目前, JFox MVC仅支持将jsp作为模板使用.
在JFox MVC中, Action可以使用@EJB来注入EJB,@Resource从JNDI中注入资源,和在EJB中使用完全一样,这大大简化了Action对EJB容器资源的访问。
可以说,JFox MVC is EJB3 ready!