- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML模型到N层Web模型的模型驱动转换.doc
UML模型到N层Web模型的模型驱动转换
摘 要:模型驱动架构(MDA)是由对象管理组织(OMG)提出的应用模型技术进行软件开发的方法和标准体系,其核心理念是平台无关模型建模和平台特定模型转换。通过编程实现基于元对象机制2.0(MOF2.0)查询/视图/转换(QVT)标准定义开发的框架,该框架可以将元模型转换为特定N层应用程序类,实现主要程序功能,从而大大提高开发效率。验证了通过编程实现模型驱动转换的灵活性和功能实现的多样性,包括XML文件对模型规范的描述以及生成代码的完整性。
关键词:模型驱动构架;建模;N层结构;转换规则;元模型的转换
0 引言
模型驱动架构(Model Driven Architecture MDA,MDA)是由对象管理组织(Object Management Group,OMG)提出的一个开放的、中立于软件供应商的开发架构。MDA广泛地支持不同的应用领域和技术平台, 成为应用领域和具体技术平台之间的杠杆,其目的是为了解决以下三个问题:1)用建模替代以代码为中心的软件开发方法;2)解决不同平台、不同技术路线之间的集成和互操作问题;3)解决新技术和新平台的适应性。MDA具有高效的实现系统集成和互操作、解决遗留系统问题、适应业务逻辑的快速变更以及缩短开发周期等优点。MDA的理念是将业务分析与业务实现分离,将软件开发人员的关注点转移到业务领域和业务建模。
本文的重点是编程实现一个典型源元模型转换到N层应用程序目标模型,通过目标模型直接实现应用程序的主要功能。期间将通过建模和元对象机制2.0(MetaObject Facility 2.0, MOF2.0)查询/ 视图/ 转换(QueryViewTransformation, QVT )介绍几种转换规则,以及可以用来产生目标应用程序所需的代码。
1 N层架构
N层架构为开发人员创建灵活的、可重复使用的应用程序提供了一个模型,并为一些企业的业务连续性提供了至关重要的优势。N层架构的典型特征包括安全性、可用性、可扩展性、可管理性、易维护和数据抽象。因此,本文将采用一个标准N层应用程序架构作为实验对象。
本文使用图1所示架构模式,包括表示层、业务层、数据访问层和数据库/数据存储。
1.1 MVC2模式的表示层
近几年,实现MVC2模式的框架推出了很多,包括Struts、PureMVC、Gwittir、SpringMVC、Zend、ASP.NET MVC2等。目前Struts仍然是最成熟的解决方案,赢得了大多数开发商的信任,因此在本文采用Struts建模。
1.2 数据传输对象和依赖注入模式的业务层
业务层是表示层和数据访问层之间的抽象部分,以避免两层直接的紧耦合,并隐藏了表示层处理业务的复杂性。业务层会执行所有业务处理要求,其功能的实现是通过运行数据传输对象(Data Transfer Object,DTO)模式和依赖注入(Dependency Injection,DI)模式的服务,以确保对象之间的一个解耦合。DI可以减少组件之间的耦合,同时也避免了重复创建样板工厂代码。
1.3 数据访问对象模式的持久层
数据访问层是连接数据库的接口,实现对数据库的创建、检索、更新和删除等操作。数据访问对象(Data Access Object,DAO)模式用在应用程序中抽象固定的细节内容,其优点是可以改变持续机制,而不影响逻辑域。本文将采用Java社区最常用的DAO模式Hibernate。
2 MDA模型改造
MDA建立了通用信息模型(Common Information Model,CIM)、平台无关模型(Platform Independent Model,PIM)和平台相关模型(Platform Specific Model,PSM)模型直接转换的可追溯机制。MDA模型转换本质上是CIM转换到PIM和PIM转换到PSM。本文将致力于把PIM到PSM的转型应用到N层Web应用程序。
2.1 建模方法
模型转换通常有三种方法:编程、模板和建模。建模是本文用到的方法,包括了模型驱动和模型转换的概念。目标是建立一个长期和富有成效的转换模型,并独立于执行平台。建模的优点是转换规则是双向的,可以保持同步、一致性和模型的逆向工程。
图2阐明了建模的方法。模型转换的依据是根据MOF2.0QVT元模型定义的模型结构,MOF2.0 QVT元模型体现了一些在源模型和目标元模型转换之间相匹配的结构,该模型是一种可重复和有效的模型,它的转换必须在一个执行平台上完成。
2.2 MOF 2.0 QVT
模型转换是MDA的核心,MOF2.0 QVT是这些模型变化的标准。该标准定
文档评论(0)