在这个过程中,模型驱动体系结构通过建立不同层次的模型以及模型间的转换来提升软件开发的效率和质量。在面向服务的体系架构下,越来越多的企业内和企业间功能被封装为Web服务,Web服务已成为不同领域间业务过程协同的关键。然而,由于Web服务通常来自不同领域的多个服务提供者,而不同领域的信息和知识又具有分布性和异构性,因此在多领域业务过程协同时,经常会出现理解不一致、知识无法共享以及语义不明确等问题,导致企业间协作程度不高、工作效率低下。服务模型转换可将一种模型映射为另一模型,以实现模型间的互操作。
面向服务的体系结构(service-oriented architecture; SOA)是从软件架构角度来解决异构系统的交互和集成问题,是近期解决方案,而MDA则是OMG在解决异构系统的交互和集成问题上,从软件开发方法学的角度以及长远目标提出的解决方案。虽然考虑问题的角度不同,但是SOA与MDA殊途同归,都是为了解决异构系统的交互和集成问题。二者结合的优点在于,通过MDA的模型抽象,可以用平台无关模型定义业务核心逻辑,对服务进行建模和维护,使得企业业务模型可以独立于中间件技术而存在。将SOA与MDA结合起来,使用模型驱动的思想指导服务的开发,在解决异构系统问题上将产生更为完美的解决方案。而服务模型转换是在MDA和SOA的基础上发展起来的,是通过模型驱动的方式来构建系统的一种方法。模型驱动是通过一系列的建模标准为异构的各方提供与实现方案无关的模型设计规范,它让人们在系统设计阶段就对需求的系统有全面的认识,再经过模型间的自动转换得到用户需求的系统。服务模型驱动体系架构定义了系统建模所需的所有元素,如服务的含义、标识与属性等,有自己的语法和语义。在服务模型驱动的系统设计及开发中,模型的建立通常是由熟悉企业业务的人员来实施的。例如用户需要建立学生成绩管理系统,需要相关的业务人员将学生成绩管理系统进行实际应用分类,再由学生成绩管理系统的建立人员对各个模块进行细分抽象,然后将学生成绩管理系统中存在的服务抽象、建立,最后使用模型转换的方式建立各个层次的模型以及代码的自动生成。
此外,在SOA中融入语义Web的技术会极大地增强应用软件之间的互操作性。这种增强不仅仅局限在同一组织的应用软件内部,同样适用于解决不同组织的软件的互操作性问题。本体论已被广泛地应用于信息与知识的分类和表达,应用领域的本体得到了共享和重用。利用本体对应用领域相关知识进行建模能够有效地支撑信息的语义共享,本体及其形式化规范还能够应用于人一机通信和信息交换,有力地支撑系统的语义集成与互操作。本体模型具有开放、可伸缩地定义和描述语义关联的特性,从而具有随具体问题的语义丰简和智能化程度的需求,开放地表达与构造软件实体的语义行为能力。典型的Web服务本体描述语言包括OWL-S、WSMO、SWSO等。其中,国内一些学者针对复杂业务模型间的语义互操作问题展开深入研究,提出了自主创新的本体元建模理论与方法,发现了互联网上涉众需求元描述的四大基本要素——角色(role)、目标(goal)、流程(process)和服务(service),自主创新了RGPS元模型框架技术,这些极大地促进了服务模型转换以及服务互操作技术的发展。