第 2 章 架构
本章涵盖 JBoss 企业级 BRMS 平台设计的技术方面的内容。我们不要求 BRMS 应用程序的最终用户阅读这些内容。它面向的是集成 JBoss 企业级 BRMS 平台和其他系统的开发人员。
图 2.1 “架构图表” 展示了系统的主要组件以及如何集成和部署。
图 2.1. 架构图表
BRMS 是以 WAR 形式部署的,它提供 web 用户界面并通过 URL 提供二进制软件包。对于数据存储它采用 JSR-170。JBoss Seam 用于组件框架,而 GWT 作为工具微件以用于构建基于 ajax 的 web 用户界面。
2.1. 可重用的组件 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
BRMS 使用一个服务接口来分离 GUI 和后台功能。这里的后台包括资产库以及专用于规则处理的编译器。
主要的接口是
RepositoryService
,它在 ServiceImplementation
里实现。GWT ajax 前端使用 GWT 的异步回调机制和这个接口交互。Seam 的配置文件是 components.xml
。
这个服务接口可以被其他组件或前端重用。
GWT 用户界面可以常用,就像 GWT 是唯一的 HTML 页面:
Guvnor.html
。对于熟悉 GWT 的开发人员,每个功能都可以独立使用。JBRMSFeature
类和实现它的类(理论上也可以是独立的)包含了其他的信息。
2.2. 版本和存储 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
资产的版本和数据一起存储在数据库里。
当创建了快照后,整个软件包的备份将存入 JCR 数据库中独立的位置。
对于属性 JCR 和 jackrabbit 的开发人员,
.cnd
文件在节点类型定义的源码里。软件包是一个文件夹,每个资产都是一个文件:资产可以是文本的也可以拥有二进制附件。