速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 2013-01-18
  • 本文字数:839 字

    阅读完需:约 3 分钟

近日,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 可扩展且可定制。开发团队可以选择不同的视图、对象存储、安全机制、分析存储与编程模型。可用的视图有 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

2013-01-18 03:0610383
用户头像

发布了 88 篇内容, 共 263.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

极客时间架构训练营作业-模块一

张建闯

架构实战营

企业如何应对开源软件供应链安全问题?

安势信息

开源 开源安全 软件供应链安全 开源安全与治理 清源CleanSource SCA

Python:灵活的开发环境

eng八戒

Python Python自动化办公

架构实战营-模块1作业

小圆

实时数据赋能制造业产能升级:详解半导体和汽车制造行业最佳实践(活动报名)

tapdata

制造业 数据集成 汽车制造 实时数据 半导体行业

自制操作系统番外:编程语言中变量是如何存储的

编程语言

为什么FDA和MITRE也提及SBOM ? - 解读《医疗器械网络安全区域事件准备和响应手册》

安势信息

网络安全 SCA工具 SBOM 医疗器械 安势信息

再突破!MatrixDB 在 PostgreSQL 领域获双重大奖!

YMatrix 超融合数据库

数据库 postgresql 超融合数据库 YMatrix

bat脚本常用命令及测试

@下一站

软件开发 BAT 12月日更 12月月更

Camtasia2023录屏和剪辑合一的软件

茶色酒

Camtasia2023

AngularJS进阶(二十)HTML5实现获取地理位置信息并定位功能

No Silver Bullet

H5 AngularJS 12月月更 地理位置

编码开发如何开展API安全实现

穿过生命散发芬芳

12月月更

架构训练营模块1作业

附加信息

架构训练营

AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能

No Silver Bullet

定位 百度地图 AngularJS 12月月更

Centos7.x部署K8S集群 (基于containerd 运行时)

蜗牛也是牛

Golong Context package

陈庆宗

Context #go

DevOps真死了?平台工程真有用?

agnostic

DevOps 平台工程

深入理解PKI

俞凡

架构 网络安全 网络

【愚公系列】2022年12月 微信小程序-Behavior

愚公搬代码

12月月更

足球比赛中的数据科学

CnosDB

数据库 时序数据库 开源社区 CnosDB infra

iMazing2023全新版下载安装使用介绍

茶色酒

imazing2023

Camtasia Studio2023软件和谐版录制电脑屏幕软件

茶色酒

Camtasia Studio2023

深刻理解JAVA并发中的有序性问题和解决之道

JAVA旭阳

Java Java并发

Flink on Yarn三部曲之三:提交Flink任务

程序员欣宸

flink YARN 12月月更

【愚公系列】2022年12月 微信小程序-组件模板和组件样式

愚公搬代码

12月月更

MySQL锁,锁的到底是什么?

蝉沐风

MySQL innodb MVCC

Flutter — 仅用三个步骤就能帮你把文本变得炫酷!

编程的平行世界

flutter android

MongoDB源码学习:catalog与storage

云里有只猫

mongodb 源码刨析

架构实战营模块一作业

张Dave

2022-12-04:给定一个由 ‘[‘ ,‘]‘,‘(‘,‘)’ 组成的字符串, 请问最少插入多少个括号就能使这个字符串的所有括号左右配对, 例如当前串是 “([[])“,那么插入一个‘]‘即可满足

福大大架构师每日一题

算法 rust 福大大

AngularJS进阶(十七)在AngularJS应用中集成微信认证授权遇到的坑

No Silver Bullet

AngularJS 12月月更 微信认证授权

Apache Isis:领域驱动设计的Java框架_Java_Bienvenido David_InfoQ精选文章