用于在运行时支持微件的跨容器移动的方法和系统技术方案

技术编号:9295641 阅读:83 留言:0更新日期:2013-10-31 00:16
本发明专利技术的实施例涉及用于在运行时支持微件的跨容器移动的方法和系统。根据本发明专利技术的实施例,允许用户在运行时跨容器移动微件,将已经部署和运行在一个微件容器中的微件移动到另一微件容器,即使目的地微件容器原本并不支持该微件。特别地,被移动的微件可以在移动前后保持数据和状态的一致性。而且,用户可以例如通过拖放操作等方便的交互手段来实现微件的这种运行时跨容器移动。以此方式,能够为Web应用的操作和交互提供更大的便捷性和灵活性。

【技术实现步骤摘要】
用于在运行时支持微件的跨容器移动的方法和系统
本专利技术的实施例总体上涉及Web技术,并且更具体地,涉及用于在运行时支持微件的跨容器移动的方法和系统。
技术介绍
随着Web技术的不断发展,微件(widget)已经在Web应用中得到了日益广泛的使用。在此使用的术语“微件”是指可以由用户或者过程(在具有授权的情况下)嵌入到第三方Web界面中的独立应用。这里所称的“Web界面”包括但不限于网页或者任何基于Web的应用的交互界面。微件允许用户向网页或者Web应用添加个性化的和/或可定制的动态内容。作为一个示例,用户可以在Web界面上添加与天气信息有关的微件“天气预报”,以用于从相应的天气信息提供方访问与天气情况有关的数据并将其动态显示在Web界面上。微件通常使用诸如JavaScript、Flash、HTML、CSS等Web技术实现,并且可以基于Web浏览器或者微件引擎所提供的API来执行各种操作。一般而言,微件包括定义文件和资源文件等组成。微件的定义文件例如是可扩展标记语言(XML)文件,描述widget的属性、事件以及视图等;而资源文件例如可以包括JS文件、层叠样式表(CSS)文件等。在Web界面上,微件通常被布置在称为“容器”(container)的对象中。“容器”提供用于绘制和管理微件的功能以及相关联的类(例如,JavaScript类)。例如,一个微件容器可以管理一个Web界面内的一组微件,解析每个微件的定义并且创建相应的封装以便将微件绘制在Web界面中。微件容器还可以管理微件的生命周期以及处理共享对象,等等。以Web浏览器应用为例,Web浏览器应用所显示的每个网页可以与一个微件容器相关联,该微件容器用于管理和控制驻留于该实例或标签所显示的页面内的微件。在本文中,微件容器对微件的管理和控制可称为“托管”。在使用过程中,用户往往期望在运行时(runtime)用户界面内移动已经被绘制的微件。在此上下文中使用的术语“运行时”是指在微件被开发完成之后投入使用的状态,例如被部署和绘制之后。例如,实现这种微件运行时移动的一种常见手段是拖放(Drag-and-Drop,DnD)操作。用户例如可以利用鼠标之类的指点设备选择要移动的微件(例如,通过按下鼠标左键)。此后,用户可以利用指点设备拖动被选中的微件(例如,通过在鼠标左键保持按下的情况下移动鼠标的光标)直到达到目标位置。响应于拖放完成指示(例如,通过释放鼠标左键),微件被移动到目标位置。然而,目前微件的运行时移动只能在相同的容器内进行,而无法跨容器实现。仍以Web浏览器应用为例,如上所述,Web浏览器应用的一个实例或者标签通常与一个微件容器相关联。由此,在现有技术中用户无法将Web浏览器应用的一个实例或标签中已经部署和绘制的微件移动到Web浏览器应用的另一实例或标签中。可以理解,微件的开发者可以在开发期间通过例如在不同容器和应用之间拷贝微件代码而将微件部署在不同的容器中。然而,这种方式对于终端用户而言是不适用的,因为终端用户无法获得微件的源代码。换言之,在现有技术中,微件在不同容器之间的移动只能由开发者在开发和/或维护期间实现,而终端用户无法在运行时通过交互的方式在不同的容器之间移动微件。上述问题给用户的使用和操作带来了不便。例如,用户可能在一个Web浏览器实例所显示的页面中添加了一个“天气预报”微件,并且进行了特定的个性化设置。在这种情况下,如果用户希望在另一Web浏览器实例所显示的页面中使用同样的微件,则他必须重新执行整个添加和设置过程,而不能通过移动来复用已经部署和设置好的微件。
技术实现思路
鉴于现有技术中存在的上述问题,本领域中需要一种在运行时支持微件的跨容器移动的解决方案。为此,本专利技术的实施例提供一种在运行时控制微件的方法和系统。在本专利技术的第一方面,提供一种用于在运行时控制微件的方法,该微件由第一微件容器托管。该方法包括:在运行时在该第一微件容器处检测将该微件移动到第二微件容器的指示,该第二微件容器不同于该第一微件容器;以及响应于检测到该指示而向该第二微件容器移动该微件以便使得该微件在运行时变为由该第二微件容器托管。在本专利技术的第二方面,提供一种用于在运行时控制微件的方法,该微件由第一微件容器托管。该方法包括:在运行时在不同于该第一微件容器的第二微件容器处检测将该微件移动到第二微件容器的指示;以及响应于检测到该指示而从该第一微件容器接收该微件以便在运行时由该第二微件容器托管该微件。在本专利技术的第三方面,提供一种用于在运行时控制微件的系统,该微件由第一微件容器托管。该系统包括:第一指示检测装置,配置用于在运行时在该第一微件容器处检测将该微件移动到第二微件容器的指示,该第二微件容器不同于该第一微件容器;以及微件移动装置,配置用于响应于检测到该指示而向该第二微件容器移动该微件以便使得该微件在运行时变为由该第二微件容器托管。在本专利技术的第四方面,提供一种用于在运行时控制微件的系统,该微件由第一微件容器托管。该系统包括:第二指示检测装置,配置用于在运行时在不同于该第一微件容器的第二微件容器处检测将该微件移动到第二微件容器的指示;以及微件托管装置,配置用于响应于该指示而从该第一微件容器接收该微件以便在运行时由该第二微件容器托管该微件。通过下文描述将会理解,利用本专利技术的实施例,允许用户在运行时跨容器移动微件,即,将已经部署和运行在一个微件容器中的微件移动到另一微件容器,即使目的地微件容器原本并不支持该微件。从应用的角度考虑,用户例如可以通过拖放操作将一个Web界面中的微件移动到另一Web界面中。特别地,根据本专利技术的某些实施例,在运行时被移动的微件可以在移动前后在不同的微件容器中保持数据和状态的一致性。以此方式,与现有技术相比,本专利技术的实施例能够为Web应用的微件操作提供更大的便捷性和灵活性。附图说明通过参考附图阅读下文的详细描述,本专利技术实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施例,其中:图1示出了根据本专利技术一个示例性实施例的用于在运行时在第一微件容器处将目前由其托管的微件移动到第二微件容器的方法100的示意性流程图;图2示出了根据本专利技术另一示例性实施例的用于在运行时在第一微件容器处将目前由其托管的微件移动到第二微件容器的方法200的示意性流程图;图3示出了根据本专利技术一个示例性实施例的用于在运行时在第二微件容器处从第一微件容器接收目前由第一微件容器托管的微件的方法300的示意性流程图;图4示出了根据本专利技术另一示例性实施例的用于在运行时在第二微件容器处从第一微件容器接收目前由第一微件容器托管的微件的方法400的示意性流程图;图5示出了根据本专利技术一个示例性实施例的用于在运行时在第一微件容器处将目前由其托管的微件移动到第二微件容器的系统500的示意性框图;图6示出了根据本专利技术一个示例性实施例的用于在运行时在第二微件容器处从第一微件容器接收目前由第一微件容器托管的微件的系统600的示意性框图;以及图7示出了适于用来实现本专利技术实施例的示例性计算系统700的示意性框图。具体实施方式下面将参考附图中示出的若干示例性实施例来描述本专利技术的原理和精神。应当理解,给出这些实施例仅仅是为了使本领域技术人员本文档来自技高网
...
用于在运行时支持微件的跨容器移动的方法和系统

