CN103890721A - 计算机程序接口 - Google Patents

计算机程序接口 Download PDF

Info

Publication number
CN103890721A
CN103890721A CN201280050017.7A CN201280050017A CN103890721A CN 103890721 A CN103890721 A CN 103890721A CN 201280050017 A CN201280050017 A CN 201280050017A CN 103890721 A CN103890721 A CN 103890721A
Authority
CN
China
Prior art keywords
display window
computer program
program
applied logic
stream
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
CN201280050017.7A
Other languages
English (en)
Other versions
CN103890721B (zh
Inventor
G·N·费尔南德斯
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 CN103890721A publication Critical patent/CN103890721A/zh
Application granted granted Critical
Publication of CN103890721B publication Critical patent/CN103890721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Abstract

公开了用于提供软件接口的方法、装置和计算机程序产品,该软件接口用于使得第一计算机程序能够执行第二计算机程序的应用逻辑,其中所述第二程序包括与该应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作。

Description

计算机程序接口
技术领域
本发明涉及用于提供软件接口的方法、装置或计算机程序产品,该软件接口布置用于使得第一计算机程序能够执行第二计算机程序的应用逻辑,其中所述第二程序包括与该应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作。
背景技术
一些计算机程序以这样的方式设计,即它们很难与其他软件系统集成或对接。这可能是较老的计算机程序的特殊问题,较老的计算机程序通常称为遗留程序。由于处理或应用逻辑与程序的呈现或显示逻辑之间的密切耦合,这种程序可能难以集成。这可能起因于应用和显示逻辑是由单个程序组件提供的。换言之,程序可能以这样的方式设计,即很难以具有数据或命令输入和数据输出的显示窗口的形式,从数据处理逻辑中分离用户接口元素,其中该数据处理逻辑被输入所驱动以提供相关输出。
与这种程序对接的一种方式是使用诸如屏幕抓取的已知方法经由程序的原始或已有用户接口,或者经由转换系统,转换系统对程序的所有输入和输出进行转换以提供其到其他软件系统的集成。对接这种程序的另一方式是将程序代码转换成适合的编程语言,使得其可以被重组以便集成到其他软件系统中。这种对接技术是有问题的,因为它们耗费时间,容易出错并且因此很昂贵。而且,遗留程序的用户可能不再保存有应用的原始代码。遗留程序通常位于用户的组织或企业的核心并且因此用户可能不愿意冒险对这么重要的系统做任何改变。
发明内容
本发明的第一实施例提供一种用于使得第一计算机程序能够执行第二计算机程序的应用逻辑的方法,其中第二程序包括与应用逻辑密切关联的显示逻辑,从而该应用逻辑能够经由该显示逻辑而操作,该方法包括步骤:识别与第二计算机程序的选定应用逻辑流关联的预定第一显示窗口;以及响应于由第二计算机提供第一显示窗口:a)从第一显示窗口的任何预定输出读取数据以提供给第一计算机程序;b)将数据写入到对第一显示窗口的任何预定输入以输入至第二计算机程序;以及c)向第二计算机程序提供任何预定执行命令以用于启动与第一显示窗口关联的该选定应用逻辑流的处理。
该方法可以包括进一步的步骤:从第二计算机程序识别一个或多个第二显示窗口的预定集合,其中第二显示窗口可以响应于对选定应用逻辑流的处理紧随第一显示窗口而被提供;以及响应于由第二计算机提供第二显示窗口之一,针对该第二显示窗口执行步骤a)至c)。
该方法可以被布置成使得第一计算机执行第二计算机程序的多个选定应用逻辑流。在步骤b)中,数据可以从第一计算机程序输入。执行命令可以是仿真的用户命令。选定应用逻辑流可以通过显示窗口的预定序列而被识别并且序列中的显示窗口之间的转变是对与给定转变关联的一个或多个预定应用逻辑元素的处理的结果。
第二实施例提供一种用于生成用于对接第一和第二计算机程序的计算机程序代码的方法,其中第二程序包括与应用逻辑密切关联的显示逻辑,从而该应用逻辑能够经由该显示逻辑而操作,该方法包括步骤:a)识别与第二应用程序的选定应用逻辑流关联的第一显示窗口;b)指派来自第一显示窗口的一个或多个显示窗口输出以供应给第一计算机程序;c)指派用于输入到第一显示窗口的一个或多个数据输入,以供应给第二计算机程序;d)指派用于输入到第一显示窗口的一个或多个执行命令,以用于启动与第一显示窗口关联的该选定应用逻辑流;以及e)创建程序接口代码,该程序接口代码被布置用于经由第一显示窗口和关联的显示窗口输出、数据输入和执行命令,为该选定应用逻辑流提供第一和第二计算机程序之间的接口,该程序代码被布置用于执行根据本发明第一实施例的方法。
该方法可以包括进一步的步骤:从第二计算机程序识别一个或多个第二显示窗口的预定集合,其中第二显示窗口可以响应于对选定应用逻辑流的处理紧随第一显示窗口而被提供;针对每个第二显示窗口执行步骤b)、c)和d);以及创建程序接口代码,该程序接口代码被布置用于经由第一和第二显示窗口以及关联的显示窗口输出、数据输入和执行命令,为该选定应用逻辑流提供第一和第二计算机程序之间的接口,该程序代码被布置用于执行根据本发明第一实施例的方法。
该程序代码可以根据第二应用程序的选定应用逻辑流的预定流定义至少部分地自动生成。流定义可以至少部分地由用户图形化地确定。
第三实施例提供用于使得第一计算机程序能够执行第二计算机程序的应用逻辑的装置,其中第二程序包括与应用逻辑密切关联的显示逻辑,从而该应用逻辑能够经由该显示逻辑而操作,该装置可操作用于:识别与第二计算机程序的选定应用逻辑流关联的预定第一显示窗口;以及响应于由第二计算机提供第一显示窗口:a)从第一显示窗口的任何预定输出读取数据以提供给第一计算机程序;b)将数据写入到对第一显示窗口的任何预定输入以输入至第二计算机程序;以及c)向第二计算机程序提供任何预定执行命令以用于启动与第一显示窗口关联的该选定应用逻辑流的处理。
第四实施例提供用于生成用于对接第一和第二计算机程序的计算机程序代码的装置,其中第二程序包括与应用逻辑密切关联的显示逻辑,从而该应用逻辑能够经由该显示逻辑而操作,该装置可操作用于:a)识别与第二应用程序的选定应用逻辑流关联的第一显示窗口;b)指派来自第一显示窗口的一个或多个显示窗口输出以供应给第一计算机程序;c)指派用于输入到第一显示窗口的一个或多个数据输入,以供应给第二计算机程序;d)指派用于输入到第一显示窗口的一个或多个执行命令,以用于启动与第一显示窗口关联的该选定应用逻辑流;以及e)创建程序接口代码,该程序接口代码被布置用于经由第一显示窗口和关联的显示窗口输出、数据输入和执行命令,为该选定应用逻辑流提供第一和第二计算机程序之间的接口,该程序代码被布置用于提供根据本发明第三实施例的装置。
进一步的实施例提供一种存储在计算机可读介质并且可加载到计算机的内部存储器中的计算机程序,包括软件代码部分,该软件代码部分被布置成当该程序在计算机上运行时,用于执行根据第一实施例的方法。
另一实施例提供一种用于提供一种软件接口以使得第一程序能够执行第二程序中的应用逻辑的方法,第二程序具有与包括一个或多个用户接口元素的应用逻辑密切关联的显示逻辑,从而该应用逻辑可经由该显示逻辑而操作,该方法包括:接口引起第二程序的执行;接口接受来自第一程序的、用于第二程序的应用逻辑的输入参数并且经由该一个或多个用户接口元素向第二程序提供输入参数;接口向第一程序提供来自第二程序的输出数据,该输出数据是从第二程序的一个或多个用户接口元素提取的。
附图说明
现在将仅通过示例方式、参考附图来描述本发明的实施例,附图中:
图1是其中第一计算机程序与第二计算机程序经由接口程序对接的计算机系统的示意性图示;
图2是用于产生图1的接口程序的计算机系统的示意性图示;
图3是在图1的第二计算机程序的选定处理期间提供的显示窗口流的示意性图示;
图4是对应于图3的显示窗口流的选定处理流的图形化表示;
图5是用于与图4的选定处理流对接的图1的接口程序的结构的示意性图示;
图6是示出当提供针对第二计算机程序的接口时、由接口程序执行的处理的流程图;
图7是示出响应于第二计算机程序的给定显示窗口、由接口程序执行的处理的流程图;以及
图8是示出当从图4的选定处理流的图形化表示生成图5的接口程序时、由代码生成程序执行的处理的流程图。
具体实施方式
参考图1,计算机系统101包括连接到第二计算机103的第一计算机102。第一计算机经由网络104还连接到第三计算机105。在本实施例中,第一计算机102加载有web服务器应用程序形式的第一计算机程序106,并且第二计算机103加载有第二计算机程序107。在本实施例中,web服务器应用106被布置成使得由第二计算机程序107提供的设施通过网络104而经由安装在第三计算机105上的web浏览器应用程序108可用于第三计算机105的用户。换言之,web服务器应用106被布置成用于第二计算机程序107的包装器。
在本实施例中,第二应用107是遗留应用程序,其被设计成不具有用于与其他应用程序(诸如web服务器应用106)通信的接口。web服务器应用106因此提供有用于与第二应用107对接的接口程序109。遗留应用107被设计成具有自己的数据呈现元素,诸如屏幕或显示窗口,集成编码有关联的数据处理逻辑并且因此不是可分离式重用的。换言之,遗留应用107的显示逻辑被提供成与应用逻辑密切关联。接口程序109被布置成经由遗留应用107的选定显示屏幕来对接web服务器应用106和遗留应用程序107,从而使得web服务器应用106能够执行遗留应用107中的选定应用逻辑。
在本实施例中,第二计算机103是IBMTMAS/400计算机。遗留应用107起初被设计用于经由IBMTM5250终端形式的终端来使用。在本实施例中,接口程序109被布置成使用IBMTMHost on Demand库(其可从IBMTM公司获得),以直接在IBMTMAS/400计算机上访问遗留应用107的显示逻辑,而无需IBMTM5250终端。
参考图2,第四计算机201加载有来自Eclipse FoundationTM公司的EclipseTMSDE形式的软件开发环境(SDE)程序202。在本实施例中,SDE202被布置成提供流指定程序203和代码生成程序204。流指定程序203被布置成使得用户能够指定遗留应用107中的选定处理流。在本实施例中,流指定程序203被布置成使得用户能够图形化地指定选定处理流,如下文参考图4进一步描述的。响应于这种用户指定,流指定程序203输出流定义205,其是对代码生成程序204的输入。代码生成程序204被布置成从输入流定义204产生用于接口程序109的代码,如下文进一步描述的。
在本实施例中,遗留程序107被布置有用户接口,包括被设计用于作为适当终端的屏幕而向用户显示的显示窗口集合。这些显示窗口可以包括输入域、输出域形式的一个或多个用户接口元素,并且可以布置成接受命令形式的一个或多个用户输入,用于指示遗留程序107执行与给定显示窗口关联的处理逻辑。在本实施例中,接口程序109被布置成与遗留程序107的处理逻辑流或选定功能对接,其中该选定功能通过关联的显示窗口流而识别。图3示出与来自遗留程序107的选定数据显示功能关联的显示窗口301、302、303集合的示例。该选定数据显示功能通过第一显示窗口301启动,第一显示窗口提供可用于显示的可用数据范围的菜单。第一显示窗口301为用户提供输入命令以选择数据范围,也即,范围A至M中的数据或者范围N至Z中的数据。响应于这种命令,在返回第一显示窗口301之前,遗留程序107根据所选择的数据范围,在第二或者第三显示窗口302、303中显示所选择范围中的可用数据。
参考图4,流指定程序203被布置成使得用户能够将遗留程序107的选定处理逻辑指定为流定义205,该流定义205识别关联的显示窗口401、402、403和404、输入405和输出406、407。屏幕之间的转变408、409、410被指定并且代表选定处理中输入数据或命令或者输出数据的点。转变408、409、410的每一个代表由遗留应用107处理的选定应用逻辑流的对应元素。屏幕401、402、403和404的每一个提供有相应屏幕描述411、412、413和414,其用作用于相应屏幕的唯一标识符。一些屏幕在给定转变中可以出现不止一次,但是可以具有不同的结果,如图4中的情形以及具有相同的屏幕描述“A”411、414的屏幕1和3401、404。尽管从图3,显示窗口的序列可以视为循环,但是从处理逻辑的单个流的观点看来,屏幕1和3401、404分别代表处理的开始点和结束点。接口程序109如下文进一步描述的使用屏幕描述以用于识别遗留程序107的处理中任何给定时间的当前位置。在本实施例中,Eclipse建模框架(EMF)用于创建上文所描述的流定义205。
参考图5,在本实施例中,代码生成程序204被布置成根据流定义205生成用于接口程序109的JavaTM代码。图5示出了所生成的JavaTM代码的功能元素。如本领域技术人员将理解的,接口程序109可以被布置成提供对接到来自遗留程序107的一个或多个选定处理逻辑流的集合。在本实施例中,每个这种选定处理逻辑流通过流处理类501和数据处理类502形式的对应接口例程来对接。流处理类501提供进入接口程序109的入口点并且执行与遗留程序107的对接活动。数据处理类502提供用于输入和输出数据405、406以及命令输入407的必要数据结构。数据处理类502包括接口程序109和web服务器应用106之间的接口。流处理类501提供有期望的屏幕描述503的集合,这些屏幕描述由流处理类501用于识别遗留应用107的状态,例如以确定何时在其处理的开始点以执行选定功能。
流处理类501还包括屏幕描述方法504的集合以及屏幕识别方法505的集合,针对流定义205中的屏幕401、402、403、404中的每一个使用一种方法。屏幕描述方法504保持有相应屏幕描述411、412、413、414。屏幕识别方法505被布置成比较从对应屏幕描述方法504获得的屏幕描述411、412、413、414以识别遗留程序107的当前屏幕。屏幕描述方法504和屏幕识别方法505的集合由屏幕检查器方法506使用,该屏幕检查器方法被布置用于输入屏幕描述集合的集合,诸如期望屏幕描述503,以及提供关于所识别的屏幕中哪个(如果有的话)是遗留应用107的当前屏幕的标识。
流处理类还包括转变方法507的集合,针对流定义205中的转变408、409、410中的每一个使用一种方法。每个转变方法507被布置成执行被指派给流定义205中的给定转变的输入、输出或命令508中任一的对接。因此,转变方法507可以被布置成将来自遗留程序107的显示窗口的数据传送到数据处理类502所提供的对应数据结构中,以便输出到web服务器应用106。类似地,转变方法507可以被布置成将来自数据处理类502所提供的相关数据结构的数据传送给遗留应用107的显示窗口的指定输入域。转变方法507也可以被布置用于向遗留应用107输入命令,诸如仿真的键按压,以启动与给定转变关联的遗留程序的处理。
每个转变方法507也提供有预期屏幕集合508,其识别根据流定义205跟随给定转变的可能的目的地屏幕,并且还识别与每个这种可能的目的地屏幕关联的相关转变方法507。每个转变方法507因此进一步被布置用于,一旦指派的对输入、输出或命令的处理已经完成,则识别预期屏幕集合509中的哪个屏幕正由遗留程序107所指示。一旦新的当前屏幕因此被识别,转变方法507被布置用于调用如流定义205中所定义的、对应于该新的当前屏幕的下一转变方法507。总而言之,每个转变方法507被布置用于执行下列功能:
1.从来自当前的遗留应用显示窗口的任何指派输出读取数据;
2.写入数据至当前的遗留应用显示窗口的任何指派输入;
3.确定预期从对当前转变的处理而得到的显示窗口集合;
4.通过向遗留应用提供命令而执行当前转变;以及
5.识别得到的屏幕以及执行对应的转变方法。
现在将参考图6的流程图更详细地描述由接口程序109响应于来自web服务器应用106的、针对由遗留应用107提供的预定选定功能的请求而执行的处理。处理在步骤601处响应于来自web服务器应用106的请求而启动,并且处理移动到步骤602。在步骤602处,对应于web服务器应用106所请求的选定处理逻辑流的对接例程被识别,并且处理移动到步骤603。在步骤603处,经由所识别的对接例程而启动与遗留应用107的通信,并且处理移动到步骤604。在步骤604处,等待用于对接例程的初始屏幕,并且一旦提供该初始屏幕则处理移动到步骤605。在步骤605处,处理针对该对接例程指定的转变序列,获取来自相关接口数据结构的输入和命令并且向相关接口数据结构提供输出。一旦完成对转变序列的处理,处理移动到步骤606并且结束。
现在将参考图7的流程图进一步详细地描述给定转变507的对接程序109的处理。处理在步骤701处从流处理例程501的入口点启动或者通过另一转变507而启动,并且处理移动到步骤702。在步骤702处,当前屏幕的内容经由合适的HoDTM库例程从遗留应用107取出并且被解析以从屏幕提取任何预定输出,也即,已被指派给流定义205中的转变的任何输出。所提取的输出继而被存储在相关数据结构502中以便由web服务器应用程序106访问,并且处理移动到步骤703。在步骤703处,用于遗留程序107的任何数据输入从相关数据结构502经由合适的HoDTM库例程而被传送到遗留程序107的当前屏幕,并且处理移动到步骤704。在步骤704处,用于遗留程序107的任何命令输入经由合适的HoDTM库例程而被提供给遗留程序107,并且处理移动到步骤705。在步骤705处,来自当前屏幕的所有可能的目的地屏幕从预期屏幕集合507识别出,并且处理移动到步骤706。在步骤706处,遗留程序107的输出经由合适的HoDTM库例程而被轮询,新的当前屏幕被从可能的目的地屏幕识别出,并且对应的转变方法507被调用。处理继而移动到步骤707并且针对当前转变方法507结束。
现在将参考图8的流程图更详细地描述由代码生成程序204执行以从流定义205生成接口程序代码109的处理。处理在步骤801处启动并且移动到步骤802,其中输入EMF中的相关流定义205。处理继而移动到步骤803,其中利用对应于输入流定义205的流类的形式的流处理例程501对接口程序代码109进行初始化,并且处理移动到步骤804。在步骤804处,创建流输入/输出数据结构502,其包括对应于在流定义205中所定义的每个输入和输出405、406、407的数据存储元素,并且处理移动到步骤805。在步骤805处,创建屏幕描述类,其包括针对流定义205中的屏幕401、402、403、404中的每一个的屏幕描述方法504和屏幕识别方法连同屏幕检查器方法506,并且处理移动到步骤806。在步骤806处,针对流定义205中的每个转变408、409、410创建转变方法507,并且处理移动到步骤807。在步骤807处,每个转变方法507利用对应的预期屏幕集合503和对应的转变方法而扩张。处理继而移动到步骤808,其中输出接口代码109并且处理结束。
接口程序109可以提供有多个流处理例程501,用于提供对遗留程序或系统107的处理逻辑流205的选定集合中的每一个的访问。
在另一实施例中,接口程序提供有错误处理功能,用于处理遗留程序的不正确或非预期行为以及例如通过向其所对接的应用程序报告此错误而适当地处理这种行为。
在进一步的实施例中,流定义可以包括子例程、条件或循环,用于协助对所对接的程序中的更复杂的处理逻辑的描述。
本发明的实施例被布置用于生成用于利用所对接的程序的呈现进行操作的接口代码。诸如IBM Java Host-On-DemandTM之类的主机-访问方法支持针对包括诸如TN3270E、TN5250、VT100、VT220、VT420之类的遗留系统的系统的主机访问方法。接口代码由此通过与呈现接合以对接遗留组件而在现代运行时环境中提供遗留逻辑。
如本领域技术人员将理解的,上述教导不限于以JavaTM创建接口程序,而是可以用于任何合适的软件语言。
尽管上面描述的流定义是图形化执行的,但是本领域技术人员将理解,选定的应用逻辑流可以通过任何其他合适的方式来定义。
如上文所描述的,上述接口程序利用已有HoDTM库例程以接入特定遗留系统。如本领域技术人员将理解的,这种库例程可以被提供给任何合适的系统。这种系统访问例程的功能可以被提供作为对接程序的实施例的功能的一部分。而且,任何这种库可以从第三方提供商获得或者特别针对给定应用而开发,也即,定制开发。
本发明的实施例不受限于与所谓的遗留系统一起使用,而是可以被提供用于经由任何计算机程序的显示窗口与其对接,以驱动该程序的选定处理逻辑。
本发明的实施例提供了一种用于生成代码以将遗留软件组件集成到现代软件环境(诸如面向服务的架构SOA)中的工具,其中遗留组件包括逻辑和呈现之间的紧密耦合,换言之,呈现和逻辑链接在一个组件中。
计算机程序包含常见的辅助软件元素和结构,其取决于所使用的软件语言以及这种软件旨在在其上运行的系统。为了清楚起见,这种元素和结构未包括在上文描述中,但是其对于本领域技术人员而言是显而易见的。
本领域技术人员将理解,具体化本发明的部分或全部的装置可以是通用设备,其具有布置用于提供本发明实施例的部分或全部的软件。该设备可以是单个设备或者设备群组,并且软件可以是单个程序或程序集合。而且,用于实现本发明的软件中的任何或全部可以经由任何合适的传输或存储手段而传送,从而软件可以加载到一个或多个设备上。
尽管本发明已经通过其实施例的描述而得以阐述,以及尽管已经在大量细节中描述了实施例,然而本申请的意图不在于约束或者以任何方式限制所附权利要求的范围至这种细节。对于本领域技术人员而言,附加的优点和修改很容易得到。因此,本发明在其更宽的方面中并不受限于所提供的装置和方法以及所示出和描述的图示示例的特定细节。因而,可以偏离这种细节但不偏离申请人的总的发明概念的精神或范围。

