410 likes | 592 Views
WEB 服务关键技术研究与 NU-VAS 系统研制 研 制报告. 南京大学计算机科学与技术系 二○○四年六月. 汇报提纲. 动因 立项 目标 内容 进程 特点 结语. 报告人 杨献春. 一、动因. 国家科技教育发展 “ 十五 ” 重点专项规划 ( 国家需求 ) 新一代高速宽带信息网络 (12大高技术工程之首) 开展 宽带综合业务 的研究和试验及服务 实现 电信网、广播电视网和计算机网的融通 以及 业务的融和 软件产业 (20个重点专项之首) 加快发展网络软件、嵌入式软件、 构件 、信息系统安全软件
E N D
WEB服务关键技术研究与NU-VAS系统研制研制报告 南京大学计算机科学与技术系 二○○四年六月
汇报提纲 • 动因 • 立项 • 目标 • 内容 • 进程 • 特点 • 结语 报告人杨献春
一、动因 • 国家科技教育发展“十五”重点专项规划(国家需求) • 新一代高速宽带信息网络 (12大高技术工程之首) • 开展宽带综合业务的研究和试验及服务 • 实现电信网、广播电视网和计算机网的融通以及业务的融和 • 软件产业 (20个重点专项之首) • 加快发展网络软件、嵌入式软件、构件、信息系统安全软件 • 欧盟第六个研究与技术创新框架计划 (国际前沿) • 通信、计算和软件技术领域的主要研究内容 • 开发新的软件技术、多功能的服务生成环境和工具以控制复杂分布系统,实现智能环境和满足不断增加的应用和服务的需要 • 研究将包括管理、控制和使用完全分布式资源的中间构件技术 • 对多功能的服务生成环境和新组件构架的研究以开发业务功能为目标 (明确了我们可以做什么?)
二、立项 • 选题 • 结合点(我们想做什么?) • 国家需要与国际研究热点的结合 • 支持宽带综合业务的高速信息网络与软件新技术的结合 • 切入点(怎么做?) • 着眼于 “宽带综合业务”和“网络融合” • 基于Web Services分布计算模式 • 结合在Internet软件方法及新型程序设计方面的工作 • 瞄准Web服务生成和自主计算等关键技术 • 应用案例 • Internet/Intranet环境下的海量视听信息事务处理及VOD业务 • 资助 • 省自然科学基金 • Web应用生成与更新技术的研究与应用(BK2002080,2002.7-2004.7) • 国家自然科学基金 • 计算机系统的软件抗衰和自愈技术研究(60273035,2003.1-2005.12)
三、研究目标 • 任务 • 研究和探索Internet程序设计新方法 • 利用这些方法设计出一个适合Web服务生成与更新的结构框架 • 在该框架下进行案例实践 • 特色 • 系统研发突出面向服务(提高开发效率) • 系统维护体现软件更新(延长生命周期) • 系统运行保持软件性能(保持系统活力)
四、研究内容 • 围绕Web服务的生成(提高软件开发效率) • Web服务的构件技术 • 基于Internet构件互操作标准的分层结构框架 • 围绕Web服务的软件更新 • 从软件工程和软件方法的角度,研究融入软件演进理念的软件更新基础理论 • 形式化基础;业务流程建模方法;软件更新途径 • 围绕Web服务的性能保持 • 基于时间度量的软件抗衰与基于构件的软件自愈技术 • 为均衡网络流量而合理提供QoS的区分服务 • 旨在提高视频处理及服务的效能的基于内容的视频检索技术
五、研究进展与研制情况 • 第一部分 • 开放式Web服务生成框架的设计及相关构件技术研究 • 面向Web服务的软件更新和Web应用服务器性能保持的理论与应用技术研究 • 2003.1~2004.5 共撰写相关论文15篇 • 研制报告附录中列有11篇,新增4篇 • 第二部分 • 支持Web服务的案例系统NU-VAS研制 • 案例来源于面向宽带综合业务的海量视听信息管理与服务的需求
5.1 Web服务生成、更新与性能保持的研究 • Web服务服务生成框架设计与构件技术研究 • 开放式的Web服务生成框架 • 分析了Web服务的原理和机制[1] • 基于微软的.NET开发环境所支持的Web服务构件,设计并实现了该框架的全部六层结构 • 该结构框架各部分及其关联满足了Web服务特点 • 总结了面向服务开发的七条原则 • Web服务构件技术及Delegate语言机制 • 研究O-O语言中实现对象动态继承的Delegate机制,并给出了该机制在实际系统中的实现方法[15];探讨了在基于类的O-O语言中扩展Delegate机制的途径以及利用该机制实现构件动态改编的方法 [2] • 提出了一种在构件的多个实现间动态选择的算法及其优化方法[3] [15] 崔琳 许满武等,一种delegate机制的设计和分析,计算机科学,Vol.31 No.5, P.82~85, 2004.5
Web服务生成、更新与性能保持的研究(续) • 面向Web服务的软件更新研究 • 软件更新的形式化基础 • 运用合一和半合一算法[4][5]分别检测类型的一致性与相容性,当新构件接口类型与原构件接口类型匹配或相容时,可保证新构件能适应新计算环境[10] • 业务流程建模的可见性界限分析 • 在对象建模中运用可见性界限工程方法LOVEM[16],有效表达出应用流程的管理和更新所需信息 • 软件更新途径设计 • 依据可见性界限图LOVC,采用目标制导的循环测试方式 • 利用Delegate机制解决构件动态更新问题[2],并探讨了构件动态更新的热交换(Hot swapping)机制,使得对构件以前版本的引用能重定位到新版本上 [16] 陈光浩,再工程研究与应用,南京大学硕士论文,2001.5
Web服务生成、更新与性能保持的研究(续) • Web应用服务器的性能保持(1) • 软件抗衰技术研究 • 设计和实现了一个基于时间度量的软件抗衰原型系统,来考察和体现相关问题的研究[6][7] • 提出了一种基于Agent并适合Web服务特点的软件抗衰方法,并将其应用于NU-VAS系统中[8] • 软件自愈技术研究 • 结合以往对多Agent软件体系结构的研究[9],认识到软件体系结构在自愈中的重要地位 • 提出了一种综合C2和Weaves两种不同的动态体系结构风格的自愈系统构造方法,并在NU-VAS系统的VOD业务子系统中应用了该方法[10]
Web服务生成、更新与性能保持的研究(续) • Web应用服务器的性能保持(2) • Web服务器机群的流媒体传输QoS • 探讨了比例区分服务技术在Web服务中的应用,提出了一种基于比例时延区分的Web服务器机群模型以及两种不同的基于反馈机制的请求派发自适应算法,并在算法的研究中结合机群系统模型和方案给出了一种Delegate请求选择和派发策略[11] • 实验结果表明该两种算法能使Web服务器机群获得较高的QoS性能 • 利用Delegate机制的特性,实现了流媒体传输策略的动态转换[15] • 根据用户请求的特性来动态调节不同级别的QoS
Web服务生成、更新与性能保持的研究(续) • Web应用服务器的性能保持(3) • Web服务器机群的视频服务快速检索技术 • 重点研究了基于关键帧的视频检索中特征描述子的抽取和匹配算法,采用面向对象技术实现了三种特征描述子以及综合三种特征的抽取工具与搜索工具[12] • 构建了一个基于MPEG-7标准的多媒体搜索引擎[13] • 在解析MPEG-7标准参考代码的基础框架—XM实验软件的基础上,给出了按照MPEG-7标准对现有视频音像资源事务管理系统(AVTMS)进行改进的基本思路[14]
本项目相关问题的合作研究 • 国际合作 • 李正,法国巴黎第七大学, Software Rejuvenation From Theory to Practice(硕士论文) • 张雪英,德国波恩大学,专门研究Delegate机制(联合培养博士) • 许满武教授即将去该校合作研究 • 国内合作 • 许满武,南京理工大学等高校,与本项目的部分研究工作结合,将Web服务的关键技术运用于Operational Simulation领域的DIS系统的研发中,在国际学术刊物上发表论文2篇 • [18] Xiangjun Sun, Fengyu Liu, and Manwu Xu, Research on Interoperability of Intelligent Mobile Agent for DIS,Software Engineering Notes, Vol.28 No.6,Nov. 2003 • [19] Xiangjun Sun, Fengyu Liu, Manwu Xu, and Yong Qi, Interoperability Framework of Intelligent Mobile Agent for DIS,International Journal of Engineering Simulation, Vol.5 No.1,March. 2004
5.2 NU-VAS系统的研制 • 工作基础 • 1997年 为南京电视台开发了基于MARC格式的磁带库信息管理系统 • 2000年,受信兴公司委托,开发了面向音像资料管理的JVC DVD 光盘事务处理系统,管理用于电视制作事务的海量多媒体信息 • 2002年起,本项目将上述系统作为Web服务生成等方面研究的实验平台,研制了NU-VAS系统 • 并直接应用于基于Web服务的电视台海量视听信息城域网系统的科技攻关
NU-VAS系统的研制(续) • 除Web服务生成技术外,NU-VAS系统还具有其它特性: • 视听信息管理功能 (包含在多个子系统中) • 采用MPEG-7标准实现基于内容的检索子系统,为快速、方便的检索多媒体信息提供了一种新途径 • 该子系统采用典型的分布式架构,适用于异构网络 • VOD业务功能 • 基于多服务器群的分布式视频服务系统 • 采用通用的中、低端服务器构建,利用高速网络协同工作,通过适当的负载平衡,作为一个整体向客户提供视频服务,性价比高 • 大容量磁盘阵列构成的系统存储设备 • 满足视频播放系统的流媒体对海量存储的需求 • 流媒体传输QoS动态转换 • 利用Delegate机制,在系统中实现了网络通信量、数据存取以及交互性等多个方面的动态转换 • 服务器有一定抗衰和自愈能力 • 软件系统体系结构采用了C2和Weaves相结合的风格,并引入基于排队论模型且以客户与服务器之间带宽、服务请求是否过载、服务器运行状态衰退情况等为约束条件的修复策略
NU-VAS系统的研制(续) • 研制过程(2002年7月—2003年12月) • 系统需求分析 • 系统设计 • 网络建设 • 软件编码 • 联调与集成 • 系统测试
NU-VAS系统的研制(续) • 需求分析 • 依据以往开发、研究经验和现有研究成果 • 结合当前软件技术进展 • 分析网络宽带综合业务需求的特点 • 考察电视台网络建设情况和具体业务流程 • 借鉴相关系统的开发经验与教训 • 明确NU-VAS系统的目标、任务及界限 • 制定项目的实施方案
NU-VAS系统的研制(续) • 系统设计(1) • 设计步骤 • 明确各功能模块 • 细化功能项 • 制定技术路线 • 进行总体设计 • 各子系统分工 • 详细设计
NU-VAS系统的研制(续) • 系统设计(2) • 设计原则 • 系统设计必须与用户需求紧密结合 • 保证系统的实用性和系统风格的统一性 • 各子系统针对自身特点,选用先进、成熟、实用的开发技术 • 确保整个工作在高水准而又切实可行的基础上进行 • 系统设计与开发紧密结合研究思路与现有的研究成果, • 达到案例检验理论的目的,证实研究成果的实用价值与意义,同时保证系统的实用性与先进性相结合 • 系统的设计要具有功能上的特色和技术上的新意 • 使系统的先进性得到保证 • 明确各部分的关键点和难点,在引入成熟技术的同时,对一些难点和待改进的技术进行攻关 • 整个系统的设计开发任务能顺利完成的关键
NU-VAS系统的研制(续) • 开发实施过程 • 数据库建设与存储策略 • 以SQLServer为后台数据库环境 • 数据库设计必须考虑电视制作事务的特点以及光盘库、网络等硬件资源的配置 • 系统数据库包括:信息存储、事务管理、基本配置和字典 • 开发环境的搭建 • 系统的软件开发所需开发工具软件 • 系统运行所需的软硬件资源的购置与设定 • 应用软件设计开发 • 运用分布式对象、软件构件、中间件、MPEG-7、XML和Web服务等技术 • 结合广播电视行业的特点,进行了软件构件模型、Web服务框架、软件更新技术以及性能保持等研究与设计 • 实现一个具有分布式、开放体系结构和可适应更新的系统
NU-VAS系统的研制(续) • 系统功能模块简介(1) • 系统管理子系统 • 用于整个系统的配置、维护、管理等 • 流通信息管理子系统 • 读者管理:对磁带、光盘等资料的借阅用户进行管理 • 入库管理:对磁带、光盘等资料的入库进行管理 • 借还管理:对磁带、光盘等资料的借还情况进行管理 • 出库管理:对磁带、光盘等资料的报废进行管理 • 统计分析:对磁带、光盘等资料的借还情况进行统计显示 • 用户管理子系统 • 管理相关业务部门及人员和(系统的合法用户) • 统计分析子系统 • 给出典型的系统统计数据并以图形显示统计结果。
NU-VAS系统的研制(续) • 系统功能模块简介(2) • DVD光盘库管理子系统 • 分类快速著录:按不同类别提供简易直观的快速著录能力 • 分类快速检索:按不同类别提供简易直观的快速检索能力 • 相关统计分析:给出光盘库使用情况的系统统计数据并以图形显示统计结果 • 系统帮助子系统 • 提供详尽的帮助,方便用户使用系统 • VOD业务子系统
六、系统主要特点 • 跟踪国际上软件方法学的新发展,以进取的技术途径开发软件,针对其中若干难点所在,提出一个完整、实用的研究与实践方案,有理论价值和实际应用前景 • 面向产品→面向服务 • 传统软件方法及软件致力于开发完整的新软件系统 • 本项目针对网络应用特征,探索面向服务的开发途径,并为该途径设计了灵活的开放式框架 • 软件维护→软件演进 • 将传统的软件维护概念发展为软件更新 • 传统的软件注重于性能的保持和故障的排除 • 软件更新则有利于软件的长期使用 • 立足实用,将产生社会经济效益 • NU-VAS系统是将科研新成果转化为应用系统的一次实践,是将实际应用需求与理论研究结合的产物 • 面向海量多媒体信息实现电视制作事务处理,新老标准结合,先进性与实用性结合,便于不同视听信息服务机构之间信息流通,促进了音像行业标准化管理的实施
系统主要特点(续) • 本项目采用多项主流技术,保证了系统的先进性 • 系统采用典型的分布式体系结构 • 融合了.NET、Web服务、中间件、EMPEG-7、XML等多项技术 • 将课题组在开放式Web服务框架和软件更新等方面的理论研究成果引入到实际开发项目中 • 提供快捷、高效的信息服务,在业务流程、用户界面、表现方式上得到用户认同 • 网络、数据库等系统基础设施可靠、完备 • NU-VAS系统运行于内部局域网上的视听事务处理系统 • 采用自主读写构件的发布/订阅,兼顾了数据一致性和存取响应 • 提供了完备的管理能力和翔实准确的信息 • 数据库记录了电视节目制作和播放信息、多媒体信息物理地址和历史借阅使用信息 • 为管理海量多媒体信息实施电视制作事务处理过程、流通过程和相关信息预测提供了科学依据和有效的辅助手段
七、结语:进一步的工作 • 软件方法与应用技术研究 • 软件抗衰和软件自愈 (继续国家自然科学基金项目的研究) • 由基于时间的软件抗衰过渡到基于测量的软件抗衰 (Agent技术) • 深化基于动态软件体系结构的软件自愈技术研究 • 推进基于Delegate的自主计算研究 • 软件更新 • 将研究软件自愈技术中对C2和Weaves体系结构的研究结果运用于软件演进的研究中 • 特定的应用技术 (面向宽带综合业务) • 针对高速与海量的视频服务需求,开展对流量/拥塞控制、QoS、组播技术的应用与研究,包括已有技术的实现和对这些技术的改进性研究,以及对一些特殊要求的技术难点进行攻关 • NU-VAS的产品化和应用 (结合省十五攻关项目) • 面向真实的具体业务需求,扩大和完善NU-VAS功能 • 在与电视台联合研制的城域网海量视听信息系统中,应用NU-VAS的新技术
附录A 研究论文
[1] 陈博 许满武,基于Web的计算模型——Web Service,计算机应用研究,Vol.20 No.1,P41-42,2003.1 • [2] 吕晓炜,支持Delegation的面向对象语言及其应用研究,南京大学硕士论文,2003.6 • [3] 朱广蔚 谭建 杨献春 许满武,在构件的多个实现间动态选择的算法,计算机应用研究,2004.No.9, P19-21,24 • [4] 许满武 陆剑锋 戴静雯 曾凡聪 傅松 杨冬,NUMLS中的多态类型检测,计算机学报,Vol.19 No.7,P548-553,1996.7 • [5] 许满武 潘光睿 周荣国 宋晓梁 刘东升,一阶反合一研究,软件学报,Vol.10 No.7,P766-771,1999.7
[6] 李正,软件恢复:从理论到实践,南京大学硕士论文,2003.6 • [7] 李正 万群丽 许满武,软件恢复技术研究,计算机科学,Vol.30 No.8,P150-155,2003.8 • [8] 万群丽 杨群 李正 许满武,一种基于Agent适用于Web应用的软件抗衰方法,计算机科学,(已录用) • [9] 杨东 陈晨 许满武,多agent软件体系结构模型,软件学报,Vol.8 增刊,P411-415,1997.6 • [10] 万群丽,基于软件体系结构的自愈研究与应用,南京大学硕士论文,2004.5 • [11] 谭建,比例区分服务的研究与应用,南京大学硕士论文,2004.5
[12] 范新华,基于MPEG-7的视频检索,南京大学硕士论文,2004.5 • [13] 范新华 陈宏兵 许满武,构建基于MPEG-7的多媒体搜索引擎,计算机应用研究,(已录用) • [14] 单锦来 陈博 杨献春 许满武,MPEG-7和MPEG-7实验模型参考软件,计算机科学,Vol.30 No.6,P31-37,2003.6 • [15] 崔琳许满武等,一种delelgate机制的设计和分析,计算机科学,Vol.31 No.5,P82-85,2004.5 • [16] 陈光浩,再工程研究与应用,南京大学硕士论文,2001.5 • [17] 谭建 王平涛 许满武,WACDL:一种基于XML的Web应用构件描述定义语言(已投)
[18] Xiangjun Sun, Fengyu Liu, and Manwu Xu, Research on Interoperability of Intelligent Mobile Agent for DIS,Software Engineering Notes, Vol.28 No.6,Nov. 2003 • [19] Xiangjun Sun, Fengyu Liu, Manwu Xu, and Yong Qi, Interoperability Framework of Intelligent Mobile Agent for DIS,International Journal of Engineering Simulation, Vol.5 No.1,March. 2004
附录B 相关概念解释
Web服务? • 是一个崭新的分布式计算模型 • 是一种自包含、自描述、模块化的应用程序,可以在网络中被描述、发布、查找以及调用 • 具有特定的功能,遵守一定的技术规范,使得Web服务能与其他兼容的构件进行互操作
面向服务的体系结构(SOA)---3种角色 • 服务提供者 • 发布服务,并且对 使用服务的请求进行响应 • 服务代理 • 注册已经发布的服务提供者,对其进行分类,并提供服务搜索功能 • 服务请求者 • 利用服务代理查找所需的服务,然后使用服务
面向服务的体系结构(SOA)---3种操作 • 发布 • 使服务提供者可以向服务代理 注册自己的功能及访问接口 • 查找 • 使服务请求者可以通过服务代理查找所需服务 • 绑定 • 使服务请求者能够真正使用服务提供者
开放式的Web服务生成框架 • 用户可见的web服务(User Visible Web Services) • 框架与库(Frameworks and Libraries) • 信息交换标准 • 协议: SOAP • 内容表示: XML 数据访问的统一机制(ADO) 通用开发工具(Visual Studio) • 中间件机制(提供网络透明性) • 对象模型和公共语言规范(Object Model and Common Language Specification) • 公共语言运行机制 (Common Language Runtime)
面向服务开发的七项原则 • 1.动态的服务替代静态的构件 • 2.设计过程采用”自底向上”的方式,而非”自顶向下”的方式 • 3.服务呈现和响应替代传统的系统集成 • 4.代码适用性替代代码可重用性 • 5.特别的升级替代构件简单的升级 • 6.强调平台依赖性而非平台不相关性 • 7.松耦合性替代紧耦合性
合一和半合一问题 • 合一问题的研究大致有两个方向 • 讨论各类特定合一问题的能行可计算性、相关算法的复杂性及该问题的应用 • 将各类问题放在一个统一的理论框架之下,探讨合一问题的表示、分类、各类问题间的关系及相互影响 • 半合一问题 • 在给定的等式和不等式组成的集合(设常数和函数符号的集合A及变元集合V上的项集中的任意两项是否相等)中是否存在半合一算子的问题 • 课题组曾将其运用于多态类型检测 • 目前在软件更新研究中将其用于检测构件的相容性 • 当具有子类型关系或相容性关系的构件满足偏序关系时,可以通过半合一机制寻找构件类型的相容性半合一算子
可视化界限工程方法Line of Visibility Engineering Methodology — LOVEM • 一种业务过程的reengineering方法 • 为业务和系统专家提供一种通用描述语言 • 记录、分析、评估、测定和管理业务过程与系统功能 • 使专家能进行业务过程工程更新和业务过程管理 • LOVC(可视化界限图)是LOVEM方法的工具 • 业务过程、过程之间的关系及流动的数据之图形表示 • 种类 • ALOVC(Architecture LOVC) • LLOVC(Logic LOVC) • PLOVC(Physical LOVC) • JLOVC(Job LOVC) • 不同类LOVC代表不同复杂程度和细化级别上业务过程的不同视图 • 不同业务过程reengineering活动可以在不同复杂程度上进行
C2 & Weaves- Dynamic Software Architecture C2 • Hierarchy of concurrent components • Service request • Broadcast notification • Flexible component (no inter-dependent component thread) R.N. Taylor et al., “A Component- and Mes-sage-Based Architectural Style for GUI Software” , IEEE Trans. Software Eng., Vol. 22, No. 6, 1996, pp. 390–406.
C2 & Weaves- Dynamic Software Architecture Weaves • Object flow centric architecture • Object as input and output • Laws of blind communication • Flexible connectors M.M. Gorlick and R.R. Razouk, “Using Weaves for Software Construction and Analysis” , Proc. Int’l Conf. Software Eng. (ICSE ’91), IEEE CS Press, Los Alamitos, Calif., 1991, pp. 23–34.