CN102257477A - 应用开发支援装置、程序以及记录介质 - Google Patents

应用开发支援装置、程序以及记录介质 Download PDF

Info

Publication number
CN102257477A
CN102257477A CN2009801519164A CN200980151916A CN102257477A CN 102257477 A CN102257477 A CN 102257477A CN 2009801519164 A CN2009801519164 A CN 2009801519164A CN 200980151916 A CN200980151916 A CN 200980151916A CN 102257477 A CN102257477 A CN 102257477A
Authority
CN
China
Prior art keywords
program
variable
storage area
computing machine
input
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
CN2009801519164A
Other languages
English (en)
Other versions
CN102257477B (zh
Inventor
千贯素成
齐藤贤哉
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.)
MUFG Bank Ltd
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
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 Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Publication of CN102257477A publication Critical patent/CN102257477A/zh
Application granted granted Critical
Publication of CN102257477B publication Critical patent/CN102257477B/zh
Expired - Fee Related 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

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

Abstract

在进行将经由用户界面(UI)画面而输入的变量传递到预定程序中的处理的应用程序开发中,能够减轻在转换预定程序时的作业负担。在应用程序开发期间中的、展示由画面控制程序实现的UI而决定要件的期间,利用仅设置有作为变量存放区域的、以KEY-VALUE形式存放变量的统一存放区域(map1,map2)的托管豆,将进行虚拟处理的原型脚本(未图示)与画面控制程序交互而实现UI展示等。如果确定在程序之间传输的变量,则开发网络服务提供程序并与原型脚本替换,同时将托管豆替换成新托管豆,该新托管豆增加有:对于从网络服务提供程序发送和接收的每一个变量设置的个别存放区域(56)、在统一存放区域与个别存放区域(56)之间进行变量的复制的程序(变量复制部)。

Description

