CN1302021A - 分离商务应用编程和用户接口编程的方法和设备 - Google Patents

分离商务应用编程和用户接口编程的方法和设备 Download PDF

Info

Publication number
CN1302021A
CN1302021A CN00135562A CN00135562A CN1302021A CN 1302021 A CN1302021 A CN 1302021A CN 00135562 A CN00135562 A CN 00135562A CN 00135562 A CN00135562 A CN 00135562A CN 1302021 A CN1302021 A CN 1302021A
Authority
CN
China
Prior art keywords
data set
program
java
record
data
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
Application number
CN00135562A
Other languages
English (en)
Other versions
CN1176430C (zh
Inventor
蒂莫西·T.·威尔逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1302021A publication Critical patent/CN1302021A/zh
Application granted granted Critical
Publication of CN1176430C publication Critical patent/CN1176430C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

通过万维网进行商务的方法和设备,其中商务编程与网络用户接口编程分开。根据本发明,一个网关小服务器在顾客的浏览器软件与电子商务零售商的在例如单独的主机上运行的后端商务软件之间进行接口。网关小服务器自顾客处接收输入信息并且将它向前送至后端软件以供商务处理之用。后端软件送回用户接口记录对象至网关,后者接着将一个Java类包实例化及定义Java服务器页面以便根据用户输入信息及其商务后端处理来生成一页准备送回至用户的HTML页面。

Description

分离商务应用编程和 用户接口编程的方法和设备
本发明涉及软件应用程序开发和运行时间环境。更具体地,本发明涉及万维网应用程序开发和运行时间环境。
万维网(此后称为网络)用途的最近开发对网络应用软件开发商提出了不断增长的要求。网络和网络应用软件开发的最大增长领域之一是在因特网上的商务事务,包括对顾客的零售事务和商务对商务事务两者。例如,许多传统商务已经在他们的零售店增加了因特网网站,顾客可以通过它购买物品。此外,许多新商务已经在网上“开放”,它没有传统的物理的零售店,而在网上只有商务事务(至少是主要的)。这类商务网站的例子包括主要销售书和其他娱乐媒体的Amazon.com,主要销售光盘的CDNow.com,以及主要销售儿童玩具的Etoys.com。
通过网络的商务事务通常称为电子商务。在一个典型的电子商务中,一个公司维持和运行一个网站,潜在的顾客可以使用网络浏览器例如Netscape Navigator或Microsoft Explorer来访问该网站。用户可以以正常方式访问零售商的网站,例如从另一个网站(例如搜索引擎结果网页)在超连接上点击,或者将网站URL(统一资源定位器)键入浏览器软件所提供的屏幕显示上的合适区域。在其上驻有被请求网页的网络主服务器将一页网页送回至用户计算机(此处称为客户机),后者然后在用户监视器上显示所选网页。
为示例目的,我们假定用户访问销售光盘的电子商务零售商的主页。该主页通常包含图形、文本和与其他网页的不同超连接,包括至少一页可用于输入购买一个或多个光盘的命令的页面。当用户在该特定超连接上点击时,他使浏览器软件在网络上发送一个请求至该页的相关的网络服务器。该网络服务器将该页送回至客户机以便在顾客监视器上显示。该页面通常包括多个问题和用于供顾客填入信息以便回答这些问题的区域,例如姓名、地址、电话号、信用卡号、所需光盘的艺术家和名称等。
在用户输入全部所需信息后,他将在屏幕的按钮上点击,以便将他刚才输入的数据送回至网络服务器。这些数据主要是光盘的购买命令。此时电子商务零售商必须处理该购买命令,在大部分情况下零售商处理任何购买命令的方式与收到该命令的媒体(通过因特网,通过邮件命令或者通过顾客自己走到物理零售店的收银台)无关。这种处理通常包括至少(1)确认信用卡号和足够的用于购买该商品的信用金,(2)确认仓库数据库中存在所定购的光盘并且该光盘是在库存内,(3)输入所有信息至合适的数据库中以便为纳税和商务目的而更新库存,以及(4)通知命令处理和发运部门的相关人员以便在物理上使购买命令得到处理,从而将光盘邮寄给顾客。
用于生成和显示网页并且与顾客交互操作的软件,即用户接口软件通常可以称为网络软件,而用于执行商务事务的软件通常可以称为商务软件。
从此例中可以看出,电子商务应用程序的软件开发既要求商务软件开发又要求网络软件开发两方面的知识。然而历史上商务软件开发商和网络软件开发商在不同领域内工作。也即,大部分商务软件开发商对网络软件开发知道很少,同时网络软件开发商对商务软件开发知道很少。作为一个例子,商务软件开发商通常使用例如COBOL或C++等语言来开发软件,而因特网软件开发商通常使用HTML(超文本标记语言)和Java编程语言。
此外,一个公司在开始通过网络零售之前,已经有更为传统的商务事务方式,例如通过物理零售店或者邮件命令,他们通常已经完全地开发了可靠的和熟悉的商务软件包。为通过网络进行商务事务,这类公司通常需要开发完全新的基于HTML的软件包以便开展电子商务。因此,严格地进行电子商务的公司以及扩大至电子商务领域的公司两者都必须雇佣网络软件开发商来开发用于在网上开展他们商务的软件。这类开发商通常具有很少的商务软件方面的必要知识。因此,公司或者必须雇佣通常不懂网络软件开发的商务软件开发商,同时又雇佣不懂商务软件开发的网络软件开发商,或者雇佣其中一类开发商并且花费很大努力来在开发商不懂的领域内培训他们。在任何一种情况下,在软件开发方面是效率不高的。
有不少可用的机制可供电子商务的商务软件部分与网络软件部分进行交互操作。例如,许多电子商务开发商利用用于在网络浏览器与商务应用程序之间进行接口的CGI(公共网关接口)。CGI是一个程序,用于将网络用户的请求送至应用程序并且接收自应用程序送回的数据以便送至用户。当用户填入一个表格例如定购光盘时,这比要求送回一页页面的请求的事情更多。具体地,用户输入的数据必须在公司的网络服务器能送回剪裁的响应至用户浏览器之前由商务应用程序处理,例如,所请求的光盘在库存中,它将按一定日期发运,以及用户信用卡将被扣去一定金额。使用CGI类型系统后,网络服务器将用户输入的信息送至在网络服务器上运行的小商务应用程序,后者然后处理这些数据,并且向CGI送回一页包含确认消息的网页。
用于在服务器和商务应用程序之间来回传送数据的软件称为公共网关接口或CGI,  它是网络超文本传输协议(HTTP)的一部分。CGI提供一个用于将数据自用户请求传送至商务应用程序以及传送回至用户的一致方法。由于接口是一致的,编程人员能够用许多不同语言编写商务应用程序。CGI所用最普通的语言是C,C++,Java和Perl。商务应用程序是一个正规程序,它理解HTML,并在接收由用户输入的信息后建立一页HTML页以便送回至用户。因此,当商务应用程序与CGI类型接口一起使用时,能够组合地完成商务处理以及网页建立,所建立的网页将送回至用户的浏览器。
另一个电子商务应用程序的普通方案是使用Java小服务器,它在网络服务器上运行。Java小服务器替代CGI并且直接在网络服务器上运行。当Java虚拟机在服务器上运行时,能够使用Java程序语言在服务器上实现电子商务应用程序。在服务器上通过CGI运行Java小服务器的优点是例如它们可以比CGI应用程序更快地执行。具体地,每个用户请求被调用为单个示范过程的一个线程而不是建立一个单独的程序过程,这意味着每个请求的系统开销量是小的。而且,Java小服务器既完成商务处理又建立网页。
另一个熟知的方法是使用ASP(有效服务器页面)。一页有效服务器页面是一页HTML页,它包括一个或多个在该页面送至用户之前在Microsoft网络服务器上处理的文稿。它类似于以上所述的Java小服务器,即所有涉及的程序全都在服务器上运行。服务器处网页上的文稿则使用输入的数据,这些数据是作为用户请求访问来自数据库的数据的页面并且在将它发送至用户浏览器之前在扉页上建立或剪裁该页的结果而接收的。当然,ASP再次完成商务处理和网页建立。
在以上所有方案中,需要一支具有网络编程、Java、HTML、HTTP等以及商务软件开发的知识的软件开发队伍。此外,公司中现有商务软件对于电子商务而言可能完全无用。
因此,本发明的一个目的是提供一种运行时间环境方法和设备以及电子商务软件应用程序的框架,用于将商务软件开发明确地自网络软件开发中分离出来。
本发明是一个用于应用程序规范和运行时间执行的新方法和设备,用于将商务软件开发自网络软件开发中分离出来。根据本发明,一个在网络服务器上运行的简单网关小服务器程序用作用户的浏览器、用于完成所有商务数据处理的后端计算机、一个或多个Java类包(bean)与一页或多页Java服务器页面(JSP)之间的接口。当用户输入信息至一页页面中并将它发送回至网络服务器时,此网关小服务器接收该信息并且将它与另一条信息一起发送至后端计算机,该另一条信息告诉后端计算机应该调用哪个(哪些)程序以便处理这些数据。后端计算机然后使用由网关小服务器提供给它的输入数据来运行该程序。当该程序已经结束运行并且已经生成所需商务信息后,后端计算机将一个用户接口(UI)记录进行散布。后端计算机发送UI记录数据至网关小服务器。
然后该网关小服务器将已经指定为该特定数据集/对象的Java类包加以实例化,并且将该UI记录的数据设置入该类包中。该网关小服务器然后调用一页也驻留在已经开发为与该类包一起操作的应用服务器之中的Java服务器页面(JSP)。该JSP使用以上所述类包中的信息生成一页HTML页,以便根据如同由后端计算机的商务软件所处理那样的用户原始输入信息来剪裁该页面,并且将该页面送回至用户的浏览器以供用户机器上显示之用。
以此方式,基于网络的用户接口处理是完全与商务处理分离的。商务处理与用户接口处理之间的交互操作是通过一个非常简单的网关小服务器实现的。因此,网络开发商能够开发用户接口(即HTML页及它们如何彼此互相关联)而主要不必具有任何用于生成商务数据的商务软件知识,以及商务软件开发商能够主要独立于网络软件开发商而开发所有商务处理软件。本发明也允许用通常商务应用编程语言例如COBOL编写的及在通常商务软件系统例如主机上运行的程序来驱动网络应用程序。
图1是用于阐述根据本发明的在网上的电子商务事务的相关部件的框图。
图2是用于阐述根据本发明优选实施例的处理流程的流程图。
图1是用于阐述通过万维网进行示例性商务事务中涉及的部件的框图。在客户机14上工作的用户例如使用调制解调器20通过公共电话网18访问服务器16。服务器16通常由用户的因特网服务供应器(ISP)操作。ISP可以具有另一个用于与用户调制解调器20进行接口的调制解调器(未示出)。ISP连至网络12并且在用户客户机14与由用户选择的可以通过网络访问的目的地之间传输数据。万维网12是一组用于组成主要跨越地球的计算机网络的开关、路由器和计算机的集合。网络的一般组织是熟知的,它并不组成本发明的一部分,因此此处不予讨论。例如商务20的商务也通过例如网络服务器22的网络服务器连至网络,并且维持多页可由其他用户通过万维网访问的网页。为示例目的,我们假定商务20是一个光盘零售商,他在其自己物理的工厂内保持其自己的网络服务器,并且直接连至网络12而不使用公共电话网。
在客户机14上运行万维网浏览器软件例如Netscape Navigator或Microsoft Explorer的用户能够访问网络上的任何页面。当用户希望访问网络上的一定页面例如光盘零售商的主页时,用户在由浏览器软件呈现的显示屏的合适区域内键入该页的通用资源定位器(URL),或者选代地在当今正观看的另一网页中点击一个超连接,从而将浏览器软件引导至商务20的主页。浏览器软件发送一个对该URL的请求至ISP的服务器16。ISP的服务器16将URL转换为字母数字地址并且在网络12上发送该请求至由该字母数字地址所识别的特定服务器22。响应于通过用户客户机14自用户浏览器软件收到的请求,ISP的服务器16和网络12及零售商的服务器22送回一页准备在用户计算机终端上显示的HTML(超连接标记语言)页面。主页通常不要求用户输入任何信息。
主页通常包括图形和文本和一个或多个连至零售商的服务器22上其他网页的超连接。至少某些由主页上超连接所访问的网页通常是用户可以在其上输入信息的页面,这些准备发送至零售商20的信息是购买光盘所必需的(此后称为输入信息)。当用户在这些超连接中之一上点击其鼠标(这主要是请求另一个URL的简捷方法)时,新选的网页通过与以上所述的与访问主页相同的处理方法被送回至用户。简而言之,在零售商的服务器22处收到该请求以及该零售商的服务器送回一页页面,用户可在其中输入为购买光盘所需的一定信息。通常此页包括不同区域,用户必须在其中输入合适信息(姓名、地址、所需光盘、信用卡号和失效期等)。在用户输入所有请求的输入数据后,用户在一定按钮(例如发送按钮)上点击其鼠标,这使浏览器软件将输入信息送回至零售商的服务器22。
零售商的服务器也连至零售商的后端计算机,在其上运行零售商的商务软件。例如,后端计算机可以是在零售商的商务位置处的主计算机24。
在现有技术中,用户接口和商务处理编程是互相缠结地运行于零售商的网络应用服务器上的。在现有技术中,网络服务器可能访问保持于单独的后端主机中的数据库。然而,自数据库获得的数据的实际处理是在一个编程环境中服务器处完成的,在该编程环境中用户接口、输入数据证实和用于生成输出数据的商务处理是与输出数据的格式化操作缠结于相同软件中(例如通过CGI应用程序或ASP程序)。
根据本发明,所有商务处理能够留在后端计算机中,而所有用户接口编程(网络编程)是在网络服务器内由例如Java服务器页面完成的。此外,所有其他既非用户接口处理又非商务处理的输入和输出数据的处理能够由一个或多个其他独立的程序例如一个或多个Java类包完成。这些其他处理可能包括输出数据的格式化、数据的证实以及输入数据的多个互相依赖区域的交叉证实。所有这些不同程序通过非常简单的网关小服务器程序来彼此接口,该网关小服务器程序几乎不处理数据而只是在不同浏览器、Java类包、Java服务器页面和商务处理程序之间接收和发送数据。
以此方式,网络软件开发商和商务软件开发商能够主要地彼此独立地进行操作,因而允许每个开发商效率最高地使用他或她的技能而不必操心别人。此外,对于早已高度开发并且可靠的商务软件而言,这类商务不必为了通过网络开展商务事务而开发新商务软件。相反,它可以简单地使用其现有很好地建立起来的商务软件及个别地开发网络的用户接口软件。
虽然此处讨论的例子涉及商务软件驻留在单独的后端计算机中例如主机中的情况,但商务处理软件恰好可以容易地在网络服务器本身内运行。除软件运行位置的分离之外,正是商务处理软件、网络用户接口软件、数据格式化软件、输入数据证实及其他软件在逻辑上的分离提供本发明的主要优点。
现在参照图2,它是用于阐述在客户机14上运行的用户浏览器软件、在零售商的服务器22上运行的不同程序与在零售商的主机上运行的不同程序之间的交互作用的流程图。为不使本发明混淆,ISP的服务器16和网络12并不在图2中阐述。这些交互作用的细节是熟知的,因此不组成本发明的一部分。柱202表示在用户的客户机14上运行的浏览器软件。柱204、206和208表示在零售商的网络服务器22上运行的软件。柱204表示根据本发明的特定Java小服务器,此处称为网关小服务器并且将在下面更详细地描述。柱206表示一个或多个驻留在零售商的网络服务器上的类包。柱208表示一页或多页用于生成HTML页面同时也是驻留在零售商的服务器上的Java服务器页面(JSP)。柱210表示零售商的商务软件及包括一个或多个应用程序,后者例如可能在后端主机24上运行。
在步骤222,响应于用户键入合适的URL(或点击超连接),用户的浏览器连至在零售商的网络服务器22上运行的网关小服务器204。在步骤224,网关小服务器用作送回至浏览器的零售商的主页。在步骤226,用户在主页上选择一个超连接以便获得一页页面,他可以在其上输入他的命令和其他相关的信息,例如姓名、地址、电子邮件地址、所请求的光盘、信用卡号、信用卡失效日期、所请求的发运方法、发运地址等。
在步骤228,网关小服务器204将该页送回至用户浏览器,以供他的浏览器在他的终端上显示之用。在步骤230,用户在不同区域内填入所请求的信息。用户然后在该页面的按钮上点击,这导致浏览器将所输入信息发送回至零售商的网络应用程序服务器处的网关小服务器204(步骤232)。如同在现有技术中,发送按钮主要是一个用于识别具体URL的伪装超连接。然而,根据本发明,该URL附加地包括对为处理这些数据而必须在后端计算机24中运行的一个或多个程序的识别。
网关小服务器204接收由用户输入至数据域内的信息(今后称为输入数据)。在步骤232,网关小服务器将设计为按照需要处理输入数据的类包实例化。在步骤236,网关将类包以及输入数据加以散布。如同网络软件开发中众所周知的,Java是一个面向对象的编程语言,其中Java类包是一个小程序,它是一个类,也即一组属性(数据)和一组方法(如何处理这些数据)。当另一个程序例如网关小服务器将特定类包以及数据散布时,即建立该类包的一个新实例。该类包的每个实例具有不同数据(属性)但却有相同的过程(方法)。
根据本发明,这些类包不完成商务处理。然而,它们优选地完成所有其他输入数据的处理。这可能包括检查是否已经在任何区域内输入了合适数量和/或类型的字符,其中字符数量必须满足一定限制。例如,信用卡号必须具有16个数位,并且它们必须都是数字;姓名必须全部由字母字符组成;日期必须以一定格式输入;电子邮件地址必须是一定格式;美国邮政编码必须具有5或9个数位等。此外,某些区域可能彼此依赖。这类区域内的数据的一致性能够由类包来证实。
在步骤238,所选类包运行。在运行后,在步骤240,类包向网关小服务器送回一个PASS或FAIL标示。如果它送回一个FAIL,则网关小服务器必须将同一页面发送回至用户,并且最好包括一个标志,用于标示在输入数据中存在一个必须加以改正的误差,以及最好识别该误差的特性及其发生的区域以便用户能够正确地输入数据和再次调用该页面。为简化图2,我们将假定输入数据是正确的,因此在步骤240该类包送回一个PASS。
由用户输入的输入数据必须为商务目的而进行处理,以便例如证实信用卡号和合适信贷的可用性,判断该零售商的库存中是否具有所请求的CD,建立一个购买命令,通知合适的人员,生成必须送回至用户的输出数据例如总价格和发运数据。
在步骤242,响应于自浏览器收到请求,网关小服务器204建立一个请求对象。该请求对象规定哪个或哪些程序必须在后端计算机上运行以便处理数据。在步骤244,网关小服务器204向后端服务器发送由用户输入的输入数据连同对必须运行以便处理这些数据的一个或多个程序的识别。
在步骤246,后端服务器运行这些必要的程序。在步骤248,后端主机然后将我们称为用户接口(UI)记录的数据结构连同准备送回至用户的输出数据加以散布。可以由单独的在后端计算机上运行的程序来完成UI记录的散布。选代地,它可能包括于商务应用程序之内。在面向对象编程语言中,UI记录是一个对象。
UI记录是一个准备送回至用户的网页的模型。也即,它是一个用于定义数据及与这些数据相关联的行为的高层对象,但不是这些数据的布局或表现。如果后端软件是例如用COBOL语言编写的,则UI记录可能是一个COBOL记录。
在我们已经使用过的例子中,UI记录可能包含例如所需光盘的SKU,艺术家的全名和CD名称,CD上歌曲清单,CD价格,接收或拒绝信用卡的标志,总价格,可能需要用户回答的后随问题等。
由于后端计算机除散布UI记录之外不与用户接口进行交互操作,后端软件几乎不需重新设计。该UI记录包含准备送回至用户的浏览器的数据,并且规定对此应该作什麽,但根本不包含关于如何向用户进行呈现的任何信息。此外,它最好不包含关于如何进行格式化的任何信息。当然,在选代的实施例中,可以在后端计算机中完成数据格式化。
在后端计算机中生成的包含于UI记录中的数据现在必须插入于基于网络的用户接口中。因此,至少某些包含于UI记录中的涉及应该如何处理数据的信息能够识别类包和准备用于建立一页用于向用户呈现数据的网页的Java服务器页面(JSP)。
在步骤250,后端计算机送回散布的UI记录至网关小服务器。
在步骤252,网关将识别的类包(今后称为UI类包)实例化。在步骤254,它将该UI类包连同来自UI记录的数据加以散布。
在步骤258,网关小服务器204调用识别的Java服务器页面。该Java服务器页面完全地定义如何在准备呈现给用户的网页中布置数据。因此,在步骤260,JSP访问该类包以便获得准备包括入由JSP设计的网页中的数据。如同在网络软件开发现有技术中众所周知的,JSP基本上包括在其中贯穿着HTML码的Java码。当Java码运行时,它发出所有在其内部的HTML码以便建立一页网页。该Java服务器页面完全地定义如何在准备呈现给用户的网页中布置数据。最后在步骤262,JSP送回一页网页至浏览器,它包含所有由UI记录所定义的并且按照JSP定义的方式布置以便呈现给用户的数据。
在步骤252和254中实例化和散布的类包可以是在步骤234中实例化的相同程序或者是不同程序。在本发明的优选实施例中,除为在步骤258和260中由JSP建立的网页提供输出数据外,它完成除建立用户接口(网页)之外对所有输出商务数据所必须的处理。
例如,这可能包括数据的所有格式化,例如制定光盘价格的原始价格以及用美元符号($)及价格的美元数和美分数之间的小数点将其格式化或者将一个数字数据码格式化为“January 11,2000”
该类包定义一组方法,用于操纵商务数据并且送回关于商务数据的META信息,但不包括任何关于如何将数据呈现给用户的智能信息。操纵方法的例子是如同刚才所讨论的用于将数字数据格式化为规定的货币的方法,或者是如同结合步骤238-240所讨论的用于证实用户输入的方法。META信息方法的例子是用于送回标记或与给定区域相关联的HELP文本的方法。
以上结合步骤238-240所讨论的与用户输入FAIL的给定区域相关联的误差消息是在运行时间内已经建立的META信息的一个例子。
主要地,Java类包将所有与准备放在网页上的商务数据相关的信息都包装起来而丝毫不涉及如何或何处或以何种形式在该网页上显示这些数据。
因此可以看出,根据本发明,商务处理软件完全与网络表现软件(或用户接口)分开,而这些网络表现软件完全与输入数据证实编程和输出数据格式化编程分开。这些不同软件部分之间的唯一交互操作是通过UI记录,后端计算机将它送回至网关及网关使用它来散布Java类包。
熟悉技术的人应该知道,根据本发明,对于每一页能够送回至用户的不同网页而言,通常都有不同的JSP和相关的类包。此外,类包具有持续性,即它们将部件的状态存储起来。这允许例如一个部件(类包)记忆住在早先用户会晤中早已输入的特定数据。
因此,提供了一种方法和设备,它们允许在电子商务软件开发中将商务处理编程、网络用户接口编程、输入数据证实编程及输出数据格式化编程分开。所有这些软件部分都可以通过使用非常简单的网关小服务器来彼此进行接口。这允许现有商务更容易地扩展为电子商务,因为实际上并不需要重新设计现有商务软件来转换为电子商务应用程序。此外,由于可以独立于网络/用户接口软件开发而开发商务处理软件,因此可以更容易地为任何商务开发电子商务软件。一个熟悉3GL或4GL商务编程语言但不懂网络应用编程语言例如HTML和Java的软件开发商因此不会被排除在网络驱动的应用程序的软件开发工作之外。
虽然以上所讨论的本发明具体实施例全都涉及买主与出售商之间通过万维网的商务事务,但本发明具有大为广阔的应用。例如,它可用于任何数据传输,即两个程序之间的请求/响应数据交换,并且不是必须限于买主/出售商商务事务。此外,本发明可用于任何计算环境并且不是必须限于万维网或甚至网络环境。
在如此地描述了本发明的数个具体实施例后,熟悉技术的人明显知道可以实现不同更动、修改和改进。对于本公开内容的这类很明显的更动、修改和改进虽然没有在此明白叙述,但它们本来是包括于本发明的实质和范围之内的。例如,以上讨论的实施例具体地涉及Java编程语言并且在本质上是示例性的。熟悉技术的人应该理解,本发明可以应用于其他面向对象编程语言的框架之内。因此,前述说明只是例子而非限制性的。本发明只受限于所附权利要求书及其等效内容中所规定的范围。

Claims (53)

1.一种用于通过网络进行商务事务的方法,所述方法包括以下步骤:
(1)在客户机上生成用于进行商务事务的第一数据集;
(2)通过所述网络传输所述第一数据集至网络服务器;
(3)自所述网络服务器将所述第一数据集连同驻留在所述后端计算机上的程序的标识一起传输至后端计算机,所述程序准备运行以便处理所述第一数据集;
(4)运行所述程序从而处理所述第一数据集以便从中生成第二数据集;
(5)在所述后端计算机处散布一个记录连同所述第二数据集;
(6)传输所述记录至所述网络服务器;
(7)在所述服务器处建立一个用户接口以便与所述第二数据集一起散布;及
(8)通过所述网络传输所述用户接口至所述客户机以供显示之用。
2.权利要求1的方法,其中所述网络是万维网。
3.权利要求2的方法,其中步骤(2)包括发送通用资源定位器连同所述第一数据集,所述通用资源定位器包含准备在所述后端计算机上运行的所述程序的标识。
4.权利要求3的方法,其中所述程序是一个COBOL程序及所述记录是一个COBOL记录。
5.权利要求2的方法,其中步骤(7)包括以下步骤:
(7.1)为所述第二数据集将一个Java类包实例化;
(7.2)将所述第二数据集插入于Java类包中;
(7.3)调用对应于所述Java类包的Java服务器页面;
(7.4)所述Java服务器页面调用所述Java类包及使用来自所述Java类包的数据来建立准备传输至所述客户机的网页。
6.权利要求5的方法,其中步骤(8)由所述Java服务器页面完成。
7.权利要求6的方法,其中步骤(5)还包括将所述记录连同Java服务器页面的标识及所述记录所属Java类包一起加以散布。
8.权利要求7的方法,其中所述后端计算机是一个主机。
9.一种为通过万维网进行商务事务而处理数据的方法,所述方法包括以下步骤:
(1)通过所述万维网在网络服务器处自客户机接收准备与商务事务一起被处理的第一数据集;
(2)自所述网络服务器将所述第一数据集连同驻留在所述后端计算机上的程序的标识一起传输至后端计算机,所述程序准备运行以便处理所述第一数据集;
(3)自所述后端计算机接收一个用于定义由所述后端计算机自所述第一数据集中导得的第二数据集的记录;
(4)在所述服务器处建立一个用户接口及将它连同所述第二数据集一起散布;
(5)通过所述网络传输所述散布的用户接口至所述客户机以供显示之用。
10.权利要求9的方法还包括以下步骤:
(6)在步骤(1)之前,向所述客户机传输第一网页,所述第一网页包括(a)至少一个区域,在其中在所述客户机处的用户可以插入所述第一数据集,及(b)一个超连接,用于标识一个包括准备在所述后端计算机上运行以便生成所述第二数据集的所述程序的标识的通用资源定位器。
11.权利要求10的方法,其中步骤(4)包括以下步骤:
(4.1)将一个Java类包实例化;
(4.2)将所述第二数据集插入于所述Java类包中;
(4.3)调用对应于所述Java类包的Java服务器页面;及
(4.4)所述Java服务器页面调用所述Java类包及使用来自Java类包的数据以便建立准备传输至所述客户机的网页。
12.权利要求11的方法,其中步骤(5)由所述Java服务器页面完成。
13.权利要求11的方法还包括以下步骤,所述这些步骤是在步骤(3)与步骤(4)之间完成的;
(7)根据所述程序来处理所述第一数据集以便从中生成第二数据集;
(8)在所述后端计算机处将记录连同所述第二数据集一起散布;及
(9)传输所述记录至所述网络服务器。
14.权利要求11的方法,其中所述程序是一个COBOL程序及所述记录是一个COBOL记录。
15.权利要求14的方法,其中步骤(9)包括将Java服务器页面和所述记录所属的Java类包连同所述记录一起传输。
16.一种为通过万维网进行商务事务而处理数据的方法,所述方法包括以下步骤:
(1)在后端计算机处自网络服务器接收准备与商务事务和驻留在所述后端计算机上的准备运行以便处理所述第一数据集的程序的标识一起被处理的第一数据集;
(2)处理所述程序中的所述第一数据集以便从中生成第二数据集;
(3)在所述后端计算机处将记录连同所述第二数据集一起散布;
(4)自所述后端计算机传输所述记录至所述网络服务器。
17.权利要求16的方法,其中所述第一数据集包括用于标识统一资源定位器的超连接,所述统一资源定位器包括准备在所述后端计算机上运行以便生成所述第二数据集的所述程序的标识。
18.权利要求17的方法,其中所述程序是一个COBOL程序及所述记录是一个COBOL记录。
19.权利要求17的方法,其中步骤(4)包括将Java服务器页面的标识和所速记录所属的Java类包连同所述记录一起传输。
20.一种为通过万维网进行商务事务而处理数据的设备包括:
一个第一程序,用于通过万维网自客户机接收准备连同商务事务一起被处理的第一数据集,用于传输所述第一数据集至准备运行以便处理所述第一数据集的第二程序,以及用于自所述第二程序接收一个用于定义由所述第二程序自所述第一数据集中导得的第二数据集的记录;及
一个第三程序,用于建立用户接口并且将它连同所述第二数据集一起散布以及用于通过所述网络传输所述散布的用户接口至所述客户机以供显示之用。
21.权利要求20的设备,其中所述第一程序还在接收所述第一数据集之前传输第一网页至所述客户机,所述第一网页包括至少一个区域和一个超连接,用户可以在所述客户机处在所述区域内插入所述第一数据集,所述超连接用于标识一个包括所述第二程序的标识的通用资源定位器。
22.权利要求21的设备,其中所述第一程序还包括:
用于将一个Java类包实例化的装置;
用于将所述第二数据集插入于所述Java类包中的装置;
用于调用对应于所述Java类包的Java服务器页面的装置;及
用于促使所述Java服务器页面调用所述Java类包和使用所述Java类包的数据以便建立准备传输至所述客户机的网页的装置。
23.权利要求22的设备,其中所述Java服务器页面组成所述第三程序的一部分。
24.权利要求22的设备还包括所述第二程序及其中所述第二程序包括:
用于处理所述第一数据集以便从中生成所述第二数据集的装置;
用于将所述记录连同所述第二数据集一起散布的装置;及
用于传输所述记录至所述网络服务器的装置。
25.权利要求24的设备,其中所述第二程序是一个COBOL程序及所述记录是一个COBOL记录。
26.权利要求25的设备,其中所述第二程序还包括:
用于将Java服务器页面和所述记录所属的Java类包连同所述记录一起传输的装置。
27.一种通过网络进行商务事务的方法,所述方法包括以下步骤:
(1)在客户机处生成进行商务事务所需的第一数据集;
(2)通过所述网络将所述第一数据集传输至网络服务器上的第一程序;
(3)自所述第一程序传输所述第一数据集至第二程序,所述第二程序准备运行以便处理所述第一数据集;
(4)根据所述第二程序来处理所述第一数据集以便从中生成第二数据集;
(5)将一个记录连同所述第二数据集一起散布;
(6)传输所述记录至所述第一程序;
(7)在所述服务器处建立用户接口以便与所述第二数据集一起散布;
(8)通过所述网络传输所述用户接口至所述客户机以供显示之用。
28.权利要求27的方法,其中所述网络是万维网。
29.权利要求28的方法,其中步骤(2)包括将通用资源定位器连同所述第一数据集一起传输,所述通用资源定位器包含准备在所述后端计算机上运行的所述第二程序的标识。
30.权利要求29的方法,其中所述第二程序处理所述第一数据集以便产生如同所述第二数据集一样的商务数据。
31.权利要求30的方法,其中所述第二程序是一个COBOL程序及所述记录是一个COBOL记录。
32.权利要求27的方法,其中步骤(7)包括以下步骤:
(7.1)为所述第二数据集将一个Java类包实例化;
(7.2)将所述第二数据集插入于所述Java类包中;
(7.3)调用对应于所述Java类包的Java服务器页面;及
(7.4)所述Java服务器页面调用所述Java类包及使用来自Java类包的数据以便建立准备传输至所述客户机的网页。
33.权利要求32的方法,其中步骤(8)由所述Java服务器页面完成。
34.权利要求33的方法,其中步骤(5)还包括将所述记录连同Java服务器页面的标识和所述记录所属的Java类包一起散布。
35.一种为通过万维网进行商务事务而处理数据的软件程序,所述程序包括:
用于通过所述万维网自客户机接收准备与商务事务一起被处理的第一数据集的装置;
用于自所述第一程序中将所述第一数据集传输至准备运行以便处理所述第一数据集的商务处理程序的装置;
用于自所述第二程序中接收一个用于定义由所述第二程序从所述第一数据集中导得的第二数据集的记录的装置;
用于建立用户接口并且将它与所述第二数据集一起散布的装置;及
用于通过所述网络将所述散布的用户接口传输至所述客户机以供显示之用的装置。
36.权利要求35的程序还包括:
用于传输第一网页至所述客户机的装置,所述第一网页包括至少一个区域和一个超连接,用户可以在所述客户机处在所述区域内插入所述第一数据集,所述超连接用于标识一个包括所述商务处理程序的标识的通用资源定位器。
37.权利要求36的程序,其中所述用于建立用户接口的装置包括:
用于将一个Java类包实例化的装置;
用于将所述第二数据集插入于所述Java类包中的装置;及
用于调用对应于所述Java类包的Java服务器页面的装置,所述Java服务器页面调用所述Java类包和使用所述Java类包的数据以便建立准备传输至所述客户机的网页。
38.权利要求37的程序,其中所述用于传输所述散布的用户接口的装置包括所述Java服务器页面。
39.权利要求38的程序,其中所述用于传输所述记录的装置还将Java服务器页面和所述记录所属的Java类包连同所述记录一起传输。
40.一种为通过万维网进行商务事务而处理数据的程序包括:
用于自另一个在网络服务器上运行的程序中接收准备与商务事务一起被处理的第一数据集的装置,所述第一数据集包括一个用于标识一个通用资源定位器的超连接,所述通用资源定位器用于标识所述程序;
用于处理所述第一数据集以便从中生成第二数据集的装置;
用于将记录连同所述第二数据集一起散布的装置;及
用于将一个用于定义由所述程序从所述第一数据集中导得的第二数据集的记录传输至所述网络服务器上的所述另一个程序的装置。
41.权利要求40的程序,其中所述程序是一个COBOL程序及所述记录是一个COBOL记录。
42.权利要求39的程序,其中所述用于传输的装置还包括用于将Java服务器页面的标识和所述记录所属的Java类包连同所述记录一起传输的装置。
43.一种用于在第一和第二程序之间传输数据的方法包括以下步骤:
(1)在第一程序中生成准备由第二程序处理的第一数据集;
(2)将所述第一数据集传输至Java小服务器程序;
(3)自所述Java小服务器程序传输所述第一数据集至所述第二程序;
(4)运行所述第二程序来处理所述第一数据集以便从中生成第二数据集;
(5)将一个记录连同所述第二数据集一起散布;
(6)传输所述记录至所述Java小服务器程序;
(7)在所述服务器处建立用户接口以便与所述第二数据集一起散布;及
(8)通过所述网络传输所述用户接口至所述客户机以供显示之用。
44.权利要求43的方法,其中步骤(7)包括以下步骤:
(7.1)为所述第二数据集将一个Java类包实例化;
(7.2)将所述第二数据集插入于所述Java类包中;
(7.3)调用对应于所述Java类包的Java服务器页面;及
(7.4)所述Java服务器页面调用所述Java类包及使用来自Java类包的数据以便建立准备传输至所述客户机的网页。
45.权利要求44的方法,其中所述传输是通过万维网进行的及所述第一程序是网络浏览器。
46.权利要求45的方法,其中步骤(8)由所述Java服务器页面完成。
47.权利要求46的方法,其中步骤(5)还包括将Java服务器页面的标识和所述记录所属的Java类包连同所述记录一起散布。
48.一种用于在第一和第二程序之间传输数据的方法,所述方法包括以下步骤:
(1)自所述第一程序接收准备由所述第二程序处理的第一数据集;
(2)将所述第一数据集传输至准备运行以便处理所述第一数据集的所述第二程序;
(3)自所述第二程序接收一个定义由所述第二程序自所述第一数据集中导得的第二数据集的记录;
(4)建立一个用户接口及将它连同所述第二数据集一起散布;
(5)通过所述网络传输所述散布的用户接口至所述第一程序以供显示之用。
49.权利要求48的方法,其中步骤(4)包括以下步骤:
(4.1)将一个Java类包实例化;
(4.2)将所述第二数据集插入于所述Java类包中;
(4.3)调用对应于所述Java类包的Java服务器页面;及
(4.4)所述Java服务器页面调用所述Java类包及使用来自Java类包的数据以便建立准备传输至所述客户机的网页。
50.权利要求49的方法,其中所述第一程序是一个网络浏览器及其中所述方法还包括以下步骤:
(6)在步骤(1)之前向所述第一程序传输第一网页,所述第一网页包括(a)至少一个在其中用户将要插入所述第一数据集的区域,和(b)一个用于标识一个包括所述第二程序的标识的通用资源定位器的超连接。
51.权利要求50的方法,其中步骤(5)由所述Java服务器页面完成。
52.权利要求50的方法还包括以下步骤,所述这些步骤是在步骤(2)与步骤(3)之间完成的;
(7)根据所述第二程序来处理所述第一数据集以便从中生成第二数据集;及
(8)将记录连同所述第二数据集一起散布。
53.权利要求52的方法,其中步骤(3)还包括将Java服务器页面和所述记录所属的Java类包连同所述记录一起接收。
CNB001355627A 1999-12-29 2000-12-14 分离商务应用编程和用户接口编程的方法和设备 Expired - Lifetime CN1176430C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/473,605 US6697815B1 (en) 1999-12-29 1999-12-29 Method and apparatus for application program specification and run time execution providing for the separation of business application programming and user interface programming
US09/473,605 1999-12-29

Publications (2)

Publication Number Publication Date
CN1302021A true CN1302021A (zh) 2001-07-04
CN1176430C CN1176430C (zh) 2004-11-17

Family

ID=23880253

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001355627A Expired - Lifetime CN1176430C (zh) 1999-12-29 2000-12-14 分离商务应用编程和用户接口编程的方法和设备

Country Status (4)

Country Link
US (1) US6697815B1 (zh)
CN (1) CN1176430C (zh)
CA (1) CA2326199A1 (zh)
GB (1) GB2365563B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419484A (zh) * 2021-08-06 2021-09-21 戴云 一种云可编程控制器及操作方法
CN113419484B (zh) * 2021-08-06 2024-04-26 戴云 一种云可编程控制器的操作方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1117320C (zh) * 1999-12-29 2003-08-06 国际商业机器公司 在多个程序之间进行数据事务的方法和设备
US20020046240A1 (en) * 2000-08-31 2002-04-18 Scott Graham Web server framework
US20020120677A1 (en) * 2001-02-23 2002-08-29 Goward Philip J. Method and apparatus for using a servlet to interoperate with server pages
US7185275B2 (en) * 2001-02-27 2007-02-27 International Business Machines Corporation Method and computer system for enabling a user to construct a web-site navigation
US7346667B2 (en) * 2001-05-31 2008-03-18 Ubs Ag System for delivering dynamic content
US7024452B1 (en) * 2001-07-13 2006-04-04 Vignette Corporation Method and system for file-system based caching
US7761497B1 (en) 2001-07-13 2010-07-20 Vignette Software, LLC Storage medium having a manageable file directory structure
US9639547B2 (en) 2001-07-13 2017-05-02 Open Text Sa Ulc Method and system for file-system based caching
US7346647B2 (en) * 2002-04-19 2008-03-18 Computer Associates Think, Inc. System and method for interfacing with existing system management products or software solutions
JP2007517281A (ja) * 2003-11-28 2007-06-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム
US9032326B2 (en) * 2012-06-21 2015-05-12 Sap Se Late instantiation of dependent objects
WO2015015251A1 (en) * 2013-08-01 2015-02-05 Yogesh Chunilal Rathod Presenting plurality types of interfaces and functions for conducting various activities
US11397520B2 (en) 2013-08-01 2022-07-26 Yogesh Chunilal Rathod Application program interface or page processing method and device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264994B2 (ja) * 1992-09-22 2002-03-11 パイオニア株式会社 記録媒体演奏装置
US5583761A (en) 1993-10-13 1996-12-10 Kt International, Inc. Method for automatic displaying program presentations in different languages
US5794250A (en) * 1995-10-20 1998-08-11 Ncr Corporation Method and apparatus for extending existing database management system for new data types
US5822580A (en) * 1996-01-19 1998-10-13 Object Technology Licensing Corp. Object oriented programming based global registry system, method, and article of manufacture
US5758062A (en) 1996-04-30 1998-05-26 Oracle Corporation Method and apparatus for regression testing of application logic
US6006230A (en) * 1997-01-15 1999-12-21 Sybase, Inc. Database application development system with improved methods for distributing and executing objects across multiple tiers
US6269373B1 (en) * 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for persisting beans as container-managed fields
WO2000067176A2 (en) 1999-05-03 2000-11-09 Avolent, Inc. Technique for facilitating customer transactions over a computer network using customized information from a backend computing system
US6502104B2 (en) * 1999-11-08 2002-12-31 International Business Machines Corporation System message objects for communicating between an application and a database management system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419484A (zh) * 2021-08-06 2021-09-21 戴云 一种云可编程控制器及操作方法
CN113419484B (zh) * 2021-08-06 2024-04-26 戴云 一种云可编程控制器的操作方法

Also Published As

Publication number Publication date
CA2326199A1 (en) 2001-06-29
GB2365563B (en) 2004-05-26
GB0030473D0 (en) 2001-01-24
US6697815B1 (en) 2004-02-24
GB2365563A (en) 2002-02-20
CN1176430C (zh) 2004-11-17

Similar Documents

Publication Publication Date Title
US7606736B2 (en) Wish list
US9081756B2 (en) Method and apparatus for populating a form with data
US5987480A (en) Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
AU742374B2 (en) Method and apparatus for facilitating computer network transactions
US6141666A (en) Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
CA2385657A1 (en) Web based visual self calculating order system
US20020156685A1 (en) System and method for automating electronic commerce transactions using a virtual shopping cart
US20050223000A1 (en) System and method for influencing a position on a search result list generated by a computer network search engine
WO2002019207A2 (en) System and methods for generating an electronic purchase order for a part using a display of computer-aided design (cad) drawing and related article and media
CN1302021A (zh) 分离商务应用编程和用户接口编程的方法和设备
US6799166B2 (en) Method and apparatus for preventing duplicate transactions on batch mode failure recovery in a data processing system
US7574376B1 (en) System and method for generating and using a transaction enable report
CN1117320C (zh) 在多个程序之间进行数据事务的方法和设备
CN1218934A (zh) 用于计算机网络的集中式开帐单服务
CN1499402A (zh) 来自异构数据源的信息的分布式查询和表示的系统和方法
JP2004295267A (ja) 広告方法,及び、広告プログラム
KR100372919B1 (ko) 전자 상거래 시스템 및 이에 있어서의 상품 판매 방법
US20020107863A1 (en) System for and method of learning and automatically correcting business logic errors
GB2411016A (en) Creating links to web sites from text data
WO2002063470A1 (en) System for and method of learning and automatically correcting business logic errors

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20041117