CEclipse:一个基于服务组合的在线集成开发环境

作者:吴凌;梁广泰;王千祥 刊名:计算机研究与发展 上传者:董丽丽

【摘要】随着云计算概念的提出,越来越多的桌面应用被迁移到云中,其中桌面集成开发环境的迁移也成为近些年讨论的热点.介绍了一个在线集成开发环境CEclipse(Cloud Eclipse).CEclipse通过将桌面集成开发环境Eclipse的功能封装成服务,然后利用服务组合的技术有机地结合在一起,形成了在线集成开发环境的核心功能.同时利用程序静态分析和程序动态分析等技术,解决了在线集成开发环境中特有的安全问题.其次,为了发挥在线开发的优势,CEclipse提出了利用数据挖掘等技术来挖掘用户在编程过程中的各种行为,以指导用户更快更好地进行在线程序开发,从而增强其用户体验.除此之外,CEclipse具有良好的可扩展性:1)利用单点登录等技术支持其他已有在线服务的快速整合;2)提出了一套半自动化的方法,将Eclipse插件快速迁移到CEclipse中.

全文阅读

云计算(cloudcomputing)是一种基于互联网的计算方式,通过这种方式被共享的软硬件资源和信息可以按需供给计算机或其他设备进行灵活使用.随着云计算的提出,各种桌面应用逐步被迁移到云中,比较著名的有GoogleDocs,Evernote,WebQQ等.Google仿照微软开发的著名的办公软件(MicrosoftOffice)的功能,研发了GoogleDocs.GoogleDocs不仅拥有微软办公软件的基本功能,而且提供在线办公软件特有的功能.例如GoogleExcel的在线发布调查问卷功能GoogleForms能够通过网络发布调查问卷.用户只需通过浏览器提交调查问卷,GoogleExcel就能够自动统计调查问卷的内容,而这个功能在本地的办公软件中没法提供.Evernote是一款著名的在线笔记软件,其基本功能是参考微软本地笔记软件(MicrosoftOneNote)实现的.使用Evernote可以随时随地通过浏览器使用类似于OneNote的功能,而且不必在本地安装软件.腾讯QQ是一个著名的即时通信软件.在推出本地版本的QQ之后又推出了在线版本WebQQ,提供一站式云服务.WebQQ除了拥有本地QQ的基本功能外,还充分利用了云环境的优势,提供了一些实用的小应用,并且这些应用不必用户自己更新,打开浏览器就可以使用最新的应用和功能.在这种环境下,将桌面集成开发环境(e.g.Eclipse)迁移到云中逐渐成为学术界和工业界研究的热点.在线集成开发环境不仅可以拥有本地集成开发环境的基本功能,例如,语法高亮显示、编译、运行,而且还可以拥有很多桌面集成开发环境所没有的优势:首先,开发者不必在本地安装一系列复杂的软件,只需要通过浏览器就可以随时随地进行他们的开发工作;其次,在线集成开发环境可以提供协同开发[1]的功能,适合目前团队开发的需要;再次,通过对程序员编程行为的挖掘[1]可以指导程序员的编程过程.例如,通过对众多程序员在编程过程中使用API的情况进行挖掘,可以为程序员在编程过程中推荐最常使用的API.同时在线集成开发环境本身就是一个天然的代码库,通过对代码库的挖掘,还可以提供很多有意义的功能,例如代码样例的推荐等.关于更多在线集成开发环境的讨论可以参考本文相关工作的介绍.随着讨论的不断加深和技术的不断成熟(例如富客户端技术、WebServices技术等技术),各种在线集成开发环境开始进入编程人员的视线,目前比较著名的在线集成开发环境主要有CodeRun,JavaWIDE,Bespin.CodeRun是一个商业收费的在线集成开发环境.它提供除Java语言以外的多种编程语言的在线开发、运行、编译等功能.JavaWIDE是一个免费的在线集成开发环境.它的目标是为Java开发提供在线编辑、编译、运行等功能.但是它提供的功能比较简单,很多类似代码补全的高级功能并不支持.Bespin是一个由Mozilla实验室开发的一个开源的在线编辑环境,它提供多种编程语言的在线编辑和语法高亮显示功能,并且拥有良好的扩展性.但是它不提供编译和运行等功能.通过对现有在线集成开发环境进行调研,我们发现存在以下几个问题:首先,现有在线集成开发环境提供的功能比较简单,导致这个问题的原因主要是由于在Web上提供相同的功能比在本地提供相同功能要复杂,另外本地集成开发环境经过数十年的发展才拥有了现有的功能,而且在线集成开发环境在近年才开始引起人们的关注;其次,本地集成开发环境面向的是单用户,而在线集成开发环境面向的是多用户,在线的环境要比在本地的环境更加复杂,所以在线集成开发环境的安全问题比

参考文献

引证文献

问答

我要提问