用于软件开发的系统和方法

文档序号:6615463阅读:159来源:国知局
专利名称:用于软件开发的系统和方法
技术领域
本发明涉及软件开发领域,并且尤其涉及用于创建包括SIP和Web组件的融合应用的开发工具。
背景技术
对于提供到后端管理信息系统(MIS)的基于Web的接口和电 话接口的综合企业应用的需要正在增长。有时,设计这些综合应用 使得Web和电话接口彼此互相排斥。即,用户可以使用电话客户端 接口访问后端企业系统,其中该电话客户端诸如是连接到电话服务 器的语音响应系统,其中该电话服务器连接到企业后端。用户也可 以使用连接到Web服务器的Web客户端,其中该Web服务器连接 到企业后端。共享相互排斥的接口实现中的通用组件减少了维护和 开发的开销,确保了用户处理的一致性(不管使用哪个接口),并 且促进了通用组件到面向未来的综合系统的 一致的升级性。
另一个类型的综合应用可以称作融合应用,其中在与用户进行 的单个交互会话期间,使用电话接口 (链接到电话服务器)和Web 接口 (链接到Web服务器)两者。融合应用的接口不需要但可以连 接到通用企业后端。融合应用的一个例子可以是从Web接口初始化 的基于因特网协议的"软"语音(VOIP)电话。在另一个例子中, 融合应用可以是这样的一个接口 ,该接口允许用户通过不同的可交 换形式,诸如聊天或即时消息接口 (即文本交换形式)和电话接口 (即语音形式)与自动应答系统和/或在线代理进行交互。
诸如纽约阿芒克的国际商业机器(IBM)公司的WebSphere应 用服务器V6.1的几个传统应用服务器提供在通用融合容器中运行融 合(或综合)应用的能力,其中电话(即,经由会话初始协议-SIP)和Web服务器组件可以访问通用融合容器。然而,当前,针对开发 者的相关工具(coherent tooling )是不存在的。现有方案包括使用一 个软件开发工具来开发电话应用(用于在电话服务器中执行)以及 使用不同的软件开发工具来开发基于Web的应用(用于在Web服务 器中执行)。远程方法调用(RMI)套接字通常用于在这两个不同 的应用间进行通信。相关工具的缺乏已经导致融合应用中的不一致、 因增加了综合以及维护时间而增加的成本以及其他相关问题。

发明内容
本发明公开了一种软件开发工具方案,该软件开发工具方案允 许开发者使用单个接口来构建融合应用,该融合应用具有在Web服 务器中执行的组件(或服务)以及在电话服务器中执行的组件。方 案允许开发者配置多个融合组件/服务以及一个融合组件/服务。例 如,方案可以是综合开发环境(IDE)的一部分,该综合开发环境(IDE) 提供包括基于会话初始协议(SIP)的元素以及超文本传输协议 (HTTP)或者基于Web的元素的调色板(palette)或工具条,可以 将这些元素中的每一个放入通用画布中,在其中可以以图形方式操作它们。选择画布中的组件使得特定于那个组件类型的开发选项被显示,其中开发者可以操作这些开发选项。可以定义融合组件/服务,SIP和Web组件通过这些融合组件/服务可以共享状态和其他信息。 可以利用本方案开发此类融合应用/服务需要的部署描述符,并且此类融合应用/服务需要的部署描述符可以包含用于融合应用的SIP和Web部分的部署描述符。
可以根据与这里公开的材料 一 致的很多方面实现本发明。例如,本发明的一个方面可以包括软件开发环境,该软件开发环境包括SIP 工具集合以及Web工具集合。SIP工具配置成创建能够在SIP服务 器上执行的软件。Web工具配置成创建能够在Web服务器上执行的 软件。该软件开发环境还可以包括通用开发接口,该通用开发接口 配置成开发包括利用SIP工具和Web工具创建的对象的融合项目。 通用开发接口可以是图形开发接口 ,该图形开发接口包括开发画布 以及包括能够添加到该画布上的元素的调色板。元素可以包括至少一个对应于SIP工具的一个的SIP元素以及至少一个对应于Web工 具的一个的Web元素。
本发明的另一个方面可以包括融合软件应用,该融合软件应用 包括SIP服务器对象、Web服务器对象和应用会话对象。可以将SIP 服务器对象配置为在SIP服务器中执行。可以将Web服务器对象配 置为在Web服务器中执行。应用会话对象可以是SIP对象和Web对 象通过其共享状态信息的对象。可以使用单个融合应用开发工具开 发SIP服务器、Web服务器、和应用会话对象中的每一个。
仍旧是本发明的另 一个方面可以包括用于融合应用的软件开发 方法。该方法可以包括使用图形开发工具初始化融合项目的步骤。 可以使用图形开发工具将Web对象添加到融合项目中,其中可以将 Web对象配置成在Web服务器中部署。也可以使用图形开发工具将 SIP对象添加到融合项目中,其中可以将SIP对象配置成在SIP月良务 器中部署。可以使用图形开发工具链接Web对象和SIP对象以便可 以在Web对象和SIP对象间共享状态信息,并且可以将结果应用部 署在支持融合SIP和Web应用的应用服务器上。
应该指出,本发明的各种方面可以实现为用于控制计算设备来 实现这里所述功能的程序,或者用于使计算设备能够执行对应于这 里公开的步骤的处理的程序。可以通过将该程序存储在磁盘、光盘、 半导体存储器、任何其他记录介质中来提供此程序,或者也可以作 为经由载波传递的数字化编码信号来提供。描述的程序可以是单个 程序或者可以实现为多个子程序,其中的每一个在单个计算设备内 交互或者以跨越网络空间的分布式形式交互。