【技术保护点】
一种用于在运行时控制微件的方法,所述微件由第一微件容器托管,所述方法包括:在运行时在所述第一微件容器处检测将所述微件移动到第二微件容器的指示,所述第二微件容器不同于所述第一微件容器;以及响应于检测到所述指示而向所述第二微件容器移动所述微件以便使得所述微件在运行时变为由所述第二微件容器托管。

【技术特征摘要】
1.一种用于在运行时通过容器控制微件移动的方法,所述微件由第一微件容器托管,所述方法包括:在运行时在所述第一微件容器处检测将所述微件移动到第二微件容器的指示,所述第二微件容器不同于所述第一微件容器;以及响应于检测到所述指示而向所述第二微件容器移动所述微件以便使得所述微件在运行时变为由所述第二微件容器托管。2.根据权利要求1所述的方法,其中在运行时在所述第一微件容器处检测将所述微件移动到第二微件容器的指示包括:在所述第一微件容器处检测针对所述微件的拖放事件,以作为将所述微件移动到第二微件容器的所述指示。3.根据权利要求1所述的方法,其中响应于所述指示而向所述第二微件容器移动所述微件以便使得所述微件在运行时变为由所述第二微件容器托管包括:获取指示所述微件的定义的信息;以及将所述指示所述微件的定义的信息从所述第一微件容器递送给所述第二微件容器。4.根据权利要求1所述的方法,其中响应于所述指示而向所述第二微件容器移动所述微件以便使得所述微件在运行时变为由所述第二微件容器托管包括:响应于所述指示,获取所述微件在所述第一微件容器内的即时数据和状态;以及将获取的所述即时数据和状态递送给所述第二微件容器。5.一种用于在运行时通过容器控制微件移动的方法,所述微件由第一微件容器托管,所述方法包括:在运行时在不同于所述第一微件容器的第二微件容器处检测将所述微件移动到第二微件容器的指示;以及响应于检测到所述指示而从所述第一微件容器接收所述微件以便在运行时由所述第二微件容器托管所述微件。6.根据权利要求5所述的方法,其中在运行时在不同于所述第一微件容器的第二微件容器处检测将所述微件移动到第二微件容器的指示包括:在所述第二微件容器处检测针对所述微件的施放事件,以作为将所述微件移动到第二微件容器的所述指示。7.根据权利要求5所述的方法,其中响应于检测到所述指示而从所述第一微件容器接收所述微件以便在运行时由所述第二微件容器托管所述微件包括:从所述第一微件容器接收指示所述微件的定义的信息;以及基于所述微件的所述定义在所述第二微件容器内绘制所述微件。8.根据权利要求5所述的方法,其中响应于检测到所述指示而从所述第一微件容器接收所述微件以便在运行时由所述第二微件容器托管所述微件包括:从所述第一微件容器接收在检测到所述指示时所述微件在所述第一微件容器内的即时数据和状态;以及基于获取的所述即时数据和状态在所述第二微件容器中配置所述微件。9.根据权利要求5所述的方法,还包括:根据所述指示而确定在所述第二微件容器中绘制所述微件的位置。10.根据权利要求5所述的方法,还包括:响应于在运行时由所述第二微件容器托管所述微件而保存所述微件在所述第二微件容器内的信息,以用于所述微...

【专利技术属性】
技术研发人员:崔洁徐景民王远R·汤姆逊
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1