应用开发支援装置、程序以及记录介质
技术领域
本发明涉及一种应用开发支援装置、程序以及记录介质,尤其涉及支援将经由用户界面画面输入的变量传递到预定的程序并使计算机进行处理的应用程序开发的应用开发支援装置,用于使计算机作为所述应用开发支援装置发挥功能的应用开发支援程序以及记录该应用开发支援程序的记录介质。
背景技术
近年来,作为可将业务流程(Business Process)描述成工作流的标准(语言),BPEL(Business Process Execution Language,业务流程执行语言)正在逐渐普及。对于BPEL而言,准备有下述工具:该工具可通过从与互不相同的处理对应的多种部件中选择期望的部件予以组合的操作,来可视化描述期望的工作流,并且能够根据所创建的工作流来自动生成基于BPEL的程序,还可以构建使计算机执行通过该工具自动生成的程序的执行环境。因此,通过利用上述工具,能够容易且短时间内进行通过计算机来实现提供期望网络服务的工作流的程序开发。另外,在BPEL标准中需要预先设定有变量定义信息(还称为WSDL(Web Service Description Language,网络服务规范语言)),用于定义利用BPEL实现的处理中的输入变量以及输出变量的类型等,在生成基于BPEL的程序时参照该变量定义信息。
并且,JSF(Java(注册商标)Server Faces)作为用于构建面向网络应用的用户界面的标准,已被人们熟知。对于该JSF而言,也准备有下述工具:该工具可通过进行从可用作用户界面画面的构成元素的多种符号(symbol)中选择和配置期望的符号等的操作,以此构建用户界面,例如设计用户界面画面以及定义用户界面画面的转换(transition)等,并且能够自动生成用于实现已构建的用户界面的程序。通过利用该工具,无需进行编码作业,可以在短时间内容易地获得用于实现期望的用户界面的程序。
因此,本申请的申请人已提出以大幅缩短网络应用开发周期为目的的以下技术(参照特开2009-087093号公报):当在开发对象的网络应用中,利用JSF来自动生成实现用户界面的程序,并利用BPEL来自动生成实现网络服务的程序时,无需进行编码作业而实现JSF和BPEL的交互(cooperation)。
并且,关于上述技术,在特开2005-228184号公报中公开了以下技术:如果从终端获取请求(request)信息,则应用执行装置的执行引擎从所获取的请求信息中提取画面变量值和事件,决定对应于基于状态转换定义提取的事件的状态转换,并且基于画面变量应用变量对应定义,将从请求信息已获取值的画面变量与的应用变量相关联起来,并且执行对应于所提取的事件的逻辑操作,基于画面变量应用变量对应定义,将通过执行逻辑操作而已确定值的应用变量与的输出画面变量相关联起来,基于画面定义,生成输出画面。
并且,特开2009-9362号公报中公开了以下技术:程序变量管理系统管理伴随网页转换(page transition)而传输(delivery)的变量值,其中该变量是分别在不同语言的多个程序中定义的变量或者多个程序之间共同定义的变量,并且该程序变量管理系统伴随所述程序的网页转换的每一个处理,在链接管理表中记录变量的转换源信息和转换位置信息,在变量管理表中记录所述变量的定义信息,并且在所述网页转换前后的网页之间,进行传递所述变量值的处理以及代入所述变量值的处理中的至少一个。
发明内容
技术问题
然而,近年来,作为新的软件开发方法提出适应性(adaptive)开发方法(称为敏捷软件开发(agile software development)),该方法着眼于,不严格地规定开发对象软件的要件而开始开发,当要件等发生变更时,快速对应的同时继续进行开发。在应用上述开发方法的网络应用的开发中,例如,通过反复进行:在开发过程中,向客户展示网络应用中的目前的用户界面等,同时与客户讨论,并根据客户的要求等而变更用户界面,再次向客户展示变更后的新的用户界面等,由此决定要件。
另一方面,上述的特开2009-087093号公报中所记载的技术如下:在JSF标准中,能够将配置在用户界面画面内的每一个信息输入/显示栏与对于多个变量分别设置有存放区域的变量存放区域(另外,该变量存放区域编入于称作托管豆(Managed Bean)的程序)内的任意存放区域相关联起来(绑定),在执行程序时,利用在被绑定的信息输入/显示栏与存放区域之间进行的同步处理(详细而言,输入在信息输入栏中的信息被存放在与该信息输入栏绑定的存放区域中,被存放在存放区域中的信息显示在与该存放区域绑定的信息显示栏中),利用JSF工具而自动生成实现用户界面的程序,并且利用BPEL工具而自动生成实现用户界面的程序,同时从BPEL变量定义信息生成分别设置对应于输入变量以及输出变量的存放区域的变量存放区域(包含变量存放区域的托管豆),经由变量存放区域(包含变量存放区域的托管豆)而进行在实现用户界面的程序与实现网络服务的程序之间的变量的传输,以此执行在实现用户界面的程序与实现网络服务的程序之间的交互。
据此,如特开2009-087093号公报中所记载的技术那样,在构成为由BPEL实现提供网络服务的部分的网络应用开发中,应用敏捷软件开发的情况下,当通过变更用户界面等,以此变更在实现用户界面的程序与实现网络服务的程序之间传输的变量时,需要进行相关作业,即首先变更BPEL的变量定义信息,接着从变更后的变量定义信息生成新的变量存放区域(包含变量存放区域的托管豆)等作业,因此直到再次向客户展示变更后的新的用户界面等为止需要时间,由此引发给开发人员增加负担、延长开发周期的问题。
为了解决上述问题,作为实现网络服务的程序,可以考虑应用:用能够与Ruby或者Java(注册商标)程序交互而运行的JRuby等脚本语言描述的程序。对于JRuby和Ruby而言,由于在执行程序时决定变量的类型,因此即使在实现用户界面的程序与实现网络服务的程序之间传输的变量发生变更,也不需要变更变量存放区域(包含变量存放区域的托管豆),而适用于敏捷软件开发。然而,由于JRuby和Ruby是脚本语言,在程序执行时的运行的稳定性相比BPEL较低。因此,存在以下需要:作为实现网络服务的程序,希望采用基于BPEL的程序。
为了满足上述的需要,考虑以下实施方式:在网络应用开发过程中,向客户展示用户界面等时,用于实现网络服务的程序实际上不需要进行提供网络服务的处理,而能够进行用于用户界面画面的转换等的变量的传输等的处理即可,基于此,确定开发对象软件的要件,在直到确定在实现用户界面的程序和实现网络服务的程序之间传输的变量为止的期间,作为实现网络服务的程序而应用以JRuby等脚本语言描述的程序,确定要件,还确定输出输入变量之后,作为实现网络服务的程序,基于所确定的输出输入变量,开发基于BPEL的程序,转换实现网络服务的程序。
然而,在上述实施方式中,还存在如下新问题:当从用脚本语言描述实现网络服务程序的程序替换成基于BPEL的程序时,对于变量存放区域(包含变量存放区域的托管豆),还需要从脚本语言用变量存放区域(包含变量存放区域的托管豆)转换成BPEL用变量存放区域(包含变量存放区域的托管豆),并且伴随变量存放区域(包含变量存放区域的托管豆)的转换,还需要进行变更实现用户界面的程序(例如,变更配置在用户界面画面内的每一个信息输入/显示栏的绑定位置)的作业。尤其,对于提供由多个用户界面画面构成的用户界面的网络应用来说,上述的作业非常繁琐,会给开发人员增加负担,延长开发周期。
另外,在上述的特开2005-228184号公报以及特开2009-9362公报中,虽然记载有关于多个程序之间的变量的传输,但是关于以下技术是没有任何记载:将进行变量传输的一对程序中的一个转换成另一个程序时,实现减轻作业负担的技术。
本发明是考虑上述事实而完成的,其目的在于得到,在将经由用户界面画面输入的变量传递到预定的程序并由计算机进行处理的应用程序开发中,在转换预定的程序时,能够实现减轻作业负担的应用开发支援装置、应用开发支援程序以及记录介质。
技术方案
为了实现上述目的,根据权利要求1所记载的发明的应用开发支援装置,包括以下单元而构成:第一控制单元,在执行程序时,在仅有将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与所述第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型的所述第一程序,传递值被存放在所述第一存放区域中的所述第一输入变量,由计算机进行所述第一处理;生成单元,通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的所述第二程序而设定的所述变量定义信息,生成第二存放区域,该第二存放区域对于在定义于所述变量定义信息的变量中的、至少从外部传递到第二程序的每一个第二输入变量设置存放区域;第二控制单元,在由所述生成单元而生成所述第二存放区域之后的第二期间,将存放在所述第一存放区域的第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域中,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理。
在权利要求1所记载的发明中,在第一期间,仅设置作为变量存放区域的第一存放区域,对于该第一存放区域,在执行程序时,至少输入在用户界面画面的信息输入栏中的第一输入变量的值与该第一输入变量的名称相关联而被存放。并且,根据权利要求1所记载的发明的第一控制单元在所述第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型的所述第一程序,传递值被存放在所述第一存放区域中的第一输入变量,由计算机进行所述第一处理。
如此,在第一期间,在执行程序时,输入在用户界面画面的信息输入栏中的第一输入变量的值首先与第一输入变量的名称相关联而被存放在第一存放区域之后,被传递到第一程序,进行第一处理。由于第一程序构成为,在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型,因此,例如,当变更用户界面画面,并伴随于此而变更第一输入变量的数量以及类型时,也无需变更第一存放区域的构成以及通过第一控制单元的处理,而可维持进行经由第一存放区域而将输入在用户界面画面的信息输入栏中的第一输入变量传递到第一程序的处理的状态。
从而,权利要求1所记载的发明的第一期间适于以下期间:例如,变更用户界面画面时,也能够在短时间内恢复到可启动的状态,因此当采用敏捷软件开发等适应性开发方法而开发将经由用户界面画面输入的变量传递到预定的程序并由计算机进行处理的应用程序时,反复进行用户界面等的变更的同时决定要件的期间。另外,作为第一程序,例如权利要求7所记载的那样,适用用脚本语言描述的程序,作为一例,优选JRuby的程序。
并且,根据权利要求1所记载的发明的生成单元,需要根据变量定义信息而预先定义在外部与第二程序之间传输的变量的类型,基于对于通过由计算机执行而进行第二处理的第二程序而设定的变量定义信息,生成第二存放区域,该第二存放区域对于在定义于变量定义信息的变量中的、至少从外部传递到第二程序的每一个第二输入变量设置存放区域。并且,根据权利要求1所记载的发明的第二控制单元,在由生成单元而生成第二存放区域之后的第二期间,将存放在第一存放区域的第一输入变量的值复制到第二存放区域中的、对应于第一输入变量的第二输入变量的存放区域中,将在存放区域中复制值的第二输入变量传递到第二程序,由计算机进行对应于所传递的第二输入变量的第二处理。
据此,在第二期间,在第一存放区域的基础上,追加由生成单元而生成的作为存放区域的第二存放区域,在执行程序时,输入在用户界面画面的信息输入栏的第一输入变量的值首先与第一输入变量的名称相关联而被存放在第一存放区域之后,通过第二控制单元,被复制到第二存放区域中的、对应于存放在第一存放区域的第一输入变量的第二输入变量的存放区域中,作为第二输入变量而传递到第二程序,以此进行根据所传递的第二输入变量的第二处理。另外,作为第二程序,例如优选基于BPEL的程序。并且,对于对应于第一输入变量的第二输入变量来说,例如通过赋予两者相同的名称,以此可以基于名称而进行判断。但是不限于此,例如,还能够参考预先登记有第一输入变量与第二输入变量之间的对应关系的表等,进行判断,此时两者名称也可以不相同。
如此,在权利要求1所记载的发明中,传递经由用户界面画面而输入的变量,并将由计算机进行处理的程序从第一程序转换成第二程序时(从第一期间进入第二期间时),虽然需要由生成单元生成第二存放区域,但是最初存放输入在用户界面画面的信息输入栏中的第一输入变量的值的区域,无论在第一期间还是在第二期间均相同(第一存放区域),因此在转换上述的程序时,也不需要变更用户界面画面侧的变量存放位置的设定等。从而,根据权利要求1所记载的发明,在将经由用户界面画面而输入的变量传递到预定的程序并由计算机进行处理的应用程序开发中,能够减轻在转换预定程序时的作业负担。
另外,在权利要求1所记载的发明中,从第一期间进入到第二期间之后,每一次变更在外部与第二程序之间传输的变量的数量和类型等时,需要再次设定变量定义信息以及再次生成第二存放区域,因此当采用敏捷软件开发等适应性开发方法而开发将经由用户界面画面输入的变量传递到预定的程序并由计算机进行处理的应用程序时,优选地,在已确定要件并且已确定用户界面和传输的变量的阶段,从第一期间进入第二期间。
权利要求2所记载的发明,在权利要求1所记载的发明中:第一控制单元在第一期间,对于第一程序,传递值被存放在第一存放区域的第一输入变量,由计算机进行第一处理,第一处理结束后,将从第一程序传递的第一输出变量的值与第一输出变量的名称相关联而存放在第一存放区域中;存放在第一存放区域的第一输出变量的值显示在用户界面画面的信息显示栏中;生成单元基于变量定义信息,生成第二存放区域,第二存放区域对于从外部传递到第二程序的每一个第二输入变量以及从第二程序传递到外部的每一个第二输出变量设置存放区域;第二控制单元在第二期间,将存放在第一存放区域的第一输入变量的值复制到第二存放区域中的、对应于第一输入变量的第二输入变量的存放区域,将在存放区域中复制值的第二输入变量传递到第二程序,由计算机进行根据所传递的第二输入变量的第二处理,第二处理结束后,将从第二程序传递的第二输出变量的值存放到在第二存放区域中的、对应于所述传递的第二输出变量的存放区域,同时与对应于第二输出变量的第一输出变量的名称相关联起来并作为第一输出变量而存放在第一存放区域中。
在权利要求2所记载的发明中,通过第一控制单元进行以下处理:在第一期间,对于第一程序,传递值被存放在第一存放区域的第一输入变量,由计算机进行第一处理,第一处理结束后,将从第一程序传递的第一输出变量的值与第一输出变量的名称相关联而存放在第一存放区域中。并且,存放在第一存放区域的第一输出变量的值显示在用户界面画面的信息显示栏中。如上所述,由于第一程序构成为,在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型,因此,在第一期间,例如,当变更用户界面画面,并伴随于此而变更第一输入变量的数量以及类型时,也不需变更第一存放区域的构成以及通过第一控制单元的处理,而可维持进行经由第一存放区域而将从第一程序传递的第一输出变量显示在用户界面画面的信息显示栏中的处理的状态。
在权利要求2所记载的发明中,生成单元基于变量定义信息,生成第二存放区域,第二存放区域对于从外部传递到第二程序的每一个第二输入变量以及从第二程序传递到外部的每一个第二输出变量设置存放区域;第二控制单元在第二期间,将存放在第一存放区域的第一输入变量的值复制到第二存放区域中的、对应于第一输入变量的第二输入变量的存放区域,将在存放区域中复制值的第二输入变量传递到第二程序,由计算机进行根据所传递的第二输入变量的第二处理,第二处理结束后,将从第二程序传递的第二输出变量的值存放到在第二存放区域中的、对应于所述传递的第二输出变量的存放区域,同时与对应于第二输出变量的第一输出变量的名称相关联起来并作为第一输出变量而存放在第一存放区域中。
如此,在权利要求2所记载的发明中,最初存放于输入在用户界面画面的信息输入栏中的第一输入变量的值的区域以及将从第二程序传递的第二输出变量的值作为第一输出变量的值而最终存放的区域,无论在第一期间还是在第二期间均相同(第一存放区域),因此将传递经由用户界面画面而输入的变量并且使计算机进行处理的程序从第一程序转换成第二程序时(从第一期间进入第二期间时),也不需要变更用户界面画面侧的变量存放位置以及显示对象的变量读取位置的设定等。从而,根据权利要求2所记载的发明,在将经由用户界面画面而输入的变量传递到预定的程序并使计算机进行处理、并且将从预定的程序传递的变量显示在用户界面画面的应用程序开发中,能够减轻在转换预定程序时的作业负担。
权利要求3所记载的发明,在权利要求1或2所记载的发明中:在包含第一存放区域的第一文件中预先赋予名称;在设计用户界面画面时,输入于用户界面画面的信息输入栏的第一输入变量的名称以及第一文件的名称设定在信息输入栏中;在执行程序时,至少将输入在用户界面画面的信息输入栏中的第一输入变量的值与第一输入变量的名称相关联而存放到第一存放区域的处理,是通过执行用于实现包含用户界面画面的用户界面的第三程序的计算机,基于设定在信息输入栏中的第一输入变量的名称以及第一文件的名称而进行的;生成单元在生成第二存放区域后,将与第一文件相同的名称赋予给包含第一存放区域和生成的第二存放区域的第二文件;用第二文件替换第一文件。
在权利要求3所记载的发明中,在包含第一存放区域的第一文件(例如,在作为第一控制单元发挥功能的程序中编入有第一存放区域的文件)中预先赋予名称,在设计用户界面画面时,输入于信息输入栏的第一输入变量的名称以及第一文件的名称设定在所述信息输入栏中,因此执行用于实现包含用户界面画面的用户界面的第三程序的计算机进行以下处理:基于设定在信息输入栏中的第一输入变量的名称以及第一文件的名称,在执行程序时,将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与第一输入变量的名称相关联而存放到第一存放区域的处理。并且,根据权利要求3所记载的发明的生成单元在上述构成中,生成第二存放区域之后,将与第一文件相同的名称赋予给包含第一存放区域和生成的第二存放区域的第二文件,用第二文件替换第一文件。
据此,在通过由计算机执行第三程序而实现的处理中,基于第二文件与第一文件的名称相同,识别包含在替换之后的第二文件中的第一存放区域与包含在替换前的第一文件的第一存放区域相同的区域,输入在用户界面画面的信息输入栏中的第一输入变量的值的存放位置从包含在替换前的第一文件的第一存放区域转换成包含在替换后的第二文件的第一存放区域。从而,根据权利要求3所记载的发明,即使由用于实现用户界面的第三程序实现的处理构成为基于包含存放区域的文件的名称而识别第一输入变量的存放位置,当从第一程序转换成第二程序(从第一期间进入第二期间)时,也不需要变更用户界面画面侧的设定(第三程序)。
另外,在权利要求3所记载的发明中,例如权利要求4所记载的那样,在设计所述用户界面画面时,显示在用户界面画面的信息显示栏中的第一输出变量的名称以及第一文件的名称设定在信息显示栏中;将存放在第一存放区域中的第一输出变量的值显示到用户界面画面的信息显示栏的处理,也是通过执行第三程序的计算机,基于设定在信息显示栏中的第一输出变量的名称以及第一文件的名称而进行的。
此时,通过权利要求3所记载的发明的生成单元,由于将与第一文件相同的名称赋予给第二文件,并且由第二文件替换第一文件,因此在由计算机执行第三程序而实现的处理中,显示在用户界面画面的信息显示栏中的第一输出变量的值的读取位置从包含在替换前的第一文件的第一存放区域转换成包含在替换后的第二文件的第一存放区域。从而,根据权利要求4所记载,即使根据用于实现用户界面的第三程序而实现的处理构成为基于包含存放区域的文件的名称而识别第一输出变量的读取位置,当从第一程序转换成第二程序(从第一期间进入第二期间)时,也不需要变更用户界面画面侧的设定
(第三程序)。
并且,在权利要求3或4所记载的发明中,第三程序例如权利要求5所记载的那样,通过计算机并使用由计算机生成的第一工具而生成,该第三程序用于通过计算机而在显示画面上显示包含作为用户界面画面的构成元素而可使用的、可以进行信息的输入以及显示中的至少一个的信息输入/显示栏的多种符号,并且通过由开发人员至少进行通过在画面内的期望的位置中配置多种符号中期望的符号而设计用户界面画面的第一操作,以此规定构建对象的用户界面时,实现用户界面。另外,作为上述的第一工具,例如权利要求6所记载的那样,可以适用基于JSF标准的工具。
并且,在权利要求1至7中任意一项所记载的发明中,所述第一程序可以在执行平台程序的计算机上执行,该平台程序作为用于执行第一程序的平台发挥功能。此时,例如权利要求8所记载的那样,在通过执行由计算机的第一程序而实现的所述第一处理中,决定外部与第一程序之间传输变量的类型的处理,是通过由计算机执行所述平台程序而进行的。
并且,在权利要求1至8中任意一项所记载的发明中,第二程序例如权利要求9所记载的那样,通过计算机并使用由计算机生成的第二工具而生成,该第二程序用于当由开发人员创建规定期望的处理的流程图时,执行所创建的流程图所表示的处理。另外,作为上述的第二工具,例如权利要求10所记载的那样,可以适用基于BPEL标准的工具。
根据权利要求11所记载的发明的应用开发支援程序使计算机作为以下单元发挥功能:第一控制单元,在执行程序时,在仅有将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与所述第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型的所述第一程序,传递值被存放在所述第一存放区域中的所述第一输入变量,由计算机进行所述第一处理;生成单元,通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的所述第二程序而设定的所述变量定义信息,生成第二存放区域,该第二存放区域对于在定义于所述变量定义信息的变量中的、至少从外部传递到第二程序的每一个第二输入变量设置存放区域;第二控制单元,在由所述生成单元而生成所述第二存放区域之后的第二期间,将存放在所述第一存放区域的第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域中,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理。
由于根据权利要求11所记载的发明的应用开发支援程序是使计算机作为第一控制单元、生成单元以及第二控制单元发挥功能的程序,因此通过计算机执行根据权利要求11所记载的发明的程序,由此使计算机作为权利要求1所记载的发明的应用开发支援装置发挥功能,从而与权利要求1所记载的发明相同地,在将经由用户界面画面而输入的变量传递到预定的程序并由计算机进行处理的应用程序开发中,能够减轻在转换预定程序时的作业负担。
根据权利要求12所记载的发明的记录介质记录有使计算机作为以下单元发挥功能的应用开发支援程序:第一控制单元,在执行程序时,在仅有将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与所述第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型的所述第一程序,传递值被存放在所述第一存放区域中的所述第一输入变量,由计算机进行所述第一处理;生成单元,通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的所述第二程序而设定的所述变量定义信息,生成第二存放区域,该第二存放区域对于在定义于所述变量定义信息的变量中的、至少从外部传递到第二程序的每一个第二输入变量设置存放区域;第二控制单元,在由所述生成单元而生成所述第二存放区域之后的第二期间,将存放在所述第一存放区域的第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域中,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理。
由于根据权利要求12所记载的发明的记录介质记录有根据权利要求11的应用开发支援程序,即,使计算机作为第一控制单元、生成单元以及第二控制单元发挥功能的程序,因此通过读取并执行记录在根据权利要求12所记载的发明的记录介质中的程序,以此使计算机作为权利要求1所记载的发明的应用开发支援装置发挥功能,从而与权利要求1、11所记载的发明相同地,在将经由用户界面画面传递到预定的程序并使计算机进行处理的应用程序开发中,能够减轻在转换预定程序时的作业负担。
有益效果
如同以上所述,在本发明中,在执行程序时,在仅有将输入在用户界面画面的信息输入栏中的第一输入变量的值与第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与第一程序之间传输的变量的类型的第一程序,传递值被存放在第一存放区域中的第一输入变量,进行第一处理;通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的第二程序而设定的变量定义信息,生成第二存放区域,该第二存放区域对于在定义于变量定义信息的变量中的、至少从外部传递到第二程序的每一个第二输入变量设置存放区域;在生成第二存放区域之后的第二期间,将存放在第一存放区域的第一输入变量的值复制到第二存放区域中的、对应于第一输入变量的第二输入变量的存放区域中,将在存放区域中复制值的第二输入变量传递到第二程序,由计算机进行根据所传递的第二输入变量的第二处理。因此,在将经由用户界面画面输入的变量传递到预定的程序并使计算机进行处理的应用程序开发中,存在以下良好的效果:能够减轻在转换预定程序时的作业负担。
附图说明
图1为概略示出在本实施方式中作为应用程序开发环境的第一计算机系统的构成的框图。
图2为示出UI构建工具的创建画面的一个示例的图。
图3为示出在原型阶段(UI展示时)的处理流程的一个示例的示意图。
图4A为示出网络服务创建工具的创建画面的一个示例的示意图。
图4B为示出利用网络服务创建工具在创建画面上创建的工作流的一个示例的示意图。
图5为示出托管豆生成处理的内容的流程图。
图6为示出从原型脚本转换成本启动油的网络服务提供程序之后的处理流程的一个示例的原理图。
图7为示出复制处理的内容的流程图。
图8为概略示出作为应用程序启动环境的第二计算机系统的构成的框图。
具体实施方式
以下,参照附图来详细说明用于实施本发明的实施方式的一个示例。图1示出本实施方式的第一计算机系统10。本实施方式的第一计算机系统10是在开发用于向访问预定的网站的用户提供预定的服务(网络服务)的应用程序时所使用的计算机系统,由服务器计算机12经由局域网(intranet)14分别与多台客户端16连接而构成。
每一个客户端16是由开发上述的应用程序的开发人员所操作的终端,例如由个人计算机(PC)等构成,具有CPU 16A、由RAM等构成的存储器(memory)16B、由HDD(Hard Disk Drive,硬盘驱动器)或内存等构成的非易失性的存储部16C、网络接口(I/F)部16D。每一个客户端16分别连接有作为显示单元的显示器18、作为输入单元的键盘20以及鼠标22,并经由网络I/F部16D与局域网14连接。
并且,上述的应用程序由以下程序构成:用于实现预定的网站中的用户界面(UI)部分的画面控制程序(记载于权利要求3的第三程序)、用于向用户提供预定的网络服务的网络服务提供程序(本发明的第二程序)、实现两者之间的变量的传输的界面程序(在本实施方式中,作为所述界面程序,以基于JSF(Java(注册商标)ServerFaces)标准的托管豆(managed bean)为例进行说明)。
客户端16的存储部16C中分别安装有用于生成和开发上述的画面控制程序的UI构建工具的程序和用于生成和开发上述的网络服务提供程序的网络服务创建工具的程序。另外,UI构建工具对应于权利要求5所记载的第一工具,网络服务创建工具对应于权利要求9所记载的第二工具。作为UI构建工具,优选的是基于JSF标准的工具,但是也可以是基于其它标准的工具。并且,作为网络服务创建工具,优选的是基于BPEL(Business Process ExecutionLanguage,业务流程执行语言)标准的工具,但是也可以是基于其它标准的工具。
客户端16的存储部16C中还分别安装有以下程序:利用UI构建工具生成的画面控制程序、作为用于执行该画面控制程序的平台发挥功能的第一平台程序、作为本发明的第一程序的一个示例的原型脚本、托管豆生成程序、托管豆(程序)、作为用于执行编入在原型脚本或托管豆的程序的平台发挥功能的第二平台程序。客户端16对应于权利要求11、12所记载的计算机,托管豆生成程序对应于权利要求11、12所记载的应用开发支援程序中的使计算机作为程序生成单元发挥功能的程序。
另一方面,服务器计算机12具有CPU 12A、由RAM等构成的存储器12B、非易失性的存储部C、网络接口(I/F)部12D,并经由网络I/F部12D与局域网14连接。在使用所述的网络服务创建工具的网络服务提供程序开发中,虽然以每一个网络服务(例如,后述的“书籍检索”等)为单位开发程序,但是所开发的网络服务提供程序也可以用于在其它网站提供相同网络服务。因此,在服务器计算机12的存储部12C中存储有用于登记所开发的、从客户端16上载的网络服务提供程序的网络服务库,登记在该网络服务库中的网络服务提供程序可由操作互不相同的客户端16的多个开发人员分别使用。
其次,参照图8,对作为由第一计算机系统10开发的应用程序的启动环境的第二计算机系统30的构成进行说明。第二计算机系统30具有用于运营特定网站的网站运营系统32。网站运营系统32具有应用服务器34、网络服务提供服务器36以及DB(数据库)服务器38,网络服务提供服务器36以及DB服务器38经由通信线分别连接到应用服务器34。
应用服务器34具有CPU 34A、由RAM等构成的存储器34B、非易失性的存储部34C、网络I/F部34D。另外,对于存储在存储部34C中的程序,将在后面进行说明。应用服务器34的网络I/F部34D连接于局域网40(代替局域网40,也可连接于因特网),局域网40连接有多台客户端42,各客户端42分别具有CPU 42A、由RAM等构成的存储器42B、非易失性的存储部42C、网络I/F部42D,存储部42C中安装有浏览器(网络浏览软件)程序,同时各客户端42分别连接有作为显示单元的显示器44、作为输入单元的键盘46及鼠标48。并且,网络服务提供服务器36具有CPU 36A、由RAM等构成的存储器36B、非易失性的存储部36C、网络I/F部36D。另外,对于存储在存储部36C中的程序,将在后面进行说明。
接着,对本实施方式的作用进行说明。在本实施方式中,作为开发对象的应用程序包含用于实现用户界面的画面控制程序和用于提供网络服务的网络服务提供程序而构成。通常,这种构成的应用程序开发多数通过如下方法来进行。
即,首先,开发人员规定开发对象的应用程序的要件(例如,在画面控制程序与网络服务提供程序之间传输的变量等),接着根据所规定的要件,设定描述网络服务提供程序的输入变量以及输出变量的名称和类型的变量定义信息。接下来,开发人员利用网络服务创建工具,创建规定由网络服务提供程序而实现的处理的流程图之后,基于所创建的流程图以及所设定的变量定义信息,由网络服务创建工具而自动生成网络服务提供程序。并且,开发人员基于所设定的变量定义信息,由预定的工具,自动生成在画面控制程序与网络服务提供程序之间传输的变量的存放区域以及编入有进行两程序之间的变量传输的程序的托管豆。进一步地,开发人员利用UI构建工具而创建用户界面画面,或者通过进行将用户界面画面中的信息输入栏和信息显示栏与编入在托管豆的对应的变量的存放区域相关联起来(绑定)等操作而构建用户界面,然后通过UI构建工具自动生成画面控制程序。据此,开发包含画面控制程序、网络服务提供程序以及托管豆的应用程序。
对此,如上所述的应用程序开发中,当应用适应性开发方法(敏捷软件开发,即,不严格地规定开发对象的应用程序要件而开始开发,且在要件等发生变更时快速对应的同时继续进行开发)时,尤其对于根据画面控制程序而实现的用户界面,由于反复地进行相关过程,即向客户展示当前的用户界面,同时与客户讨论,并根据客户的要求等变更用户界面等,再次向客户展示变更后的新的用户界面等的过程,决定包含画面构成的要件,因此在确定由画面控制程序而实现的用户界面的期间,在画面控制程序与网络服务提供程序之间传输的变量等可能会被改变。并且,所述变量被改变时,不仅需要变更网络服务提供程序,而且还需要变更变量定义信息以及托管豆,因此存在,由所述变量的改变频率而给开发人员带来相当大的负担的同时,还延长直到再次向客户展示变更后的新的用户界面等为止的时间的问题。
为此,本实施方式中,当应用适应性开发方法而开发应用程序时,将应用程序开发周期分为:直到确定开发对象的应用程序要件,且确定在画面控制程序与网络服务提供程序之间传输的变量为止的第一期间(第一阶段);确定开发对象的应用程序要件且确定所述变量以后的第二期间(第二阶段)。在第一阶段中,代替网络服务提供程序,而使用由脚本语言(例如,JRuby等)描述的进行简单的处理的程序(原型脚本),并且作为托管豆也使用用于原型脚本的托管豆(实现在画面控制程序与原型脚本之间的变量传输的托管豆),在从第一阶段进入第二阶段时,从原型脚本转换成网络服务提供程序,并且还进行托管豆的转换。以下,关于本实施方式中的应用程序开发,依次进行说明。
即,上述的第一阶段中,开发人员利用UI构建工具在客户端16上进行画面控制程序开发。在画面控制程序开发中,开发人员首先在客户端16上启动UI构建工具的程序。据此,在客户端16的显示器18上显示例如在图2中所示的创建画面。UI构建工具是具有如下功能的工具:使开发人员进行用于构建UI的操作,并且如果开发人员结束操作,则生成用于实现所构建的UI的画面控制程序。图2中示出的创建画面中分别设有用于开发人员创建UI画面(网页)的UI画面创建区域60、显示有包含可作为UI画面的构成元素而使用的信息输入/显示栏和按钮的各种组件的选项板62和用于针对配置在UI画面的组件设定各种属性信息(property,属性)的属性设定区域64。并且,当开发人员进行预定的操作时,还显示用于定义创建在UI画面创建区域60的多个UI画面之间的转换的画面转换定义区域(图2中省略图示)。
如果在客户端16的显示器18上显示上述的创建画面,则开发人员通过用于规定构建对象的UI的操作,进行提供网络服务的预定网站的UI的构建(画面控制程序开发)。即,开发人员利用鼠标22和键盘20从显示在选项板62内的各种组件中选择期望的组件,配置在UI画面创建区域60内的期望的位置上,并且根据需要,输入需要显示在UI画面内的文本信息,或者设定属性信息(第一操作),通过反复进行第一操作,依次创建(设计)构成预定的网站的多个UI画面(网页)。
例如,当创建(设计)将“书籍名”以及“作者”作为输入项目,将该输入项目的值作为检索条件进行书籍检索,并在结果中,将“出版社”以及“发行日”作为输出项目显示的书籍检索画面时,开发人员进行以下操作:从显示在选项板62内的各种组件中选择信息输入用组件和信息显示用组件、用于指示执行检索的组件,将选择的组件配置到UI画面创建区域60内的期望的位置上,并且设定配置的组件的属性信息。据此,如示出在图2的UI画面创建区域60内的那样,创建(设计)分别配置有信息输入栏50、检索指示按钮52以及信息显示栏54的书籍检索画面。
并且,对于配置在UI画面中的每一个信息输入栏50,在属性设定区域64中还设定有:作为属性信息,将每一个信息输入栏50与在编入于托管豆的变量的存放区域中通过每一个信息输入栏50而输入的变量的存放区域相关联(还称为UI绑定)的信息。对于配置在UI画面中的每一个信息显示栏54,在属性设定区域64中还设定有:作为属性信息,将每一个信息显示栏54与在编入于托管豆的变量的存放区域中通过每一个信息显示栏54而显示的变量的存放区域相关联(UI绑定)的信息。
在此,例如,当经由托管豆而与画面控制程序传输变量的程序为基于BPEL标准的网络服务提供程序时,需要在托管豆中,以网络服务提供程序的每一个输入变量以及每一个输出变量为单位设定变量的存放区域。对此,当经由托管豆而与画面控制程序传输变量的程序,例如为由JRuby等脚本语言描述的原型脚本时,向原型脚本传递变量是通过以下方式来实现:直接传递将任意的变量以仅将任意的数按照KEY-VALUE形式(每一个变量中登记名称(KEY)和值(VALUE)的形式)统一起来的方式存放的单一区域的信息。
因此,在本实施方式中,作为用于在第一阶段中所使用的原型脚本的托管豆,例如图3所示的那样,预先准备有:编入有用于将从画面控制程序传输的所有的变量以KEY-VALUE形式统一起来而存放的统一存放区域(图3所示的统一存放区域map1);编入有用于将向画面控制程序传输的所有的变量以KEY-VALUE形式统一起来而存放的统一存放区域(图3所示的统一存放区域map2)以及在UI画面与原型脚本之间传输变量的变量传输程序的通用的托管豆(图3所示的托管豆“foo”)。另外,上述的统一存放区域对应于本发明的第一存放区域,用于原型脚本的托管豆对应于权利要求3所记载的第一文件。
因此,在本实施方式中,对于配置在UI画面的每一个信息输入栏50,代替如现有技术那样与变量单位的存放区域(个别存放区域)相关联的情况,而与从画面控制程序传输的变量的统一存放区域(例如,图3所示的统一存放区域map1)相关联起来,并且对通过每一个信息输入栏50而输入的变量的名称进行指定的操作。例如,图3中,在每一个信息输入栏50中明确示出,在UI画面的一个示例的书籍检索画面内的每一个信息输入栏50中所设定的属性信息的一个示例,例如,在明确示出于“书籍名”的信息输入栏50中的属性信息“#(foo.map1.name)”中,“#(foo.map1....)”的部分表示所述信息输入栏50与托管豆“foo”的统一存放区域map1相关联,“#(....name)”的部分表示通过所述信息输入栏50所输入的变量的名称为“name”。
并且,在本实施方式中,也对于配置在UI画面的每一个信息显示栏54,代替如现有技术那样与变量单位的个别存放区域相关联的情况,而与传输到画面控制程序变量的统一存放区域(例如,图3所示的统一存放区域map2)相关联起来,并且进行指定显示在每一个信息显示栏54中的变量的名称的操作。例如,图3中,在每一个信息显示栏54中也明确示出,在UI画面的一个示例的书籍检索画面内的每一个信息显示栏54中所设定的属性信息的一个示例,例如,在明确示出于“出版社”的信息显示栏54中的属性信息“#(foo.map2.publish)”中,“#(foo.map2....)”的部分表示所述信息显示栏54与托管豆“foo”的统一存放区域map2相关联,“#(....publish)”的部分表示显示在所述信息显示栏54中的变量的名称为“publish”。
并且,如果创建构成网站的所有的UI画面(网页),则开发人员在客户端16的显示器18上显示画面转换定义区域,并进行在显示的画面转换定义区域内规定创建的各UI画面的转换的操作等。并且,如果经过如上所述的操作而完成规定UI的操作,则开发人员针对UI构建工具,指示生成用于实现所述UI的程序。据此,UI构建工具生成实现由开发人员构建的UI(根据客户端42(参照图8)的请求,在客户端42的显示器44上顺序显示各UI画面)的画面控制程序。该画面控制程序包含规定每一个UI画面的数据和规定当用户通过每一个UI画面进行各种操作时的处理的程序而构成。
并且,开发人员在第一阶段中还进行原型脚本开发。原型脚本为,当向用户展示由画面控制程序而实现的当前的UI时,在网络服务提供程序不存在的情况下,如同网络服务提供程序存在的情况,改变UI画面的显示,或者进行用于转换UI画面的虚拟处理的程序。例如,图3所示的示例那样,原型脚本进行以下处理:从托管豆“foo”接收统一存放区域map1的信息,并且将以KEY-VALUE形式设定有适当的值的信息作为统一存放区域map2的信息向托管豆“foo”传输。原型脚本开发如下进行:例如,利用JRuby等脚本语言来描述并创建实现上述的虚拟处理的程序,通过在客户端16上启动的文本编辑器等而依次输入创建的程序。由原型脚本需要实现的处理是极其简单的处理,因此原型脚本的开发不会给开发人员带来负担,并且能够在短时间完成。
本实施方式中,如果在构成第一计算机程序10的多台客户端16中的至少一部分由易于携带的笔记本型等的PC构成,并且经过上述的作业准备好所有的画面控制程序、原型脚本以及用于原型脚本的托管豆,则开发人员将这些存储到由易于携带的PC构成的客户端16的存储部16C中(还存储图1所示的第一/第二平台程序),并且当去往客户处,向客户展示当前的用户界面等的同时,关于要件等与客户讨论时,从局域网14断开所述客户端16而带出去。并且,开发人员在客户关注客户端16的显示器18的状态下,启动画面控制程序,并在显示器18上显示的UI画面内的信息输入栏中输入信息,或者选择按钮等操作。另外,这些操作也可以由客户来进行。
例如,当进行在UI画面内的信息输入栏50中输入信息,选择用于指示执行提供预定的网络服务的处理的按钮的操作时,如图3所示,画面控制程序根据设定于输入有信息的信息输入栏50的属性信息,在以该属性信息被指定名称的托管豆(用于原型脚本的托管豆)中的、以所述属性信息被指定名称的统一存放区域(从画面控制程序传输的变量的统一存放区域)中,以KEY-VALUE形式存放所输入的信息(的变量名以及变量值),由客户端16进行调用托管豆的变量传输程序的处理。例如,图3的示例中示出以下状态:在“书籍名”的信息输入栏50中,作为名称为“name”的变量的值输入有“AA”;在“作者”的信息输入栏50中作为名称为“writer”的变量的值,输入有“aa”,这些变量值以KEY-VALUE形式存放在托管豆“foo”的统一存放区域map1中。
如果托管豆的变量传输程序由画面控制程序调用,则调用原型脚本,并由客户端16进行以下处理:向原型脚本传递,该信息为在编入于托管豆的统一存放区域中的、从画面控制程序传输的变量的统一存放区域(在图3的示例中,统一存放区域map1)中所存放的所有的信息。
并且,如果原型脚本由变量传输程序调用并传递存放在统一存放区域中的所有的信息,则首先由客户端16执行作为用于执行原型脚本的平台发挥功能的第二平台程序,由此进行决定在从变量传输程序传递的信息中以KEY-VALUE形式设定的每一个变量值的处理。接着,由客户端16执行原型脚本,由此根据所决定的每一个变量的类型进行上述的虚拟处理(对应于本发明的第一处理的处理)。在该虚拟处理中,还包含以下处理:生成需要存放在编入于托管豆的统一存放区域中的、向画面控制程序传输的变量的统一存放区域(在图3的示例中,统一存放区域map1)中的信息(关于预先设定的变量,以KEY-VALUE形式设定名称以及值的信息),调用托管豆的变量传输程序,将生成的信息传递给变量传输程序。
如果托管豆的变量传输程序由原型脚本调用而传递信息,则将传递的信息存放到编入于托管豆的统一存放区域中的、向画面控制程序传输变量的统一存放区域(在图3的示例中,统一存放区域map2)之后,根据客户端16进行调用画面控制程序的处理。例如,图3的示例示出以下状态:在托管豆“foo”的统一存放区域map2中,以KEY-VALUE形式分别存放变量的名称“publish”和其值“BB”以及变量的名称“date”和其值“bb”。另外,此时存放在统一存放区域中的变量对应于本发明的第一输出变量。
并且,如果画面控制程序由托管豆的变量传输程序调用,则根据设定在UI画面内的信息显示栏54的属性信息,从以该属性信息指定的、用于原型脚本的托管豆中的、以所述属性信息指定的统一存放区域中(向画面控制程序传输变量的统一存放区域),读取以所述属性信息被指定名称的变量的值,由客户端16进行将读取的变量值显示在对应的信息显示栏54内的处理。例如,图3的示例中,在“出版社”的信息显示栏54中显示作为名称为“publish”的变量的值“BB”,在“发行日”的信息显示栏54中显示作为名称为“date”的变量的值“bb”。
另外,由编入于用于原型脚本的托管豆的变量传输程序而实现的上述的处理是相当于根据本发明的第一控制单元(具体来讲,记载于权利要求2的第一控制单元)的处理。编入于用于原型脚本的托管豆的变量传输程序构成根据本发明的应用开发支援程序的一部分。
对于显示在客户端16的显示器18上的UI画面,在每次由开发人员(或者客户)进行UI画面显示变化和伴随UI画面转换的操作时,画面控制程序、托管豆的变量传输程序以及原型脚本相互而进行如上所述的处理,生成虚拟的UI画面显示变化和UI画面转换,由此注视客户端16的显示器18的客户能够了解根据当前的画面控制程序而实现的当前状态的用户界面,并且可以与开发人员讨论其适用与否,或者向开发人员转达对于当前状态的用户界面的改进点等要求。
开发人员经过与客户的讨论,或者从客户接收到改进点等要求,因此需要变更由当前的画面控制程序而实现的当前状态的用户界面时,利用UI构建工具而修改画面控制程序,以使由画面控制程序而实现的用户界面变更为客户所要求的新的用户界面。另外,虽然根据用户界面变更内容需要变更在画面控制程序与原型脚本之间传输的变量的内容和数量,还需要修改原型脚本,但是这种情况下关于托管豆也不需要变更由变量传输程序而实现的处理,也不需要变更统一存放区域。因此,虽然还依赖于用户界面变更程度,但是可以当场进行画面控制程序(以及原型脚本)的修改,由此还可以当场向客户展示新的用户界面。
如果经过上述的各流程而确定开发对象应用程序的要件,还确定在画面控制程序与原型脚本(原来是网络服务提供程序)之间传输的变量,则开发人员基于确定的变量,继续设定并生成描述所开发的网络服务提供程序的输入变量以及输出变量的名称和类型等的变量定义信息。该变量定义信息例如在BPEL的标准中被称为WSDL“Web Service Description Language”。并且,在本实施方式中,对于网络服务提供程序的输入变量以及输出变量,存在“利用与在UI画面的信息输入栏和信息显示栏中作为属性信息而设定的变量相同的名称”的开发规则,开发人员根据上述的开发规则而决定网络服务提供程序的每一个输入变量以及每一个输出变量的名称,将决定的名称设定在变量定义信息中。
如果完成变量定义信息的设定和生成,则开发人员利用网络服务创建工具而进行网络服务提供程序的开发。即,开发人员在客户端16上启动网络服务创建工具的程序,则客户端16的显示器18中显示如作为示例示出在图4A的创建画面。网络服务创建工具是具有以下功能的工具:如果由开发人员而创建规定用于实现提供对象的网络服务的处理的流程图,则由计算机进行生成用于执行创建的流程图所表示的处理的网络服务提供程序。图4A示出的创建画面中设定有用于开发人员创建流程图的作业区域和显示创建流程图时能够利用的表示互不相同的处理的多种部件(符号)72的选项板70。
如果显示上述的创建画面,则开发人员利用鼠标22和键盘20从显示在选项板70内的多个部件72中选择期望的部件72而配置到作业区域74,并且根据需要,输入对所配置的部件72表示的处理内容进行规定的信息的同时,规定配置的部件72和作业区域74与之前已配置的部件72之间的连接关系(各部件72所表示的处理的执行顺序),通过反复进行这样的操作,作为示例,如图4B所示,创建对用于实现提供对象的网络服务的处理进行规定的流程图。如果完成流程图的创建,则开发人员进行指示生成对应所创建的流程图的程序的操作。
显示在选项板内的每一个部件附带有用于实现每一个部件所表示的处理的程序。如果网络服务创建工具收到生成程序的指示,则基于由开发人员输入的、规定处理内容的信息以及描述在变量定义信息中的每一个输入/输出变量的类型等,修改构成创建的流程图的每一个部件所附带的程序,并根据创建的流程图中的每一个部件的连接关系进行排序等处理,生成用于执行创建的流程图所表示的处理的程序(网路服务提供程序)。据此,可以开发提供期望的网络服务的网络服务提供程序。
接着,开发人员为了得到用于网络服务提供程序的托管豆(用于实现在画面控制程序与网络服务提供程序之间变量的传输的新的托管豆),在客户端16上启动托管豆生成程序。据此,根据客户端16进行图5所示的托管豆生成处理。
托管豆生成处理中,首先在步骤100中,参照描述网络服务提供程序的输入/输出变量的变量定义信息(例如,在BPEL标准中是WSDL),提取描述在变量定义信息中的所有的输入变量以及输入变量。在接下来的步骤102中,作为编入于新生成的托管豆的一个组件,对于在步骤100中提取的每一个变量生成变量的存放区域(个别存放区域)。例如,当网络服务提供程序的输入变量为变量“name”以及变量“writer”,输出变量为变量“publish”以及变量“date”时,作为示例,如图6所示,就会生成用于存放各变量的四个个别存放区域56。另外,在上述处理中生成的个别存放区域对应于根据本发明的第二存放区域。
在接下来的步骤104中,作为编入于新生成的托管豆的一个组件,生成用于由计算机进行在步骤102中生成的个别存放区域与网络服务提供程序之间传输变量的处理的变量传输程序。例如,当网络服务提供程序的输入变量为变量“name”以及变量“writer”时,根据上述的步骤104的处理,作为变量传输程序,生成用于由计算机进行以下处理的程序:调用网络服务提供程序,读取存放在变量“name”的个别存放区域的值(数据)以及存放在变量“writer”的个别存放区域的值(数据),将读取的数据传递到被调用的网络服务提供程序。另外,当托管豆在Java平台上运行,且网络服务提供程序为基于BPEL标准(BPEL平台)的程序时,需要将上述的程序构成为:还由计算机进行将从个别存放区域读取的java数据转换成XML格式的数据的处理。在图6中将上述的程序表示成“Java→XML转换部”而示出。
并且,例如当网络服务提供程序的输出变量为变量“publish”以及变量“date”时,根据上述的步骤104的处理,还生成用于由计算机进行以下处理的、作为变量传输程序的程序:如果由网络服务提供程序调用,同时从网络服务提供程序传递变量“publish”的值(数据)以及变量“date”的值(数据),则将所传递的变量“publish”的值(数据)存放到变量“publish”的个别存放区域,同时将所传递的变量“date”的值(数据)存放到变量“date”的个别存放区域。另外,当托管豆在Java平台上运行,且网络服务提供程序为基于BPEL标准(BPEL平台)的程序时,需要将上述的程序构成为:使计算机还进行将从网络服务提供程序传递的XML格式的数据转换成java数据的处理。在图6中将上述的程序表示成“XML→Java转换部”而示出。
在接下来的步骤106中,作为编入于新生成的托管豆的一个组件,从所述托管豆提取编入在用于原型脚本的托管豆的统一存放区域(由画面控制程序传输的变量的统一存放区域以及传输到画面控制程序的变量的统一存放区域)。并且,在步骤108中,作为编入于新生成的托管豆的一个组件,生成在于步骤106中提取的统一存放区域和在之前的步骤102中生成的个别存放区域之间复制变量的变量复制程序。
例如,当网络服务提供程序的输入变量为变量“name”以及变量“writer”,且输出变量为变量“publish”以及变量“date”时,根据上述的步骤108的处理,生成由计算机进行以下处理的、作为变量复制程序的程序:如果在从画面控制程序接收的变量的统一存放区域中作为变量“name”以及变量“writer”而存放新值,则将所存放的变量“name”的新值复制在变量“name”的个别存放区域中,而将所存放的变量“writer”的新值复制在变量“writer”的个别存放区域中,并且如果在变量“publish”的个别存放区域以及变量“date”的个别存放区域中存放新值,则将所存放的变量“publish”以及变量“date”的新值以KEY-VALUE形式分别复制在传输到画面控制程序的变量的统一存放区域。另外,在图6中将上述的程序表示成“变量复制部”而示出。
并且,在步骤110中,对于编入有在步骤106中提取的统一存放区域、在步骤102中生成的个别存放区域、在步骤104中生成的变量传输程序以及在步骤108中生成的变量复制程序的新托管豆,赋予与用于原型脚本的托管豆相同的名称而进行编译,结束托管豆生成处理。另外,步骤110对应于权利要求3所记载的生成单元的处理。
据此,生成用于实现在画面控制程序和网络服务提供程序之间变量的传输的新托管豆。另外,由托管豆生成程序而实现的上述的托管豆生成处理相当于根据本发明的生成单元的处理,托管豆生成程序构成根据本发明的应用开发支援程序的一部分。并且,由上述的托管豆生成处理而生成的用于网络服务提供程序的托管豆对应于权利要求3所记载的第二文件。
如上所述,如果完成变量定义信息的生成、网络服务提供程序的开发以及新托管豆的生成,则开发人员从客户端16将网络服务提供程序以及对应的变量定义信息上载到服务器计算机12,将上载的网络服务提供程序以能够由服务器计算机12执行的状态与变量定义信息一同登记到网络服务库。另外,通过将网络服务提供程序以及变量定义信息登记到网络服务库,以此也能使其他开发人员使用该程序和信息。接着,开发人员通过将存储在客户端16的存储部16C中的托管豆(用于原型脚本的托管豆)替换成新生成的托管豆,从第一阶段进入到第二阶段。
另外,由于在第二阶段中不使用原型脚本,因此在从第一阶段进入到第二阶段时,虽然也可以删除存储在客户端16的存储部16C的原型脚本,但是伴随托管豆替换,托管豆不会调用原型脚本,因此也可以不删除而直接存储。在第二阶段中,伴随托管豆的替换,经由托管豆而与画面控制程序传输变量的程序从原型脚本转换成网络服务提供程序,由服务器计算机12而执行网络服务提供程序,因此替代由原型脚本的虚拟处理,而进行向用户提供所指示的网络服务的处理。
即,当在客户端16上启动画面控制程序之后,在显示于显示器18上的UI画面内的信息输入栏中输入信息,并且进行选择用于执行提供预定的网络服务的处理的按钮的操作时,如图6所示,画面控制程序通过客户端16而进行以下处理:根据设定在输入有信息的信息输入栏50的属性信息,在以该属性信息被指定名称的托管豆中,以所述属性信息被指定名称的统一存放区域(从画面控制程序接收的变量的统一存放区域)内以KEY-VALUE形式存放所输入的信息(的变量名以及变量值)。
在此,由于替换后的新托管豆(用于网络服务提供程序的托管豆)与替换前的托管豆(用于原型脚本的托管豆)的名称相同,并且还编入有与替换前的托管豆相同的名称的统一存放区域,因此不需要变更设定在信息输入栏50中的属性信息,而与托管豆替换前相同地,输入在信息输入栏50中的信息的变量名以及变量值以KEY-VALUE形式被存放在替换后的新托管豆的统一存放区域内,并调用托管豆的变量传输程序。
在此,编入在新托管豆的变量复制程序通过客户端16而进行如图7所示的变量复制处理。即,在变量复制处理中,在步骤120中判断是否在编入于托管豆中的统一存放区域内存放有变量的新的值。如果判断结果为否定,则进入到步骤122,判断是否在编入于托管豆中的任意个别存放区域内存放有变量的新的值。如果该判断结果也是否定,则返回到步骤120,直到任意一个判断结果为肯定为止,反复进行步骤120、122。
如上所述,如果通过画面控制程序,输入在信息输入栏50中的信息的变量名以及变量值以KEY-VALUE形式存放在托管豆的统一存放区域内,则步骤120的判断结果为肯定,进入到步骤124,从统一存放区域读取存放在统一存放区域内的新的变量名称以及变量值。在接下来的步骤126中,基于在步骤124中读取的变量名称,识别对应于在统一存放区域中存放新的变量值的变量的个别存放区域(用于存放相同名称的变量的个别存放区域)。并且,在步骤128中,在步骤124中读取的变量值复制到在步骤126中识别的个别存放区域中(相当于图6所示的“复制A”),并返回到步骤120。另外,变量值从上述的统一存放区域复制到个别存放区域的变量对应于根据本发明的第二输入变量。
通过变量复制程序而将变量值从上述的统一存放区域复制到个别存放区域之后,由画面控制程序调用的变量传输程序通过客户端16进行以下处理:调用在服务器计算机12上运行并提供对应于所选择的按钮的网络服务的处理的网络服务提供程序,将存放在编入于托管豆的个别存放区域中的、由变量定义信息而规定的网络服务提供程序的输入变量的个别存放区域(即,根据变量复制程序而复制有变量值的个别存放区域)内的变量值作为参数,传递到被调用的网络服务提供程序。据此,输入在UI画面内的信息输入栏中的变量的值从画面控制程序被传递到网络服务提供程序,并且该网络服务提供程序由服务器计算机12执行,以此由服务器计算机12进行提供对应于传递的变量(输入变量)的值的网络服务的处理。
并且,如果完成基于网络服务提供程序的处理,则由网络服务提供程序调用托管豆的变量传输程序,根据变量定义信息而规定的网络服务提供程序的输出变量的值,作为参数从网络服务提供程序传递到变量传输程序。被调用的变量传输程序通过客户端16进行以下处理:将传递的变量值存放到在编入于托管豆的个别存放区域中的、根据变量定义信息而规定的网络服务提供程序的输出变量的个别存放区域内。另外,在上述的处理中,变量值存放在个别存放区域中的变量对应于权利要求2所记载的第一输出变量。
如果在个别存放区域中存放有新的变量值,则所述变量复制处理(图7)的步骤122的判断结果为肯定,进入到步骤130,从新存放有变量值的个别存放区域读取所述变量值。在接下来的步骤132中,识别在步骤130中从个别存放区域读取值的变量的名称。并且,在步骤134中,将于步骤130中从个别存放区域读取的变量值与在步骤132中识别的变量名称一同以KEY-VALUE形式复制到向画面控制程序传输变量的统一存放区域内,并调用画面控制程序之后,返回到步骤120。另外,在上述处理中,变量值从统一存放区域复制到个别存放区域的变量对应于权利要求2所记载的第二输出变量。
由托管豆的变量复制程序调用的画面控制程序由客户端16进行以下处理:根据设定在UI画面的信息显示栏54的属性信息,从以该属性信息被指定名称的托管豆中的、以所述属性信息被指定名称的统一存放区域(从画面控制程序传输的变量的统一存放区域)读取以所述属性信息指定名称的变量值,并将读取的变量值显示在信息显示栏54中。在此,由于替换后的新托管豆(用于网络服务提供程序的托管豆)与替换前的托管豆(用于原型脚本的托管豆)的名称相同,并且还编入有与替换前的托管豆相同的名称的统一存放区域,因此不需要变更设定在信息显示栏54中的属性信息,而与替换前的托管豆相同地,存放在向画面控制程序传输变量的统一存放区域的变量的值通过画面控制程序而读取,并显示在信息显示栏54中。
如此,在本实施方式中,将与画面控制程序传输变量的程序从原型脚本转换成网络服务提供程序是可以仅通过以下处理来实现的:将网络服务提供程序以由计算机可执行的状态登记在库等中,同时将用于原型脚本的托管豆替换成用于网络服务提供程序的托管豆。并且,无需进行画面控制程序的变更等。因此,完成变量定义信息的生成、网络服务提供程序的开发以及新托管豆的生成之后,可以直接将画面控制程序与传输变量的程序从原型脚本转换成网络服务提供程序,可以开始进行阶段2中的网络服务提供程序的调试以及整个应用程序的调试。据此,能够减轻开发人员的负担的同时,能够缩短应用程序的开发周期。
另外,由编入于用于网络应用提供程序的托管豆的变量传输程序以及变量复制程序而实现的上述的处理相当于根据本发明的第二控制单元(更详细而言,权利要求2所记载的第二控制单元)的处理,编入于用于网络应用提供程序的托管豆的变量传输程序以及变量复制程序,与编入于用于原型脚本的托管豆的变量传输程序以及托管豆生成程序一同构成根据本发明的应用开发支援程序。并且,执行这些程序的客户端16作为根据本发明的应用开发支援装置发挥功能。
并且,当完成应用程序的开发,并在图8所示的第二计算机系统30上启动应用程序(根据应用程序而实现的网络服务)时,在已完成开发的应用程序中,画面控制程序以及托管豆(实现在画面控制程序与网络服务提供程序之间变量的传输的托管豆)记录(安装)在应用服务器34的存储部34C中,网络服务提供程序记录(安装)在网络服务提供服务器36的存储部36C中。
并且,应用服务器34的存储部34C中还记录(安装)有作为用于执行画面控制程序的平台发挥功能的第一平台程序和作为用于执行编入于托管豆的程序的平台发挥功能的第二平台程序。例如,当UI构建工具基于JSF标准时,作为第一平台程序,使用可提供被称作JSF引擎的平台的程序,画面控制程序在所述平台(JSF引擎)上执行。并且,当编入于托管豆的程序为Java程序时,作为第二平台程序使用可提供Java平台的程序,编入于托管豆的程序在Java平台上执行。
并且,网络服务提供服务器36的存储部36C中还记录(安装)有作为用于执行网络服务提供程序的平台发挥功能的第三平台程序。例如,当网络服务创建程序基于BPFL标准时,作为第三平台程序使用可提供被称作BPFL引擎的平台的程序,网络服务提供程序在所述平台(BPFL引擎)上执行。
在应用服务器34上(详细而言,在根据平台程序而提供的平台上)执行的画面控制程序通过应用服务器34进行以下处理:每一次用户经由客户端42而请求交付UI画面时,将请求交付的UI画面的数据发送到请求源的客户端42。由此将被请求交付的UI画面显示在请求源的客户端42的显示器44上。并且,用户通过操作键盘46等而显示在显示器44上的UI画面内的信息输入栏中输入的信息,首先被存储在客户端42的存储器42B等,然后在预定的时机(例如,选择用于指示提供一种网络服务的按钮等时机)传送到应用服务器34。
传送到应用服务器34的信息从画面控制程序经由托管豆(经过如图6所示的处理),传输到在网络服务提供服务器36上运行的网络服务提供程序,网络服务提供程序通过网络服务提供服务器36而进行由用户指示的用于提供网络服务的处理。另外,当用于提供网络服务的处理包含有DB(数据库)访问时,经由应用服务器34而从网络服务提供服务器36向DB服务器38指示DB的访问,以此实现DB的访问。
如果完成用于提供网络服务的处理,则网络服务提供程序通过网络服务提供服务器36而进行向应用服务器34传输信息(网络服务提供程序的输出变量)的处理,所传输的信息经由托管豆(经过如图6所示的处理)而传输到画面控制程序,画面控制程序通过应用服务器34而进行以下处理:从网络服务提供服务器36的信息将显示在信息显示栏中的UI画面的数据发送到客户端42。据此,在客户端42的显示器44上的UI画面的显示就会被转换。并且,每一次由用户指示提供网络服务时,通过反复进行上述的一系列处理,对于访问通过应用程序而实现的网站的用户,就可以提供用户所希望的网络服务。
另外,在上述的说明中,对于由变量复制程序而实现的变量复制处理,说明了以下的形态:监测在统一存放区域以及个别存放区域中是否存放有变量的新的值,当在统一存放区域以及个别存放区域中的一个中存放有新的值时,将所存放的新的值复制到在统一存放区域以及个别存放区域中的另一个中的处理。但是不限于此,还可以构成为:在由变量传输程序(由画面控制程序或者网络服务提供程序而调用的变量传输程序)而实现的变量传输处理中,当呼叫源为画面控制程序时,首先调用变量复制程序而将变量从统一存放区域复制到个别存放区域,然后调用网络服务提供程序并且传递复制在个别存放区域的变量,而当呼叫源为网络服务提供程序时,首先将网络服务提供程序传递的变量存放到个别存放区域,然后调用变量复制程序,将变量从个别存放区域复制到统一存放区域。并且,在该形态中,还可以构成为:无需分成变量传输程序和变量复制程序,而使由两个程序实现的处理由一个程序来实现。
并且,在上述的说明中,作为描述原型脚本的脚本语言的一种示例,虽然列举JRuby进行了说明,但是描述原型脚本(根据本发明的第一程序)的脚本语言,只要是无需事先定义变量的编程语言(执行程序时,决定变量的类型的编程语言),均可以适用,而不限于JRuby以及其他的脚本语言。但是,在根据适应性的开发方法而进行的应用程序开发中,例如在需要变更所提示的UI时,如果考虑当场变更UI并再次展示变更后的UI等用途,则更为优选不需要编译(转换成物理语言)的脚本语言等语言。
并且,在上述的说明中,说明了以下形态:启动应用程序时,在应用服务器34上执行应用程序中的画面控制程序以及托管豆(的程序),在网络服务提供服务器36上执行应用程序中的网络服务提供程序。但是,本发明不限于此,也可以在一台计算机上执行构成应用程序的各程序,还可以在互不相同的计算机上执行画面控制程序,托管豆(的程序)以及网络服务提供程序。
进一步地,在上述的说明中,虽然以网络服务提供程序输出输出变量的构成为前提条件进行了说明,但是不限于此,根据由网络服务提供程序所提供的网络服务内容,还可以考虑输出变量不存在的情形。此时,还可以构成为:省略向画面控制程序传输变量的统一存放区域(例如,图3、6所示的统一存放区域map2)以及个别存放区域(例如,图6所示的变量“publish”以及“date”的个别存放区域)的同时,编入于用于原型脚本的托管豆的变量传输程序将省略从原型脚本传输的输出变量存放到统一存放区域的处理,而编入于用于网络服务提供程序的托管豆的变量传输程序省略将从网络服务提供程序传输的输出变量存放到对应的个别存放区域的处理,并且编入于用于网络服务提供程序的托管豆的变量复制程序省略将从个别存放区域向统一存放区域复制变量的处理。权利要求1的保护范围还包含上述的形态。
并且,在上述的说明中,虽然以以下的构成,即在用于原型脚本的托管豆中分别编入有使计算机作为根据本发明的第一控制单元发挥功能的变量传输程序和统一存放区域,在用于网络服务提供程序的托管豆种分别编入有使计算机作为根据本发明的第二控制单元发挥功能的变量传输程序和变量复制程序、统一存放区域以及个别存放区域的构成为例进行了说明,但是不限于此,还可以采用,分开而分别设定作为根据本发明的第一控制单元和第二控制单元发挥功能的程序与变量的存放区域。
并且,在上述的说明中,虽然说明了以下形态,即对应于根据本发明的应用开发支援程序的各程序(编入于用于原型脚本的托管豆的变量传输程序和托管豆生成程序以及编入于用于网络应用提供程序的托管豆的变量传输程序和变量复制程序)中,编入于用于原型脚本的托管豆的变量传输程序和托管豆生成程序预先记录(安装)在客户端16的存储部16C的形态(另外,编入于用于网络应用提供程序的托管豆的各程序由托管豆生成程序而生的形态),但是根据本发明的应用开发支援程序还可以以记录在CD-ROM和DVD-ROM等记录介质的实施方式提供。该实施方式的记录介质对应于权利要求12所记载的记录介质。
本说明书所记载的所有的文献、专利申请以及技术标准根据参照而引入在本说明书中,其每一个文献、专利申请以及技术标准通过参照被引入的内容与具体且分别记载于其资料的范围相同。