Claims (22)

1.一种用于使得第一计算机程序能够执行第二计算机程序的应用逻辑的方法,其中所述第二程序包括与应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作,所述方法包括步骤:
识别与所述第二计算机程序的选定应用逻辑流关联的预定第一显示窗口;以及
响应于由所述第二计算机提供所述第一显示窗口:
a)从所述第一显示窗口的任何预定输出读取数据以提供给所述第一计算机程序;
b)将数据写入到对所述第一显示窗口的任何预定输入以输入至所述第二计算机程序;以及
c)向所述第二计算机程序提供任何预定执行命令以用于启动与所述第一显示窗口关联的所述选定应用逻辑流的处理。
2.根据权利要求1所述的方法,包括进一步的步骤:
从所述第二计算机程序识别一个或多个第二显示窗口的预定集合,所述第二显示窗口可以响应于对所述选定应用逻辑流的所述处理紧随所述第一显示窗口而被提供;以及
响应于由所述第二计算机提供所述第二显示窗口之一,针对所述第二显示窗口执行步骤a)至c)。
3.根据任一前述权利要求所述的方法,其被布置成使得所述第一计算机能够执行所述第二计算机程序的多个选定应用逻辑流。
4.根据任一前述权利要求所述的方法,其中在步骤b)中,所述数据从所述第一计算机程序输入。
5.根据任一前述权利要求所述的方法,其中所述执行命令是仿真的用户命令。
6.根据任一前述权利要求所述的方法,其中所述选定应用逻辑流通过显示窗口的预定序列而被识别,并且所述序列中的所述显示窗口之间的转变是对与给定转变关联的一个或多个预定应用逻辑元素的处理的结果。
7.一种用于生成用于对接第一计算机程序和第二计算机程序的计算机程序代码的方法,其中所述第二程序包括与应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作,所述方法包括步骤:
a)识别与所述第二应用程序的选定应用逻辑流关联的第一显示窗口;
b)指派来自所述第一显示窗口的一个或多个显示窗口输出以供应给所述第一计算机程序;
c)指派用于输入到所述第一显示窗口的一个或多个数据输入,以供应给所述第二计算机程序;
d)指派用于输入到所述第一显示窗口的一个或多个执行命令,以用于启动与所述第一显示窗口关联的所述选定应用逻辑流;以及
e)创建程序接口代码,所述程序接口代码被布置用于经由所述第一显示窗口和所述关联的显示窗口输出、数据输入和执行命令,为所述选定应用逻辑流提供所述第一计算机程序和第二计算机程序之间的接口,所述程序代码被布置用于执行根据权利要求1至6中任一所述的方法。
8.根据权利要求7所述的方法,包括进一步的步骤:
从所述第二计算机程序识别一个或多个第二显示窗口的预定集合,所述第二显示窗口可以响应于对所述选定应用逻辑流的所述处理紧随所述第一显示窗口而被提供;
针对每个第二显示窗口执行步骤b)、c)和d);以及
创建所述程序接口代码,所述程序接口代码被布置用于经由第一显示窗口和第二显示窗口以及所述关联的显示窗口输出、数据输入和执行命令,为所述选定应用逻辑流提供所述第一计算机程序和第二计算机程序之间的接口,所述程序代码被布置用于执行根据权利要求1至6中任一所述的方法。
9.根据权利要求6或7所述的方法,其中所述程序代码根据所述第二应用程序的所述选定应用逻辑流的预定流定义至少部分地自动生成。
10.根据权利要求9所述的方法,其中所述流定义是至少部分地由用户图形化地确定。
11.一种用于使得第一计算机程序能够执行第二计算机程序的应用逻辑的装置,其中所述第二程序包括与应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作,所述装置可操作用于:
识别与所述第二计算机程序的选定应用逻辑流关联的预定第一显示窗口;以及
响应于由所述第二计算机提供所述第一显示窗口:
a)从所述第一显示窗口的任何预定输出读取数据以提供给所述第一计算机程序;
b)将数据写入到对所述第一显示窗口的任何预定输入以输入至所述第二计算机程序;以及
c)向所述第二计算机程序提供任何预定执行命令以用于启动与所述第一显示窗口关联的所述选定应用逻辑流的处理。
12.根据权利要求11所述的装置,进一步可操作用于:
从所述第二计算机程序识别一个或多个第二显示窗口的预定集合,所述第二显示窗口可以响应于对所述选定应用逻辑流的所述处理紧随所述第一显示窗口而被提供;以及
响应于由所述第二计算机提供所述第二显示窗口之一,针对所述第二显示窗口执行步骤a)至c)。
13.根据权利要求11或12所述的装置,其被布置成使得所述第一计算机能够执行所述第二计算机程序的多个选定应用逻辑流。
14.根据权利要求11至13中任一所述的装置,其中在操作b)中,所述数据从所述第一计算机程序输入。
15.根据权利要求11至14中任一所述的装置,其中所述执行命令是仿真的用户命令。
16.根据权利要求11至15中任一所述的装置,其中所述选定应用逻辑流通过显示窗口的预定序列而被识别,并且所述序列中的所述显示窗口之间的转变是对与给定转变关联的一个或多个预定应用逻辑元素的处理的结果。
17.一种用于生成用于对接第一计算机程序和第二计算机程序的计算机程序代码的装置,其中所述第二程序包括与应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作,所述装置可操作用于:
a)识别与所述第二应用程序的选定应用逻辑流关联的第一显示窗口;
b)指派来自所述第一显示窗口的一个或多个显示窗口输出以供应给所述第一计算机程序;
c)指派用于输入到所述第一显示窗口的一个或多个数据输入,以供应给所述第二计算机程序;
d)指派用于输入到所述第一显示窗口的一个或多个执行命令,以用于启动与所述第一显示窗口关联的所述选定应用逻辑流;以及
e)创建程序接口代码,所述程序接口代码被布置用于经由所述第一显示窗口和所述关联的显示窗口输出、数据输入和执行命令,为所述选定应用逻辑流提供所述第一计算机程序和第二计算机程序之间的接口,所述程序代码被布置用于提供根据权利要求10至16中任一所述的装置。
18.根据权利要求17所述的装置,进一步可操作用于:
从所述第二计算机程序识别一个或多个第二显示窗口的预定集合,所述第二显示窗口可以响应于对所述选定应用逻辑流的所述处理紧随所述第一显示窗口而被提供;
针对每个第二显示窗口执行步骤b)、c)和d);以及
创建所述程序接口代码,所述程序接口代码被布置用于经由第一显示窗口和第二显示窗口以及所述关联的显示窗口输出、数据输入和执行命令,为所述选定应用逻辑流提供所述第一计算机程序和第二计算机程序之间的接口,所述程序代码被布置用于提供根据权利要求10至16中任一所述的装置。
19.根据权利要求16或17所述的装置,其中所述程序代码根据所述第二应用程序的所述选定应用逻辑流的预定流定义至少部分地自动生成。
20.根据权利要求19所述的装置,其中所述流定义是至少部分地由用户图形化地确定。
21.一种存储在计算机可读介质并且可加载到计算机的内部存储器中的计算机程序,包括软件代码部分,所述软件代码部分被布置成当所述程序在计算机上运行时,用于执行根据权利要求1至10中任一所述的方法。
22.一种用于提供一种软件接口以使得第一程序能够执行第二程序中的应用逻辑的方法,所述第二程序具有与包括一个或多个用户接口元素的所述应用逻辑密切关联的显示逻辑,从而所述应用逻辑能够经由所述显示逻辑而操作,所述方法包括:
所述接口引起所述第二程序的执行;
所述接口接受来自所述第一程序的、用于所述第二程序的所述应用逻辑的输入参数并且经由所述一个或多个用户接口元素向所述第二程序提供所述输入参数;
所述接口向所述第一程序提供来自所述第二程序的输出数据,所述输出数据是从所述第二程序的一个或多个用户接口元素提取的。
CN201280050017.7A 2011-10-20 2012-09-19 计算机程序接口 Active CN103890721B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11185994.8 2011-10-20
EP11185994 2011-10-20
PCT/IB2012/054962 WO2013057607A1 (en) 2011-10-20 2012-09-19 Computer program interface

