论文部分内容阅读
为了简化异构环境下分布式应用的集成和互操作,自上世纪90年代开始,工业界先后出现了许多功能强大的中间件产品,具有代表性的包括CORBA、EJB、.NET等。这些基于不同实现技术的中间件产品各有所长、互不兼容,难以形成一个统一的标准。于是如何对基于不同中间件平台的系统实现集成和互操作成为一个新的问题。OMG(Obiect Management Group,对象管理组织)提出的模型驱动体系结构(Model Driven Architecture,MDA)开辟了解决这一问题的途径。
MDA是一种新的软件开发框架。MDA的核心思想是以模型为中心,用模型来描述待开发的系统,模型可以从不同的抽象层次来描述系统,每个模型着重于特定的方面(aspect)或者视点(viewpoint)[1]。遵循MDA方法开发出的模型是形式化的,它们使用复杂的建模工具开发,高度详细[9]。MDA把关注的焦点放在应用系统的功能和行为,而不关注应用系统采用何种实现技术。MDA的目标是在UML(Unified Modeling Language,统一建模语言)的基础之上构建更高抽象层次的机器可读的开发模型,它支持模型的可视化、存储和交换,并进行模型之间的转换,最终生成可执行程序。也就是说,把建模语言当作编程语言来使用,而不只是当作设计语言,用建模语言编程可以提高生产率,改善质量,并使软件产品的生存周期更长。
MDA中两个核心的概念是PIM(Platform Independent Model,平台无关模型)和PSM(Platform Specific Model,平台相关模型)。PIM描述了除去技术细节的系统功能和结构,是从平台无关的角度得到的系统视图。PSM描述了系统功能在特定平台上的实现,是从平台相关角度得到的系统视图。MDA工具所要做的核心工作就是实现模型之间以及模型和代码之间的自动转换。
我们研究的工具组合的主要功能是实现从用EDOC[17]](Enterprise Distributed Object Computing,企业分布式对象计算)描述的PIM模型到被选作PSM的J2EE平台应用之间的自动模型转换。EDOC是OMG制订的、和具体平台无关的、适用于企业分布式系统建模的标准。J2EE的推出旨在简化和规范多层分布式企业应用系统的开发和部署。我们的工具组合分为三个模块。第一个模块是实体定义模块,实现从EDOC ER模型到关系数据库和EJBEntityBean的模型转换。第二个模块是业务逻辑定义模块,实现EDOC业务过程模型(Business Process Model,BPM)和UML状态机图到EJBSessionBean和Web模型的转换。我的工具作为第三个模块,实现了Web模块中HTML表格的自动生成。
本文主要介绍了其中的第三个模块的设计思想和实现工具。该工具可以根据实体定义模块提供的相关信息,由用户通过所见即所得的方式来编辑HTML表格,并且这个表格中显示的数据是动态的。用户首先编辑HTML表格结构,然后基于实体定义模块提供的相关信息来定义表格中各个单元格的值,表格定义完成之后,就可以自动生成用户需要的HTML表格了。这个工具和我们研究的其它两个工具协同使用,可以高效地生成J2EE平台上的应用程序。