Claims (12)

1.一种应用开发支援装置,包括:
第一控制单元,在执行程序时,在仅有将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与所述第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与所述第一程序之间传输的变量的类型的所述第一程序,传递其值被存放在所述第一存放区域中的所述第一输入变量,由计算机进行所述第一处理;
生成单元,通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的所述第二程序而设定的所述变量定义信息,生成第二存放区域,该第二存放区域对于在定义于所述变量定义信息的变量中的、至少从外部传递到所述第二程序的每一个第二输入变量设置存放区域;
第二控制单元,在由所述生成单元而生成所述第二存放区域之后的第二期间,将存放在所述第一存放区域的第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域中,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理。
2.如权利要求1所述的应用开发支援装置,其中,
所述第一控制单元在所述第一期间,对于所述第一程序,传递值被存放在所述第一存放区域的所述第一输入变量,由计算机进行所述第一处理,所述第一处理结束后,将从所述第一程序传递的第一输出变量的值与所述第一输出变量的名称相关联而存放在所述第一存放区域中,
存放在所述第一存放区域的所述第一输出变量的值显示在所述用户界面画面的信息显示栏中,
所述生成单元基于所述变量定义信息,生成所述第二存放区域,所述第二存放区域对于从外部传递到所述第二程序的每一个第二输入变量以及从所述第二程序传递到外部的每一个第二输出变量设置所述存放区域,
所述第二控制单元在所述第二期间,将存放在所述第一存放区域的所述第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理,所述第二处理结束后,将从所述第二程序传递的所述第二输出变量的值存放到在所述第二存放区域中的、对应于所述传递的所述第二输出变量的所述存放区域,同时与对应于所述第二输出变量的所述第一输出变量的名称相关联起来并作为所述第一输出变量而存放在所述第一存放区域中。
3.如权利要求1或2所述的应用开发支援装置,其中,
在包含所述第一存放区域的第一文件中预先赋予名称,
在设计所述用户界面画面时,输入于所述用户界面画面的信息输入栏的所述第一输入变量的名称以及所述第一文件的名称设定在所述信息输入栏中,
在执行程序时,至少将输入在所述用户界面画面的信息输入栏中的所述第一输入变量的值与所述第一输入变量的名称相关联而存放到所述第一存放区域的处理,是通过执行用于实现包含所述用户界面画面的用户界面的第三程序的计算机,基于设定在所述信息输入栏中的所述第一输入变量的名称以及所述第一文件的名称而进行的,
所述生成单元在生成所述第二存放区域后,将与所述第一文件相同的名称赋予给包含所述第一存放区域和生成的所述第二存放区域的第二文件,
被赋予与所述第一文件相同的名称的所述第二文件替换所述第一文件。
4.如权利要求3所述的应用开发支援装置,其中,
在设计所述用户界面画面时,显示在所述用户界面画面的信息显示栏中的所述第一输出变量的名称以及所述第一文件的名称设定在所述信息显示栏中,
将存放在所述第一存放区域中的第一输出变量的值显示到所述用户界面画面的信息显示栏的处理,也是通过执行所述第三程序的计算机,基于设定在所述信息显示栏中的所述第一输出变量的名称以及所述第一文件的名称而进行的。
5.如权利要求3或4所述的应用开发支援装置,所述第三程序通过计算机并使用由计算机生成的第一工具而生成,该第三程序用于通过计算机而在显示画面上显示包含作为所述用户界面画面的构成元素而可使用的、可以进行信息的输入以及显示中的至少一个的信息输入/显示栏的多种符号,并且通过由开发人员至少进行通过在画面内的期望的位置中配置所述多种符号中期望的符号而设计用户界面画面的第一操作,以此规定构建对象的用户界面时,实现所述用户界面。
6.如权利要求1至5中任意一项所述的应用开发支援装置,所述第一工具是基于JSF标准的工具。
7.如权利要求1至6中任意一项所述的应用开发支援装置,所述第一程序是用脚本语言描述的程序。
8.如权利要求1至7中任意一项所述的应用开发支援装置,其中,
所述第一程序在执行平台程序的计算机上执行,该平台程序作为执行所述第一程序的平台而发挥功能,
在通过执行由该计算机的所述第一程序而实现的所述第一处理中,决定外部与所述第一程序之间传输变量的类型的处理,是通过由所述计算机执行所述平台程序而进行的。
9.如权利要求1至8中任意一项所述的应用开发支援装置,所述第二程序通过计算机并利用由计算机生成的第二工具而生成,该第二程序用于当由开发人员而创建规定期望的处理的流程图时,执行所创建的流程图所表示的处理。
10.如权利要求9所述的应用开发支援装置,所述第二工具为基于BPEL标准的工具。
11.一种应用开发支援程序,该程序使计算机作为以下单元发挥功能:
第一控制单元,在执行程序时,在仅有将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与所述第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与所述第一程序之间传输的变量的类型的所述第一程序,传递值被存放在所述第一存放区域中的所述第一输入变量,由计算机进行所述第一处理;
生成单元,通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的所述第二程序而设定的所述变量定义信息,生成第二存放区域,该第二存放区域对于在定义于所述变量定义信息的变量中的、至少从外部传递到所述第二程序的每一个第二输入变量设置存放区域;
第二控制单元,在由所述生成单元而生成所述第二存放区域之后的第二期间,将存放在所述第一存放区域的第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域中,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理。
12.一种记录有使计算机作为以下单元发挥功能的应用开发支援程序的记录介质,
第一控制单元,在执行程序时,在仅有将至少输入在用户界面画面的信息输入栏中的第一输入变量的值与所述第一输入变量的名称相关联而存放的第一存放区域作为变量存放区域设置的第一期间,对于在通过由计算机执行第一程序而实现的第一处理中决定在外部与所述第一程序之间传输的变量的类型的所述第一程序,传递值被存放在所述第一存放区域中的所述第一输入变量,由计算机进行所述第一处理;
生成单元,通过变量定义信息而需要预先定义在外部与第二程序之间传输的变量的类型,基于对于由计算机执行而进行第二处理的所述第二程序而设定的所述变量定义信息,生成第二存放区域,该第二存放区域对于在定义于所述变量定义信息的变量中的、至少从外部传递到所述第二程序的每一个第二输入变量设置存放区域;
第二控制单元,在由所述生成单元而生成所述第二存放区域之后的第二期间,将存放在所述第一存放区域的第一输入变量的值复制到所述第二存放区域中的、对应于所述第一输入变量的所述第二输入变量的所述存放区域中,将在所述存放区域中复制值的所述第二输入变量传递到所述第二程序,由计算机进行根据所传递的所述第二输入变量的所述第二处理。
CN200980151916.4A 2009-09-17 2009-09-17 应用开发支援装置 Expired - Fee Related CN102257477B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/066304 WO2011033644A1 (ja) 2009-09-17 2009-09-17 アプリケーション開発支援装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
CN102257477A true CN102257477A (zh) 2011-11-23
CN102257477B CN102257477B (zh) 2015-04-15

