CN1447937A - 从因特网访问传统应用程序 - Google Patents
从因特网访问传统应用程序 Download PDFInfo
- Publication number
- CN1447937A CN1447937A CN01814158A CN01814158A CN1447937A CN 1447937 A CN1447937 A CN 1447937A CN 01814158 A CN01814158 A CN 01814158A CN 01814158 A CN01814158 A CN 01814158A CN 1447937 A CN1447937 A CN 1447937A
- Authority
- CN
- China
- Prior art keywords
- network
- data
- application program
- computer
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Saccharide Compounds (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Abstract
一种方法和装置,能够从诸如因特网的网络运行交互传统应用程序而不需要在应用程序中改变任何代码。因此,所述应用程序不知道新的网络环境并继续就象在它的本机环境中运行。可以通过利用可以连接到所述计算机或与其结合的网络服务器从几个客户机装置中的任何一个访问传统应用程序,其中在所述计算机上正在执行所述应用程序。一般,这些传统应用程序对企业是重要的,在所述计算机上是自含式的,具有混合的商业和用户接口逻辑,并在分布式计算的软件设计原则出现之前写入。在传统应用程序的情况下,万维网应用程序结构所要求的将商业逻辑与用户接口逻辑分离是不实用的。诸如精简的客户机的客户机具有一个诸如万维网浏览器的网络用户代理程序,它可以访问连接到所述计算机的一个网络服务器。本发明的方法提供了一个环境使得当从所述网络用户代理程序调用一个应用程序的时候,一个运行时间数据改发器截取所述应用程序的原始数据并将数据发送到所述网络服务器,所述网络服务器随后在动态更新诸如Java服务器网页的相关的应用程序网页之后通过网络将所述数据用于所述网络用户代理程序,所述相关的应用程序网页通过转换所述传统应用程序的专有显示屏幕而产生。用户通过所述网络用户代理程序输入的数据被经由同样的运行时间截取而被返回发送到所述应用程序。以这种方式,在所述应用程序现在能够利用许多因特网和其他网络能力的优点的同时客户机和网络环境对于所述应用程序是透明的。
Description
技术领域
本申请一般地涉及计算机软件应用领域,具体涉及通过诸如因特网的计算机网络来访问传统的应用程序。
背景技术
象所有的其他事物一样,计算机的使用这些年来已经改变。在早些年里,大型计算机主宰着产业,直到出现独立的个人计算机。现在,许多企业和家庭具有至少一台独立的个人计算机,即一台PC。但是已经出现了一种新的计算范例:以网络为中心的计算或分布式计算,其中至少两个、但是更可能是更多的计算机——称为客户机和服务器——被通过网络互相连接,其中由客户机使用的软件应用程序驻留在服务器上。因此,服务器可以通过网络提供由最终用户或由多个其他服务器和客户机使用的应用程序或客户程序或数据库。
在许多情况下并且越来越如此,连接客户机和服务器的网络是因特网。因特网指的是互相连接的计算机网络的集合,其中所述计算机网络使用因特网协议,如TCP/IP、UDP等。软件应用程序被以独立于服务器或客户机的操作系统的编程语言来编写,以便访问和使用在因特网上的无数应用程序。而且,描述在因特网上的数据的多种语言包括各种可扩充标记语言(XML),如超文本标记语言(HTML),无线标记语言(WML)等。万维网指的是一种软件管理方案,它利用超文本链接以各种用户代理程序访问因特网。
分布式计算已经从根本上改变了软件开发人员编写这些应用程序的代码的方法。软件开发人员不是编写一个具有几千或上百万行代码的巨大的自含式应用程序,而是将多个称作部件(component)的代码小部分选择和编织在一起,每个部件与一个特殊的功能(function)相关联,所述特殊功能可以被重新使用于在万维网上的多个应用程序。各部件是标准软件,它们可以被软件开发人员从服务器拉下和并入到新的应用程序中。例如,一个日历部件可以被用于诸如调度应用程序、表示应用程序和/或数据库应用程序的几个应用程序以计算雇员的假期和工资等。而且,用于因特网和万维网应用程序的当前的产业架构要求商业逻辑(business logic)与表示逻辑(presentation logic)分离,以便商业逻辑单独负责提供商业数据,而表示逻辑单独负责驱动表示或用户接口。
但是,具有几千或上百万行代码的巨大自含式应用程序可能仍然对于企业和组织很重要。实际上,一些自含式程序可能包括一个企业的整体存货清单/客户清单/数据库或所有上述内容。术语“传统应用程序(legacyapplication)”指的是旧的应用程序,它们仍然在企业和组织中被运行,但是,是在分布式计算和结构化程序设计以及它的模块化、耦合、内聚(cohesion)技术出现之前被开发的。被编写为一个大自含式程序的传统应用程序不容易适应于改变。但是这些传统应用程序经常对企业是如此的重要以至这些企业在关于这些应用程序的未来和开发新网络和因特网技术来用于远程和分布式访问这些重要应用程序的能力上面临困难的抉择。具有混合的商业和表示逻辑的交互式传统应用程序必须被重新构造或重新设计以便能够作为万维网应用程序。但是将商业逻辑与用户接口逻辑分离在以最少的干扰和测试将应用程序使用到万维网中方面不总是可行的。
在因特网和万维网上执行传统应用程序的其他方案可以使用屏幕剪贴(screen-scraping)技术,该技术将在运行时间的传统显示数据流转换为基于万维网的语言,如HTML或其他语言。经HTML转换的屏幕随后被显示在浏览器上。但是在运行时间转换传统的显示数据流较慢,牺牲了应用程序的性能,并不向用户提供提供将传统的应用程序与新的万维网或其他网络应用程序无缝地结合或桥接的能力。而且仅仅传统数据的转换也不提供当应用程序在因特网上运行的时候增进应用程序的用户接口的有效性的能力。
因此在产业中需要从因特网、万维网或其他计算机通信网络来访问传统的应用程序而不必重新构造应用程序或对程序改变代码。
在产业中也需要将传统的应用程序于其他网络应用程序无缝地交织。
发明内容
这些和其他需要通过一种执行在计算机上安装的计算机应用程序的方法可以满足对本领域的技术人员将变得明显,所述方法包括步骤:在连接到第一网络上的所述计算机的一个服务器中建立一个小服务程序实例(instance);在计算机上运行所述应用程序以产生动态数据;在所述计算机上截取所述动态数据和将其改发(redirecting)到一个网络公布部件(component);将动态数据从所述网络公布部件向小服务程序实例发送,在所述服务器中建立数据对象和向所述数据对象提供所述动态数据。所述方法还包括步骤:从通过第二网络连接到服务器的一个客户机请求所述应用程序;用所述动态数据更新至少一个网页;向所述客户机发送被更新的网页。
所述第一网络可以是因特网。所述第一网络也可以从包括内部网络、内联网、LAN、WAN、内部总线和无线网络的一个组中选取。类似地,所述第二网络可以是因特网;或者可以从包括内部网络、内联网、LAN、WAN、内部总线和无线网络的组中选取。所述计算机可以包括网络服务器。
所述方法可以进一步包括步骤:将所述应用程序的显示文件转换为能够显示动态数据的网页。所述网页可以基于XML语言,诸如HTML和/或WML。所述网页可以是Java服务器网页。而且所述网页可以被存储在所述服务器上。
本发明的方法可以还包括步骤:在计算机中建立一个用于动态数据的输入/输出(I/O)缓冲器。所述方法可以也包括步骤:建立在所述小服务程序实例和所述网络公布部件之间的第一端点连接;所述端点连接可以是一个套接口(socket)或一个数据队列对象或一个消息队列。
也可以设想本发明包括一个程序产品,用于一个计算机网络中来执行存储在一个客户的计算机上的一个应用程序,所述计算机程序产品包括一个信号承载介质,在其上带有:一个应用程序调用器,用于在客户的计算机上将一个应用程序在它的本机环境中启动和运行;多个网络用户接口网页,用于在所述客户机上显示所述应用程序的输入/输出数据;一个数据改发器,用于向所述网络用户接口网页改发所述应用程序的输入/输出数据;多个对应于所述网络用户接口网页的数据对象,用于接收所述应用程序的输入/输出数据;一个小服务程序实例,用于用所述应用程序的输入/输出数据动态地更新所述所述网络用户接口网页;一个网络用户代理程序,用于在所述客户机上显示所述更新的网络用户接口网页。所述程序产品可以还包括一个屏幕定义(definition)转换器,用于将所述应用程序的输入/输出屏幕定义转换为所述网络用户接口网页。
也可以将本发明认为一种计算机系统,用于执行一个应用程序,包括:一个中央处理单元;一个主存储器,通过一条通信总线与所述中央处理单元连接;一个数据存储单元,与一个数据存储接口连接,所述数据存储接口与所述通信总线连接;至少一个输入/输出装置,连接到所述通信总线,并与到一个外部计算机网络的一个网络接口相连接;一个应用程序,存储在所述主存储器中,能够在所述中央处理单元上被执行;一个网络公布部件;一个数据改发器,用于将所述应用程序的动态数据改发到所述网络公布部件;一个输入/输出缓冲器,用于存储所述被改发的动态数据。
而且,在另一个实施例中,本发明可以作为一种网络服务器,用于访问在一个计算机上存储和执行的一个应用程序,包括:一个中央处理单元;一个网络接口,通过一个网络连接到至少一个客户机;一个小服务程序实例,用于从所述至少一个客户机接收一个访问所述应用程序的请求,并将所述请求发送到所述计算机;一个服务器端点连接部,用于向所述计算机发送实时数据和从所述计算机接收实时数据,所述应用程序在所述计算机上被执行;多个数据对象,被提供实时数据,其中所述小服务程序从所述应用程序接收实时数据并以所述实时数据向所述数据对象提供。所述网络服务器还可以包括多个网络显示网页,每个网络显示网页对所述应用程序的每个输入/输出屏幕定义是唯一的,其中所述小服务程序更新所述网络显示网页以通过所述网络向所述客户机发送。
本发明也可以被看作用于执行安装在一个计算机上的一个计算机应用程序的一种方法,包括步骤:将所述应用程序的多个显示文件转换为多个基于XML的网页,所述基于XML的网页能够显示所述应用程序的动态数据;在一个网络上的连接到所述计算机的一个服务器中建立一个小服务程序实例;通过因特网从连接到一个服务器的一个客户机请求所述应用程序;在所述计算机上将所述应用程序在它的本机环境中运行;在所述计算机中建立一个I/O缓冲器,用于所述应用程序的动态数据;在所述计算机上在所述小服务程序实例和一个网络公布部件之间建立一个端点连接;通过所述小服务程序实例从所述客户机向所述应用程序来回发送动态数据;建立数据对象和向所述数据对象提供所述动态数据;利用所述数据对象更新至少一个网页;通过因特网向所述客户机发送所述被更新的网页;从所述客户机向服务器发送具有响应数据的网页以作为输入数据发送到所述应用程序。
而且,本发明的另一个方面是一种与一个计算机应用程序交互的方法,包括:将一个传统计算机应用程序在它的本机环境中执行;通过因特网改发来自一个客户机的所述传统计算机应用程序的I/O请求和向所述客户机的所述传统计算机应用程序的响应,而不向所述传统计算机应用程序的代码引入变化。
附图说明
图1是一种能够执行本发明的优选实施例的计算机系统的高级方框图。
图2是按照本发明的原理的一种服务器系统的简化方框图,所述服务器系统可以访问存储在所述计算机系统上的传统应用程序。
图3是能够利用本发明的优点的客户机和服务器的一个计算机网络的简化表示图。
图4是现有技术计算机传统应用程序环境的简化处理图和方框图,示出了要显示的数据的流动。
图5是如何按照本发明的原理将数据向一个网络和一个传统应用程序改发和从所述网络和所述传统应用程序改发的简化处理图。
图6是在因特网上如何利用万维网技术从一个传统应用程序改发数据的简化处理图和方框图。
具体实施方式
参见附图,其中在几个图中同样的数字表示同样的部件,图1示出了按照本发明的一个实施例的一种计算机系统100的高级方框图。计算机系统100可以包括中央处理单元(CPU)101、主存储器102、终端接口103、数据存储器104和诸如因特网的网络的接口105。各种装置经由内部通信总线110互相通信。CPU 101是一种通用可编程处理器,执行存储在存储器102中的指令;虽然图1示出了单个的CPU,应当明白可以使用具有多个CPU的计算机系统。存储器102是一个随机存取半导体存储器,用于存储数据和程序;存储器被在概念上示出为单个的整体实体,但是公知的是,存储器经常被配置为多个高速缓冲存储器和其他存储装置的一个分层结构。操作系统120和应用程序122驻留在存储器102中。其中尤其是操作系统120提供诸如装置接口、存储网页管理、多任务管理等的功能,这是在本领域内公知的。应用程序122可以包括传统应用程序,如果它包括一个服务器软件应用程序,则网络接口105可以与所述服务器软件应用程序122交互以使得计算机系统100能够作为网络服务器。
终端接口103可以支持连接单个或多个终端,可以被实现为一个或多个电路卡或其他单元。数据存储器104优选地包括一个或多个旋转磁性硬盘驱动单元,但是也可以使用其他类型的数据存储器。网络接口105提供一个物理连接,用于到网络和自网络的数据传输。在本优选实施例中,网络是因特网,但是网络也可以是任何更小的自含式网络,如内联网、WAN、LAN或其他内部或外部网络,它们使用例如电话传输线路、卫星、光纤、T1线路等和任何不同的可以获得的技术。通信总线110支持在不同装置之间传送数据、命令和其他信息;虽然被以简化形式示出为单个的总线,但是它一般被构造成多总线,并且可以被配置为多层的形式。
图1所示的计算机系统打算作为一个简化的表示图,可以明白,除了在此具体所述的那些之外,在系统配置中可能有许多变化形式。虽然系统100可以是一个个人计算机系统,但是计算机100也可以是更大的计算机系统,如IBM企业系统或IBM AS/400系统。虽然在此描述了一种特定的硬件配置和各种替代形式,但是所述的方法一般可以利用允许从客户机通过计算机网络访问传统应用程序的任何硬件配置来实现。CPU 101被适当地编程以通过具有传统应用程序和网络接口来实现本优选实施例,所述网络接口可以被其他连接的计算机使用来访问那个传统应用程序。
计算机系统100和它的部件在图1中被示出和描述为一个或多或少的单个自含式计算机系统。另外可能的是使用多计算机系统,尤其是共享单个大数据库的多系统。每个具有一个特殊的任务。例如,一个或多个计算机系统100可以专用于一个或多个访问数据库的传统应用程序,而一个或多个其他计算机系统100可以专用于为从客户机接收的请求服务或访问因特网。在此对计算机的描述应当被理解为包括或者单个计算机或者一个计算机系统集合,它们提供对传统应用程序和对网络的访问,通过所述网络来连接一个客户机系统。
图2是一个网络服务器200的示例,它可以访问存储在计算机100上的传统应用程序。网络服务器200可以是一个计算机系统,包括CPU 201、主存储器202、各种装置适配器和接口203-208、通信总线210。CPU 201是一个通用可编程处理器,执行存储在存储器202中的指令;虽然图2示出单个CPU,但是应当明白可以使用具有多个CPU的计算机系统。存储器202是随机存取半导体存储器,用于存储数据和程序;存储器被从概念上示出为单个的单片实体,可以明白存储器202经常被配置为多个高速缓冲存储器和其他存储装置的一个分层结构。通信总线210支持在不同装置之间的数据、命令和其他信息的传送;虽然在附图中被以简化形式示出为单个总线,但是它也可以被构造为多总线,并且可以被配置为多层形式。显示适配器203支持视频显示器211,它可以是阴极射线管显示器、平面显示器或触摸屏,但是也可以使用其他显示技术。键盘/指示器适配器204支持键盘212和被描述为鼠标的指示装置213,可以明白也可以使用其他形式的输入装置。存储器适配器205支持一个或多个数据存储装置214,它可以是旋转磁性硬盘驱动器或CD-ROM驱动器,但是也可以使用其他数据存储装置。打印机适配器206支持打印机215。适配器207可以支持多种附加装置中的任何一个,如音频装置等。网络接口208向诸如因特网的网络提供物理接口。这个接口可以包括一个连接到一条电话线的调制解调器,通过所述电话线可以达到因特网服务提供商或在线服务提供商,其他更高带宽的接口越来越多地被使用。例如,网络服务器200可以经由一个使用以太网、令牌环(Token Ring)或其他协议的局域网连接到另一个网络服务器,而第二个网络服务器又连接到因特网。或者,可以通过有线电视、光纤、卫星、无线方式或其他连接来提供网络接口208。图2表示的是打算作为高端服务器的示范简化表示,可以明白,在其他网络服务器200中,除了在此所述的那些,可能具有在系统配置中的许多变化形式。如果计算机系统100具有一个服务器软件应用程序作为它的应用程序122之一,则网络服务器200和计算机100可以被合并到同一系统中,在这种情况下,在网络服务器200和计算机100之间的网络是一条内部通信总线。
参见图3,每个客户机系统300是与计算机100分离的装置,它可以访问在计算机100上驻留和运行的传统应用程序。客户机系统可以是一个个人计算机系统或一个诸如服务器的大计算机系统或诸如笔记本电脑或膝上型电脑的小计算机系统。最后,客户机系统300根本不必是计算机,而是最好是更简单的用具似的具有更少的存储量的客户装置,如网络终端、精简客户机、终端式装置、语音响应单元等。计算、电信和消费电子装置的结合正在引起作为客户机300的普遍的移动装置的数量和种类上的惊人增长。这个移动结构使得具有多种客户机300,包括膝上型电脑、子笔记本电脑(sub-notebook)、诸如个人数字助理和伴随装置(companion device)的手持计算机、诸如智能电话(smartphone)、寻呼机、简单消息接发装置、便携装置的移动设备。因此当客户机系统300是一个移动装置的时候,显示适配器和网络接口具有一个网络用户代理程序,并支持多种多模接口,其中包括传统的键盘和鼠标接口、小文本屏幕、输入笔、触摸屏、语音识别装置、文本到语音转换装置、诸如便携装置的其他正在出现的技术。网络用户代理程序使得计算机的应用程序能够在它的各个客户机300上使用。优选的打算是客户机系统300包括任何电子装置,所述电子装置可以通过诸如万维网浏览器的网络用户代理程序来与网络服务器200交互以访问在计算机系统100上驻留的传统或其他应用程序。这种特殊用途的用于访问万维网的装置例如电视机的因特网访问盒或便携无线万维网访问装置,它们可以作为用于调用和执行应用程序的用户代理程序来实现,它们也要被包括在客户机系统300的范围中。网络用户代理程序可以以控制电路通过使用逻辑门、可编程逻辑装置或其他硬件部件来实现,以取代基于处理器的系统。
下面将详细说明,优选实施例的各个方面与在计算机100或网络服务器200上的可以执行的具体的方法步骤有关。在一个替代实施例中,本发明可以被实现为一种计算机程序产品,用于网络服务器200和客户机300之一或两者。可以经由多种信号承载介质来向计算机100和/或网络服务器200提供限定优选实施例的功能的程序,包括但不限于:(a)永久存储在不可写入的存储介质中的信息,所述介质例如在任何计算机中的只读存储装置,如由CD-ROM驱动器214可以读出的CD-ROM盘;(b)存储在可写入存储介质,例如在软盘驱动器中的软盘或硬盘驱动器如图2中示出为214的驱动器上的可改变信息;或(c)通过电话或有线媒体网络、包括无线通信而传输到计算机的信息。这样的信号承载介质,当载有指示本发明的功能的计算机可读的指令的时候,是本发明的替代实施例。
图3是计算机网络的简化表示图。所述计算机网络表示因特网,它可以被描述为基于在此说明的客户机-服务器模型的公知的计算机网络。在概念上,因特网包括多个网络服务器200的一个大网络,这些网络服务器200可以由客户机系统300通过专用因特网接入提供商303或在线服务提供商304来访问。在本优选实施例中,每个客户机系统300可以运行各自的诸如浏览器的网络用户代理程序以经由接入提供商来访问网络服务器200。每个网络服务器200可以具有它自己的传统应用程序,或者可以通过因特网或其他到客户机300的连接部分连接到其他具有要被访问的传统应用程序的计算机100。而且,传统应用程序不必被仅仅存储在一个计算机100上;而是单一应用程序的各个任务可以被存储在多个计算机100上,所述计算机100通过诸如因特网的网络连接到网络服务器200上。通过通用资源定位符(URL)来识别到服务器200的因特网网络路径,所述URL具有限定网络连接的公知句法。虽然示出了各种相对直接的路径,但是应当明白,图3仅仅是一个概念表示,诸如因特网的计算机网络实际上可以具有远远更为复杂的结构。也应当明白计算机网络也可以是内联网或其他内部计算机网络,如WAN、LAN等。虽然本实施例不打算如此限定,但它的优选实施例在因特网上尤其有用。
本实施例提供了一个环境,所述环境使得交互传统应用程序不用重新构造或重新设计应用程序代码而允许这些传统应用程序如同原来——在它们的本机环境中继续运行,并同时允许多个客户机利用万维网浏览器或其他网络技术来访问传统应用程序。本实施例也向交互传统应用程序提供了这样的能力,即产生所要求的商业数据和驱动按照由产业标准万维网应用结构要求的各个表示人工产物。本实施例令人感兴趣的是在“有状态(stateful)”传统应用程序和“无状态(stateless)”因特网事务之间的交互。交互传统应用程序的有状态在于,应用程序继续执行直到它到达一个I/O指令,在此执行被暂停并且应用程序的状态被保留在它的本机环境中直到I/O行为结束。另一方面,因特网事务使用诸如HTTP的无状态协议,在此,在因特网上的一个事务被完成之后,到因特网的连接被破坏并且事务的状态被丢失,除非另外的处理发生来将这个状态存储在网络服务器上。本实施例提供了一个机制和一个环境,从此使传统应用程序的状态在它转换到无状态万维网环境的同时被自动保留在它的本机环境中。应用程序的状态的自动保留是本发明的结构所固有的,本发明的结构提供了由交互传统应用程序所要求的必要连续性。
参见图4,在此示出了现有技术计算机应用程序环境的简化处理图和方框图。每个传统应用程序122具有数据422,数据422按照程序I/O代码410通过运行时间编译器420被输入到应用程序运行时间操作系统430和从到应用程序运行时间操作系统430被输出。输出数据422可以被发送到数据管理器代码432,其为应用程序运行时间操作系统430的一部分。在所述应用程序运行时间操作系统430中的工作站管理器434或等同的功能部件将输出数据422与来自传统应用程序的用户接口定义文件440的对应显示记录相结合以产生要显示在专有显示装置211上的数据流442。当数据被插入到数据流中和被发送到显示装置以显示的时候,在屏幕定义本身中定义应用程序数据的显示格式,并由操作系统的应用程序运行时间操作系统430将格式代码施加到数据。在应用程序运行时间之前,这些用户接口定义文件440被编译和插入到一个或多个在运行时间引用的显示对象中。输入的数据沿着反向路径流动:应用程序运行时间操作系统430从输入的数据流中提取输入数据,格式化数据,然后所述数据被提交到应用程序作为用户输入数据。在一些系统上,显示装置211仅仅在输入的数据流中建立屏幕的动态部分,即输入字段。
图5是一种按照本发明的原理的方法的简化处理图,所述方法使得传统应用程序能够通过网络被使用,所述网络优选是利用万维网技术的因特网,虽然其他网络和其他技术也被认为包括在本发明的范围内。假定本机应用程序屏幕的专有用户接口(UI)定义——在图4中为屏幕定义440——被分别存储在屏幕定义文件中。首先,甚至在运行时间之前,在步骤510对专有屏幕定义440进行语法分析和转换为一种格式,所述格式可以由诸如万维网浏览器的任何普遍计算机因特网用户代理程序570提供;这个格式最好基于诸如HTML、WML或*ML的XML,这依赖于针对用于产生所谓的网页的因特网用户代理程序。在本优选实施例中,用户接口元件被机械地映射到支持用户接口元件的基于XML的语言中。
转换处理的定制可以以几种方式来实现,并且如果最终用户公司对于应用程序表示具有良好限定的规则,则转换处理的定制是所期望的。转换处理可以识别由所述公司使用的任何用户接口设计模式,因此使得用户可以定制模版来映射这些设计模式。转换算法随后使用这些格式来识别实际的应用程序屏幕并因此转换。如果转换的格式被保留在各个文件中,则由用户执行的转换后改进是可能的。在作为Java服务器网页的网页的实施例中,通过将显示文件记录440转换为包括DHTML的Java服务器网页520来产生这些网页。DHTML是具有客户使用的级联类型表和JavaScript的HTML,用以执行输入字段的本地确认,并便利在转换后的改进以针对用户的表示格式来定制。否则,可以在观看屏幕的时候通过分析传统应用程序的屏幕定义或显示数据流来发现公司的屏幕设计规则。从这些分析获得的知识库可以随后在转换处理前按照需要被改进。
在步骤530,在向在客户机300上的网络用户代理程序570发送被转换的用户接口页520之前,利用现有的网页服务技术在网络服务器200上动态更新被转换的用户接口页520。在步骤540,应用程序的原始输出数据被应用程序运行时间操作系统430的数据管理器432改发,以便用于显示的
数据不被转换为图4所述的传统专有显示数据流,而是被发送到标有“公布到万维网”的新的网络公布部件550。网络公布部件550重新格式化应用程序数据以公布到网络,因为其中有传统应用程序以不适合于在网络上显示的格式产生和编码应用程序数据。从网络用户代理程序570获得的的用户输入数据也被公布到万维网的运行时间部件550处理,并被重新格式化为提交到应用程序运行时间操作系统430的应用程序的输入数据。网络服务器200和公布到万维网运行时间部件550的一部分可以被安装到计算机100上,而不是其中安装了传统应用程序122和应用程序运行时间操作系统430,但是也可能与具有传统应用程序122的计算机100合并并作为其一部分。而且,公布到万维网运行时间部件550被设计使得传统应用程序122不知道在它的本机环境中的任何改变,因此不要求改变对应用程序的代码。
在作为网络的因特网和万维网的一个具体实施例中,JAVA使得Java服务器网页作为网页以在所述网页被用于网络用户代理程序之前向HTML或XML页动态插入应用程序数据,这个处理称作动态产生的万维网内容。由Java服务器网页读取的数据被存储在数据对象中,即JavaBean中,它们被已经接收数据以公布的小服务程序提供数据。本实施例的特性是,一旦所述传统应用程序数据已经被存储在网络服务器中的这些数据对象中,则它可以用于任何目的,包括从另一个连接到服务器的计算机的访问、用于操纵、用于传输……,在万维网服务器上的这个传统动态数据的用途是无限的。JavaBean的数据字段定义具有与由Java服务器网页容纳的HTML或XML网页的可变数据字段的一对一映射,并且JavaBean的数据字段定义在转换处理期间产生作为Java类定义,因为专有应用程序屏幕的定义包括屏幕的I/O字段。这样的映射是本领域内公知的,还存在诸如Active Server Pages(动态服务器网页)的其他产品,它们能够从服务器向客户机提供动态内容。在任一实施例中,小服务程序实例创建这些数据对象并向它们提供改发的传统应用程序的动态数据,通常是I/O数据。因此,优选的是,数据对象具有必要的方法来格式化数据以用于显示和用于将数据从应用程序的专有代码转换为专有语言的网络码页。
仅仅通过举例,图6示出了基于使用Java服务器网页的公布到万维网运行时间部件的结构。公布到万维网运行时间部件的实体有:小服务程序实例610,它作为万维网网关,用于请求传统应用程序122——612,和从传统应用程序122回答——660。一般,小服务程序是响应于客户请求而在服务器上运行的一个JAVA程序。对于输出的数据,所述小服务程序实例610从套接口接受一个数据缓冲器,查找数据的记录识别符,创建诸如JavaBean的相关数据对象和向它们提供数据,并启动相关的Java服务器网页以向网络用户代理程序提供数据供显示。对于提供的数据,小服务程序实例610经由所述套接口和公布到万维网运行时间部件将数据封装到一个数据缓冲器中并将其提交到应用程序。小服务程序实例610也建立应用程序处理和在应用程序处理和网络服务器处理之间的通信路径。所述通信路径可以包括套接口626作为一个通信端点。应当注意,套接口和其他通信端点——它们在等待输入的数据的同时暂停应用程序的执行——将固有地保留应用程序的状态和在本发明的环境中发生作用。应用程序调用器660保存套接口描述符以供Read_data和Write_data方法以后使用,启动数据的改发和调用传统应用程序。应用程序运行时间操作系统430调用Read_data和Write_data方法来在应用程序和因特网之间改发数据流。网络用户网页——在此为Java服务器网页——在用户接口转换处理期间产生。数据对象——如在这个情况下的JavaBean——与每个Java服务器网页相关,并包括经由Java服务器网页公布到万维网的应用程序数据。
按照本发明的原理的处理的控制流进行如下:在客户机300上的用户通过在步骤612首先从在网络服务器200上的小服务程序实例610请求一个调用页而从网络用户代理程序570启动传统应用程序122——优选的是一个万维网浏览器。在步骤614,客户机300——这可能是另一个计算机或个人——完成一组用于要调用的应用程序的名称和参数的输入字段并提交它。在步骤616,小服务程序实例610在接收到用于调用的XML或HTTP请求的时候建立一个套接口626a并向计算机100产生一个第二线程618以开始调用传统应用程序的应用程序处理。套接口626a随后在步骤642a等待连接。
第二线程618将套接端口号码和程序信息传送到应用程序调用器660,它建立一个套接口626b并在步骤620在网络服务器处理中插入到所述套接口的连接。在步骤622在两个套接口626a和626b之间建立连接之后,在网络服务器处理中套接口626b等待来自传统程序的数据。应用程序调用器660向一个可以获得的环境写入应用程序侧的套接口626b的描述符,通过应用程序编程接口启动数据改发,并调用传统应用程序122,如步骤624所示。当传统应用程序122达到一个I/O指令的时候,在步骤632,输出数据被发送到计算机的操作系统的应用程序运行时间操作系统430,它在640a调用Write_Data方法以将数据改发到应用程序侧套接口626b。在步骤642b在网络服务器处理中套接口626a读取数据,在步骤650,小服务程序实例610建立一个数据对象以存储数据。在步骤652,小服务程序实例610调用与这个输出记录相关的网页,如Java服务器网页。在步骤652,所述网页被从所述数据对象提供数据,然后在步骤660用于网络用户代理程序570例如作为HTTP响应。
在网络用户代理程序570上的客户机接口和应用程序122之间的后续交互流经套接口连接626a和626b。当客户机提交一个网页的时候,在网络服务器上的小服务程序实例610从先前存储的会话对象——它具有对一个套接口或数据队列对象或消息队列对象的引用——还原会话数据。输入的数据然后在步骤642c被改发到套接口或队列626a,改发到其他应用程序套接口或队列626b和I/O缓冲器——如果有的话,和改发到应用程序运行时间操作系统430,并最后改发到正在等待Read_Data方法640b的传统应用程序122。传统应用程序122随后在计算机100上在它的本机环境中继续它的执行直到下一个I/O交换。当应用程序结束的时候,控制返回应用程序调用器660,它在步骤620关闭端点的连接。
在图6中,一个报告程序发生器(RPG)程序被用作传统应用程序的一个示例,但是应当明白所述结构也可以支持以COBOL和其他编程语言所编写的传统应用程序。套接口被用作在分布的处理之间的通信机制,但是也可以使用服务器可以获得的任何通信端点机制,如用于增进性能的数据队列对象——如果服务器和传统应用程序在一个计算机中——或用于增进的可靠性和安全性的消息队列。在预先开始的工作中的一个初始程序可以向一个可以改变的环境写入应用程序侧套接口的描述符、启动改发、调用传统应用程序。当所述程序遇到一个I/O指令——如一个写入指令,其后跟随读取指令,在RPG中的EXFMT——的时候,输出数据被发送到一个数据管理器,它调用公布到万维网运行时间接口,Write_Data,以向套接口写入。通过利用公布到万维网的运行时间接口Read_Data也可以由套接口626b读取数据。
因此,本发明使得用户可以整体的对商业重要的传统应用程序配置于因特网上以利用现代技术的优点,而不用必须重新构造程序或对程序进行代码改变。而且,传统应用程序正常地被执行。传统应用程序数据变得通过网络可以获得来用于任何目的,因为它被存储在网络服务器上的数据对象中。而且,本发明使得用户可以改进诸如Java服务器网页的网页以在网络服务器中插入到新的基于万维网的应用程序的链接。这个能力允许在传统和其他基于网络的应用程序之间的交互,包括在网络服务器中将传统应用程序数据与来自其他网络应用程序的数据结合。允许远程调用程序的计算机和客户机系统能够使用上述的结构来在分离的计算机系统中运行万维网服务器和传统应用程序。而且,本发明使得用户可以按照公司的用于应用程序表示的规则和原则来定制Java服务器网页。在此提供的方案还使得I/O数据可以被转换成适合于除了浏览器之外的显示类型的其他格式。一个有力的应用是将I/O数据和显示记录转换为一般的基于XML的用户接口。XML用户接口可以随后被提供到不同类型的用户接口再现器(renderer)。这些再现器可以是基于Java-Swing的、基于语音的和基于PDA的。因此本发明打开了从多种类型的未来装置对现有的传统应用程序的访问。
虽然已经在上面说明了本发明的不同实施例,应当明白,它们的提供是示例性的而不是限定性的,并且各种变化是可能的。因此本发明的宽度和范围不应当被上述的示范性实施例中的任何一个所限定,而是应当按照所附的权利要求和它们的等价物来限定。
Claims (23)
1.一种执行在计算机上安装的一个计算机应用程序的方法,所述方法包括步骤:
a)在连接到第一网络上的所述计算机的一个服务器中建立一个小服务程序实例;
b)在所述计算机上运行所述应用程序以产生动态数据;
c)在所述计算机上截取所述动态数据和将其改发到一个网络公布部件;
d)将动态数据从所述网络公布部件向所述小服务程序实例发送;和
e)在所述服务器中建立数据对象和向所述数据对象提供所述动态数据。
2.按照权利要求1的方法,还包括步骤:
a)从通过第二网络连接到一个服务器的一个客户机请求所述应用程序;
b)用所述动态数据更新至少一个网页;和
c)向所述客户机发送被更新的网页。
3.按照权利要求1或2的方法,其中所述第一网络可以从包括内部网络、内联网、LAN、WAN、内部总线和无线网络的一个组中选取。
4.按照权利要求2或3的方法,其中所述第二网络可以从包括内部网络、内联网、LAN、WAN、内部总线和无线网络的组中选取。
5.按照权利要求2或3或4的方法,进一步包括步骤:
a)将所述应用程序的显示文件转换为能够显示动态数据的网页。
6.按照权利要求5的方法,其中所述网页基于XML语言。
7.按照权利要求6的方法,其中XML语言是HTML。
8.按照权利要求6的方法,其中XML语言是WML。
9.按照权利要求5的方法,其中所述网页是Java服务器网页。
10.按照权利要求2的方法,其中所述网页被存储在所述服务器上。
11.按照权利要求1-10的任何一个的方法,还包括步骤:
a)在计算机中建立一个用于动态数据的输入/输出缓冲器。
12.按照权利要求1的方法,其中所述计算机包括所述服务器。
13.按照权利要求1-12中的任何一个的方法,其中还包括步骤:
a)建立在所述小服务程序实例和所述网络公布部件之间的第一端点连接。
14.按照权利要求13的方法,其中所述端点连接是一个套接口。
15.按照权利要求13的方法,其中所述端点连接是一个数据队列对象。
16.按照权利要求13的方法,其中所述端点连接是一个消息队列。
17.一种程序产品,用于一个计算机网络中来执行存储在一个客户的计算机上的一个应用程序,所述计算机程序产品包括一个信号承载介质,在其上带有:
a)一个应用程序调用器,用于在客户的计算机上将一个应用程序在它的本机环境中启动和运行;
b)多个网络用户接口网页,用于在所述客户机上显示所述应用程序的输入/输出数据;
c)一个数据改发器,用于向所述网络用户接口网页改发所述应用程序的输入/输出数据;
d)多个对应于所述网络用户接口网页的数据对象,用于接收所述应用程序的输入/输出数据;
e)一个小服务程序实例,用于用所述应用程序的输入/输出数据动态地更新所述网络用户接口网页;
f)一个网络用户代理程序,用于在所述客户机上显示所述更新的网络用户接口网页。
18.按照权利要求17的程序产品,还包括一个屏幕定义转换器,用于将所述应用程序的输入/输出屏幕定义转换为所述网络用户接口网页。
19.一种计算机系统,用于执行一个应用程序,包括:
a)一个中央处理单元;
b)一个主存储器,通过一条通信总线与所述中央处理单元连接;
c)一个数据存储单元,与一个数据存储接口连接,所述数据存储接口与所述通信总线连接;
d)至少一个输入/输出装置,连接到所述通信总线,并与到一个外部计算机网络的一个网络接口相连接;
e)一个应用程序,存储在所述主存储器中,能够在所述中央处理单元上被执行;
f)一个网络公布部件;
g)一个数据改发器,用于将所述应用程序的动态数据改发到所述网络公布部件;
h)一个输入/输出接口,用于存储所述被改发的动态数据。
20.一种计算机服务器,用于访问在一个计算机上存储和执行的一个应用程序,包括:
a)一个中央处理单元;
b)一个网络接口,通过一个网络连接到至少一个客户机;
c)一个小服务程序实例,用于从所述至少一个客户机接收一个访问所述应用程序的请求,并将所述请求发送到所述计算机;
d)一个服务器端点连接部,用于向所述计算机发送实时数据和从所述计算机接收实时数据,所述应用程序在所述计算机上被执行;
e)多个数据对象,被提供实时数据,
其中所述小服务程序从所述应用程序接收实时数据并向所述数据对象提供所述实时数据。
21.按照权利要求20的计算机服务器,还包括
a)多个网络显示网页,每个网络显示网页对所述应用程序的每个输入/输出屏幕定义是唯一的,
其中所述小服务程序更新所述网络显示网页以通过所述网络向所述客户机发送。
22.一种用于执行安装在一个计算机上的一个计算机应用程序的方法,所述方法包括步骤:
a)将所述应用程序的多个显示文件转换为多个基于XML的网页,所述基于XML的网页能够显示所述应用程序的动态数据;
b)在连接到一个网络上的所述计算机的一个服务器中建立一个小服务程序实例;
c)通过因特网从连接到一个服务器的一个客户机请求所述应用程序;
d)在所述计算机上将所述应用程序在它的本机环境中运行;
e)在所述计算机中建立一个I/O缓冲器,用于所述应用程序的动态数据;
f)在所述小服务程序实例和在所述计算机上的一个网络公布部件之间建立一个端点连接;
g)通过所述小服务程序实例从所述客户机向所述应用程序来回发送动态数据;
h)建立数据对象和向所述数据对象提供所述动态数据;
i)利用所述数据对象更新至少一个网页;
j)通过因特网向所述客户机发送所述被更新的网页;
k)从所述客户机向服务器发送具有响应数据的网页以作为输入数据发送到所述应用程序。
23.一种与一个计算机应用程序交互的方法,包括:
a)将一个传统计算机应用程序在它的本机环境中执行;
b)通过因特网改发来自一个客户机的所述传统计算机应用程序的I/O请求和向所述客户机的所述传统计算机应用程序的响应,而不向所述传统计算机应用程序的代码引入变化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002316003A CA2316003C (en) | 2000-08-14 | 2000-08-14 | Accessing legacy applications from the internet |
CA2,316,003 | 2000-08-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1447937A true CN1447937A (zh) | 2003-10-08 |
CN1189817C CN1189817C (zh) | 2005-02-16 |
Family
ID=4166896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018141587A Expired - Fee Related CN1189817C (zh) | 2000-08-14 | 2001-07-23 | 从因特网访问传统应用程序 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7007278B2 (zh) |
EP (1) | EP1309914B1 (zh) |
KR (1) | KR100574156B1 (zh) |
CN (1) | CN1189817C (zh) |
AT (1) | ATE386975T1 (zh) |
AU (1) | AU2001272662A1 (zh) |
CA (1) | CA2316003C (zh) |
DE (1) | DE60132901T2 (zh) |
WO (1) | WO2002015006A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100371888C (zh) * | 2004-07-08 | 2008-02-27 | 腾讯科技(深圳)有限公司 | 一种将网页图片直接应用到即时通信工具中的方法 |
CN101176079B (zh) * | 2005-03-16 | 2011-12-07 | 航空照片技术有限公司 | 在服务器和客户机之间分配计算的方法以及分布式计算机系统 |
CN102436509A (zh) * | 2011-12-29 | 2012-05-02 | 奇智软件(北京)有限公司 | 在移动终端进行网页浏览的方法及系统 |
CN102591647A (zh) * | 2010-12-27 | 2012-07-18 | 微软公司 | 将桌面应用转换成web应用 |
CN107688485A (zh) * | 2010-12-27 | 2018-02-13 | 微软技术许可有限责任公司 | 对虚拟化应用程序的基于策略的访问 |
CN109691068A (zh) * | 2016-12-23 | 2019-04-26 | 惠普打印机韩国有限公司 | 针对相关应用的建立网络交叉引用 |
CN112930523A (zh) * | 2018-09-10 | 2021-06-08 | 阿韦瓦软件有限责任公司 | 边缘hmi模块服务器系统和方法 |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235955B2 (en) * | 2000-12-22 | 2016-01-12 | Bally Gaming, Inc. | Universal game monitoring unit and system |
US7950999B2 (en) * | 2004-09-16 | 2011-05-31 | Bally Gaming, Inc. | User interface system and method for a gaming machine |
US8678902B2 (en) | 2005-09-07 | 2014-03-25 | Bally Gaming, Inc. | System gaming |
US8516054B2 (en) * | 2000-12-20 | 2013-08-20 | Aurea Software, Inc. | Message handling |
US7240101B2 (en) * | 2001-04-02 | 2007-07-03 | International Business Machines Corporation | Method and apparatus for efficiently reflecting complex systems of objects in XML documents |
US20020174344A1 (en) | 2001-05-18 | 2002-11-21 | Imprivata, Inc. | System and method for authentication using biometrics |
US7043481B2 (en) * | 2001-06-01 | 2006-05-09 | Thought, Inc. | System, method and software for creating, maintaining, navigating or manipulating complex data objects and their data relationships |
US7406693B1 (en) * | 2001-09-10 | 2008-07-29 | Ncr Corporation | Method of controlling applications |
CA2363515A1 (en) * | 2001-11-21 | 2003-05-21 | Ibm Canada Limited-Ibm Canada Limitee | Enhancing resource adapters |
US7099877B1 (en) * | 2001-12-21 | 2006-08-29 | Unisys Corporation | Step to define inputs for a service |
KR100429558B1 (ko) * | 2002-03-04 | 2004-04-29 | 쉬프트정보통신 주식회사 | 웹 서버간의 데이터를 송/수신하기 위한클라이언트컴퓨터의 에이드 데이터셋 컴포넌트 |
US20030187849A1 (en) * | 2002-03-19 | 2003-10-02 | Ocwen Technology Xchange, Inc. | Management and reporting system and process for use with multiple disparate data bases |
US7149730B2 (en) * | 2002-05-03 | 2006-12-12 | Ward Mullins | Dynamic class inheritance and distributed caching with object relational mapping and cartesian model support in a database manipulation and mapping system |
WO2003096669A2 (en) * | 2002-05-10 | 2003-11-20 | Reisman Richard R | Method and apparatus for browsing using multiple coordinated device |
US20030217191A1 (en) * | 2002-05-20 | 2003-11-20 | Yang Gao | System and method for converting the UI logic of a windows software application to run within a web browser |
US8301800B1 (en) * | 2002-07-02 | 2012-10-30 | Actional Corporation | Message processing for distributed computing environments |
US8529349B2 (en) * | 2004-09-16 | 2013-09-10 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8568237B2 (en) | 2004-09-16 | 2013-10-29 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US9117342B2 (en) | 2004-09-16 | 2015-08-25 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8986122B2 (en) | 2002-09-13 | 2015-03-24 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US9082260B2 (en) | 2004-09-16 | 2015-07-14 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8992326B2 (en) | 2006-09-06 | 2015-03-31 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
US8535158B2 (en) * | 2004-09-16 | 2013-09-17 | Bally Gaming, Inc. | Networked gaming system communication protocols and methods |
CA2406089A1 (en) * | 2002-09-30 | 2004-03-30 | Ibm Canada Limited-Ibm Canada Limitee | A common scheduler web service for distributed network environments |
US20040061717A1 (en) * | 2002-09-30 | 2004-04-01 | Menon Rama R. | Mechanism for voice-enabling legacy internet content for use with multi-modal browsers |
US7353507B2 (en) * | 2002-10-30 | 2008-04-01 | Hewlett-Packard Development, L.P. | Intercepting function cells |
US7139559B2 (en) * | 2002-12-09 | 2006-11-21 | Qualcomm Inc. | System and method for handshaking between wireless devices and servers |
US20040249849A1 (en) * | 2003-06-05 | 2004-12-09 | Michael Mordkovich | Conversion system |
US8204849B2 (en) * | 2003-07-10 | 2012-06-19 | Ca, Inc. | Web product interface system and method |
US7543280B2 (en) * | 2003-09-08 | 2009-06-02 | Sap Ag | Converting and executing applications |
US7340731B2 (en) * | 2003-10-30 | 2008-03-04 | Sprint Communications Company L.P. | System and method for COBOL to provide shared memory and memory and message queues |
US10803694B2 (en) | 2004-09-16 | 2020-10-13 | Sg Gaming, Inc. | Player gaming console, gaming machine, networked gaming system |
US9022866B2 (en) * | 2004-09-16 | 2015-05-05 | Bally Gaming, Inc. | User interface system and system-controlled bonus system |
US7685591B2 (en) | 2004-12-20 | 2010-03-23 | Microsoft Corporation | Customizing a software application through a patch file |
US7594225B2 (en) * | 2004-12-20 | 2009-09-22 | Microsoft Corporation | Integrated setup for generating customization XML |
US20060198208A1 (en) * | 2005-03-07 | 2006-09-07 | Lantronix, Inc. | Publicasting systems and methods |
US8438537B2 (en) * | 2005-03-07 | 2013-05-07 | Siemens Aktiengesellschaft | System arrangement and method for automated application development with user guidance |
US8191078B1 (en) | 2005-03-22 | 2012-05-29 | Progress Software Corporation | Fault-tolerant messaging system and methods |
US8301720B1 (en) | 2005-07-18 | 2012-10-30 | Progress Software Corporation | Method and system to collect and communicate problem context in XML-based distributed applications |
US8678901B1 (en) | 2005-09-07 | 2014-03-25 | Bally Gaming | System gaming |
US8840462B2 (en) * | 2005-09-07 | 2014-09-23 | Bally Gaming, Inc. | Tournament bonus awards and related methods |
US20080254883A1 (en) * | 2005-09-07 | 2008-10-16 | Bally Gaming, Inc. | Tournament bonus awards |
US7765254B2 (en) * | 2005-10-26 | 2010-07-27 | International Business Machines Corporation | Integration of legacy applications |
EP2018027A1 (en) * | 2005-11-03 | 2009-01-21 | KTFreetel Co., Ltd. | Business logic device and processing method |
US20070106804A1 (en) * | 2005-11-10 | 2007-05-10 | Iona Technologies Inc. | Method and system for using message stamps for efficient data exchange |
CA2631763A1 (en) * | 2005-12-01 | 2007-06-07 | Firestar Software, Inc. | System and method for exchanging information among exchange applications |
US7710958B2 (en) | 2006-01-20 | 2010-05-04 | Iona Technologies Limited | Method for recoverable message exchange independent of network protocols |
US20070174420A1 (en) * | 2006-01-24 | 2007-07-26 | International Business Machines Corporation | Caching of web service requests |
US20070240103A1 (en) * | 2006-03-29 | 2007-10-11 | Beaton Murray J | Use of UML state machines to model portal applications |
US7950021B2 (en) | 2006-03-29 | 2011-05-24 | Imprivata, Inc. | Methods and systems for providing responses to software commands |
JP2007287025A (ja) | 2006-04-19 | 2007-11-01 | Nec Corp | 画面遷移プログラム生成方法及び装置 |
US20070288535A1 (en) * | 2006-06-13 | 2007-12-13 | Hitachi, Ltd. | Long-term data archiving system and method |
US7661113B2 (en) * | 2006-09-28 | 2010-02-09 | Sap Ag | Method and system for data preparation and communication between software applications |
US8099710B2 (en) | 2006-12-14 | 2012-01-17 | Microsoft Corporation | UI behaviors |
US9009234B2 (en) | 2007-02-06 | 2015-04-14 | Software Ag | Complex event processing system having multiple redundant event processing engines |
US8656350B2 (en) * | 2007-02-06 | 2014-02-18 | Software Ag | Event-based process configuration |
US8276115B2 (en) * | 2007-02-06 | 2012-09-25 | Progress Software Corporation | Automated construction and deployment of complex event processing applications and business activity monitoring dashboards |
CA2685437C (en) * | 2007-02-08 | 2015-06-02 | Aspenbio Pharma, Inc. | Compositions and methods including expression and bioactivity of bovine follicle stimulating hormone |
US8091094B2 (en) * | 2007-10-10 | 2012-01-03 | Sap Ag | Methods and systems for ambistateful backend control |
US7882399B2 (en) * | 2007-12-13 | 2011-02-01 | International Business Machines Corporation | Intelligent job functionality |
US9779176B2 (en) * | 2008-04-02 | 2017-10-03 | International Business Machines Corporation | Accessing external functionality within a component-based web application |
US20090282396A1 (en) * | 2008-05-07 | 2009-11-12 | Boyer John M | Preserving a state of an application during update |
WO2010054062A2 (en) | 2008-11-05 | 2010-05-14 | Savvion Inc. | Software with improved view of a business process |
US20100146417A1 (en) * | 2008-12-10 | 2010-06-10 | Microsoft Corporation | Adapter for Bridging Different User Interface Command Systems |
US9106685B2 (en) * | 2009-10-28 | 2015-08-11 | Advanced Businesslink Corporation | Dynamic extensions to legacy application tasks |
US8190736B2 (en) * | 2009-12-16 | 2012-05-29 | Quantum Corporation | Reducing messaging in a client-server system |
US8914544B2 (en) | 2010-06-23 | 2014-12-16 | Smartek21, Llc | Computer-implemented system and method for transparently interfacing with legacy line of business applications |
US9674294B1 (en) * | 2010-09-01 | 2017-06-06 | The Mathworks, Inc. | Integrated collaboration environment |
US9471405B1 (en) * | 2014-01-13 | 2016-10-18 | OpenLegacy Technologies LTD | Methods and systems for access to legacy programs using non-legacy interfaces |
US9836332B2 (en) * | 2014-07-31 | 2017-12-05 | Corent Technology, Inc. | Software defined SaaS platform |
US10042622B2 (en) * | 2016-02-19 | 2018-08-07 | International Business Machines Corporation | Methods and systems of generating ease of use interfaces for legacy system management facilities |
US10798111B2 (en) * | 2016-09-14 | 2020-10-06 | International Business Machines Corporation | Detecting intrusion attempts in data transmission sessions |
WO2020035738A1 (en) * | 2018-08-16 | 2020-02-20 | Soroco Private Limited | Techniques for automated control of computer programs through text-based user interfaces |
JP2021158561A (ja) * | 2020-03-27 | 2021-10-07 | キヤノン株式会社 | 通信装置、その制御方法、プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754830A (en) | 1996-04-01 | 1998-05-19 | Openconnect Systems, Incorporated | Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation |
US5897622A (en) * | 1996-10-16 | 1999-04-27 | Microsoft Corporation | Electronic shopping and merchandising system |
US6621505B1 (en) * | 1997-09-30 | 2003-09-16 | Journee Software Corp. | Dynamic process-based enterprise computing system and method |
US6173248B1 (en) * | 1998-02-09 | 2001-01-09 | Hewlett-Packard Company | Method and apparatus for handling masked exceptions in an instruction interpreter |
US6728769B1 (en) * | 2000-05-04 | 2004-04-27 | Sun Microsystems, Inc. | Method and apparatus for providing a highly interactive transaction environment in a distributed network |
-
2000
- 2000-08-14 CA CA002316003A patent/CA2316003C/en not_active Expired - Fee Related
-
2001
- 2001-04-06 US US09/828,562 patent/US7007278B2/en not_active Expired - Fee Related
- 2001-07-23 DE DE60132901T patent/DE60132901T2/de not_active Expired - Lifetime
- 2001-07-23 AU AU2001272662A patent/AU2001272662A1/en not_active Abandoned
- 2001-07-23 EP EP01951813A patent/EP1309914B1/en not_active Expired - Lifetime
- 2001-07-23 AT AT01951813T patent/ATE386975T1/de not_active IP Right Cessation
- 2001-07-23 CN CNB018141587A patent/CN1189817C/zh not_active Expired - Fee Related
- 2001-07-23 WO PCT/GB2001/003315 patent/WO2002015006A1/en active IP Right Grant
-
2003
- 2003-02-07 KR KR1020037001776A patent/KR100574156B1/ko not_active IP Right Cessation
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100371888C (zh) * | 2004-07-08 | 2008-02-27 | 腾讯科技(深圳)有限公司 | 一种将网页图片直接应用到即时通信工具中的方法 |
CN101176079B (zh) * | 2005-03-16 | 2011-12-07 | 航空照片技术有限公司 | 在服务器和客户机之间分配计算的方法以及分布式计算机系统 |
CN102591647B (zh) * | 2010-12-27 | 2016-01-20 | 微软技术许可有限责任公司 | 将桌面应用转换成web应用 |
CN102591647A (zh) * | 2010-12-27 | 2012-07-18 | 微软公司 | 将桌面应用转换成web应用 |
US9176742B2 (en) | 2010-12-27 | 2015-11-03 | Microsoft Technology Licensing, Llc | Converting desktop applications to web applications |
CN107688485A (zh) * | 2010-12-27 | 2018-02-13 | 微软技术许可有限责任公司 | 对虚拟化应用程序的基于策略的访问 |
CN107688485B (zh) * | 2010-12-27 | 2021-08-24 | 微软技术许可有限责任公司 | 用于对虚拟化应用程序的基于策略的访问的方法和系统 |
CN102436509B (zh) * | 2011-12-29 | 2014-07-02 | 奇智软件(北京)有限公司 | 在移动终端进行网页浏览的方法及系统 |
CN102436509A (zh) * | 2011-12-29 | 2012-05-02 | 奇智软件(北京)有限公司 | 在移动终端进行网页浏览的方法及系统 |
CN109691068A (zh) * | 2016-12-23 | 2019-04-26 | 惠普打印机韩国有限公司 | 针对相关应用的建立网络交叉引用 |
CN109691068B (zh) * | 2016-12-23 | 2022-08-26 | 惠普发展公司,有限责任合伙企业 | 用于建立网络连接的图像形成设备及其方法 |
CN112930523A (zh) * | 2018-09-10 | 2021-06-08 | 阿韦瓦软件有限责任公司 | 边缘hmi模块服务器系统和方法 |
CN112930523B (zh) * | 2018-09-10 | 2024-01-23 | 阿韦瓦软件有限责任公司 | 边缘hmi模块服务器系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20020019884A1 (en) | 2002-02-14 |
US7007278B2 (en) | 2006-02-28 |
KR20030045027A (ko) | 2003-06-09 |
AU2001272662A1 (en) | 2002-02-25 |
CN1189817C (zh) | 2005-02-16 |
EP1309914A1 (en) | 2003-05-14 |
ATE386975T1 (de) | 2008-03-15 |
CA2316003A1 (en) | 2002-02-14 |
DE60132901T2 (de) | 2008-07-03 |
WO2002015006A1 (en) | 2002-02-21 |
EP1309914B1 (en) | 2008-02-20 |
KR100574156B1 (ko) | 2006-04-25 |
CA2316003C (en) | 2009-02-03 |
DE60132901D1 (de) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1189817C (zh) | 从因特网访问传统应用程序 | |
US6961750B1 (en) | Server-side control objects for processing client-side user interface elements | |
Peng | An assessment framework for the development of Internet GIS | |
US7269792B2 (en) | System and method for generating high-function browser widgets with full addressability | |
US7581231B2 (en) | Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer | |
US5894554A (en) | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests | |
US7904803B2 (en) | Method and system for converting user interface source code of a legacy application to web pages | |
US7103627B2 (en) | Web-based system and method | |
US7134076B2 (en) | Method and apparatus for portable universal resource locator and coding across runtime environments | |
US8260844B2 (en) | Information messaging and collaboration system | |
US7461385B2 (en) | Method for establishing a new user interface via an intermingled user interface | |
US8826297B2 (en) | Creating web services from an existing web site | |
EP1156428A2 (en) | Databinding using server-side control objects | |
EP0817031A2 (en) | Using a distributed object system to find and download java-based applications | |
US20050268225A1 (en) | Mechanism for automatic synchronization of scripting variables | |
JP2002041307A (ja) | サーバ側制御オブジェクトによるポストバック入力のハンドリング | |
CN1749961A (zh) | 使用网络模型的单机软件 | |
US20020147962A1 (en) | Method and system for incorporating legacy applications into a distributed data processing environment | |
US6339829B1 (en) | Method and apparatus to store extended security information in a data structure which shadows a java class object | |
US20030172186A1 (en) | Method, system and program product for transcoding content | |
Wilkinson et al. | QMachine: commodity supercomputing in web browsers | |
US20040205587A1 (en) | System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable | |
CN114647438A (zh) | 生成及加载文件包的方法、装置、介质和计算设备 | |
Akbay et al. | Design and implementation of an enterprise information system utilizing a component based three-tier client/server database system | |
CN116795867A (zh) | 数据处理方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050216 Termination date: 20100723 |