在附图中示出了当前优选的实施例,然而,应该理解本发明不 仅仅限于示出的确切布置和工具。
图1是示出了根据这里公开的发明性布置的实施例的用于创建
包含Web和SIP组件的融合应用的综合开发工具系统的示意图。
图2是示出了根据这里公开的发明性布置的实施例的用于创建
包括Web和SIP组件的融合应用的软件开发工具的图形用户接口 。
图3是根据这里公开的发明性布置的实施例的用于创建融合应
用的方法的流程图。
具体实施例方式
图1是示出了根据这里公开的发明性布置的实施例的用于创建 包含Web和SIP组件的融合应用的综合开发工具系统100的示意图。 在系统100中,开发者105可以使用开发环境IIO来创建并部署融 合应用155。开发环境IIO可以包括开发接口 112、工具115、开发 数据存储145和各种软件开发组件120-140。开发环境IIO可以是独 立环境或者是综合开发环境(IDE)的一部分。
开发接口 112可以代表工具,其中开发者105可以通过该工具 操作正在开发的应用的元素,并且创建支持应用行为所需的代码。 为了创建融合应用155,开发"t妻口 112可以访问由各种工具115和组 件120-140提供的功能。开发接口 112可以包括图形用户接口(GUI) 以及命令行元素。
由于开发环境110的目的是创建融合应用155,开发者105可以 利用多个可应用工具115。这些工具115可以包括SIP工具116、 Web工具117和混杂工具118。 SIP工具116可以允许开发者105添 加并且配置在应用155中使用的SIP对象。同样,Web工具117允 许开发者105添加并且配置在应用155中^f吏用的Web对象。混杂工 具118可以提供针对与SIP和Web功能不相关的额外元素的选项。
开发环境IIO还可以包括各种软件开发组件,诸如代码生成组 件120、测试组件125、翻i奪组件130、部署组件135和语法一企查组 件140。尽管这些组件经常包括在各种可通过商业途径获得的开发环 境中,但是应该指出这些组件120-140与普遍可以获得的那些组件不同,这些组件120-140可以将它们的功能应用于处理融合应用155 的创建和制造。例如,测试组件125可以测试用于单个应用项目内 的SIP和Web对象的底层代码。
在开发期间,开发接口 112、工具115和组件120-140可以访问 开发数据存储145的内容。开发数据存储145可以包含融合项目数 据146。应该指出,当正在开发时,软件应用和它的支持文件以及数 据被称作项目; 一旦部署了项目,那么通常将它称作应用。如此例子中示出的,融合项目数据146可以包括融合XML、 Web XML、 SIP XML、 SIP servlet和Web servlet以及其他资源。
一旦完成了开发活动,开发者105可以使用部署组件135来创 建部署文件150。此部署文件150可以包括完成的融合应用155。融 合应用155可以包括应用会话对象156、 SIP对象157和Web对象 158。 SIP对象和Web服务器对象通过应用会话对象156共享状态信 息。这些对象156、 157和158可以嵌入到在运行环境160中使用的 部署文件150的代码内。
运行环境160可以包括应用服务器165来运行融合应用155,并 且包括客户端180和185来访问融合应用155。应用服务器165可以 包括web服务器170、融合组件173和SIP服务器175。融合组件173 可以执行包含在部署文件150内的融合对象。Web服务器170可以 向Web客户端180提供包含在部署文件150内的Web对象158的功 能。同样,SIP服务器175可以向SIP客户端185支持包含在部署文 件150内的SIP对象157。
运行环境160可以是JAVA 2 PLATFORM ENTERPRISE EDITION (J2EE)软件环境。因而,应用服务器165可以是兼容J2EE 的应用服务器,诸如来自于纽约阿芒克的国际商业机器(IBM)公 司的WebSphere应用服务器V6.1、来自于加利福尼亚圣何塞的BEA 系统公司的BEA WEBLOGIC应用服务器、来自于乔治亚州亚特兰 大的JBoss公司的JBOSS应用服务器、来自于ObjectWeb Consortium 的JOnAS应用服务器等。不应该将运行环境160解释为是受限制的,
可以设想诸如.NET软件平台的其他软件平台。
如这里使用的,包括存储145的呈现的数据存储可以是物理或 虚拟存储空间,该存储空间配置成存储数字信息。可以在包括但不 限于磁盘、光盘、半导体存储器、数字编码塑料存储器、全息存储 器或任何其他记录介质的任何类型的硬件内物理实现数据存储14 5 。 每个数据存储145可以是独立的存储单元以及由多个物理设备形成 的存储单元。而且,可以以各种方式将信息存储在数据存储145内。 例如,可以将信息存储在数据库结构内或存储在文件存储系统的一 个或多个文件内,其中可以或不将每个文件针对信息搜索目的进行 索引。而且,数据存储145可以利用一个或多个加密机制来保护存 储的信息免受未授权访问。
图2是示出根据这里公开的发明性布置的实施例的用于创建包 括We b和S IP组件的融合应用的软件开发工具的图形用户接口 (GUI) 200。此开发GUI 200可以用在系统100或支持创建融合应 用的任何其他软件开发环境内。
像很多传统软件开发接口 一样,开发GUI 200可以包括工具条 205和在其中执行开发任务的功能区域210、 215、 225和230。然而, 应该指出,这些功能区域210、 215、 225和230的功能被增强,超 过了当前开发工具的功能,被专门化用于SIP和Web对象到单个应 用的包含和配置。
同样,工具条205可以包括额外菜单项(未示出)来解决SIP 和Web对象两者的才乘作。同样,功能区域210、 215、 225和230也 可以表现为类似于传统开发工具但带有额外功能,该额外功能特定 于融合应用的SIP和Web对象。应该指出功能区域210、 215、 225 和230的内容仅意味着解释的目的,并不意味着严密地或者广泛地 定义或者限制本发明的功能。
项目浏览器210可以显示与可由开发GUI 200访问的各种开发 项目相关的各种数据。可以以分层树形结构显示数据,如此例子中 示出的,并且可以将数据存储在诸如系统100的开发数据存储145
的数据存储中。开发者可以使用此浏览器区域210来创建、访问和/
或管理与融合项目211相关的数据。
融合项目区域215可以显示与融合应用相关的各种SIP和Web 对象和/或对象参数的布局,并且允许开发者修改与融合应用相关的 对象和/或对象参数。在此例子中,开发者可以使用选项卡(tab) 218 来查看和/或修改与融合应用接口 217中的特定融合应用相关的对象 和/或参数。如此示例接口 217中示出的,开发者可以修改用于与融 合应用相关的Web对象的servlet 220和收听者221对象和/或超时 223参数。
在调色板区域225内,开发者可以添加、选择和/或修改融合应 用的特定SIP元素226和/或Web元素227。编码区域230可以包括 用于生成与融合应用相关的软件代码的各种元素和功能。此区域230 可以包括与特定编码功能(像那些此示例中示出的)相关的选项卡 232。
当开发者选择选项卡232中的一个时,可以显示相关的接口 。 在此示例中,选择了异常选项卡,由不同颜色的选项卡注释,显示 存才艮子区域235,映射子区域240和初始化子区域245。这些子区域 235、 240和245可以为开发者提供图形工具来自动生成用于融合应 用的相关代码片。例如,对存根子区域235内条目的选择可以自动 生成代码存根,该代码存根用于在与融合应用相关的代码文件内选 择的条目。
映射子区域240可以包括模式区域242和功能按钮244。功能按 钮244可以允许开发者修改模式区域242的内容。在此示例中,开 发者可以添加或移除变量和/或它们的逻辑关系。
初始化子区域245可以包括参数区域247和功能按钮248。功能 按钮248可以允许开发者修改参数区域247的内容。参数区域247 的内容可以包括指定作为由融合应用开始时使用的特定会话变量的 初始值的值。在此示例中,开发者可以添加或移除会话变量和/或它 们的特定值。
图3是根据这里公开的发明性布置的实施例的用于创建融合应
用的方法300的流程图。方法300可以在系统100的环境中执行, 并且可以利用开发GUI 200或可以在利用用于创建包含SIP和Web 组件的应用的综合工具集合的任何其他系统环境中执行。
当开发者在步骤305中使用IDE工具初始化融合项目时,方法 300可以开始。在步骤310中,开发者可以将Web对象添加到项目 并且配置对象的映射、初始化参数和会话参数。开发者可以在步骤 315中将SIP对象添加到项目并且配置对象的映射和参数。
在步骤320中,开发者可以链接在项目中的所有Web和SIP对 象。然后开发者可以在步骤325中使用工具来生成融合项目代码。 在步骤330中,可以,睑证代码和映射。可以在步骤335中添加部署 描述符。在步骤340中,可以将项目作为融合应用部署到运行环境。
可在硬件、软件或者硬件和软件的组合中实现本发明。可以在 一个计算机系统中以集中方式实现本发明,或者以不同元件跨越数 个互联的计算机系统分布的分布式方式实现本发明。任意类型的计 算机系统或者适用于实现在此描述的方法的其他的装置是适合的。 硬件和软件的典型组合可以是具有如下计算机程序的通用计算机系 统,当装载并执行该计算机程序时,该计算机程序控制计算机系统 以4更实现在此所描述的方法。
本发明还可以嵌入在计算机程序产品中,该计算机程序产品包 括使得能够实现在此描述的方法的所有特征,并且当在计算机系统 中装载该计算机程序产品时能够执行这些方法。本上下文中的计算 机程序是指以任何语言、代码或者注释的指令集合的任何表达,其 旨在于使得具有信息处理能力系统直接地、或者在以下的 一 个或两 个之后来执行特定功能a)转换至其他语言、代码或者注释;b) 以不同材料形式再现。
权利要求
1.一种软件开发环境,包括会话初始协议(SIP)工具集合,配置成创建能够在SIP服务器上执行的软件;Web工具集合,配置成创建能够在Web服务器上执行的软件;以及通用开发接口,配置成开发包括利用所述SIP工具以及所述Web工具创建的对象的融合项目和融合应用中的至少一个。
2. 根据权利要求1所述的软件开发环境,其中所述通用开发接 口是图形开发接口 ,所述图形开发接口包括开发画布以及调色板, 后者包括能够添加到所述画布上的元素,所述元素包括至少一个对 应于所述SIP工具的一个的SIP元素以及至少一个对应于所述Web 工具的一个的Web元素。
3. 根据权利要求2所述的软件开发环境,进一步包括 属性配置窗口,其中当SIP元素在所述开发画布中具有焦点时,所述属性配置窗口包括与所述SIP元素相关的可编辑属性,并且其 中当Web元素在所述开发画布中具有焦点时,所述属性配置窗口包 括与所述Web元素相关的可编辑属性。
4. 根据权利要求2所述的软件开发环境,进一步包括 存根编辑窗口 ,所述存根编辑窗口呈现多个特定于在所述开发画布中具有焦点的元素的可编辑定制,其中取决于具有焦点的元素类型,在所述存根编辑窗口中呈现不同的定制。
5. 根据权利要求2所述的软件开发环境,进一步包括 映射窗口 ,所述映射窗口呈现多个特定于在所述开发画布中具有焦点的元素的可编辑映射,其中取决于具有焦点的元素类型,在所 述映射窗口中呈现不同的映射。
6. 根据权利要求2所述的软件开发环境,进一步包括 初始化编辑窗口 ,所述初始化编辑窗口呈现多个特定于在所述开 发画布中具有焦点的元素的可编辑初始化参数,其中取决于具有焦 点的元素类型,在所述初始化编辑窗口中呈现不同的初始化参数。
7. 根据权利要求2所述的软件开发环境,进一步包括 在融合项目中生成代码的选项,其中对所述选项的选择创建用于利用所述SIP工具和所述Web工具创建的对象的代码。
8. 根据权利要求7所述的软件开发环境,其中对所述选项的选servlet代码的创建。
9. 根据权利要求2所述的软件开发环境,其中融合项目包括SIP 可扩展标记语言(.xml)文件,所述SIP可扩展标记语言(.xml)文 件包含针对所述融合项目中的每个SIP servlet的信息以及映射信息 和定制信息,并且其中融合项目包括Web.xml文件,所述Web.xml 文件包含针对所述融合项目中的每个HTTP servlet的信息以及映射 信息和定制信息。
10. 根据权利要求2所述的软件开发环境,进一步包括用于生成存档文件的部署组件,所述存档文件能够部署到应用服 务器,所述应用服务器包括其中部署了利用所述Web工具开发的 Web对象的Web服务器组件,以及其中部署了利用所述SIP工具开 发的SIP对象的SIP服务器组件。
11. 根据权利要求1所述的软件开发环境,进一步包括 融合应用工具集合,配置成创建一个应用会话对象,SIP对象和Web服务器对象通过所述应用会话对象共享状态信息。
12. 根据权利要求1所述的软件开发环境,进一步包括 部署组件,用于创建融合应用部署文件,所述部署文件包括使用所述SIP工具创建的SIP服务器对象以及使用所述Web工具创建的 Web服务器对象的部署描述。
13. —种融合软件应用,包括 SIP服务器对象,配置成在SIP服务器中执行; Web服务器对象,配置成在Web服务器中执行;以及 应用会话对象,所述SIP服务器对象和所述Web服务器对象通 过所述应用会话对象共享状态信息,其中使用单个融合应用开发工 具开发所述SIP服务器对象、所述Web服务器对象和所述应用会话 对象。
14. 根据权利要求13所述的融合软件应用,其中所述融合应用 开发工具是综合开发环境的一部分,所述综合开发环境包括图形开 发接口,所述图形开发接口包括开发画布和调色板,后者包括能够 添加到所述画布上的元素,所述元素包括用于创建所述SIP服务器 对象的至少 一个SIP元素以及用于创建所述Web服务器对象的至少 一个Web元素。
15. 根据权利要求13所述的融合软件应用,其中所述融合软件 应用配置成在应用服务器中执行,所述应用服务器包括所述Web服 务器对象在其中执行的Web服务器组件以及所述SIP服务器对象在 其中执行的SIP服务器组件。
16. 根据权利要求13所述的融合软件应用,其中从由所述融合 应用开发工具创建的部署文件部署所述融合软件应用,所述部署文 件包括用于所述SIP服务器对象和用于所述Web服务器对象的部署 描述符。
17. —种软件开发方法,包括 使用图形开发工具初始化融合项目;使用所述图形开发工具将Web对象添加到所述融合项目中,其 中所述Web对象配置成在所述Web服务器中部署;使用所述图形开发工具将SIP对象添加到所述融合项目中,其中 所述SIP对象配置成在SIP服务器中部署;以及使用所述图形开发工具链接所述Web对象和所述SIP对象,以 便在所述Web对象和所述SIP对象之间共享状态信息。
18. 根据权利要求17所述的方法,进一步包括使用所述图形开发工具来配置用于所述Web对象和所述SIP对 象的映射和参数。
19. 根据权利要求17所述的方法,进一步包括 使用所述图形开发工具添加用于所述SIP对象和所述Web对象的部署描述符。
20. 根据权利要求17所述的方法,进一步包括 创建包括所述Web对象和所述SIP对象的部署文件; 将所述部署文件部署到应用服务器中,所述应用服务器包括所述Web对象在其中执行的Web服务器组件以及所述SIP对象在其中执 行的SIP服务器组件。
全文摘要
一种软件开发环境,该软件开发环境包括SIP工具集合和Web工具集合。SIP工具配置成创建能够在SIP服务器上执行的软件。Web工具配置成创建能够在Web服务器上执行的软件。该软件开发环境还可以包括通用开发接口,该通用开发接口配置成开发包括利用SIP工具和Web工具创建的对象的融合项目,该融合项目能够在支持融合SIP/HTTP应用的应用服务器上执行。该通用开发接口可以是图形开发接口,该图形开发接口包括开发画布以及包括能够添加到该画布上的元素的调色板。元素可以包括至少一个对应于SIP工具的一个的SIP元素以及至少一个对应于Web工具的一个的Web元素。
文档编号G06F9/44GK101206574SQ20071030056
公开日2008年6月25日 申请日期2007年12月24日 优先权日2006年12月22日
发明者A·席尔瓦, D·W·科尔, D·戴姆斯, G·德哈纳克希拉尔, L·E·赖特, R·F·小帕勒莫 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1