Family

ID=43758270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980151916.4A Expired - Fee Related CN102257477B (zh) 2009-09-17 2009-09-17 应用开发支援装置

Country Status (5)

Country Link
US (1) US20120005603A1 (zh)
EP (1) EP2402854A4 (zh)
JP (1) JP5128673B2 (zh)
CN (1) CN102257477B (zh)
WO (1) WO2011033644A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346162A (zh) * 2012-11-29 2015-02-11 株式会社突飞软件 利用集成开发环境的用户界面生成方法
CN106293678A (zh) * 2015-06-09 2017-01-04 北京京东尚科信息技术有限公司 一种管理应用服务的变量的方法和系统
CN107301039A (zh) * 2016-04-15 2017-10-27 习得智交互软件开发公司 原型制作方法及其装置
CN107615192A (zh) * 2015-08-10 2018-01-19 欧姆龙株式会社 支持装置、方法以及保存有支持程序的记录介质
CN110275480A (zh) * 2018-03-15 2019-09-24 欧姆龙株式会社 程序开发支援系统、方法以及计算机可读记录介质
JP2022013169A (ja) * 2020-07-03 2022-01-18 株式会社Shift 作成支援装置およびプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120180033A1 (en) * 2011-01-12 2012-07-12 David Amos Brown System and Methodology for Autonomous, Value-Centric, Architectural, Software Programming
JP5350428B2 (ja) * 2011-04-12 2013-11-27 株式会社日立製作所 自動プログラム生成装置、方法及びコンピュータプログラム
CN104516741A (zh) * 2013-09-26 2015-04-15 联想(北京)有限公司 信息处理方法及电子设备
KR101796926B1 (ko) 2015-08-25 2017-12-04 (주)영수식품 식이섬유를 함유한 조미료 제조방법
KR101745808B1 (ko) * 2015-12-31 2017-06-28 엔에이치엔엔터테인먼트 주식회사 서버측 로직의 모듈화를 위한 모듈 처리 방법 및 시스템
CN108737325B (zh) * 2017-04-13 2021-01-08 华为技术有限公司 一种多租户数据隔离方法、装置及系统
US20190138299A1 (en) * 2017-11-06 2019-05-09 General Electric Company Software development lifecycle as a service

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921068B2 (en) * 1998-05-01 2011-04-05 Health Discovery Corporation Data mining platform for knowledge discovery from heterogeneous data types and/or heterogeneous data sources
US7191450B2 (en) * 2003-02-06 2007-03-13 International Business Machines Corporation Data-driven application integration adapters
US7614052B2 (en) * 2004-01-09 2009-11-03 Nexaweb Technologies Inc. System and method for developing and deploying computer applications over a network
JP2005228184A (ja) 2004-02-16 2005-08-25 Mitsubishi Electric Corp アプリケーション実行装置
US7539943B2 (en) * 2004-07-14 2009-05-26 Microsoft Corporation Systems and methods for tracking file modifications in software development
US7571425B2 (en) * 2004-11-18 2009-08-04 Hewlett-Packard Development Company, L.P. Automated binding for object oriented programming user interface components
JP4695903B2 (ja) * 2005-03-22 2011-06-08 富士電機システムズ株式会社 Webアプリケーションシステム、そのプログラム
CN100407138C (zh) * 2005-08-04 2008-07-30 腾讯科技(深圳)有限公司 基于Brew的一种动态用户界面的体系结构和实现方法
CN100468330C (zh) * 2007-03-30 2009-03-11 腾讯科技(深圳)有限公司 一种脚本内核管理方法及系统
JP2009009362A (ja) 2007-06-28 2009-01-15 Hitachi Information Systems Ltd プログラムの変数管理システム
JP2009020705A (ja) * 2007-07-12 2009-01-29 Hitachi Ltd Guiアプリケーション開発支援装置及び開発支援方法
JP4714199B2 (ja) 2007-09-28 2011-06-29 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置及びプログラム
CN101425153A (zh) * 2007-10-31 2009-05-06 国际商业机器公司 用于生成可执行业务流程的监视视图的装置和方法
US8250521B2 (en) * 2007-12-14 2012-08-21 International Business Machines Corporation Method and apparatus for the design and development of service-oriented architecture (SOA) solutions
JP4185159B1 (ja) * 2008-01-30 2008-11-26 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置及びプログラム
EP2256624A4 (en) * 2008-03-21 2012-01-11 Bank Of Tokyo Mitsubishi Ufj APPLICATION DEVELOPMENT SUPPORT DEVICE, PROGRAM, AND RECORDING MEDIUM

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346162A (zh) * 2012-11-29 2015-02-11 株式会社突飞软件 利用集成开发环境的用户界面生成方法
CN104346162B (zh) * 2012-11-29 2017-11-17 株式会社突飞软件 利用集成开发环境的用户界面生成方法
CN106293678A (zh) * 2015-06-09 2017-01-04 北京京东尚科信息技术有限公司 一种管理应用服务的变量的方法和系统
CN106293678B (zh) * 2015-06-09 2020-11-24 北京京东尚科信息技术有限公司 一种管理应用服务的变量的方法和系统
CN107615192A (zh) * 2015-08-10 2018-01-19 欧姆龙株式会社 支持装置、方法以及保存有支持程序的记录介质
CN107615192B (zh) * 2015-08-10 2020-03-17 欧姆龙株式会社 支持装置、方法以及保存有支持程序的记录介质
US10705500B2 (en) 2015-08-10 2020-07-07 Omron Corporation Support device, method, and recording medium for simplifying control program changing operation
CN107301039A (zh) * 2016-04-15 2017-10-27 习得智交互软件开发公司 原型制作方法及其装置
CN107301039B (zh) * 2016-04-15 2021-11-23 习得智交互软件开发公司 原型制作方法及其装置
CN110275480A (zh) * 2018-03-15 2019-09-24 欧姆龙株式会社 程序开发支援系统、方法以及计算机可读记录介质
JP2022013169A (ja) * 2020-07-03 2022-01-18 株式会社Shift 作成支援装置およびプログラム

