这篇文章描述了如何利用 IBM® Rational® Software Architect
从一个 UML 数据模型中产生直接能用的 Web 页面。产生的这个 Web 站点为预先定义的数据模型提供了创建、读取、更新,以及删除(CRUD)功能。它可以用来为您的应用软件产生简单的数据管理屏幕界面,这样就您能够使您关注更加复杂,高价值的开发。
在这篇文章中,我描述了如何转换工作以及当前的局限性。然后我浏览了一个采用数据的 UML 模型的案例,给它标记,生成,以及测试作为结果的
Web 页面。
让我们以对转换内容的概述开始:它简单地采用了 UML 模型中的一个被标记类,然后链接到页面,从而创建和更新以及删除具体的条目(请看图
1)。
图 1. 从 UML 表格到 Web 页面
如果 Class A 被塑造为相关的 Class B,那么它将为 A 在 Details 页面上显示与 B 相关的条目列表(图
2),因此就可以在这个数据库中进行导航。
图 2. 从 UML 的关系到 Web 页面
这个转换可以利用一个意义重大的数据模型为数据更新和管理产生一个正常运作的站点。产生的这个 Web 页面将需求额外的手工工作,因为它们需要假装更新来与您组织的
UI 指导方针相匹配。或者这个转换能够在默认情况下像实际一样进行足够多的更新。
局限性
目前转换有几种局限性:
- 它仅仅支持 Java™ Server Faces 和 Service Data Objects (SDO)
构架。
- 它仅仅支持 IBM® DB2®数据库(您将需要安装 DB2 来按照这篇文章中接下来的步骤进行)。
- 它不支持联接操作(尽管这可以通过使用视图来实现)
既然您知道了更多关于转换所支持的以及不支持的条件,这时就应该安装它并使用在案例中。
UML 到 JSF/SDO 转换的安装是非常直接的。
- 下载 RAS 文件(下载)
,从而在您的硬件驱动上定位。
- 启动 IBM Rational Software Architect,并选择 File > Import。
- 选择 RAS > RAS Asset,并点击 Next。
- 浏览这个下载的 RAS 文件,点击 OK,回应关于安装一个特征或者插件的警告信息。
- 点击 Next。
- 选择这个特性,接受许可协议,然后点击 Finish。
- 点击 Import Results 对话框中的 OK,它显示这个导入很成功,但是并没有激活这个会话。
- 当提示时,重新激活这个插件。
现在转到 Modeling 透视图,并导航到 Modeling >Transform >New
Configuration,从而确认您已经将 UML 到 JSF/SDO 的转换置于 IBM Rational Web
Transformation 之下了。
现在您已经准备好完成这个模型案例了。
导入这个案例模型
这个项目像存档文件一样被包含在文献插件中。
- 选择 File > Import,然后选择 General > Existing projects
Into workspace。
- 点击 Next,然后选择 Archive File > Browse,并浏览到
C:\Program Files\IBM\SDP70\plugins地。
- 打开 com.ibm.uk.transformations.umltojsfsdo.doc 文件夹,选择com.ibm.uk.transformations.umltojsfsdo.example.zip文件。
- 选 Open,然后点击 Finish。
在 Project Explorer 中,您现在应该已经拥有一个项目叫作:
com.ibm.uk.transformation.umltojsfsdo.example
打开这个模型
- 继续到 Modelling透视图。
- 打开这个叫作 STORE_SCHEMA.emx 的模型(不要打开一个应用概要文件的模型,因为它已经被标记了)。
- 打开 Overview 图标(图 3)。
- 评审这个模型。
图 3. 图表概观
应用这个概要文件
- 选择 STORE_SCHEMA 模型 ,并导航到 Properties 页面的 Profiles
标签。
- 选择 Add Profile,并从部署的概要文件列表(图 4)中选择 CRUD_JSF_pages
概要文件。
图 4. 带有应用概要文件的 Properties 标签
创建这个数据库
这个模型必须包含这个数据库的抽象性。
- 选择这个模型,右键点击,并选择 Add UML > Component。
- 调用
STORE 组件。
- 选择 STORE组件,并在 Properties 视图中导航到 Stereotype 标签,选择
Apply stereotype,并选择 DB( 图 5)。
图 5. 组件原型选择
- 现在,仍然在 Properties 中,去到 Advanced 标签,在 DB 之下,在 Value 栏中设置
databaseUser 为
db2admin 。
图 6. 组件属性
创建这个模式
- 选择 STORE_SCHEMA 模型。
- 在 Properties 视图中,通过选择 Stereotypes 标签,然后选择 Apply Stereotype
> Schema 来运用这个
Schema 。
标记这个 key gen 表格
这个 key gen 表格 就是用来在插入物上产生最主要密钥的表格。
- 在 Project Explorer 中打开 KEYGEN 表格,选择 SETCOL 属性,并应用
PK 原型。
图 7. Project Explorer
标记这些表格
要标记这些表格,您需要给它们原型,标记它们外来的密钥,并且使它们的 key gen 表格调整到 KEYGEN。
- 首先,应用
TableWithCRUDJSFPages 原型到这些中:
- ORDER
- PRODUCT
- SALE
- INVENTORY
- STORE
- 然后选择 ORDER、PRODUCT、SALE、INVENTORY,以及
STORE,并到 Properties页面的 Advanced 标签,然后在 TableWithCRUDJSFPages
下的 uniqueKeyTable 区域键入
KEYGEN 。
- 添加
PK 原型到下面的栏中:
- INVENTORY.ID
- ORDER.ORDER_ID
- PRODUCT.CODE
- SALE.SALE_ID
- STORE.STORE_ID
- 最后,这个产品表格将被来自 ORDER、INVENTORY 以及 SALE 中的下拉列表所引用。要显示描述,而不是代码,您需要为
Description 栏原型。运用
Display 原型到 PRODUCT.DESCRIPTION
中。
在 Project Explorer 中,完成的模式看起来应该与图 8 所显示的一样。
图 8. Project Explorer 中完成的模型
正确地命名外键
最后一步是确保外键能为相互关系适当地定义。
- 打开 概述 图标标签。依次选择每个成份关系,并在成份终端设定角色地名称为
STORE_ID 。当您完成之后,在
Project Explorer 中,您现在应该看到一个 STORE_ID 栏在 INVENTORY、ORDER,以及
SALE 表格上。
- 依次选择每个关系为 PRODUCT 表格,并为产品角色重新命名为
PRODUCT_CODE 。一旦完成您就可以再次看到一个
PRODUCT_CODE 属性在 SALE、INVENTORY,以及 ORDER 上。
- 这个模型现在看起来应该与图 9显示的一样。
图 9. 最后标记的模型
要完成这个设置,您需要创建这个数据库,配置并运行这个转换,然后测试产生的构件。
创建这个数据库
- 开始 DB2 Control Center,并创建一个新的数据库叫作
STORE 。
- 然后选择这个数据库之下的 Schema 文件夹,并选择 创建新模式。
- 提供
STORE_SCHEMA 以及授权的 db2admin 的名称。
- 在 Rational Software Architect 中,转换到 Data 透视图。
- 在 Database Explorer 中,创建一个到 STORE 数据库的链接,并称它为
STORE 。
- 在 Data Project Explorer 中 ,打开这个 ibm.uk.transformations.umltojsfsdo.example
项目,并从 SQL ScriptsScripts 文件夹中选择createDatabase.sql。
- 右键点击,并选择 Run SQL。选择使用一个现存的链接,并选择先前创建的存储链接。
- 如果需要,重新链接,并点击 Finish。
- 在 Data Project Explorer 中,选择 insertData.sql,右键点击,并选择
Run SQL。选择使用一个现存的链接,选择已经创建的 STORE。
- 如果需要的话,重新链接,并点击 Finish。
- 这个数据库现在已经设置好了。您可以验证,通过导航到 Database Explorer 并选择 STORE >
Schemas > STORE_SCHEMA > Tables,它的设置已经 OK 了。
- 选择 STORE,右键点击,然后选择 Data > Sample Contents。
您应该看到三个返回的箭头,如图 10 所示。
图 10. Store 查询的结果
创建一个转换配置
- 返回到 Modeling 透视图,并选择 Modeling > Transform > New Configuration。
- 键入
UML to JSF 作为名称。
- 在 IBM Rational Web Transformation 文件夹中,选择 UML to JSF/SDO
Transformation。
- 然后选择这个案例项目作为转换配置的概要文件的目的地(图 11)。
- 当您已经完成之后,点击 Next。
图 11. 新建 Transformation Configuration 视图
- 选择这个模型作为源,并选择这个案例项目作为目标(图 12)。
图 12. Transformation Source 以及 Target 视图
- 点击 Next。
- 键入将要被创建的项目名称,比如
MyStore ,并点击 Finish。
运行这个转换
- 从先前的步骤中选择转换配置,右键点击,并选择 Transform > UML to JSF/SDO Transformation。
- 这将产生 MyStore Web 和 MyStoreEAR 项目,以及这个数据库中所有需要查看、更新、创建,以及删除数据的
Web 页面。
- 从 MyStore 项目中,打开 Web 站点导航图表。
这个图表应该显示产生的 Web 页面(图 13)。
图 13. Web 站点导航图表
测试产生的构件
- 切换到这个 Web 透视图。
- 启动您的应用软件服务器。
- 将这个 EAR 文件部署到应用软件服务器上。
- 选择这个 store_list.jsp 文件,并选择 Run on server。
描述 |
名字 |
大小 |
下载方法 |
可部署的 RAS 文件 |
umltojsfsdo_v1.0.8.ras |
5024KB |
|
源代码 - Archived Eclipse Projects |
umltojsfsdo_v1.0.8.zip |
10328KB |
|
学习
获得产品和技术
讨论
|