RSA(IBM Rational Software Architect)是IBM Rational软件家族中的用于建模和开发的软件产品,本文结合WebSphere Application Server 6.0中实现的ESB组件SIBus,深入分析了如何利用RSA的模型转换功能实现从SIBus模型到Jacl运行脚本的转换的方法。
IBM Rational Software Architect(RSA)是IBM Rational新一代的建模和开发工具,它构建在开放的、可扩展的Eclipse3.0平台之上,集成了UML2.0和MDA技术,实现了多种行业的最新标准,提供了灵活的插件扩展机制。众所周知,UML2.0和MDA技术的应用,可以有效地解决传统软件开发过程中的生产效率问题、系统移植问题、互操作问题以及文档和系统后期的维护问题。而实现MDA的关键则是通过建立转换(Transformation)机制,实现模型到模型、模型到代码的转换。
为了支持模型驱动开发过程中各种模型之间的转换,RSA提供了一个功能强大、易于扩展的模型转换框架(Model Transformation Framework),该框架是一个基于规则的执行引擎,基于该框架,模型转换的开发者只需定义一系列转换规则即可,模型转换框架会负责加载执行规则,并提供统一的模型转换配置管理。该框架基于Eclipse 3.0和Eclipse Model Framework(EMF)、UML2、Graphical Editing Framework(GEF)和插件开发环境(PDE),支持标准设计(比如统一建模语言,UML )的模型构建,提供了从UML到Java、UML到C++、UML到EJB的模型转化,为模型驱动软件开发(MDA)提供了强大的工具支持。
本文就是基于RSA提供的模型转换功能,从实现角度说明如何从ESB模型转化为可部署、可执行的Jacl脚本。接下来让我们来看看什么是Jacl语言以及如何在WebSphere中通过脚本管理编制程序(wsadmin)调用Jacl脚本文件的。
Jacl(Java Command Language)是Tcl(Tool Command Language)脚本语言为适应Java环境的一个版本实现。Tcl是由Sun(by John Ousterhout)开发的一个非常优秀的编程语言。作为一种嵌入式脚本语言,Tcl的设计初衷是为了支持快速地开发在x 窗口系统下运行的应用程序。然而,Tcl的灵活性、易用性使得它被引入到几乎所有的操作系统中。Jacl 作为Tcl的Java实现,完全支持JAVA,其内核解释器完全用Java语言编写,可以运行在任何Java虚拟机上,可以完全访问Java API。Jacl使得Tcl可以作为Java 应用的脚本语言,帮助用户更快速、更容易地生成用户图形界面的Java程序。
Jacl通过引用一个Java Package的组件提供Java和Tcl的接口,使得Tcl脚本具有如下能力:
- 创建Java类的实例;
- 调用Java对象和类的方法(包括静态和非静态方法)
- 访问公共域和Java对象;
- 确定一个对象的所属类及其在整个Java类树中的位置;
- 从类的路径加载类;
- 从字节流定义新类;
另外,Jacl还支持Tcl脚本访问JavaBeans的方法、属性和事件的能力。它允许Tcl脚本创建JavaBeans,调用JavaBeans的方法,获取和设置JavaBeans的属性。此外,它还提供了Bean事件异常处理的支持。这些Bean事件被暴露给Tcl,可以在Tcl中通过绑定Tcl代码到事件上处理事件异常。
对于Tcl编程者,Jacl提供了一个独立于平台的Tcl的实现。这意味着在Java运行的地方,Tcl都可以运行。另外一个好处是,Jacl具有丰富的Java API的支持。关于Jacl的语法,详见http://tclJava.sourceforge.net/docs/website/index.html。
文章来源于领测软件测试网 https://www.ltesting.net/