计算机辅助应用程序创建系统、方法和程序产品的制作方法

文档序号:6613326阅读:130来源:国知局
专利名称:计算机辅助应用程序创建系统、方法和程序产品的制作方法
技术领域
本发明涉及计算机辅助应用程序创建系统和方法,并且具体地 涉及用于主要基于图形用户接口 (GUI)创建应用程序的系统、方法 和程序产品。
背景技术
用于驱动输入/输出设备的计算机的中央处理单元(CPU)所要 执行的程序在计算机的操作中是很重要的。在发展初期,机器语言 程序描述了 CPU所要直接解释的命令并且始终对存储器直接寻址。 然而不可能虛拟地标识编写到这样的程序中的操作。因此难以纠正
程序中的漏洞或者添加新功能。
为了克服这一缺陷,已经开发了汇编语言,该语言通过使用用 户易于理解的助记符如ADD来实现对存储器的间接寻址。以这一方 式编写的程序被转译成CPU可理解的机器语言。然而,甚至用于描 述简单加法的算术逻辑也是基于CPU的,因为给定值存储于寄存器 中而CPU引用寄存器中的值,因而仍然应当由非常精通的编程者来 开发程序。
在20世纪50年代开发的编译器语言的出现显著地改善了这种 艰难的状况。如杲使用这一语言,则例如能够使用一般表达式如 A=B+C来描述加法。能够通过使用比如WRITE这样的函数以易于 理解的形式描述I/0处理。这样的编程语言称为过程语言,比如C、 C+十和C^并且已经被发展为包含各种思想。
当这样的过程语言出现时,将要在屏幕上显示的或者将要打印 的数据只不过是字符串,比如ABC或者1123。然而,在20世纪80 年代由于开发配备有指示设备如鼠标或者多窗口系统的图形用户接
口 (GUI),所以编程面临另一挑战。
也就是说,有必要对GUI进行编程以指定位置坐标(GUI组件 如按钮、单选按钮、组件框和文本框在这些位置坐标处显示在窗口 上)、指定所要显示的字符的字体和颜色、指定下拉菜单以及对比 如GUI组件上的鼠标点击或者活跃窗口与非活跃窗口之间的实时切 换这样的事件做出响应。在GUI编程的早期,这些组件全都是用源 代码来描述的,因此很难适应内置资源、事件驱动程序等新概念, 因而即使精于过程编程语言如C或者€++的编程者也可能难以掌握 它。
为了克服这样的问题,已经开发了程序开发工具,该工具实现 了通过GUI操作如鼠标点击或者拖放来描述程序的预定部分。这一 工具的例子包括Microsoft Visual Basic 、 Visual C++ 、 Borland Delphi (商标)、C++ Builder (商标)和IBM VisualAge of Java (商 标)。这些程序开发功能能够用来仅通过从其中GUI组件的样本图 标被布置于所需位置的区域拖放组件来适当地布置GUI组件。另外, 能够仅通过适当地操作鼠标来关联两个GUI组件。
这里,有可能布置和关联GUI组件;然而,编程者需要基于编 程语言如C++、 BASIC或者Java的规则来描述用于实际处理的代码 或者API函数,这对于不熟悉计算机操作的新手来说仍然很难。
顺便提及,近年来已经提出在应用之间通信的概念,称之为 SOA (面向服务的架构)或者Web服务。据此,作为上述基于GUI 的开发工具的GUI组件,提供了能够指定URL的组件。如果通过使 用GUI组件的函数来进行对特定URL的访问,则URL所指定的网 站发送回例如用XML描述的信息。开发工具还预备了用于以树的形 式显示用XML描述的信息的显示GUI组件。因此,访问URL的GUI 组件以及显示GUI组件被粘贴到应用程序的预定区域以由此实现能 够自动地显示从特定网站发送回的信息的W e b应用。
在以上Web应用中,可以考虑将查询发往第一服务、发送回多 个响应并且计算所发送的数据,此后基于计算结果将查询发送到第
二Web服务。例如,假设如果发送Zip代码,则第一Web服务独立 地发送回州名和城市名。另一方面,如果接收组合了州名和城市名 的字符串,则第二 Web服务发送回其经度和绵度。从上文中显而易 见,仅仅通过粘贴GUI组件来仅仅获得从Zip代码中导出州名和城 市名的程序,并且不能发送适当查询到第二 Web服务。为了获得能 够发送适当查询到第二 Web服务的程序,对州名的字符串和城市名 的字符串进行组合,并且应当在程序代码中描述一种将组合数据提 供给发送查询到第二 Web服务的GUI组件的过程。然而,描述这样 的代码比想象的要复杂得多,因为有必要认证GUI组件的ID、描述 用于对字符串进行组合的运算符或者描述用于将计算结果与发送查 询到第二 Web服务的GUI组件相关联的代码。这一操作比可能想象 的要复杂得多、要求某些经验并且对于新手来说非常困难。
本申请的发明人已经考虑将电子数据表的格式用作用户友好 的接口 。在实践中对于不熟悉计算机的用户来说在电子数据表中输 入数值或者字符并且计算这些值并不很困难。发明人已经从这一观
点出发研究了现有技术的数个例子。
曰本未审专利申请公开第2006-53894号公开了一种支持由用 户指定的电子数据表函数的技术。根据这一公开技术,响应于确定 特定单元包括对用户定义函数的调用,通过使用另 一单元的用户定 义函数来针对于对该用户定义函数的调用而计算值,以由此基于所 计算的值获得特定单元中的值。
日本未审专利申请公开第2005-353058号公开了一种能够利用 Web浏览器应用程序来显示和改变电子数据表的技术。
日本未审专利申请公开第2004-208278号公开了如下技术针 对利用电子数据表应用程序而在通过网络连接的主机和终端之间进 行的数据管理,提供邮件服务器,并且用邮件服务器的邮件形式的 主题和邮件文本来标识单元在电子数据表应用程序中的位置、输入/
输出数据标志和输入/输出数据。在主机和终端之间输入/输出单元的 数据。
然而,现有技术的这些例子仅提出将电子数据表用作上述W e b 应用中的显示接口 ,而并未给出关于利用电子数据表式接口来辅助 编写应用程序的启示。日本未审专利申请公开第2006-53894号 [专利文献l]日本未审专利申请公开第2005-353058号 [专利文献l]日本未审专利申请公开第2004-208278号

发明内容
因而,本发明的目的在于提供一种辅助不熟悉编程的用户通过 GUI操作容易地编写应用程序的系统和方法。
本发明的其它目的在于提供一种能够以无需高超的编程技巧 就能将多个输入域中的计算结果用于另一域中这一方式来创建基于 GUI的应用程序的系统和方法。
发明人已经对在多个GUI组件和电子数据表之间的数据输入/ 输出进行了广泛研究,并且发现能够通过设置电子数据表式屏幕来 实现上述目的,该屏幕包括多个单元并且提供用于通过多个单元在 GUI组件之间传送数据的接口 。
也就是说,根据本发明,在应用程序的开发阶段,拖放例如用 于输出来自网站的数据的第 一 区域以与电子数据表式屏幕或者电子 数据表程序上的第一单元相关联。接着,拖放用于输出来自网站的 数据的第二区域以与电子数据表式屏幕上的第二单元相关联。然后,
将用于在第一单元和第二单元中计算值或者数据的所需表达式输入 到电子数据表式屏幕上的第三单元。可以将第三单元拖放到应用程 序的所需表或者窗口 。
如上所述,根据本发明,即使只有初学者的水平,也能够通过 指示设备如鼠标来创建所需应用程序。只有在电子数据表式屏幕上 的计算公式中需要编写代码,但是这一操作对于熟悉普通电子数据 表程序的用户来说并不困难。