Publications (2)

Publication Number Publication Date
CN103890721A true CN103890721A (zh) 2014-06-25
CN103890721B CN103890721B (zh) 2017-07-07

Family

ID=48140416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280050017.7A Active CN103890721B (zh) 2011-10-20 2012-09-19 计算机程序接口

Country Status (4)

Country Link
US (1) US10545729B2 (zh)
JP (1) JP5657183B2 (zh)
CN (1) CN103890721B (zh)
WO (1) WO2013057607A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210081187A1 (en) * 2016-01-21 2021-03-18 Facebook, Inc. Modification of software behavior in run time

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481233B2 (en) * 2019-09-13 2022-10-25 Logistiview, Inc. Augmenting legacy user interfaces using workflows

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334058A (ja) * 2001-05-10 2002-11-22 Beacon Information Technology:Kk メインフレームのアプリケーション実行方法、アプリケーション実行システム、プログラム
CN101103332A (zh) * 2005-01-11 2008-01-09 韩国威得淼有限公司 多个应用程序互相作用的方法和系统
US20100146396A1 (en) * 2004-05-14 2010-06-10 Gt Software, Inc. Systems and methods for web service function, definition, implementation, and/or execution

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091780A (ja) * 2000-09-12 2002-03-29 Nec Corp トランザクション処理システム及び方法
CA2348706A1 (en) 2001-05-25 2002-11-25 Ibm Canada Limited-Ibm Canada Limitee Converting user interface source code of a legacy application to web pages
JP2003114874A (ja) * 2001-10-09 2003-04-18 Canon Software Inc Webサーバ装置およびWebサーバ装置の制御方法およびプログラムおよび記録媒体
US7099447B2 (en) * 2002-04-08 2006-08-29 Sbc Services, Inc. System and method for modifying package service subscriptions online
WO2007122640A2 (en) 2006-04-26 2007-11-01 Tata Consultancy Services A system and method for automated re-architectureing of legacy systems using object-oriented language
KR100910336B1 (ko) 2006-10-19 2009-07-31 신동혁 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법
GB0622063D0 (en) 2006-11-06 2006-12-13 Standard Life Employee Service Improvements in and relating to financial systems
US7792853B2 (en) 2006-11-08 2010-09-07 Ragothaman Subbian Presenting data flow in legacy program
US20080270153A1 (en) 2007-04-30 2008-10-30 International Business Machines Corporation Service oriented architecture (soa) lifecycle model migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334058A (ja) * 2001-05-10 2002-11-22 Beacon Information Technology:Kk メインフレームのアプリケーション実行方法、アプリケーション実行システム、プログラム
US20100146396A1 (en) * 2004-05-14 2010-06-10 Gt Software, Inc. Systems and methods for web service function, definition, implementation, and/or execution
CN101103332A (zh) * 2005-01-11 2008-01-09 韩国威得淼有限公司 多个应用程序互相作用的方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210081187A1 (en) * 2016-01-21 2021-03-18 Facebook, Inc. Modification of software behavior in run time

