专家访谈: Chris Gerken 谈模型驱动的开发

来源:互联网 发布:php判断是否为小数 编辑:程序博客网 时间:2024/06/04 18:06

 引言

WebSphere 咨询师 Chris Gerken 回答了有关模型驱动的开发(Model-Driven Development,MDD)的问题,以及如何创作并使用可执行模式、Java™ Emitter Templates (JET) 和 Design Pattern Toolkit (DPTK) 来生成应用程序源代码。MDD 转换现在被用作可执行模式。它们自动执行约定、最佳实践和指导方针的一致应用。现在,Eclipse 和 RSA 中的重要新功能允许您轻松创作这些模式来生成应用程序源代码(Java、COBOL、JSP、XML、属性文件,等等)。

问:给定一个统一建模语言(United Modeling Language,UML)活动模型,如何创建一个插件来执行模型到模型转换(UML2 到 DSL Ecore),并通过 Java Emitter Templates (JET) 使用该模型中的信息来生成代码,但是必须无缝并以编程方式完成?

答:一般情况下,您应该使用中间相遇 (meet-in-the-middle) 方法。首先构建出您的 JET 转换(如果您仍在使用 Rational Software Architect (RSA) V6.x,则使用 alphaWorks® 推出的 Design Pattern Toolkit (DPTK))。输入模型已经过优化,使得模板中的模型访问变得非常简单。

在编写模型到文本转换之后,您可以编写一个 RSA 转换,用于导航您的 UML 模型并构建一个与 JET 转换所需的输入模型类似的内部模型。RSA 转换中的最后一个规则将组合的内部模型转换为可由 JET 转换容易地使用的格式(XML 字符串或 EMF 内存中的模型),以便以编程方式调用 JET(或 DPTK)。

问:什么是范例,它如何帮助我构建模型到文本转换?

答:范例是您希望您的模型到文本转换所生成结果的代表性示例。它由 RSA 中的范例创作工具使用,并用于快速提取输入模型模式和模型到文本模板。范例创作期间的假设在于,该范例是按照所有适用的最佳实践、指导方针、约定等等来编写的。它演示了该转换所要支持的所有可变点。尽管起初可能觉察不到,但是通过构建并验证一个范例,然后使用它作为转换创作过程的输入,您将会节省大量的时间。

问:何时应该使用 DPTK 而不是 JET 来编写模型到文本转换?

答:如果您计划在 Eclipse 3.2、Rational Application Developer (RAD) V7 或 Rational Software Architect V7 上运行转换,则使用 JET。对于早期版本的 RSA、RAD 或 Eclipse,则使用 DPTK。

问:我想使用部署描述符 (web.xml) 作为 JET 转换的输入模型,但是我还需要一些无法加入部署描述符的其他数据。如何才能做到呢?

答:您可以将附加信息放到第二个 XML 文件中。您的转换将采用两个文件之一作为其主要输入,并将使用内容标记来将第二个文件读取、分析和加载到内存中。在从两个文件加载两个模型之后,您可以执行任何必要的模板处理来生成您的文件。

。。。。。。

                                                                                                                      点击此处查看全文 

原创粉丝点击