图1是根据本发明实施例的硬件配置的框图。
图2是硬件配置的具体框图。
图3是服务器计算机的功能框图。
图4示出了应用管理环境中的功能块以及对应的显示屏幕。
图5示出了客户端开发环境中的功能块以及对应的显示屏幕。
图6示出了服务列表显示单元的显示例子。
图7示出了服务模型显示单元的显示例子。
图8示出了数据中心(hub)的显示例子。
图9示出了如何通过使用数据中心来关联对多个服务的查询。
图10示出了客户端执行环境中的功能块。
图11示出了服务调用管理环境中的功能块。
图12是用于应用的开发场景的流程图。
图13是服务调用注册场景的流程图。
图14示出了应用开发屏幕的特定例子。
图15示出了应用开发屏幕的特定例子。
图16示出了应用开发屏幕的特定例子。
图17示出了应用开发屏幕的特定例子。
图18示出了应用开发屏幕的特定例子。
图19示出了应用开发屏幕的特定例子。
图20示出了应用开发屏幕的特定例子。
图21示出了应用开发屏幕的特定例子。
图22示出了应用开发屏幕的特定例子。
图23示出了应用开发屏幕的特定例子。
图24示出了所创建的应用操作的屏幕。
图25示出了所创建的应用操作的屏幕。
图26示出了根据本发明另一实施例的应用开发屏幕的特定例子。
图27示出了根据另一实施例的应用开发屏幕的特定例子。
图28示出了根据另一实施例的应用开发屏幕的特定例子。 图29示出了根据另一实施例的应用开发屏幕的特定例子。
具体实施例方式
下文将参照附图描述本发明的实施例。给出这些实施例用于举
明的限制。另外,除非另有说明,在附图中通篇地用相同的标号来 表示相同的组件。
实施例1
实施例l描述了如何为Web服务创建应用程序。具体而言,主 要基于JavaScript⑧来实现这一实施例,JavaScript⑧作为Web浏览器 的一种汇编语言,在系统中用作编程语言。然而,本发明不限于一 种特定编程语言而是能够使用C++、 C#、 Java⑧以及支持拖放操作并 且能够调用API函数的其它此类编程语言。顺便提及,在如下实施 例中使用的拖放操作可用于绑定所显示的对象,但是绑定操作不限 于拖放操作。通过点击源对象以例如从下拉菜单中选择项目"关联"、 然后点击目标对象来关联数据。可选地,正如本领域技术人员将理 解的,即使利用Ctrl键、Alt键或者利用通过进行适当编程来对按键 进行组合的适当快捷键也能够实现等同于拖放操作的功能。
下文参照附图描述这一实施例。图l是根据这一实施例的硬件 组件的示意框图。在图1中,客户端计算机100和服务器计算机200 连接到遵循例如以太网协议的通信线路300。通信线路300还通过代 理服务器400连接到因特网500以允许通过因特网500访问各种网 站602、 604、 606.......。
客户端计算机100包括石更盘104和遵循以太网协i义的通信接口 106。在硬盘104中,以可加载的方式在存储器中存储这一实施例中 使用的各种程序,比如操作系统或者Web浏览器102。 Web浏览器 102可以是能够执行JavaScript的任何Web浏览器;例如,可以使用
Microsoft Internet Explorer , Mozilla Foundation FireFox 、 Apple Computer Safari⑧等。作为操作系统,可以使用任何系统,只要该系 统支持作为标准特征的TCP/IP通信功能并且能够执行Web浏览器。 例如,可以使用Li麵⑧、Microsoft Windows XP 、 Windows 2000、 Apple Computer Mac OS⑧等,但是操作系统不限于此。
服务器计算机200包括硬盘204和遵循以太网协议的通信接口 206。在硬盘204中,以可加载的方式在存储器中存储这一实施例中 使用的各种程序,比如操作系统、Web浏览器和Web应用服务器程 序(下文也称为Web应用服务器)202。 Web应用服务器是用于存 储HTML文档或者图像信息并且响应于来自客户端应用如Web浏览 器的请求而通过网络如因特网传输信息的程序。作为Web应用服务 器202,可以使用任何服务器,比如Apache TomCat或者Microsoft Internet Information Server。作为操作系统,可以使用支持作为标准 装备的TCP/IP通信功能并且能够执行Web应用服务器的系统。例 如,可以使用Linux 、 Microsoft Windows XP 、 Windows 2000、 Apple Computer Mac OS⑧等。然而,操作系统不限于此。
接着参照图2具体描述客户端计算机100和服务器计算机200 的硬件配置。
客户端计算机100包括CPU 108和主存储器110并且连接到总 线109。 CPU优选地基于32位或者64位架构。例如,可以使用Intel Pentium 4、 AMD Athlon⑧等。总线109通过显示器控制器112连 接到显示器114,比如LCD监视器。显示器114用于显示程序,如 图1中的Web浏览器102。总线109还通过IDE控制器116连接到 硬盘104和CD-ROM驱动器118。在硬盘104中,以可加载的方式 在主存储器110中存储搡作系统、Web浏览器102和其它这样的程 序。CD-ROM驱动器118能够用来根据需要将程序从CD-ROM附加 地下载到硬盘104。总线109还通过键盘/鼠标控制器120连接到作 为字符输入装置的键盘122和作为指示装置的鼠标124。键盘122 用于在屏幕上输入URL或者其它字符。鼠标122用来拖放如下文所
述的GUI组件或者点击菜单按钮以开始操作。
通信接口 106基于以太网协议并且用以将客户端计算机100物 理地连接到通信线路300。通信接口 106^是供网络接口层,该网路接 口层遵循客户端计算机100的操作系统的通信功能的TCP/IP通信协 议。顺便提及,所示组件是以有线方式连接的,但是也可以通过遵 循无线LAN连接标准如IEEE802.11a/b/g的无线LAN来连接。
另外,通信接口 106可以遵循取代以太网协议的任意协议,比 如令牌环。本发明不限于特定物理通信协议。
服务器计算机200包括CPU 208和主存储器210并且连接到总 线209。同样在客户端计算机200中,CPU优选地基于32位或者64 位架构。例如,可以使用Intel Pentium 4、 Xeon 、 AMD Athlon 等。总线209通过显示器控制器212连接到显示器214,比如LCD 监视器。虽然在下文中有具体描述,但是显示器214用来创建连接 到因特网的GUI组件,用来用JavaScript编写程序并且注册该程序 使得客户端程序100能够调用已注册的程序,或者用来向系统管理 员注册通过客户端程序100来访问该程序的用户的用户ID和口令。
总线209通过IDE控制器216连接到硬盘204和CD-ROM驱 动器218。在硬盘204中,以可加载的方式在主存储器210中存储操 作系统、Web浏览器102和其它这样的程序。
CD-ROM 218用来根据需要将程序从CD-ROM附加地下载到 硬盘204。总线209还通过键盘鼠标控制器220连接到键盘222或者 鼠标224。键盘222用来在屏幕上输入URL或者其它字符。鼠标222 用来向系统管理员注册如下文所述的GUI组件。
通信接口 206遵循以太网协议并且用以将服务器计算机200物 理地连接到通信线路300。针对客户端计算机200的操作系统的通信 功能的TCP/IP通信协议,通信接口 206提供网络接口层。同样在服 务器计算机200中,是以有线方式连接的,但是也可以通过基于无 线LAN连接标准如IEEE802.11a/b/g的无线LAN来连接。
另外,通信接口 206可以遵循取代以太网协议的任意协议,比
如令牌环。本发明不限于特定物理通信协议。
在服务器计算机200的硬盘204中,除了上述操作系统和Web 应用服务器202之外还存储提供如下文所述的本发明开发环境的程 序。通过对由DojoToolkit作为JavaScript库来提供的模块以及发明 人用JavaScript语言编写的模块进行组合来获得开发环境。例如参照 http:〃dojotoolkit.org/以便获取更多信息。开发环境被存储于服务器计 算机200的硬盘204中的原因在于登录到服务器计算机200上的任 何客户端计算机100利用Web应用服务器202的功能来下载开发环 境以开始开发。
顺便提及,本发明不限于用JavaScript编写的模块。可以通过 使用已知为浏览器汇编语言的例子的Jscript或者VB SCript来实现本 发明。另外有可能采用如下配置,该配置执行置于HTML中的Java 程序并且将执行结果发送回Web浏览器。
另外,图1和图2示出了客户端/服务器配置,但是仅利用客户 端计算机100的配置也能够实现本发明。在这一情况下,上述开发 环境或者模块可以直接地驻留于客户端计算机100中。在这一条件 之下,计算机通过如图1中所示通信线路300和代理服务器400来
直接访问因特网。
另外,在图1中,在防火墙以内提供客户端计算机和服务器计 算机,但是可以在防火墙以外提供服务器计算机。在这一情况下, 如果有安全性上的担心,则可以利用数种安全机制如VPN来提高安 全级别。
接着参照图3具体描述服务器计算机200中Web应用服务器 202的功能。在图2的框图中,在某一程度上具体地图示了硬件组件。 在这一例子中,在有必要时使用软件模块的更抽象框图。
在图3中,Web应用服务器202包括应用执行单元252、服务 调用单元254、服务调用管理单元256和应用管理单元258。
在硬盘204中,以可调用的方式记录服务调用定义262和应用 定义264。在服务调用定义262中存储多个服务模型元素(通常用来
实施小配件(widget)),这些元素访问由预定系统管理员预备的单 独网站。下文参照图11描述如何创建和编辑服务模型元素。在应用 定义264中存储应用程序,该程序包括小配件以及在服务调用定义 262中定义的和由客户端计算4几100的用户预先创建的其它处理过程。
认证/鉴权块266例如是由系统管理员预备的客户端计算机100 的用户的成对的用户ID和口令。这些多条信息例如存储于硬盘204 中。如果客户端计算机100的用户登录到服务器计算机200中,则 需要用户输入成对的用户ID和对应的口令。
应用执行单元252的基本功能解释和执行从Web浏览器102 发送的命令。在服务调用单元254中定义URL或者参数。应用执行 单元252能够通过使用服务调用单元254中的URL或者参数来直接 地访问网站服务602。顺便提及,这里所指的URL例如是指 http:〃www.xyz.com/Service/CGI/purchase.cgi 。 参 H 是 #旨 http:〃www.xyz.com/Service/CGI/purchase.cgi &cost=parml&goods=parm2 中的价钱或者货物。服务调用管理单元256响应于来自Web浏览器 10 2的请求从应用定义264中调用由客户端计算机10 0的用户拥有的 应用程序,并且能够编辑/执行/删除程序。这时,可以从登录到计算 机中的用户的用户ID中导出关于应用程序拥有者的信息。
Web应用服务器202中的客户端模块260通常存储于硬盘204 中并且响应于来自Web浏览器102的请求而被下载到客户端计算机 100。在这一实施例中,客户端模块260的典型格式是表述"js"所 代表的JavaScript文件。也就是说,作为JavaScript的描述方法的有 直才妄编写方法,例3口
〈script type="text/javascdpt"> <!-actual JavaScript code〃-画〉 </script>
以及指定和调用JavaScript的文件名的描述方法,比如 <script src="abc.js" type="text/javascript"></script> 在执行侧上主要使用指定和调用JavaScript的文件名的方法。 接着参照图4描述客户端计算机100的应用管理环境。如果客 户端计算机100的用户登录到服务器计算机200中,则通过Web应 用服务器202的处理从客户端计算机200将优选地用JavaScript编写 的应用管理模块260下载到客户端计算机1。根据应用管理模块260 的功能,包括登录到计算机中的用户的用户ID在内的命令被发送到 应用管理单元258。然后,应用管理单元258搜索应用定义264并且 将用户所拥有的应用程序的名称发送回客户端计算机100。结果,利 用应用管理模块260的功能在因特网浏览器102的屏幕上显示如图4 中所示的应用列表150。
列表150显示用户所拥有的应用l至4,并且在右侧上布置"执 行"按钮152、"编辑"按钮154和"删除"按钮156。响应于鼠标124(图 2)的点击,从服务器计算机200下载执行环境模块以转变到目标行 上程序的执行环境(如下文所迷)。响应于鼠标124对按钮154的 点击,从服务器计算机200下载开发环境模块以转变到目标行上程 序的开发环境(图5)。响应于鼠标124对按钮156的点击,向应用 管理单元258发送用以删除该行上程序的命令,因而应用管理器单 元258从硬盘204中删除对应的应用程序。如果点击"新文档"按钮 158,则从服务器计算机200下载开发环境模块以转变到具有新文档 的开发环境。
接着参照图5描述作为本发明的主要特征的执行环境。通过利 用鼠标124在图4的Web浏览器102的屏幕上点击"编辑"按钮154 或者"新文档,,按钮158,从应用管理模块260下载开发环境模块到客 户端计算机100以由此在Web浏览器102上显示图5的屏幕。以这 —方式,能够调整开发环境。开发环境包括多个区域,即服务模型 显示单元162、应用编辑单元164、 GUI组件显示单元166、服务列 表显示单元168、数据中心170和属性编辑单元172。在这一实施例 中,服务模型显示单元162和GUI组件显示单元166是模板区域, 它们的GUI组件能够粘贴到应用编辑单元164。
GUI组件列表显示单元166显示GUI组件,比如按钮、编辑按 钮、备忘录、标签、组件框和单选按钮,并且能够将GUI组件从单 元166拖放到应用编辑单元164。
服务列表显示单元168列出用于访问由系统管理员预先创建的 Web服务的服务。图6示出了其例子。图6图示了 CitySerach (城市 搜索)作为输入邮政编码则发送回州名和」成市名的网站;图示了 Price,com作为用于查看商品价格的网站;图示了 WebMap(网上地 图)作为用于在网站上显示地图的网站;以及图示了 MapCode(地 图代码)作为基于目标城市名或者州名发送回目标城市或者州的经 度和炜度的网站。顺便提及,描述这些网站是为了举例说明,因此 这些网站在一些情况下并不是实际的网站。
服务模型显示单元162是如下区域,在该区域中以树的形式示 意性地显示由"触发"元素代表的利用服务列表显示单元168选择的 服务的输入元素以及和由"输出"元素代表的输出元素。所显示的输 入元素和输出元素能够被拖放到如下文所述的应用编辑单元164或 者数据中心170或者从应用编辑单元164或者数据中心170来拖放。
作为服务的可考虑输出元素,除了简单文本字符串之外还有用 XML进行了结构化的列表。假设输出元素是简单文本字符串,如果 该元素被拖放到数据中心170,则单个单元就占用了数据中心170。 假设输出元素是列表,则该元素被拖放到数据中心170,与列表中字 符串和数值的数目 一样多的单元占用数据中心170,并且与列表相对
应的字符串或者数值被存储于单元中。
应用编辑单元164能够用来拖放来自GUI组件列表显示单元
166的GUI组件以及来自服务模型显示单元162的触发元素、输入 元素或者输出元素。
服务模型显示单元162的触发元素被粘贴到应用编辑单元164 并且在程序正在执行的状态下被选择,然后允许对服务所指定的 URL进行访问。在服务模型显示单元162上显示的服务的输入元素 是在访问URL时提供的参数。例如,如果访问代码是
http:〃www.CitySearch.com/Search/CGI zipcode=2428502&country=Ja pan,则邮政编码是参数输入元素(下文简称为参数),并且98231 是 其 细 节 。 可 考 虑 比 如
http:〃www.CitySearch.com/Search/CGI zipcode=2428502&country=Ja pan之类的多个参数。顺便提及,Web服务并不总是包括输入参数或 者元素。可考虑没有输入元素的Web服务。例如,参数对于简单地 发送回关于当前格林威治平均时间的数据的Web服务而言不是必需 的。
另 一 方面,响应于对网站的访问而发送回的数据的格式是作为 相对小的数据交换格式的HTML、 XML或者JSON ( JavaScript对象 表示法)。以这一方式,响应于对网站的访问而发送回的数据可以 是结构化数据。因此,可考虑各种格式,比如所发送的XML列表的 全部或者一部分,作为能够与服务模型显示单元162的输出单元一 样被拖放的单元。
另外,在这一实施例中,与服务的异步通信用来访问网站或者 Web服务;这一通信称为XMLHttpRequest, XMLHttpRequest优选 地基于Ajax。基于该技术,能够加速屏幕重写并且能够减少数据通 信量。这里,可以代之以使用普通HTTP协议的命令。
作为数据关联区域的数据中心170优选地包括类似于电子数据 表(也称为电子数据表程序)的接口并且被划分成多个部分;这些 部分被排列为矩阵。根据电子数据表程序,这些部分被称为以A1、 A2和B1命名的单元。用户能够将值输入到各单元中,或者粘贴到 应用编辑单元164的GUI组件能够被拖放到各单元。可选地,能够 将比如二A1+B1或者-Al&","&Bl这样的电子数据表形式的计算表达 式能够输入到各单元中。可以使用哪个表达式取决于以JavaScript 等为基础的编程代码。对照而言,各单元能够纟皮拖;故到向应用编辑 单元164粘贴的GUI组件以及服务模型显示单元162中显示的服务 的输入元素。也就是说,在这一实施例中,数据中心170能够利用 JavaScript函数在单元之间提供上述拖放功能以及各种计算功能。
如上所述,用XML描述的元素输出列表可以被粘贴到数据中 心170作为Web服务的输出元素。在这一情况下,如果输出元素列 表被拖放到数据中心170,则与列表中的元素数目 一样多的单元就占 用了数据中心。以这一方式,有必要编译关于从列表中拖放的多个 单元的数据。因此,在这一实施例中预备统计函数,比如累加函数 如二SUM(Al..El)、平均函数如-AVERAGE(Al..El)、标准偏差函数 如二STDEVA(Al..El)、最大值函数如^MAX(A1.,E1)和最小值函数如 二MIN(Al..El)。已经很好地建立了具有公式变换能力的基于 JavaScript的安装方法(installation)来作为编程技术,这里省略其 描述。
在这一实施例中,利用如以下代码所表示的Dojo库工具包来 实现拖放操作。
Drag source side: var ds = new
dojo.dnd.HtmlDragSource (domNode, dragSourceName); Drop target side: var dt = new
dojo.dnd.HtmlDropTarget (domNode, dropTargetName). 另外,以声明格式(XML)保存通过拖放操作来绑定的信息。 其表示法例子给出如下,并且该例子指示将命名为InputText—0的 sourceWidget(拖放源的GUI组件)与命名为Action—0的targetWidget (拖放目标的GUI组件)相关联。
<Application: WidgetpropertyBinding source Widget = "i叩utText一O" sourceProperty="value" sourceEvent="setValue" targetWidget-"Action—0" targetProperty="value"> </Application: WidgetPropertyBinding>
顺便提及,本领域技术人员应当理解,这种工具包的应用和表 示法是通过举例给出的,并且可以使用各种等同的技术。例如,操 作系统如Windows 2000和Windows XP⑧预备了用于拖放操作的一 些API函数如DragQueryPoint,所以有可能调用适当函数和执行处 理。
另外,供用户在数据中心170中输入数字表达式的单元被拖放
到服务模型显示单元162中显示的服务模型的输入元素和触发元素 并且与之相关联。然而,图5的客户端开发环境的功能能够设置为 使得该单元能够被直接地拖放到例如应用编辑单元164的空间而不 是将单元拖放到元素上,以由此自动地向它粘贴文本输入区域的 GUI组件并且将作为拖放源的数据中心170的单元的值与之相关联。 例如如果单元被从GUI组件列表显示单元166拖放到应用编辑单元 164的空间,则通过普通技术将该单元放置于所选GUI组件的应用 编辑单元164上。因而,有可能通过使用类似技术向客户端开发环 境赋予如下功能,即使得响应于从数据中心170的单元到应用编辑 单元164的空间的拖放操作而向拖放目的地粘贴代表文本输入区域 的GUI组件,并且来自作为拖;改源的数据中心170的单元的GUI组 件与文本输入区域相关联。
属性编辑单元172旨在于设置或者改变被鼠标点击过的服务的 GUI组件或者输入/输出元素的属性,比如颜色、字体、显示/隐藏或 者启用/禁用。
图9示意性地示出了如何关联多个Web服务的例子。在图9 中,服务1具有作为输入的输入1以及作为输出的<输出1〉和<输出 2>。服务2具有作为输入的输入1以及作为输出的<输出1>和<输出 2>。服务3和4各具有作为输入的输入1和输入2以及作为输出的< 输出1〉。下文描述一种创建包括图7和图9中所示输入和输出的小 配件的方法。
这里考虑如下场景。也就是说,将对服务1的<输出1〉和<输出 2>进行计算的结果发送到服务2的输入1。响应于计算结果,将服务 2的<输出1〉和<输出2>直接发送到服务3的输入1和输入2,并且 将对服务2的<输出1>和<输出2>进行计算的结果发送到服务4的输 入2。然后,将对服务1的<输出1>和<输出2>进行计算的结果发送 到服务4的输入1。因此,将服务1的<输出1>和<输出2>拖放到数 据中心170的单元Al和Bl。将单元Al和Bl的预定数字表达式写
到单元C1。然后,将单元C1拖放到服务2的输入1。然后,将服务
2的<输出1>和<输出2〉分別拖放到数据中心170的单元C2和D2。 将单元C2和D2的预定数字表达式写到单元E2。然后,直接地而不 通过数据中心170将服务2的<输出1〉和<输出〉2拖放到服务3的输 入1和输入2。另外,将数据中心170的单元Cl拖放到服务4的输 入1。将数据中心170的单元E2拖放到服务4的输入2。这样的复 杂场景并不实际存在,但是这种极端情况被用来说明利用本发明的 数据中心进行可视编程的优点。也就是说,如果省略比如数据中心 170这样的接口 ,就应当编写很复杂的代码以实现具有等同功能的程 序。根据本发明,在使用电子数据表时仅利用基本技巧就能够简单 地实现具有等同功能的程序。
另外,服务1的输入1是供用户利用键盘等向其中输入信息的 域。从图9中可以示意性地看出,响应于触发按钮上的点击,访问 指定网站,并且通过数据中心170的指定单元自动地向服务2、 3和 4提供所需信息。顺便提及,在图9中,也将单元Cl拖放到服务2 的"触发,,以及将服务2的<输出1〉拖放到"触发,,。将单元E2拖 放到服务4的"触发,,。这是为了利用JavaScript的命名为OhChange 的事件句柄来触发拖放源的值改变以自动地开始下 一 服务。利用以 上设置,如果根据服务1的<输出1〉和<输出2>的数据改变来改变单 元C1中的数据,则自动地依次执行服务2的触发、服务2的<输出 1〉和<输出2〉的数据改变、服务3的触发、单元E2的改变以及服务 4的触发。
接着参照图IO描述客户端的执行环境。回到图4,点击在应用 1 一旁的"执行"按钮142,然后根据Web应用服务器202的功能而将 应用执行模块260之中的关于客户端执行环境的模块下载到客户端 计算机100。关于客户端执行环境的模块包括应用定义解释单元260a 和应用显示单元260b。这次选择应用1(图4),所以从应用管理单 元258下载应用1的应用定义264,并且利用应用定义解释单元260a 来执行该应用定义264。基于来自应用定义解释单元260a的执行结
果,根据应用显示单元260b的功能而在Web浏览器102的屏幕上 显示所选应用1,并且根据该执行来更新所显示的内容。
顺便提及,从图1和图2中可见,客户端计算机106能够直接 地经由代理服务器400而不通过服务器计算机200访问网站602至 606。然而,仍然存在一种担心,即如果服务器计算机200没有通过 服务器计算机200而利用所下载的模块访问访问外部网站,则可能 出现所谓的跨站安全漏洞(cross site security hole )。对此,在这一 实施例中,如图10中所示,从Web应用服务器202下载的模块所 执行的应用一定要通过Web应用服务器202中的应用执行单元252 i方问夕卜"^网5占。
接着参照图11说明服务调用管理环境。术语服务是指提供如 图8中CitySearch或者Price.com所示的服务的网站。如果用户基于 预定用户ID和口令通过服务调用管理环境登录屏幕(未示出)登录 到网站中,则从Web应用服务器202下载服务调用管理环境模块 260。如图11中所示,在Web浏览器102的屏幕上显示如下菜单, 该菜单包括注册服务列表显示单元180和服务调用定义单元190。顺 便提及,在这一实施例中,登录服务调用管理环境的权限比登录图4 的应用管理环境的权限受到更多限制。 一般而言,仅授权给系统管 理员。这是因为已创建的服务小配件出现在图5的开发屏幕上的服 务列表显示单元168上并且能够由任何用户使用,所以可靠操作是 必要的。
另外,基于从Web服务应用程序202的服务器服务调用管理单 元256读取的服务调用定义262在注册服务列表显示单元180上列 出已注册的服务。在实践中,在输入182、 184和186上显示已注册 的服务的名称(例如图8的CitySearch)。点击在其右侧上的"编辑" 按钮186以显示用于对服务进行编辑的菜单(未示出)。可选地,对 "删除,,按钮189进行鼠标点击以由此从服务调用定义262中删除服 务。针对各已注册服务,在服务简档定义单元中注册了由系统管理 员确定的服务的URL (例如http:〃www.CitySearch.com/Search/CGI)
和名称(例如CitySearch)。
在输入参数定义单元194中,为输入参数定义单元194中的各 已注册服务而注册输入参数名称以及输出数据的名称和属性。例如, 如果名称为CitySearch,则输入参数是邮政编码,并且输出数据的名 称和属性分别是<^成市〉和<州>以及文本。
如果系统管理员指定URL、输入适当参数并且点击"执行"按钮 197,则通过Web服务器应用程序202的服务调用管理单元202来 访问网站的服务602。然后,在输出显示单元196上显示执行结果。 作为输出数据的属性,根据Web服务的性质,除了文本之外还可考 虑HTML、 XML和JASON。 XML的输出数据是结构化文档,所以 能够列出全部数据或者能够获取特定标记中的数据。因而,创建服 务小配件的系统管理员适当地预备用于列出全部输出XML数据的 视图或者用于在特定标记中显示数据的视图。从输入参数定义单元 194读取由此创建的视图,并且根据所选服务在服务模型显示单元 162中显示该视图,如图7中<城市>和<州>所示。
如果对作为点击"执行"按钮197之结果的显示结果满意,则系 统管理员点击"保存,,按钮198。然后,基于输出视图的所用参数和信 息,与服务相关联地在输入参数定义单元194中存储参数定义。
当系统管理员点击"新文档"按钮199时,出现具有空白URL域 和空白参数域的屏幕(未示出)。因此,系统管理员输入适当URL 或者各种参数并且点击"执行"按钮197。如果对结果满意,则系统管 理员点击"保存,,按钮198。然后,在服务调用定义单元190中存储新 的URL和名称而在输入参数定义单元194中存储与之关联的参数。 以这一方式,创建和存储新的服务调用定义262。
已经描述了本发明的一个实施例,参照图12的流程图关于应 用开发场景的进一步说明将有助于理解本发明。
在图12中,客户端计算机100的用户在步骤1202中打开Web 浏览器102并且登录应用。然后,通过图1的网络300建立与Web 应用服务器202的通信,并且应用管理单元258显示登录屏幕(未
示出)作为响应。如果用户响应于此而l命入用户ID和口令,则应用
管理单元258参考认证/鉴权模块266 (图3 )以检验和认证用户ID 和n令。
如果认证了这些用户ID和口令,则在Web浏览器102中显示 图4的应用管理环境的菜单。这里,过程进展到步骤1204,并且用 户从应用列表150中选择现有文档并且选择"编辑,,按钮154或者"新 文档"按钮158。然后,根据应用管理单元258的功能而将客户端开 发环境模块下载到客户端计算机100。在初始化之后,在Web浏览 器102上显示图5的屏幕。在创建新文档的情况下,应用编辑单元 164为空白。在编辑现有文档的情况下,从应用管理单元258读取所 选应用的应用定义264。然后,在应用编辑单元164中绘制现有小配 件等。另外,无论点击的按钮是"新文档"按钮还是"保存"按钮,GUI 组件列表164都列出已注册的数据。另外,服务调用管理单元256 调用注册服务调用定义204并且根据在定义204中定义的服务的名 称将服务添加到服务列表调用单元168的列表。
用户在步骤1206中通过鼠标点击将所希望的服务模型(简称 为"服务,,)拖放到服务模型显示单元162。然后,利用在输入参数定 义单元194 (图11 )中定义的结构在服务模型显示单元162上显示 所选服务的元素。图7示出了其例子。
在步骤1208中,用户将输入和触发放到应用编辑单元164。另 外在步骤1210中,用户将打算作为另一服务模型的输入的输出拖放 到数据中心170的任意单元。
在步骤1212中,服务列表显示单元168响应于拖放操作而提 供作为拖放源的服务模型的输出引用。另一方面,在数据中心170 侧上,在应用定义存储器(虽然未示出,但是已分配给图2的主存 储器110)中创建源数据到作为拖放目标的单元的绑定。这里,将计 算表达式输入到在作为拖放目标的单元旁边的单元。然后,基于应 用定义存储器中存储的值来执行计算。在反映其中输入了表达式的 单元时显示其结果。在步骤1214中,用户将下一用户模型拖放到服务模型显示单 元162。然后,根据与在步骤1206中的功能相同的功能而在服务模 型显示单元162上显示比如输入和输出这样的已拖放服务模型的结 构。
在步骤1216中,用户将数据中心170侧上已经输入了表达式 的单元拖放到服务模型显示单元162上的输入和触发以由此绑定它 们。然后,服务模型显示单元162提供对已拖放单元所在的输入和 触发的引用。另一方面,数据中心170在应用定义存储器中创建在 输入引用与单元引用之间的绑定以及在触发引用与单元引用之间的 绑定。
在步骤1218中,用户将服务模型显示单元162的输出拖放到 应用编辑单元164 (图5)。作为响应,应用编辑单元164创建对来 自服务模型显示单元162的输出的引用并且在拖放目的地上显示该 引用。
接着在步骤1220中,虽然在图5中未示出,但是通过用户点 击预定按钮等来选择对所创建的应用进行保存的处理,然后,正在 运行的应用开发环境模块将应用定义存储器中的数据发送到应用管 理单元258 (见图3)。作为响应,应用管理单元258将数据存储到 硬盘204使得能够以后读取数据。
在调用和执行这样保存的应用的情况下,用户登录应用并且选 择用于显示应用管理环境的菜单。然后,通过Web服务器应用程序 202的操作将对应的应用管理模块下载到客户端计算机100。显示图 4的屏幕。
这里,用户选择预定应用并且点击对应的"执行"按钮162,然 后用于执行应用的模块被通过Web服务器应用程序202的操作下载 到客户端计算机100并且被执行。上面已经参照图IO描述了这一操 作,所以这里省略其具体描述。
在图13中,客户端计算机100的用户在步骤1302中打开Web 浏览器102并且登录服务调用管理菜单。然后,通过图l的网络300
建立与Web应用服务器202的通信,应用管理单元258在屏幕中发 送回登录界面(未示出)。作为响应,用户输入用户ID和口令,然 后应用管理单元258参考认证/鉴权模块266 (图3 )以检验和认证用 户ID和口令。 一般而言,登录服务调用管理菜单的权限比图12的 应用开发屏幕的权限受到更严格的限制。这是因为已注册的服务模 型普遍由用户选择并因此需要可靠地操作,并且希望由熟练的人员 来创建模型。
在用户登录菜单之后,从Web应用服务器202下载预定模块 260到客户端计算机100,因此在Web浏览器102的屏幕上显示图 11的菜单。然后,在步骤1302中,在已注册服务列表显示单元上显 示车釙入182、 184和186。
在创建新文档的情况下,用户点击按钮199(图11)。用户在 步骤1306中输入服务URL、注册名和解释。另外,用户在步骤1308 中输入服务参数并且输入参数值。
在编辑现有文档的情况下,用户点击对应输入的"编辑"按钮 189(图11)。然后,从服务调用管理单元256下载对应的服务调用 定义262,并且由此将数据提供到服务简档定义单元192和输入参数 定义单元194。
在步骤1310中,用户点击按钮197以尝试登录目标网站。这 一操作以如下方式来执行,即使得服务调用定义单元190进行用以 通过服务调用单元202来访问网站的服务602的HTTP请求。具体 而言,所进行的HTTP请求是GET,服务调用定义单元190能够直 接发送该请求到网站的服务602。
以这一方式,服务调用定义单元190接收来自网站的服务602 的结果并且在输出显示单元196上显示该结果。如果对结果满意, 则用户在步骤1312中点击"保存"按钮198 (图11)。然后,服务调 用定义单元190基于在输出显示单元196上显示的数据来构造服务 调用定义262,并且将定义发送到Web应用服务器202的服务调用 管理单元256。然后,服务调用管理单元256在硬盘204中保存所发
送的服务调用管理单元256。
接着通过具体描述来说明这一实施例的应用开发操作。这里假
设创建这样的应用4吏得用户(1)向命名为CitySearch的网站输入邮 政编码以获取关于城市的数据和关于州的数据;(2)并且通过对关 于城市的数据和关于州的数据进行组合来访问命名为MapCode的网 站;(3)以获得城市的炜度和经度。顺便提及,CitySearch独立地 发送回关于城市的数据和关于州的数据,但是MapCode要求将关于 城市的数据和关于州的数据组合成一个。本发明的特征对于自动地 执行这一操作而言是有用的。
参照图14,图示了新应用开发的初始屏幕。在这一屏幕中,GUI 组件列表显示单元166和属性编辑单元172由于与如下描述关系不 大而没有被示出。在这一屏幕上,如箭头1402所示,用户将CitySearch 从服务列表显示单元168拖放到服务模型显示单元162。
如图15中所示,在服务模型显示单元162中显示包括 CitySearch的输入和输出在内的结构。系统管理员根据CitySearch来 创建这一结构,其定义已经存储于如图11中所示的服务调用定义 262中。
这里,在图15中,如箭头1502所示将CitySearch的触发从服 务模型显示单元162拖放到应用编辑单元164,并且如箭头U04所 示将CitySearch的输入1拖放到应用编辑单元164。
然后,如图16中所示,在其中拖放触发的区域变为包括字符"前 进"的按钮1602,并且在其中拖放输入1的区域变为文本输入域 1604。
这里,如图17中所示,如果将邮政编码"10001"输入到文本输 入域1604并且点击按钮1602,则利用参数邮政编码="10001"通过图 3的服务调用管理单元256进行对CitySearch的访问,并且CitySearch 分别发送回"纽约"和"NY"到〈城市〉和〈州〉。这里,如箭头1702所 示,用户将服务才莫型显示单元162上显示的CitySearch的输出的<城 市>拖放到数据中心170的单元Al。如箭头1704所示,用户将输出
的<州 >拖放到数据中心170的单元B1 。
然后,分别将单元Al和单元Bl绑定到<城市〉和<州〉。因此, 如图18中所示,分别在数据中心170的单元Al和单元B1中显示'纽 约,和'NY'。
对此,用户利用字符串绑定运算符&将^A1&','&B1和计算表达 式输入到数据中心170的单元Cl并且按下"行结束"键。然后,如图 19中所示,求解计算表达式并且在单元Cl中显示'纽约,NY,。顺 便提及,在这一实施例中,至于运算符的限制,在JavaScript中包覆 运算符使得在一般的电子数据表程序中实现通用格式。然而,可以 利用另一编程语言来实现通用表示法,比如-Al+','+B2。另外,本领 域技术人员将容易理解到除了字符串绑定运算符之外还能够实现任 意计算,例如加法、减法或者其它这样的数学函数计算。
另外,在这一例子中,在单元Al和Bl中存储来自Web服务 的输出。然而,可考虑各种应用;例如,可以向一个单元输入由用
表il式。
、 、— 3, '、, 、 、々
接着如图20中所示,如箭头2002所示将MapCode从服务列表 显示单元168拖放到服务模型显示单元162的任意区域。然后,如 图21中所示,在服务才莫型显示单元162上显示包括MapCode的输 入和输出在内的结构。系统管理员已经根据MapCode创建该结构的 定义并且将该定义存储于服务调用定义262中。
然后,如在图21的屏幕上的箭头2102和2104所示,用户将 数据中心170的单元Cl拖放到服务模型显示单元162中MapCode 的触发和输入1。将该单元不仅拖放到输入1而且拖放到触发的原因 是为了自动地对数据中心170的单元C1的值改变做出响应并且在使 用输入1作为参数的的情况下访问MapCode。
顺便提及,这时,取代了将单元Cl直接拖放到服务显示单元 168中显示的MapCode的输入1,可以将MapCode的输入1暂时拖 放到应用编辑单元164,然后可以将单元1拖放到应用编辑单元l64
中的拖放目标。这一情况与上述情况的不同之处在于向MapCode的 输入1提供单元Cl的值。这一设置在随后执行应用时有助于用户在 视觉上观察作为中间步骤而在屏幕上向MapCode的输入1提供的值。
在实践中,当响应于拖放操作而将MapCode的触发从未关联州 改变成关联状态时,利用参数纽约、NY访问MapCode,并且MapCode 发送回纽约的绵度和经度,即<绵度>=40.71和<经度>=-75.59。然后, 如箭头2202和2204所示将作为MapCode的输出的<绵度〉和<经度> 从服务模型显示单元162拖放到应用编辑单元164以由此在应用编 辑单元164上显示这些值。
已经几乎完成了应用。此后,如图23中所示,用户适当地添 加字符串2302、 2304、 2306以便于理解应用从而保存应用。
可以在图4中所示的过程中选择和执行由此保存的应用。执行 屏幕如图24中所示。也就是说,优选地在应用定义264中描述与通 过数据中心170实现的绑定有关的信息作为用XML表达的内部数 据,并且数据中心170本身不出现在应用执行屏幕上。
用户例如在"邮政编码"中输入"95101"并且点击"前进"4妄钮 2408。然后,虽然用户看不见,但是利用参数邮政编码-"95101"进 行对CitySearch的访问。然后,CitySearch发送<城市〉='圣何塞'、< 州〉-'CA'。系统根据利用图14至23的过程创建和保存的内部定义 将已定义的存储器变量改变为'圣何塞','CA'。然后,响应于该改变来 触发MapCode并且利用参数'圣何塞','CA'来访问MapCode,并且 MapCode分别向<纬度>和<经度>发送回37.20和-122.06。图25示出 了其结果。
实施例2
以上实施例描述了对访问Web服务的应用进行创建的例子。正 如本领域技术人员容易理解到的,本发明适用于创建 一 般的客户端 应用。顺便提及,作为在这一实施例中使用的硬件和软件环境,可以利用结合图2的客户端计算机100来描述的环境,因此这里省略其具体描述。
图26图示了在现有可视创建工具中经常碰到的常见屏幕界面。 在这一界面中,菜单栏2602包括比如文件、编辑或者查看这样的菜 单。具体而言,文件包括子菜单,比如"新文档"、"另存为"、"保存,, 或者"结束"。响应于用户操作根据CPU 108和操作系统的功能而将 显示屏幕上的程序从图2的硬盘104读取到主存储器110并且显示 在显示器114上。
在GUI组件才莫板区域2604中,在表单中安排比如文本输入区 域、标签、备忘录和组合框这样的现有GUI组件使得能够拖放组件。 GUI组件模板区域2604优选地按照比如标签1、标签2、标签3…这 样的标签来分门别类。用户选择包括待粘贴GUI组件的标签。另外 布置属性编辑单元2606,该单元用于编辑向表单粘贴的GUI组件的 其它属性,比如颜色和字体。通过现有应用开发工具来提供这些组 件,但是本发明的新颖功能是看似电子数据表的数据中心2606的功 能。这一功能与图5的数据中心170的功能基本上等同。
用户先从菜单栏的"文件,,中选择"新文档"。然后,如图27中所 示,创建窗口"表单l"。然后,如果用户将文本输入区域中的组件从 GUI组件模板区域2604拖放到表单1,则显示文本输入区域2702 和2704。另外,根据需要拖放标签并且根据需要添加字符2706和 2708。
接着,如图28中所示,将字符如'东京,输入到文本输入区域 2702,并且将字符如'日本,输入到文本输入区域2704。由此拖放数 据中心2606的单元Al和Bl。然后,如图29中所示,在数据中心 2606的单元Al和Bl中显示'东京,和'日本,。
然后,如果将表达式-Al&','&Bl输入到单元Cl并且按下行结 束按钮,则在C1中显示数据'日本东京,。然后,用户从菜单栏中的"文 件"中选择表单"新文档"。然后,如图29中所示,创建窗口"表单2"。 然后,如果将文本输入区域的组件从GUI组件模板2604拖放到表单
2,则在此显示文本输入区域2902。在这一阶段,如果将数据中心 2606的单元Cl拖放到文本输入区域2902,则在文本输入区域2902 中显示'曰本东京,。
以这一方式,通过数据中心来关联相同表单或者不同表单中的 区域。能够在同一项目中的一个源代码中自动地描述这样获得的在 域之间的关系。另外,在现有技术的限度之内,可以捕捉关联源侧 上的值改变事件并且自动地将该事件反映到关联目标。
如果可视工具涉及BASIC、 C++、 C弁和Java,则不太可能出现 用户无需描述代码的情况。然而,数据中心的概念将便于在不同区 域之间的关联并且提高创建代码的效率。
如上所述,基于数个实施例描述了本发明的方法和系统。然而, 本发明不限于这样的方法和系统,而是也能够保护在比如CD-ROM、 DVD-R或者HDD这样的计算机可读介质中存储的程序或者可从网 站下载的程序。本发明的程序结合计算机硬件组件来构造上述系统, 或者能够执行前述方法。
另外,基于计算机语言如JavaScript, BASIC、 C++、 C弁或者Java 来描述这一实施例。本发明不限于特定计算机语言和环境。如果获 得上述GUI环境,则任何系统或者方法或者用于实现该系统或者方 法的任何计算机程序都在本发明的范围内。
另外,在上述实施例中,数据中心区域被设计为看似电子数据 表并且包括接口 。这样的显示形式对于本发明而言不是实质性的。 数据中心区域可以包括任何其它显示器接口 ,只要提供了能够拖放 的多个域以及能够存储基于域中存储的值来计算的值并且能够拖放 到另一对象的多个域。
权利要求
1.一种计算机辅助应用程序创建系统,用于响应于用户的操作通过计算机处理来布置用于在显示器上输入或者显示数据的元素以交互地创建应用程序,包括用于在所述显示器上显示第一区域和第二区域的装置,在所述第一区域中用户能够布置一个或者多个元素,并且所述第二区域包括多个部分,所述多个部分能够基于在所述第一区域中布置的所述元素来生成并且能够通过指示装置的操作与在所述第一区域中布置的所述元素相关联;用于将在所述第二区域的所述部分中存储的用户定义函数与在所述第一区域中布置的与该部分相关联的所述元素相关联的装置;以及用于存储关于所述关联的信息的存储装置。
2. 根据权利要求1所述的计算机辅助应用程序创建系统,其中 所述第二区域包括至少三个部分,并且向所述部分之一输入的函数 能够基于与其它部分相关联的数据而被计算。
3. 根据权利要求1所述的计算机辅助应用程序创建系统,其中 所述指示设备使用拖放操作来关联数据。
4. 根据权利要求3所述的计算机辅助应用程序创建系统,其中 所述第二区域包括电子数据表程序的接口 ,并且所述多个部分被显 示为所述电子数据表程序的单独单元。
5. 根据权利要求1所述的计算机辅助应用程序创建系统,其中 还包括用于显示包括多个预备元素的模板区域的装置,其中响应于从 所述模板区域对所述元素中各元素的拖放操作在所述第一区域中布 置该元素。
6. —种计算机实现方法,用于响应于用户的操作利用包括存储 装置的计算机在显示器上输入或者显示数据以交互地创建应用程 序,包括以下步骤在所述显示器上显示第一区域和包括多个部分的第二区域; 响应于用户的操作在所述第一区域中布置用户所选择的元素; 响应于用户的操作通过指示装置的操作将所述第一区域中布置的所述元素与所述第二区域的所述部分相关联;在所述第二区域的所述部分中基于所述用户所存储的函数来计算函数值;将包括所述函数值的所述第二区域的所述部分与在所述第一区 域中布置的所述元素相关联;以及在所述存储装置中存储关于所述关联的信息。
7. 根据权利要求6所述的方法,其中所述第二区域包括至少三 个部分,并且向所述部分之一输入的函数能够基于与其它部分相关 联的数据而被计算。
8. 根据权利要求7所述的方法,其中所述指示装置使用拖放操 作来关联数据。
9. 根据权利要求8所述的方法,其中所述第二区域包括电子数 据表程序的接口 ,并且所述多个部分被显示为所述电子数据表程序 的单独单元。
10. —种计算机辅助应用程序创建系统,用于响应于用户的操 作通过计算机处理来布置用于在显示器上输入或者显示数据的元素 以交互地创建对Web服务进行访问的应用程序,包括存储装置;用于在所述显示器上显示第一输入区域和包括多个部分的第二 区域的装置;用于响应于用户的操作来布置第一 Web服务模型元素和第二 Web服务模型元素的装置,所述第一 Web服务模型元素包括输出元 素、触发元素和0个或者1个或者更多参数输入元素并且适于访问 指定URL,并且所述第二 Web服务模型元素包括输出元素、触发元 素和至少 一 个参数输入元素并且适于访问所述第 一 输入区域中的指定URL;用于响应于用户的操作利用指示装置将所述第一或者第二 Web 服务模型元素的输出元素与所述第二区域的所述部分相关联或者将 所述第二区域的所述部分与所述第一或者第二 Web服务模型元素的 输出元素相关联的装置;用于在所述第二区域的所述部分中计算所述用户所存储的函数 的值的装置;以及用于在所述存储装置中存储关于所述关联的信息的装置。
11. 根据权利要求10所述的计算机辅助应用程序创建系统,其 中能够响应于用户的操作利用指示装置来将所述第二区域的所述部 分与将由所述部分的值的改变来触发的所述第一或者第二 Web服务模型元素的所述触发元素相关联。
12. 根据权利要求11所述的计算机辅助应用程序创建系统,其 中所述第二区域包括至少三个部分,并且向所述部分之一输入的函 数能够基于与其它部分相关联的数据而被计算。
13. 根据权利要求12所述的计算机辅助应用程序创建系统,其 中所述指示设备使用拖放操作将数据从源区域关联到目标区域。
14. 根据权利要求13所述的计算机辅助应用程序创建系统,其 中所述第一 Web服务模型元素的输出元素包括列表,并且所述列表 通过拖放操作来与所述第二区域相关联以将所述列表中数据的条数 与所述第二区域的所述部分相关联。
15. —种计算机辅助应用程序创建程序产品,用于响应于用户 的选择通过计算机处理布置用于在显示器上输入或者显示数据的元 素以交互地创建对Web服务进行访问的应用程序,所述程序产品使 所述计算机执行以下步骤在所述显示器上显示第一输入区域和包括多个部分的第二区域;响应于用户的操作来布置第一 Web服务模型元素和第二 Web服 务模型元素,所述第一 Web服务模型元素包括输出元素、触发元素和0个或者1个或者更多参数输入元素并且适于访问指定URL,并 且所述第二 Web服务模型元素包括输出元素、触发元素和至少一个 参数输入元素并且适于访问所述第 一 输入区域中的指定U RL;响应于用户的操作利用指示装置将所述第一或者第二 Web服务 模型元素的输出元素与所述第二区域的所述部分相关联或者将所述 第二区域的所述部分与所述第 一或者第二 Web服务模型元素的输出 元素相关联;在所述第二区域的所述部分中计算所述用户所存储的函数的 值;以及在所述存储装置中存储关于所述关联的信息。
16. —种计算机辅助应用程序创建系统,用于响应于用户的操 作通过计算机处理来布置用于在显示器上输入或者显示数据的元素 以交互地创建应用程序,包括存储装置;用于显示第一区域、包括至少一个部分的第二区域、以及第三 区域的装置;用于响应于用户的操作在所述第一区域中布置一个或者多个元 素的装置;用于响应于用户的操作在所述第三区域中布置一个或者多个元 素的装置;用于响应于用户的操作将所述第 一 区域中布置的所述元素与所 述第二区域的所述部分相关联的装置;用于根据用户向所述第二区域的所述部分输入的函数来计算函 数值的装置,该装置基于与在至少所述第一区域中布置的所述元素 相关联的值来计算所述函数值;用于响应于用户的操作将所述第二区域的所述部分与所述第三 区域的所述部分相关联的装置;以及用于在所述存储装置中存储关于所述关联的信息的装置。
全文摘要
本发明创建了基于GUI的应用程序,该应用程序实现了将存储于多个输入域中的算术运算结果传送到另一个域。在应用程序的开发阶段,拖放例如用于输出来自网站的数据的第一区域以与电子数据表式屏幕或者电子数据表程序上的第一单元相关联。接着,拖放用于输出来自网站的数据的第二区域以与电子数据表式屏幕上的第二单元相关联。然后,将用于在第一单元和第二单元中计算值或者数据的所需表达式输入到电子数据表式屏幕上的第三单元。可以将第三单元拖放到应用程序的所需的表或者窗口。
文档编号G06F9/44GK101192152SQ20071016963
公开日2008年6月4日 申请日期2007年11月13日 优先权日2006年12月1日
发明者井上基晴, 仁田圭祐, 原正雄, 安达久俊 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1