Also Published As

Publication number Publication date
CN102257477B (zh) 2015-04-15
WO2011033644A1 (ja) 2011-03-24
JPWO2011033644A1 (ja) 2013-02-07
EP2402854A4 (en) 2014-03-26
US20120005603A1 (en) 2012-01-05
EP2402854A1 (en) 2012-01-04
JP5128673B2 (ja) 2013-01-23

Similar Documents

Publication Publication Date Title
CN102257477A (zh) 应用开发支援装置、程序以及记录介质
Wata et al. Fuzzy control: synthesis and analysis
RU2550520C1 (ru) Обеспечение возможностей конфигурируемого технологического процесса
Carmel Global software teams: collaborating across borders and time zones
Ulrich Legacy systems: transformation strategies
CN100424648C (zh) 信息处理方法、信息处理设备和信息处理系统
Frants et al. Automated information retrieval: theory and methods
CN106598709A (zh) 信息处理系统、信息处理装置、信息处理方法和记录介质
Machovec Consortia and next generation integrated library systems
Akintunde Digitizing resources in Nigeria: An overview
York Building a future by preserving our past: the preservation infrastructure of HathiTrust digital library
Boehr et al. Preparing for the future: National Library of Medicine's® project to add MeSH® RDF URIs to its bibliographic and authority records
Kim Choreosave: A digital dance preservation system prototype
JP7162484B2 (ja) ヘルプ情報表示システム、ヘルプ情報表示装置、ヘルプ情報表示方法及びヘルプ情報表示プログラム
Nickel et al. Decision Optimization with IBM ILOG CPLEX Optimization Studio: A Hands-On Introduction to Modeling with the Optimization Programming Language (OPL)
KR20220054992A (ko) Dcat 기반 메타데이터 변환 시스템
Costantino et al. Heeding the call: user feedback management and the digital library
Wieder et al. CS3604 Case Study Library
Kasamani et al. Activity logging in a bring your own application environment for digital forensics
Shaw A blockchain testbed for DoD applications
Abbasi AWS Certified Data Analytics Study Guide with Online Labs: Specialty DAS-C01 Exam
Shrivastava et al. Hadoop blueprints
Amofah Electronic court case management system (for law court complex)
Eisa Parallel Processing for Data Retrieval in Odoo Enterprise Resource Planning Reporting System
Alrabeah Remixed and Remastered: A Redesign and Implementation of the Playlist Logging System at WXYC–89.3 FM

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150415

Termination date: 20150917

EXPY Termination of patent right or utility model