Apache Isis:领域驱动设计的Java框架

时间:2022-09-17 07:48:08
本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/01/apache-isis-java-domain-driven

近日,Apache发布了Apache Isis,这是个用于快速开发领域驱动应用的Java框架。用户可以将精力放在领域对象的开发上,Apache Isis则负责持久化、安全与用户界面。Apache Isis遵循六边架构模式,将领域模型置于中间位置,而表示、持久化与其他服务都依赖于领域模型。Apache Isis在去年10月成为Apache*项目,其1.0版于去年12月发布。

Apache Isis遵循约定优于配置,开发者会根据一套约定与注解来编写POJO领域对象。接下来,这些对象会被Isis框架解析,框架还会负责展现、安全与持久化。当Web应用或是RESTful API遵循了Restful对象规范时,Apache Isis就可以在运行期生成领域模型的展现。开发团队可以使用自动生成的Web应用与Web服务进行快速原型,甚至是产品部署。

Apache Isis架构

Apache Isis:领域驱动设计的Java框架

Apache Isis可扩展且可定制。开发团队可以选择不同的视图、对象存储、安全机制、分析存储与编程模型。可用的视图有Wicket、RestfulObjects、Scimpi、DnD、HTML、JUnit与BDD Concordion。可用的对象存储有JDO、NoSQL、SQL与XML。安全可以通过文件、Shiro、LDAP或SQL实现。分析可以存储为XML或是数据库中。领域对象(通常使用Java编写)还可以使用Groovy编写,使用Groovy编程模型组件。Isis 1.0带有Isis核心、基于文件的安全、JDO对象存储、Wicket视图与Restful Objects视图。其他组件仍然在孵化器中。

要想上手,请访问Apache Isis Quickstart Archetype页面,你可以通过介绍使用Isis Maven构件创建新的Isis应用。这会生成一个简单的单类领域模型,用于记录待办事项。它还包含了多个Maven POM文件,一个是父POM,一个是领域对象模型,其他的则是不同的组件,如JDO对象存储与Wicket视图。Isis还有一个CheatSheet,用于帮助你回忆该遵循哪些约定或是该使用哪些注解。

要想了解更多信息,请访问官方的Apache Isis文档视频示例教程。源代码位于Isis Apache仓库GitHub上也有镜像。

查看英文原文:Apache Isis: Java Framework for Domain-Driven Design