Also Published As

Publication number Publication date
US10545729B2 (en) 2020-01-28
CN103890721B (zh) 2017-07-07
JP5657183B2 (ja) 2015-01-21
US20130117728A1 (en) 2013-05-09
JP2014532223A (ja) 2014-12-04
WO2013057607A1 (en) 2013-04-25

Similar Documents

Publication Publication Date Title
CN102187314B (zh) 生成适用于数据集的资源脚本的方法和系统
CN105849691A (zh) 用于代码虚拟化和远程进程调用生成的方法和装置
US10817819B2 (en) Workflow compilation
CN108628605A (zh) 流式数据处理方法、装置、服务器和介质
WO2012140564A1 (en) System and method for mobile application development
CN102411503A (zh) 空运行设计时环境
CN104881343A (zh) 一种测试方法和测试系统
Ernsting et al. Refining a reference architecture for model-driven business apps
US11366567B2 (en) Preferential automation view curation
US9116708B2 (en) Program creation support apparatus, program, and information system
De Boeck et al. High-level modeling of multimodal interaction techniques using nimmit
CN103890721A (zh) 计算机程序接口
CN113010168A (zh) 一种基于场景树的用户界面生成方法
Winckler et al. Cascading dialog modeling with UsiXML
CN110516277A (zh) 快速的建模、仿真方法及系统、计算机设备、存储设备
US10203939B2 (en) Method and system for parameter model framework
JP2010204840A (ja) ユーザインターフェース操作統合システムのカスタマイズ方法及び端末装置並びにコンピュータプログラム及び情報記録媒体
CN113326145A (zh) 管理app的方法及系统
CN110519650A (zh) 一种osd语言升级方法、装置、电子设备及存储介质
US20230176834A1 (en) Graphical programming environment
Paternò et al. User task-based development of multi-device service-oriented applications.
EP4345603A1 (en) Use of device profiles in automation projects
CN109962788A (zh) 多控制器调度方法、装置和系统及计算机可读存储介质
JP7417462B2 (ja) パッケージ生成装置、パッケージ管理システム及びパッケージ生成方法
EP4345602A1 (en) Presentation design to automation device binding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant