CN100430909C - 协作式终端仿真器以及客户端整合系统和方法 - Google Patents
协作式终端仿真器以及客户端整合系统和方法 Download PDFInfo
- Publication number
- CN100430909C CN100430909C CNB2005100846181A CN200510084618A CN100430909C CN 100430909 C CN100430909 C CN 100430909C CN B2005100846181 A CNB2005100846181 A CN B2005100846181A CN 200510084618 A CN200510084618 A CN 200510084618A CN 100430909 C CN100430909 C CN 100430909C
- Authority
- CN
- China
- Prior art keywords
- model
- data model
- terminal
- terminal emulator
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000013499 data model Methods 0.000 claims abstract description 182
- 230000001360 synchronised effect Effects 0.000 claims abstract description 3
- 230000010354 integration Effects 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 13
- 239000000284 extract Substances 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000009977 dual effect Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 230000005055 memory storage Effects 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 2
- 230000000052 comparative effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种增强型终端仿真器以及将基于终端的应用与其他类型的应用进行整合的系统和方法。根据本发明的终端仿真器与终端服务器通信相连,包括:显示部分,用于显示来自所述终端服务器的文本流;以及模型生成器,用于从来自服务器的文本流中生成数据模型;其中模型生成器生成的数据模型也显示在所述显示部分上。并且所述终端仿真器能够用作控制器,以控制显示部分和数据模型的同步。因此,在终端侧实现了M、V、C三者的结合。根据本发明的增强型终端仿真器还能与其他应用整合在同一个平台中运行。
Description
技术领域
本申请涉及终端仿真领域,更具体地说,本申请涉及终端仿真器和将终端仿真器(基于终端的应用)与其他类型的应用进行整合的解决方案。
背景技术
在传统上,人们使用终端来与服务器计算机远程通信,以实现易于管理和保密性好等方面的优点。但是,随着计算机技术、通信技术以及计算机网络技术的飞速发展,基于终端-服务器计算机结构的系统的弱势已经变得越来越明显,主要有如下两个方面。
其一,传统的终端或基于终端的结构仅限于显示从服务器计算机发来的文本流,功能过于单一。
具体而言,与个人计算机相比,终端只包括屏幕和键盘,为了进行操作,其必须与服务器计算机相连。服务器计算机运行操作系统和应用程序,终端从服务器计算机接收它将显示给用户的数据。尽管人们像使用个人计算机那样使用终端,但是,终端与服务器计算机是分开的(例如,可能分别处于房间中的不同位置,也可能相隔万里之遥)。
另外,与个人计算机PC相比,终端只有非常有限的本地处理能力,非常少的本地存储器,没有本地磁盘存储,并且其本身不能运行应用程序。其计算能力通常只限于显示发送来的内容(包括文本流,还可能有全屏的图形)。
图1给出了传统VT100终端10的基本结构示意图。VT100终端10与一个服务器计算机50通过通信线路60相连。所述VT100终端10包括显示屏11,接收器12,和发射器13以及键盘14。用户通过键盘14将数据输入到终端10,并通过发射器13经由通信线路60(可以是有线通信线路、射频通信线路或者红外通信线路等)传送到服务器计算机50,服务器计算机50对所述数据进行处理,再将处理结果通过通信线路60返回给终端10的接收器12,并显示在显示屏11上。VT100终端10这样的终端也被称为“哑终端”。
由于个人计算机同样具有屏幕和键盘,但是有相对较高的计算能力,因此可以容易地利用这种计算能力,来使PC机模拟一个文本终端。
图2表示传统的仿真终端20的示意图。所述仿真终端20包括一个PC机21和一个终端仿真器22。仿真终端20通过通信线路90连接到终端服务器80并访问在终端服务器80中运行的应用。仿真终端或其终端仿真器只从终端服务器接收文本流以进行显示。实际上,终端服务器不只向终端发送要显示的文本,而且还发送要执行的命令。这些命令包括控制代码(以字节为单位)和转义序列(Escape Sequence)。例如,回车控制代码将光标移到屏幕的左边缘。特定的转义序列(包括几个字节,其中第一个字节是“escape”控制代码)可将光标移动到由转义序列内的参数所指定的屏幕位置。
图2中用实线圆圈包围的字母M、V、C分别表示应用程序的三个组成部分,“(数据)模型”(model)、“视图”(view)和“控制器”(controller)。如图2所示,终端服务器80一侧包含了字母M、V、C,即终端服务器80上运行的应用程序包含完整的三个部分:数据模型部分、显示部分以及控制逻辑。而仿真终端20一侧只显示了字母V,这表示它只能对来自终端服务器的内容进行显示,在终端上没有数据模型和相应的控制逻辑。尽管MVC是一种常见的模式,但是现有技术中还没有提供将MVC模式用于终端或终端仿真中的手段。图2形象地表示了现有仿真终端在功能方面的单一性。
其二,在传统上,基于终端的基础结构和应用不能与其他类型的应用进行通信和集成。在这种情况下,基于终端的应用在一个平台中运行,而其他类型的应用在另外的平台中运行,若要同时访问这两种应用,需要频繁地在不同的平台之间进行切换,带来操作上的复杂性。
以前,由于终端具有组网简单、使用方便、可靠性高、操作速度快、并且成本低、带宽需求小等特点,很多机构(例如,银行业)都曾在这方面大量投资开发。
以中国国内4大银行的80000多个支行为例,他们目前基本上都在使用原有的文本终端系统来进行高柜业务交易(例如,存款、取款之类的传统银行业务)。但是,随着技术的不断发展和服务的不断升级,很多银行机构已经开始感到需要转型到基于浏览器/服务器(B/S)的体系结构和解决方案。例如,银行在进行高柜业务的同时,也希望在销售平台中支持低柜应用(例如,与帮助用户理财、投资等新型业务相关的应用)。银行机构希望在低柜应用中采用新的基于B/S的体系结构,但是,作为低柜应用的一部分,低柜应用又必须包括高柜应用。
由于目前的高柜业务基于终端,而新的低柜业务基于浏览器/服务器,现有技术不能提供将这二者整合在同一个平台中的手段。但是,如果为此就要求所有银行机构重新开发新的基于B/S的体系结构,那么将造成资金、时间和人力等方面的严重浪费。于是,为了保护已有的投资,传统系统与新开发的系统之间的兼容性就变得非常重要。
综上所述,需要一种在功能性方面得到改进的终端,以及一种既能够利用传统的基于终端的应用,又能够直接与其他类型的应用相集成的解决方案。
发明内容
考虑到上述问题,本发明提出了一种增强型终端仿真器(enhanced terminal emulator:ETE),并且提供了将基于终端的应用与其他类型的应用整合在同一个平台中的机制。
根据本发明的一个方面,提供了一种基于MVC模式开发的终端仿真器。所述终端仿真器与终端服务器通信相连,包括:
显示部分,用于显示来自所述终端服务器的文本流;以及
模型生成器,用于从来自服务器的文本流中生成数据模型;
其中模型生成器生成的数据模型也显示在所述显示部分上。
由于本发明基于MVC模式,所述终端仿真器还可以用作控制器,以控制显示部分和数据模型的同步。
由此,本发明实现了在终端仿真器中的模型、视图和控制器三者的结合。
根据本发明的优选实施方式,所述终端仿真器的模型生成器能够按照如下两种方式之一生成数据模型。
第一种方式是在来自终端服务器的文本流有一定的模板或有固定的格式时,所述模型生成器通过解析文本流的方式生成数据模型。这时,所述模型生成器进一步包括:
接收装置,用于接收来自终端服务器的页面;
提取装置,用于从所述接收的页面中提取出相应的模板编号;
存储装置,用于保存预先定义的数据模型,其中存储有该预先定义的数据模型中的每个数据项与页面中的数据的对应关系;
实例化装置,用于对所述预先定义的数据模型进行实例化;以及
初始化装置,用于从接收的页面中提取初始化数据,并根据所述对应关系对所述预先定义的数据模型进行初始化,从而生成数据模型。
第二种方式是将数据模型嵌入在终端服务器发送的文本流中的情况下,所述模型生成器可以通过识别在所述终端和服务器之间的预定协议来生成数据模型。这时,所述模型生成器进一步包括:
接收装置,接收来自终端服务器的页面;
第一提取装置,用于从所述接收的页面中提取出嵌入的特殊标记;
第二提取装置,用于响应所述特殊标记的提取,从页面中提取出基于文本描述的数据模型;
重组装置,将所述基于文本描述的数据模型转换为实际的数据模型;
实例化装置,用于对所述数据模型进行实例化;以及
初始化装置,用于对所述数据模型进行初始化,从而生成数据模型。
此外,根据本发明的终端仿真器还具有与一个模型共享层进行通信的能力,从而使与其他终端和/或应用之间进行数据模型共享成为可能。
根据本发明的优选实施方式,所述终端仿真器还可以具有模型接口,用于将所述模型生成器生成的数据模型暴露给一个模型共享层。
其中,所述模型接口还用于在所述终端仿真器和模型共享层之间传递与数据模型相关的信息,所述与数据模型相关的信息包括关于来自所述终端仿真器和/或其他应用的数据模型的订阅,和/或来自所述终端仿真器和/或其他应用的数据模型的更新。
根据本发明的优选实施方式,所述终端仿真器可以进一步包括订阅部分,用于通过所述模型接口从所述模型共享层订阅来自其他应用的数据模型,以便为所述终端仿真器所用(例如,更新其显示部分)。
因此,与现有技术的终端或终端仿真器相比,本发明的终端仿真器一方面能够实现M、V、C三者的结合,另一方面能够与外界进行通信,从而实现数据模型的共享。
根据本发明的另一个方面,提供一种客户端整合系统,包括:
至少一个终端仿真器,其与终端服务器通信相连,包括:
模型生成器,用于从来自所述终端服务器的文本流中生成数据模型;
模型接口,用于与一个模型共享层进行通信;
至少一个其他应用,能够与模型共享层进行通信;以及
所述模型共享层,用于存储来自所述终端仿真器和/或所述至少一个其他应用的数据模型,并且用于使存储的所述数据模型在所述至少一个终端仿真器和所述至少一个其他应用之间共享。
根据本发明的又一个方面,还提供一种在前述客户端整合系统中进行数据模型共享的方法,包括:
由所述至少一个终端仿真器和/或至少一个其他应用从所述模型共享层订阅自己感兴趣的数据模型,
由所述至少一个终端仿真器和/或至少一个其他应用将其数据模型暴露给所述模型共享层;
所述模型共享层根据所述订阅,使得数据模型在所述至少一个终端仿真器和/或至少一个其他应用之间共享。
根据本发明的优选实施方式,所述整合系统还可以包括基于插件的平台,以便于在所述终端仿真器和所述至少一个其他应用之间进行通信,并且所述基于插件的平台优选地是Eclipse或WCT平台和框架。
通过参照附图阅读对本发明的详细描述,可以更清楚地了解有关本发明的上述和其他优点。
附图说明
图1给出了传统VT100终端的基本结构示意图。
图2表示传统的仿真终端的示意图。
图3是根据本发明的增强型终端仿真器的结构示意图。
图4A和4B表示根据本发明的增强型终端仿真器的模型生成器的结构示意图。
图5表示根据本发明的增强型终端仿真器在作为控制器时的结构示意图。
图6表示根据本发明的增强型终端仿真器的M、V、C整合示意图。
图7是根据本发明的一个优选实施方式的终端整合系统的总体结构示意图。
图8表示了根据本发明,在终端整合系统中进行数据模型的方法的流程图。
图9以银行业务为例对本发明的原理做进一步说明。
具体实施方式
在描述本发明的原理之前,首先进行如下说明。
本发明将应用分为两类,一类是基于终端的应用,另一类是统称为其他应用的各种应用(包括但不限于基于本地的应用、基于WEB的应用或者基于RCP(Rich Client Platform)的应用)。在本说明书的描述中,以根据本发明的终端仿真器作为基于终端的应用的例子,而以按照插件形式实现的应用作为其他应用的例子。这只是示例性的,不应将其理解为对本发明的任何限制。
例如,使用以插件形式实现的其他应用是为了与本发明优选的Eclipse或WCT平台相配合,但实际上,本发明并不局限于以插件形式实现的应用,而是同等地适用于以任何其他形式实现的应用。例如,对于那些不使用Eclipse或WCT平台来支持其间通信的应用而言,其实现形式就不必拘泥于插件形式。
以下将参照附图对本发明的优选实施方式进行说明。
图3是根据本发明的增强型终端仿真器30的结构示意图。
根据本发明的增强型终端仿真器30与终端服务器通信相连,包括一个显示部分31,一个模型生成器32。以虚线表示的模型接口33和订阅部分34是增强型终端仿真器30的优选组件。以下将对图3所示的各部件进行详细说明。
所述显示部分31用于显示来自服务器的文本流,并且用于显示数据模型(所述数据模型可以是增强型终端仿真器30自己生成的,也可以是从其他应用订阅的,如下文所述)。
所述模型生成器32是根据本发明的增强型终端仿真器30的基本组件,用于从来自终端服务器的文本流中产生数据模型。按照本发明,所述模型生成器32可以通过如下两种方式之一生成数据模型。
第一种方式
在来自终端服务器的文本流有一定的模板或有固定的格式时,所述模型生成器32可以通过解析所述文本流来生成数据模型。
具体而言,由于来自终端服务器的页面格式是固定的,每个固定页面都对应一个特定的模板。可以对所有的模板进行编号,赋予一个特定的ID。同时,对每个服务器产生的固定格式的页面,将模板编号嵌入其中。该编号在页面中是隐含的,不会影响页面在客户端的显示和功能。当本发明的增强型终端仿真器接收到页面的时候,首先从页面提取出相应的模板编号。对应每一个模板,终端保存了一个预先定义的数据模型。该数据模型同时提供了数据模型中的每个数据项跟页面中的数据的对应关系。然后,终端实例化该数据模型,同时提取出页面中的初始化数据,根据对应关系,对数据模型进行初始化,从而生成数据模型。
在这种情况下,所述模型生成器32可以具有如图4A所示的结构。在图4A中,所述模型生成器32包括一个接收装置41,一个提取装置42,一个存储装置43,一个实例化装置44以及一个初始化装置45。
其中,所述接收装置41用于接收来自终端服务器的页面(文本流);所述提取装置42用于从所述接收的页面中提取出相应的模板编号;所述存储装置43中保存着预先定义的数据模型,所述预先定义的数据模型可以是终端仿真器30从终端服务器处下载的,也可以是在安装所述终端仿真器30时保存到其中的,这种预先定义的数据模型还定义了其每个数据项与来自终端服务器的页面中的数据的对应关系;所述实例化装置44用于对所述数据模型进行实例化;所述初始化装置45用于从来自终端服务器的页面中提取初始化数据,并根据所述定义的对应关系对所述终端仿真器30中存储的预先定义的数据模型进行初始化,从而生成数据模型。
第二种方式
在将数据模型嵌入在终端服务器发送的文本流中的情况下,可以通过修改运行在终端服务器中的应用来使模型生成器32生成数据模型。
具体而言,当来自终端服务器的页面格式不固定的时候,也就是该页面没有对应的模板的时候,终端服务器端可以将该页面的数据模型定义嵌入到该页面中,随同该页面一起发送给终端服务器,同时在页面中嵌入一个特殊标记(例如,特定的字符)。当然,这并不影响该页面的正常显示和功能。因为数据模型是通过控制序列来发送的。当本发明中的增强型终端仿真器接收到该页面时,通过提取出的特殊标记,了解到该页面中同时包含有对应的数据模型。然后将数据模型从页面中提取出来。从页面提取出来的数据模型是基于文本的描述。终端将该文本描述交给模型重组装置,该装置负责将文本的描述转换为真正的数据模型。重组装置的具体实现是容易的,比如在Java中,可以通过类的名字得到类的Java表示,一些脚本语言,比如JavaScript,本身就是通过文本的方式来描述的。当我们得到数据模型后,就可以进行实例化,然后进行初始化,以生成数据模型,如同第一种方法所描述的。
在这种情况下,所述模型生成器32可以具有如图4B所示的结构。在图4B中,所述模型生成器32包括一个接收装置46,一个第一提取装置47,一个第二提取装置48,一个重组装置49,一个实例化装置50以及一个初始化装置51。
其中,所述接收装置46用于接收来自终端服务器的页面(文本流);所述第一提取装置47用于从所述接收的页面中提取出嵌入的特殊标记;所述第二提取装置48用于响应所述特殊标记的提取,从页面中提取数据模型,这时提取出的数据模型还是基于文本的描述;因此,使用所述重组装置49将所述文本描述转换为真正的数据模型;随后,所述实例化装置50用于对所述数据模型进行实例化,而所述初始化装置51用于对所述数据模型进行初始化,从而生成数据模型。
不过,根据本发明的增强型终端仿真器也可以与现有的终端服务器兼容:如果终端服务器未对其页面进行特殊处理(即,服务器端的页面不具有固定的格式,服务器端也未将数据模型定义嵌入到页面中),则根据本发明的增强型终端仿真器也不会对该页面进行特殊处理,从而也就不生成数据模型。
此外,由于本发明的增强型终端仿真器是基于MVC模式实现的,终端本身还可以看作是一个控制器,所述控制器除了其正常的功能(例如,对事件的处理等)外,还负责显示部分跟数据模型之间的同步。
图5示出了所述控制器的示意性结构图。
一方面,所述控制器包括一个第一检测装置55,用于检测数据模型的改变,当检测到这样的改变时,控制器通过其通知装置56将这一改变通知增强型终端仿真器的显示部分,显示部分会根据数据模型的变化做相应的变化。
另一方面,所述控制器还包括一个第二检测装置57,用于检测显示部分的变化,例如当用户输入等操作改变了显示部分的内容时,控制器通过其更新装置58相应地更新数据模型里面的内容。
由于MVC模式是一种通用的模式,且所述控制器中所涉及的检测、通知、更新等操作都是MVC模式中的一般操作,因此本发明不作详细描述。如果希望获得有关MVC的更多信息,可访问如下网址http://en.wikipedia.org/wiki/MVC。
通过使用如上所述的增强型终端仿真器30,可以在终端侧实现M、V、C三者的整合。
另外,本发明的增强型终端仿真器30还具有与外界进行通信和交互的能力。这主要是通过图3的优选组件,模型接口33,实现的。所述模型接口33用于在所述增强型终端仿真器30和一个模型共享层之间提供通信路径,以便进行数据模型共享。所述模型接口33实现的通信功能在本领域中已经有成熟的技术,例如,可以通过API层面的函数调用来实现,在此不作详细描述。
所述模型共享层用于存储数据模型,所述数据模型可以来自所述增强型终端仿真器30,也可以来自其他应用。
所述模型接口33可以具有一个发送部分(未示出),用于将增强型终端仿真器30生成的数据模型和/或与数据模型相关的信息传递给模型共享层;还可以具有一个接收部分(未示出),用于从模型共享层接收来自其他应用的数据模型及相关信息。这里,“与数据模型相关的信息”包括关于数据模型的订阅和/或关于数据模型的更新,如下文所述。
如图3所示的订阅机构34可以通过所述模型接口33向所述模型共享层订阅来自其他应用的自己感兴趣的数据模型,以便为增强型终端仿真器30所用(例如,更新其显示部分31)。所述订阅部分32可以通过采用一个具体的数据结构,一个WSDL文件或者一个XMLschema文件来描述自己感兴趣的数据模型的类型,并向所述模型共享层提交自己感兴趣的数据模型的类型,来实现所述订阅功能。
另外,以上参照图5描述了在一个增强型终端仿真器内显示部分与数据模型之间的同步,但这能容易地扩展到在不同的终端和/或应用之间进行数据模型共享时的情形。
一方面,如果根据本发明的增强型终端仿真器30生成的数据模型在已经暴露给模型共享层后发生改变,所述通知装置56除如上所述进行自身显示部分的更新外,还通过模型接口33的发送部分将数据模型的改变通知模型共享层,以便订阅了该模型的其他终端和/或能够进行同样的改变。
另一方面,如果所述终端仿真器订阅的外部数据模型发生改变时,所述控制器将通过模型接口33的接收部分从模型共享层接收所述改变,通过其通知装置56将这一改变通知显示部分,显示部分会根据数据模型的变化做相应的变化,如前所述。
因此,根据本发明的增强型终端仿真器30具有了与外界进行通信和交互的能力,从而使数据模型共享成为可能。
综上所述,本发明的增强型终端仿真器相对于现有技术的终端或终端仿真器在功能上有诸多改进,但如下两方面是显著的。
第一,根据本发明的终端是基于MVC模式提出的,因此,其除可显示来自服务器的文本流外,还可以自己生成数据模型和具有相应的控制逻辑,从而实现了在终端仿真器一侧应用程序的模型、视图和控制器(M、V、C)这三个部分的结合。这可以从图6与图2的对照中反映出来。
在图6中,左侧表示根据本发明的终端仿真器,右侧为终端服务器。从图6与图2的对照可以看出,本发明的所述终端仿真器一侧不仅包括字母V(显示的功能),还包括字母M(与其他应用(例如设备控制插件等)进行数据模型共享的功能),以及字母C(进行控制的功能)。因此,根据本发明的终端仿真器同时具备了模型、视图和控制器这三个部分,改善了现有终端功能单一的问题。
第二,根据本发明的终端具有与外界进行交互和通信的能力,从而使数据模型共享成为可能。
以下将参照图7描述根据本发明的将基于终端的应用与其他类型的应用进行集成,以实现数据模型共享的机制。
如本领域技术人员所知,现有技术没有提供可以将这两类应用整合在一个平台中运行的手段。但是,本发明图7所示的结构则使将它们整合在同一个平台中运行成为可能。
图7是根据本发明一个优选实施方式的客户端整合系统70的总体结构示意图。图7所示的客户端整合系统70包括根据本发明的优选实施方式的增强型终端仿真器30,模型共享层71,以标号73-75表示的各种应用(以插件形式实现),用虚线框表示的基于插件的平台72是本发明的一个优选组件。
以下将对所述客户端整合系统70中的各组件进行详细说明。
首先来看模型共享层71。所述模型共享层71充当着在所述增强型终端仿真器30与由标号73-75表示的各种应用之间的中介者的作用,以使它们之间的通信和数据模型共享成为可能。
具体地说,相对于终端而言,由增强型终端仿真器30的模型生成器32所产生的数据模型通过模型接口33发送到所述模型共享层71,并存储在那里;同时所述增强型终端仿真器30也可通过模型共享层71订阅来自其他应用的数据模型。相对于其他类型的应用(例如,由标号73-75表示)而言,它们可以将自己的数据模型(如果有的话)发送到模型共享层71;并同时通过订阅/发布的方式向所述模型共享层71进行注册,订阅自己感兴趣的特定数据模型。
因此,所述模型共享层71存储着各种数据模型,这里包括基于终端的应用(例如,增强型终端仿真器30)暴露的数据模型,以及由其他类型的应用暴露的数据模型(如果有的话);同时还包括订阅接收部分76,比较部分77和通知部分78。
所述订阅接收部分76用于从增强型终端仿真器30和/或其他类型的应用(例如插件73-75)接收其对感兴趣的数据模型的订阅;所述比较部分77用于将所述订阅(例如,对感兴趣的数据模型的描述)跟已经暴露在所述模型共享层中的数据模型进行比较,如果匹配的话,则表明该数据模型是其订阅者(增强型终端仿真器30和/或其他应用)感兴趣的数据模型;于是所述通知部分78将这一情况通知订阅者,以便其能够使用所述数据模型。另外,在终端和/或插件暴露的数据模型被更新后,所述通知部分78还能将所述更新通知订阅了该数据模型的应用,以进行相应的更新。
接下来,对图7所示的优选的基于插件的平台72进行说明。
根据本发明的一种优选实施方式,如图7虚线所示的基于插件的平台可以是Eclipse或WCT(Workplace Client Technology,国际商业机器公司的一种产品,其是在Eclipse平台基础上进行的扩展)核心平台和框架。Eclipse或WCT核心平台和框架是目前较为通用的支持插件的框架。使用它,可以更加便于在各终端和/或插件之间进行共享数据、集成以及通信。但是,本发明同样适用于能够支持插件的任何其他框架。
但是,实际上,所述基于插件的平台对于本发明不是必须的。只要能够在各终端和/或其他应用之间实现通信,本发明可以不使用任何平台。例如,在Windows操作系统中,可以通过编程实现两个应用之间的通信,于是可以不需要任何平台或框架来支持所述通信。
再来看图7中以标号73-75所表示的各插件。
在前面已经指出,在本说明书中,用这些插件来代表所述各种其他应用,以与优选的Eclipse或WCT平台相配合。但实际上,本发明并不局限于以插件形式实现的应用,而是同等地适用于以任何其他形式实现的应用。例如,对于那些不使用Eclipse或WCT平台来支持其间通信的应用而言,其实现形式就不必拘泥于插件形式。
另外,在图7中仅示出了一个终端仿真器和代表不同应用的三个插件,但这只是示例性的,实际上可以整合任意数目的终端和/或插件。
另外,整合到根据本发明的系统中的各应用(或插件)最好进行一定的变形,例如,具有与模型共享层进行通信以将自己的数据模型暴露给模型共享层或者从模型共享层订阅数据模型的功能,以便使用本发明的上述机制。但是,对于应用(或插件)的上述变形是现有技术(例如,通过进行编程)已经能够做到的,且不是本发明关心的问题,因此不做详细描述。
图8表示了根据本发明,在客户端整合系统中进行数据模型共享的方法的流程图。
该方法从步骤800中开始,随后进入步骤810。在步骤810中,由根据本发明的增强型终端仿真器30和/或其他应用从所述模型共享层订阅自己感兴趣的数据模型。另外,在步骤820中,由根据本发明的增强型终端仿真器30和/或其他应用将其数据模型暴露给所述模型共享层。接下来,在步骤830中,所述模型共享层根据所述订阅,将相应的数据模型通知给订阅该数据模型的所述增强型终端仿真器30和/或其他应用,以便使用该数据模型。随后,本发明的方法在步骤840中结束。
在图8所示的方法中,为了便于说明的目的,以步骤810在前、步骤820在后的顺序执行。但在实际中,步骤810和820的执行顺序可以互换,或者可以交替执行,这是容易理解的,因此不再详述。
以下将参照图9以银行业务为例对本发明的使用情况做进一步说明。应当指出,尽管图9中使用了通用的Eclipse平台,但是本发明并不局限于此,而是同样适用于能够支持插件的任何其他平台或者根本不使用任何平台。
通过使用本发明的客户端整合方案,可以实现图9所示的用户界面窗口,其中左侧部分表示低柜业务,右侧部分表示高柜业务。所述低柜业务(包括帐户信息)具有浏览器的形式,可以是从服务器侧下载的WCT插件,而高柜业务使用根据本发明的增强型终端仿真器,其用于访问运行于例如SCO-UNIX/LINUX终端服务器上的交易。
低柜业务中的帐户信息包括客户的帐户列表、交易历史、合同历史、帐户余额等内容。高柜业务中的增强型终端仿真器可以访问在终端服务器中运行的高柜应用,例如存款、取款、转帐等。在使用增强型终端仿真器执行了诸如将款项存入客户的其中一个帐户的交易时,增强型终端仿真器将分析出与此相应的数据模型并将其暴露给模型共享层。于是,低柜应用便可以通过订阅该特定的数据模型,从该数据模型中获得交易内容,并更新自身的交易历史、帐户余额等内容。同时,还可以有设备控制插件订阅该特定的数据模型,并在获得该数据模型后将其打印出来。
由以上描述可以看出,本发明提供了将基于终端的应用与其他类型的应用进行整合的机制,从而它们能够在相同的平台中运行。
尽管以上主要采用银行机构中的例子进行描述,但本发明并不局限于在银行业中的应用,而是可以适用于任何需要将基于终端的应用与其他类型的应用进行整合的场合。
本领域技术人员会认识到,可以以方法、系统或计算机程序产品的形式提供本发明的实施例。因此,本发明可采取全硬件实施例、全软件实施例,或者组合软件和硬件的实施例的形式。硬件和软件的典型的结合可以是带有计算机程序的通用计算机系统,当程序被加载并被执行时,控制计算机系统,从而可以执行上述的方法。
本发明可以嵌入在计算机程序产品中,它包括使此处描述的方法得以实施的所有特征。所述计算机程序产品被包含在一个或多个计算机可读存储介质(包括,但不限于,磁盘存储器、CD-ROM、光学存储器等)中,所述计算机可读存储介质具有包含于其中的计算机可读程序代码。
已参考根据本发明的方法、系统及计算机程序产品的流程图和/或方框图说明了本发明。流程图和/或方框图中的每个方框,以及流程图和/或方框图中的方框的组合显然可由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、嵌入式处理器或者其他可编程的数据处理设备的处理器,以产生一台机器,从而指令(所述指令通过计算机或者其他可编程数据处理设备的处理器)产生用于实现在流程图和/或方框图的一个或多个方框中规定的功能的装置。
这些计算机程序指令也可保存在一个或多个计算机的读存储器中,每个这种存储器能够指挥计算机或者其他可编程数据处理设备按照特定的方式发挥作用,从而保存在计算机可读存储器中的指令产生一种制造产品,所述制造产品包括实现在流程图和/或方框图的一个或多个方框中规定的功能的指令装置。
计算机程序指令也可被加载到一个或多个计算机或者其他可编程数据处理设备上,使得在所述计算机或者其他可编程数据处理设备上执行一系列的操作步骤,从而在每个这样的设备上产生计算机实现的过程,以致在该设备上执行的指令提供用于实现在流程图和/或方框图的一个或多个方框中规定的步骤。
以上结合本发明的优选实施方式对本发明的原理进行了说明,但这些说明只是示例性的,不应理解为对本发明的任何限制。本领域技术人员可以对本发明进行各种改变和变形,而不会背离由随附权利要求所限定的本发明的精神和范围。
Claims (20)
1.一种终端仿真器,所述终端仿真器与终端服务器通信相连,包括:
显示部分,用于显示来自所述终端服务器的文本流;以及
模型生成器,用于从来自服务器的文本流中生成数据模型;其中所述模型生成器通过以下两种方式之一生成数据模型:
当来自终端服务器的文本流有一定的模板或有固定的格式时,所述模型生成器通过解析文本流的方式生成数据模型;
当将数据模型嵌入在终端服务器发送的文本流中的情况下,所述模型生成器通过识别在所述终端和服务器之间的预定协议来生成数据模型;
其中模型生成器生成的数据模型也显示在所述显示部分上。
2.根据权利要求1所述的终端仿真器,当通过解析文本流的方式生成数据模型时,所述模型生成器进一步包括:
接收装置,用于接收来自终端服务器的页面;
提取装置,用于从所述接收的页面中提取出相应的模板编号;
存储装置,用于保存预先定义的数据模型,其中存储有该预先定义的数据模型中的每个数据项与页面中的数据的对应关系;
实例化装置,用于对所述预先定义的数据模型进行实例化;以及
初始化装置,用于从接收的页面中提取初始化数据,并根据所述对应关系对所述预先定义的数据模型进行初始化,从而生成数据模型。
3.根据权利要求1所述的终端仿真器,当通过识别在所述终端和服务器之间的预定协议来生成数据模型时,所述模型生成器进一步包括:
接收装置,接收来自终端服务器的页面;
第一提取装置,用于从所述接收的页面中提取出嵌入的特殊标记;
第二提取装置,用于响应所述特殊标记的提取,从页面中提取出基于文本描述的数据模型;
重组装置,将所述基于文本描述的数据模型转换为实际的数据模型;
实例化装置,用于对所述数据模型进行实例化;以及
初始化装置,用于对所述数据模型进行初始化,从而生成数据模型。
4.根据权利要求1-3中任一项所述的终端仿真器,其中所述终端仿真器还被用作一个控制器,用于控制数据模型和显示部分的同步。
5.根据权利要求4所述的终端仿真器,其中所述控制器包括:
第一检测装置,用于检测数据模型的改变;
通知装置,响应于第一检测装置检测到的改变,将所述改变
通知增强型终端仿真器的显示部分。
6.根据权利要求4所述的终端仿真器,其中所述控制器包括:
第二检测装置,用于检测显示部分的改变;
更新装置,响应于第二检测装置检测到的改变,相应地更新数据模型的内容。
7.根据权利要求1-3中任一项所述的终端仿真器,还包括模型接口,用于将所述模型生成器生成的数据模型暴露给一个模型共享层。
8.根据权利要求1-3中任一项所述的终端仿真器,还包括:
订阅部分,用于通过所述模型接口向模型共享层订阅来自其他应用的数据模型。
9.根据权利要求7所述的终端仿真器,其中所述模型接口还用于在所述终端仿真器和模型共享层之间传递与数据模型相关的信息,所述信息包括:关于来自所述终端仿真器和/或其他应用的数据模型的订阅,和/或来自所述终端仿真器和/或其他应用的数据模型的更新。
10.根据权利要求7所述的终端仿真器,其中所述模型接口还包括:
发送部分,用于将所述终端仿真器的数据模型和/或与数据模型相关的信息传递给模型共享层;
接收部分,用于从模型共享层接收来自其他应用的数据模型和/或与数据模型相关的信息。
11.一种客户端整合系统,包括:
至少一个终端仿真器,其与终端服务器通信相连,包括:
模型生成器,用于从来自所述终端服务器的文本流中生成数据模型;其中所述模型生成器通过以下两种方式之一生成数据模型:
当来自终端服务器的文本流有一定的模板或有固定的格式时,所述模型生成器通过解析文本流的方式生成数据模型;
当将数据模型嵌入在终端服务器发送的文本流中的情况下,所述模型生成器通过识别在所述终端和服务器之间的预定协议来生成数据模型;
模型接口,用于与一个模型共享层进行通信;
至少一个其他应用,能够与模型共享层进行通信;以及
所述模型共享层,用于存储来自所述终端仿真器和/或所述至少一个其他应用的数据模型,并且用于使存储的所述数据模型在所述至少一个终端仿真器和所述至少一个其他应用之间共享。
12.根据权利要求11所述的客户端整合系统,其中所述至少一个终端仿真器还包括订阅部分,用于通过所述模型接口向所述模型共享层订阅其感兴趣的数据模型。
13.根据权利要求11或12所述的客户端整合系统,其中所述模型共享层进一步包括:
订阅接收部分,用于从所述终端仿真器和/或至少一个其他应用接收对所感兴趣的数据模型的订阅;
比较部分,用于将所述订阅与暴露在模型共享层中的数据模型进行比较;以及
通知部分,用于在比较部分发现匹配时,对作为订阅者的那个终端仿真器和/或至少一个其他应用进行通知。
14.根据权利要求11所述的客户端整合系统,还包括基于插件的平台,以便于在所述终端仿真器和所述至少一个其他应用之间进行通信。
15.根据权利要求14所述的客户端整合系统,其中所述基于插件的平台是Eclipse或WCT平台和框架。
16.在客户端整合系统中进行数据模型共享的方法,所述客户端整合系统包括至少一个终端仿真器,至少一个其他应用以及一个模型共享层,其中所述至少一个终端仿真器与终端服务器通信相连,并包括:模型生成器,用于从来自所述终端服务器的文本流中生成数据模型;其中所述模型生成器通过以下两种方式之一生成数据模型:当来自终端服务器的文本流有一定的模板或有固定的格式时,所述模型生成器通过解析文本流的方式生成数据模型;当将数据模型嵌入在终端服务器发送的文本流中的情况下,所述模型生成器通过识别在所述终端和服务器之间的预定协议来生成数据模型;和模型接口,用于与一个模型共享层进行通信;所述至少一个其他应用能够与所述模型共享层进行通信;所述方法包括:
由所述至少一个终端仿真器和/或至少一个其他应用从所述模型共享层订阅自己感兴趣的数据模型,
由所述至少一个终端仿真器和/或至少一个其他应用将其数据模型暴露给所述模型共享层;
所述模型共享层根据所述订阅,使得数据模型在所述至少一个终端仿真器和/或至少一个其他应用之间共享。
17.根据权利要求16所述的方法,其中所述至少一个终端仿真器还包括订阅部分,用于通过所述模型接口向所述模型共享层订阅其感兴趣的数据模型。
18.根据权利要求16所述的方法,其中所述进行共享的步骤还包括:
接收所述至少一个终端仿真器和/或至少一个其他应用的订阅;将所述订阅与被暴露给所述模型共享层的数据模型进行比较;
在比较结果发现匹配时,对作为订阅者的那个终端仿真器和/或至少一个其他应用进行通知。
19.根据权利要求16所述的方法,其中所述至少一个终端仿真器和/或至少一个其他应用与所述模型共享层的通信是通过一个基于插件的平台实现的。
20.根据权利要求19所述的方法,其中所述基于插件的平台是Eclipse或WCT平台和框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100846181A CN100430909C (zh) | 2005-07-15 | 2005-07-15 | 协作式终端仿真器以及客户端整合系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100846181A CN100430909C (zh) | 2005-07-15 | 2005-07-15 | 协作式终端仿真器以及客户端整合系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1896979A CN1896979A (zh) | 2007-01-17 |
CN100430909C true CN100430909C (zh) | 2008-11-05 |
Family
ID=37609508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100846181A Expired - Fee Related CN100430909C (zh) | 2005-07-15 | 2005-07-15 | 协作式终端仿真器以及客户端整合系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100430909C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3540530B1 (de) * | 2018-03-15 | 2022-10-19 | Siemens Aktiengesellschaft | Verfahren und anordnung zum steuern eines technischen systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196925A1 (en) * | 2001-06-21 | 2002-12-26 | Kabushiki Kaisha Toshiba | Communication apparatus, private branch exchange apparatus, maintenance terminal apparatus, and simulation method |
WO2004003787A1 (en) * | 2002-06-28 | 2004-01-08 | International Business Machines Corporation | Method for displaying and executing web services in multiple programming languages |
JP2004054683A (ja) * | 2002-07-22 | 2004-02-19 | Ricoh Co Ltd | ユーザインタフェース装置及びソフトウェア部品管理方法 |
-
2005
- 2005-07-15 CN CNB2005100846181A patent/CN100430909C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196925A1 (en) * | 2001-06-21 | 2002-12-26 | Kabushiki Kaisha Toshiba | Communication apparatus, private branch exchange apparatus, maintenance terminal apparatus, and simulation method |
WO2004003787A1 (en) * | 2002-06-28 | 2004-01-08 | International Business Machines Corporation | Method for displaying and executing web services in multiple programming languages |
JP2004054683A (ja) * | 2002-07-22 | 2004-02-19 | Ricoh Co Ltd | ユーザインタフェース装置及びソフトウェア部品管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1896979A (zh) | 2007-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364236B (zh) | 一种web页面的数据处理装置及处理方法 | |
CN105787123B (zh) | 提供最小下载和模拟页面导航特征的服务器计算机和方法 | |
CN104573066B (zh) | 页面复用方法及装置 | |
CN101681343B (zh) | 用于向Web浏览器提供桌面或应用遥控的系统和方法 | |
CN101615179B (zh) | 用于Web应用的跨域交互的方法和系统 | |
CN1997963A (zh) | 访问pos终端的系统、下载和更新应用的方法以及使用这种系统执行电子操作的方法 | |
CN104995601B (zh) | 切换到本机网页应用程序及从本机网页应用程序切换离开 | |
CN103927253A (zh) | 多浏览器兼容性测试方法及系统 | |
CN101849228A (zh) | 用于创建面向IT的基于服务器的Web应用的方法和系统 | |
CN102929867A (zh) | 用于自动化的文档翻译的技术 | |
CN105760159A (zh) | 网站开发方法及其系统 | |
CN102043626A (zh) | extjs组件的封装方法及装置、用户界面的生成方法及系统 | |
CN106464746A (zh) | 用以支持事件流处理系统中的故障转移的计算机系统 | |
CN104320482A (zh) | 一种银行柜员前端系统 | |
CN104182849A (zh) | 一种业务预处理系统及方法 | |
CN109428877A (zh) | 一种用于通过用户设备访问业务系统的方法和装置 | |
CN101101550A (zh) | 将新用户界面映射到已有的整合界面 | |
CN103246699A (zh) | 一种基于浏览器的数据访问控制方法和装置 | |
WO2013032621A1 (en) | Data infrastructure for providing interconnectivity between platforms, devices, and operating systems | |
CN107622006A (zh) | 用于测试移动装置的系统和方法 | |
CN100502309C (zh) | 嵌入式Web网管系统及其交互方法 | |
CN103136238A (zh) | 将web页转换为wap页时对页面交互元素的处理方法和服务器 | |
CN102130953A (zh) | 一种嵌入式web系统及交互方法 | |
CN106412080A (zh) | 一种基于网络服务实现软件本地化和国际化的方法 | |
CN100430909C (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: 20081105 |