SOA-MDK:面向服务的系统开发方法开发套件
立即解锁
发布时间: 2025-08-22 02:10:20 阅读量: 1 订阅数: 6 


网络社会的新方法与实践:信息系统开发进展
### SOA-MDK:面向服务的系统开发方法开发套件
在当今的软件开发领域,面向服务的架构(SOA)正逐渐成为应用设计的主流趋势。然而,目前针对SOA的方法论支持却相对匮乏。本文将介绍一种基于组件开发和参考模型的SOA方法论,旨在为SOA系统开发提供有效的方法和技术支持。
#### 1. 背景
当前,无论是新的应用开发、现有IT软件资产的释放还是系统集成,都在朝着所谓的面向服务的架构(SOA)方向发展。企业系统在很多情况下已经实现了一定程度的技术集成,但尚未充分实现业务流程无缝支持所带来的全面业务集成的好处。随着SOA原则的发展,以业务流程建模为导向的新系统开发和应用集成正逐渐成为可能。
SOA是一项具有颠覆性的技术,它为重新思考系统的创建和演进方式提供了机会。然而,目前SOA仍然缺乏足够的方法论支持。现有文献大多集中在技术问题和软件开发实践上,在SOA软件生命周期的早期阶段,特别是针对SOA的系统分析以及使用基于模型的方法进行服务的识别和规范方面,投入的精力较少。
#### 2. 案例研究
联合信息服务委员会(JISC)和澳大利亚教育、科学与培训部(DEST)发起了一项倡议,旨在为教育和研究领域的多个领域(包括课程验证)构建一种通用的面向服务的架构方法。课程验证过程是高等教育机构(HEIs)内部以及HEIs与其他机构之间最重要的业务流程之一。该过程的直接输出是新课程的开设和现有课程的延续。验证过程中的活动以知识为中心且具有协作性,每个过程实例通常关注不同的学科领域,因此需要不同的知识库和专家来支持。
在本研究中,COVARM项目的目的是使用SOA定义和实现课程验证业务流程。通过案例研究方法,对四个机构进行了系统分析。构建并评估了可视化模型,并开发了一种将每个机构的模型综合成单个规范模型的方法。这些模型被用作软件开发和实现阶段的输入,以开发一组软件服务,从而实现部分业务流程的自动化。
#### 3. 面向服务的规范和实现方法
SOA的方法论基于两个关键概念结构或框架:基于组件的开发和参考模型。
##### 3.1 基于组件的开发方法
基于组件的方法和技术因对组件参考模型的深入理解而蓬勃发展。早期的基于组件的开发工作之一是德州仪器(Texas Instruments)为当时的IEF™应用开发工具集制定的战略发展路线图。IEF是模型驱动架构的早期示例,它支持模型转换和生成。为了支持工具集的增强和相应的方法论,任何重大的新开发都需要开发元模型。因此,作为IEF组件增强的一部分,还产生了基于组件的开发(CBD)概念模型。
本文认为,基于组件的开发和面向服务的系统开发方法在概念上具有相似性。这种概念上的相似性已被先前的研究所识别。CBD的概念模型在各种CBD方法中得到了阐述,总体模型在Crnkovic等人的研究中得到了简洁的总结。以下是组件和服务概念的映射表:
| 组件概念 | 详细信息 | 服务概念 |
| --- | --- | --- |
| 组件规范 | 组件的独立于实现的视图 | WSDL包中定义的服务 |
| 接口 | 接口支持的一组相关操作 | WSDL包中的服务 |
| 接口类型模型 | 表示接口需要记住的信息的类型集合,用于指定参数数据类型和形成操作的前后规范对的词汇 | WSDL规范中包含的数据类型 |
| 操作 | 接口提供的离散功能 | 操作(端口类型) |
| 前后规范对 | 操作的声明性规范元素,用于说明接口信息模型的操作前后状态 | 无 - 缺失概念 |
| 打包组件(实现 - 代码、编译组件、模块、部署描述符) | 已实现组件/服务的更高级抽象,包括实现组件的代码、编译的目标代码、构成多个编译文件的包、部署描述符和可在平台上部署的组件可执行文件 | 服务规范外部,WSDL文件仅包含位置信息和部署协议 |
需要注意的是,组件规范还可以包括操作的语义规范(即操作的前后声明),而在服务规范中没有等效的概念。此外,一个组件在概念上可以支持多个接口,而一个服务在WSDL 1.1中只有一个接口。
##### 3.2 参考模型
参考模型为方法论提供了上下文框架。对现有一些参考模型(如工作流、主题地图和可共享电子学习内容)的研究表明,它们存在一些共同的主题。这些主题包括定义通用术语、定义规范扩展的框架、定义领域的总体结构以及关注互操作性和标准化。
在软件工程领域,参考模型精确地指定了与其他系统的外部接口的逻辑结构,以便能够高效地实现,同时有意独立于任何特定的实现。接口结构的规范化将鼓励开发符合特定参考模型的软件工具。因此,参考模型将为特定领域(且对互操作性有特定要求)的系统实现提供有力的指导。
形式化地说,“参考模型基于少量统一的概念,是关键概念、它们之间的关系以及它们与外部环境的接口的抽象。参考模型可作为
0
0
复制全文
相关推荐








