WO2009096045A1 - アプリケーション開発支援装置、プログラム及び記録媒体 - Google Patents

アプリケーション開発支援装置、プログラム及び記録媒体 Download PDF

Info

Publication number
WO2009096045A1
WO2009096045A1 PCT/JP2008/054974 JP2008054974W WO2009096045A1 WO 2009096045 A1 WO2009096045 A1 WO 2009096045A1 JP 2008054974 W JP2008054974 W JP 2008054974W WO 2009096045 A1 WO2009096045 A1 WO 2009096045A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
screen
user interface
tool
symbol
Prior art date
Application number
PCT/JP2008/054974
Other languages
English (en)
French (fr)
Inventor
Takahisa Hattori
Motonari Chinuki
Tatsuki Takeuchi
Original Assignee
The Bank Of Tokyo-Mitsubishi Ufj, Ltd.
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 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. filed Critical The Bank Of Tokyo-Mitsubishi Ufj, Ltd.
Priority to CN200880126002.8A priority Critical patent/CN101932998B/zh
Priority to US12/865,020 priority patent/US8504981B2/en
Priority to EP08722368A priority patent/EP2251780A4/en
Publication of WO2009096045A1 publication Critical patent/WO2009096045A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates to an application development support apparatus, a program, and a recording medium, and more particularly to an application development support apparatus that supports the development of an application program performed using a plurality of types of tools, and for causing a computer to function as the application development support apparatus.
  • Application development support program and a recording medium on which the application development support program is recorded are recorded.
  • BPEL Business Process Execution Language
  • a desired workflow can be visually described by selecting and combining desired parts from multiple types of parts corresponding to different processes, and compliant with BPEL from the created workflow
  • a tool capable of automatically generating the program is prepared, and an execution environment in which the computer automatically generates the program automatically generated by the tool can be constructed. For this reason, by using the above tools, it is possible to easily and quickly develop a program for realizing a workflow for providing a desired web service by a computer without performing coding work that requires knowledge of a programming language. it can.
  • JSF Java (registered trademark) “Server” Faces
  • user interface screen design and user interface screen transitions can be made by performing operations such as selecting and arranging desired symbols from a plurality of types of symbols that can be used as components of the user interface screen.
  • a tool that can construct a user interface such as a definition and can automatically generate a program that realizes the constructed user interface is prepared, and a program that realizes a desired user interface by using this tool Can be obtained easily and in a short time without coding work.
  • a user interface part program of the web application is automatically generated using a JSF tool, and a web service part program is automatically generated using a BPEL tool.
  • the JSF standard does not consider linking a program automatically generated using JSF (a program realizing a user interface) with a program automatically generated using BPEL (a program realizing a workflow) (
  • the process of calling other programs is not defined as a standard).
  • a link for example, a hyperlink pasted on an arbitrary document, an Internet shortcut, etc.
  • a program for starting the specific program for providing the specific web service is separately created by coding work, and the specific user interface is displayed. There is a need to be added to over the scan screen.
  • a socket communication program capable of communicating with a web server without using a web browser is provided in the client terminal, and on the data server according to a request sent from the client terminal by the socket communication program.
  • Patent Document 2 in an application server having a first virtual machine that interfaces with a client and a second virtual machine that executes various business objects, identification names of data necessary for processing of the business objects are listed.
  • the first virtual machine Stored for each business object, the first virtual machine causes the client to display an arbitrary screen and input arbitrary data, receives a request including form data, and receives a business object corresponding to the received request.
  • the identification name of each data required by the business object to be called When calling, obtain the identification name of each data required by the business object to be called, and transfer only the data whose identification name matches the acquired identification name among the data included in the form data to the second virtual machine
  • the necessary data on the second virtual machine side Coding and unnecessary technique for processing the output is disclosed.
  • Japanese Patent Laid-Open No. 2004-26883 discloses a web application control apparatus that distributes a business process according to a request content from a client to any of a plurality of business process modules prepared in advance, and returns a processing result to a requesting client. Accepts a request containing business process identification information to be executed together with the data subject to business process, distributes the process to the business process module corresponding to the received identification information, acquires the process result, and identifies the identification information and the business process module. Based on the processing result, the screen generation process of the processing result is distributed to any of the plurality of screen generation modules, and the screen generation module generates screen data of the distributed processing result and outputs it as a response to the requesting client Techniques to do this are disclosed. JP 2003-108558 A JP 2006-268121 A JP 2004-38559 A
  • Patent Documents 1 to 3 described above are techniques for realizing the use of a desired web service from a client terminal, but these techniques display the execution result of a specific web service.
  • a case where a specific user interface screen is directly called from a link is not taken into consideration, and when a user interface including the above specific user interface screen is constructed, it is necessary to perform coding work. If the development of a program requires some coding work, the development staff is limited to those who have knowledge of the programming language, and debugging work is also required for programs created by coding work. Therefore, there is a problem that the development period is significantly prolonged compared to the case where coding work can be omitted.
  • the present invention has been made in view of the above facts, and it is possible to develop an application program having a user interface including a user interface screen that is directly called from a link and displays an execution result of a specific web service. It is an object to obtain an application development support apparatus, an application development support program, and a recording medium that can be realized without performing it.
  • an application development support apparatus displays a plurality of types of symbols that can be used as components of a user interface screen on a display screen, and a plurality of types of symbols are displayed by a developer.
  • a user interface to be constructed is defined by performing at least a first operation for designing a user interface screen by arranging a desired symbol among the symbols in a desired position in the screen, the user interface
  • a developer creates a first tool for generating a first program for realizing the above and a flowchart that defines a process for providing a desired web service, the process represented by the created flowchart is executed.
  • an activation symbol for calling up the second program to perform the process of providing the predetermined web service when a user interface screen arranged is called during operation, the second program is activated to activate the predetermined program.
  • the first tool displays a plurality of types of symbols that can be used as components of the user interface screen on the display screen, and a developer selects a desired symbol from among the plurality of types of symbols.
  • a user interface to be constructed is defined by performing at least a first operation for designing a user interface screen by arranging a desired position in the screen, a first program for realizing the user interface Is generated.
  • the first tool is, for example, as described in claim 5, by the developer, in addition to the first operation, the individual tool arranged in the user interface screen designed by the first operation is provided.
  • the second operation for associating the information input / display field with the corresponding variable storage area among the plurality of variables having the storage area in the variable storage area, and the transition of the plurality of designed user interface screens A tool that generates the first program when the user interface to be constructed is defined by performing the third operation to be defined may be used. Further, as described in claim 7, a tool compliant with the first standard can be applied as the first tool. More specifically, for example, as described in claim 8, the first standard As JSF, JSF can be applied.
  • the second tool executes a process represented by the created flowchart.
  • Two programs are generated.
  • a tool based on the second standard can be applied. More specifically, for example, as described in claim 8, the second standard BPEL can be applied.
  • the application development support apparatus supports development of an application program including the first program and the second program, which is performed using the first tool and the second tool.
  • the symbol generation means can be used as a component of the user interface screen and performs a process of calling a second program generated using the second tool and providing a predetermined web service.
  • the arranged user interface screen is invoked as an activation symbol for the operation, for example, when the first program is executed by the computer or when the user interface realized by the first program is provided to the user, Processing for starting a second program and providing a predetermined web service It generates an unconditional starting symbol obtained by adding a third program that performs the processing to be executed unconditionally.
  • the unconditional activation symbol includes, for example, a link embedded with link information including address information (for example, URL (Uniform Resource Locator)) for calling a specific user interface screen.
  • address information for example, URL (Uniform Resource Locator)
  • the identification that is directly called from the link by being selected it is called without displaying another user interface screen) and displays the result of the processing for providing a predetermined web service performed by the second program It can be used as a symbol for placement on the user interface screen.
  • the developer can place the unconditional activation symbol in the user interface screen being designed by performing the first operation. .
  • the third program added to the unconditional activation symbol is executed, and the second program is activated to provide a predetermined web service. Is executed unconditionally, and an execution result of a predetermined web service is obtained.
  • the second program when the arranged user interface screen is called during operation, the second program is activated to execute the process of providing a predetermined web service unconditionally. Since the unconditional activation symbol to which the third program is added is generated by the symbol generation means, the application having a user interface including a specific user interface screen that is directly called from the link and displays the execution result of the specific web service. In the development of the program, it is possible to omit a coding operation for creating a program for starting a second program from the specific user interface screen and executing a process for providing a predetermined web service.
  • the developer only performs a first operation of placing the unconditional activation symbol displayed on the display screen by the first tool in the user interface screen that displays the execution result of the specific web service. Since the user interface screen can be designed so that it can be called directly from a link, the period required for the work to specify the user interface to be built, coupled with the fact that the above coding work is no longer necessary As a result, the development period of the application program can be shortened.
  • the unconditional activation symbol may be a symbol that is visibly displayed on the arranged user interface screen during operation.
  • the symbol It is preferable that the generation unit generates a symbol for which attribute information is set so that it is displayed invisible on the arranged user interface screen during operation as an unconditional activation symbol. Thereby, it can avoid that the user interface screen which has arrange
  • the symbol generating means may be a component of the user interface screen before at least the first operation is performed on the first tool. It can be used and is displayed visually on the arranged user interface screen at the time of operation, and any one of the n types of second programs generated using the second tool is called to Condition activation symbol generation means for generating m kinds of condition activation symbols for executing different processes among m (m ⁇ n) kinds of processes executable by the second program, and condition activation symbol generation means A specific symbol from among the m types of conditional activation symbols that are generated is visible on the user interface screen that is placed during operation.
  • a fourth program that activates a specific second program that can execute the corresponding process from among the n types of second programs and executes the corresponding process when selected in the selected state A program adding means for adding the fourth program to a specific symbol for each of the m types of conditional activation symbols, and the program when the first operation is performed on the first tool. Changing from the m types of conditional activation symbols to which the fourth program has been added by the adding means to a specific conditional activation symbol placed in the user interface screen under design to an unconditional activation symbol The fourth program added to the specific condition activation symbol arranged in the screen is arranged at the time of operation.
  • the specific second program capable of executing the corresponding process is started and the process for executing the corresponding process is changed to the third program for executing the corresponding process unconditionally.
  • the condition activation symbol generated by the condition activation symbol generation unit of the symbol generation unit is also the first. Is displayed on the display screen as a symbol that can be used as a component of the user interface screen. By performing the first operation, a desired activation symbol (m types of processing) among the displayed conditional activation symbols is displayed. Among them, a condition activation symbol corresponding to a process desired to be executed can be arranged in the user interface screen under design. In addition, when the user selects the conditional activation symbol while the user interface screen is displayed during operation, the fourth program added to the activation symbol is executed, and the corresponding processing is executed.
  • the corresponding specific process is performed by starting a specific second program that is possible. Therefore, according to the invention described in claim 4, when the user interface of the application program to be developed is selected, the condition activation symbol that activates the second program and executes the corresponding process is arranged on the screen. Coding can be omitted even when a user interface screen is included.
  • the developer selects and designs a specific conditional activation symbol from m types of conditional activation symbols generated by the conditional activation symbol generation means. If a specific conditional activation symbol placed on the screen is instructed to be changed to an unconditional activation symbol, the specific conditional activation symbol placed on the screen will not be displayed. Since it is changed to a conditional activation symbol, it is possible to generate an unconditional activation symbol for executing a desired process among m types of processes by the second program by a simple operation.
  • the first tool includes individual information input / display fields arranged in the user interface screen designed by the first operation in addition to the first operation by the developer.
  • a second operation for associating each of the plurality of variables having a storage area in the variable storage area with a corresponding variable storage area, and a third operation for defining a transition of the plurality of designed user interface screens When the user interface to be constructed is defined by performing the above, it may be a tool that generates the first program for realizing the user interface.
  • variable definition information that defines the input variables and output variables in each type of processing
  • each variable storage area defined in the variable definition information is provided as a variable storage area, and the variable definition information is defined in duplicate.
  • a variable storage area generating means for generating a variable storage area in which the storage areas of the variables being used are made common, the program adding means as a fourth program, and a specific condition activation symbol being arranged at the time of operation Stored in the storage area of the variable corresponding to the input variable in the processing corresponding to the specific condition activation symbol among the storage areas in the variable storage area when selected in the state of being visually displayed on the interface screen.
  • the specified second program that can execute the corresponding process among the n types of second programs is started by using the stored data as an argument. When execution of the corresponding process by the specific second program is completed, the output variable delivered from the specific second program is transferred to each of the storage areas in the variable storage area. You may comprise so that the program which performs the process stored in the storage area of the variable corresponding to a variable may be produced
  • the fourth program added to the conditional activation symbol is executed.
  • the specification that can execute the corresponding process using the data stored in the storage area of the variable corresponding to the input variable in the process corresponding to the conditional activation symbol as an argument The second program is started to execute the corresponding process, and when the execution of the corresponding process by the specific second program is completed, the output variable delivered from the specific second program is stored in the variable storage area. The process of storing in the storage area of the variable corresponding to the delivered output variable in each storage area is performed. .
  • the fourth program generated by the program adding means before the first to third operations are performed on the first tool is the specific program displayed in the user interface screen.
  • the data stored in the storage area of the variable corresponding to the input variable in the process corresponding to the specific activation symbol among the storage areas in the variable storage area is used as an argument, n
  • a specific second program capable of executing the corresponding process is activated to execute the corresponding process among the types of second programs, the execution of the corresponding process by the specific second program is completed.
  • the output variable delivered from the second program is a variable corresponding to the delivered output variable in each storage area in the variable storage area.
  • the storage area is a program that performs processing to be stored, and the storage area to be processed in the processing by the fourth program (the storage area that uses the stored data as an argument or stores the passed output variable) is the fourth program. It is set when generating. Therefore, in the invention described in claim 5, since it is not necessary to perform processing for searching and extracting the storage area to be processed when the fourth program is executed, the processing time when the fourth program is executed can be shortened. it can.
  • a storage area for each variable defined in the variable definition information is provided by the variable storage area generating means, and a storage area for the variable defined in the variable definition information is provided. Since the common variable storage area is generated, for example, the output variable of the first process executed by the second program is displayed in the specific information input / display field in the user interface screen, and the specific information is displayed. A specific information input / display field in which change setting is performed by the user as necessary for the data (output variable of the first process) displayed in the input / display field, and the change setting is performed as necessary. When building a user interface that uses the data in it as an input variable for the second process by the second program, it is necessary to associate it with the specific information input / display field.
  • variable storage region requires only one. Thus, even when the number of storage areas in the variable storage area that can be associated with each information input / display field is limited to one in the first tool, the user interface as described above is used. Can be constructed, and the degree of freedom in designing the user interface realized by the first program can be improved.
  • the first program generated by the first tool is, for example, a predetermined program that functions as a platform for executing the first program as described in claim 6.
  • Specific information input that is executed on the computer that is being executed and can be input by the predetermined program arranged in the user interface screen displayed in the display screen when the first program is executed by the computer /
  • the input information is stored in a specific storage area associated with the specific information input / display field among the storage areas in the variable storage area. If information is newly stored in a specific storage area in the variable storage area, the stored information is displayed on the display screen.
  • Program synchronization processing of displaying to a user interface disposed within the screen specific storage associated with the region and information of display possible specific information input / display section there are performed is preferred.
  • the application development support program according to the invention described in claim 9 causes a computer to display a plurality of types of symbols that can be used as components of a user interface screen on a display screen, and a developer selects among the plurality of types of symbols.
  • the user interface to be constructed is defined by performing at least the first operation for designing the user interface screen by arranging the desired symbols in desired positions in the screen, the user interface is realized.
  • the first tool for generating the first program and the second program for executing the processing represented by the created flowchart when the developer creates the flowchart defining the processing for providing the desired web service Performed using a second tool for generating An application development support program for functioning as an application development support device that supports development of an application program including the program and the second program, wherein the computer can be used as a component of the user interface screen, and When the arranged user interface screen is called at the time of operation as an activation symbol for calling the second program generated using the second tool and performing the process of providing the predetermined web service Then, the second program is activated to function as symbol generation means for generating an unconditional activation symbol to which a third program is added for performing a process of executing the process of providing the predetermined web service unconditionally.
  • the application development support program according to the ninth aspect of the invention is a program for causing a computer to function as the symbol generation means, the computer executes the application development support program according to the ninth aspect of the invention
  • the computer functions as the application development support apparatus according to claim 1 and, like the invention according to claim 1, is called when a link is selected and displays the execution result of a specific web service.
  • Development of an application program having a user interface including a user interface screen to be performed can be realized without performing coding work.
  • a recording medium that causes a computer to display a plurality of types of symbols that can be used as components of a user interface screen on a display screen, and a developer selects a desired one of the plurality of types of symbols.
  • a user interface to be constructed is defined by performing at least a first operation for designing a user interface screen by arranging symbols at desired positions in the screen, a second interface for realizing the user interface is provided.
  • a developer creates a first tool for generating one program and a flowchart defining a process for providing a desired web service
  • a second program for executing the process represented by the created flowchart is generated.
  • the first program and the second program are performed using a second tool
  • An application development support program for causing an application development support apparatus to function as an application development support apparatus for supporting development of an application program including a program, wherein the application development support program It can be used as a component, and is arranged as an activation symbol for invoking the second program generated by using the second tool and providing the predetermined web service during operation.
  • symbol generation for generating an unconditional activation symbol to which a third program is added that activates the second program to execute the process of providing the predetermined web service unconditionally Means and To function Te.
  • the application development support program according to the ninth aspect of the invention that is, the program for causing the computer to function as the symbol generating means, is recorded on the recording medium according to the tenth aspect of the invention.
  • the application development support program read from the recording medium according to the invention described in item 10 is executed by the computer, the computer functions as the application development support device according to claim 1.
  • development of an application program having a user interface including a user interface screen that is called when a link is selected and displays an execution result of a specific web service is realized without performing coding work. can do
  • the present invention can be used as a constituent element of a user interface screen, and when a user interface screen arranged is called during operation as a start symbol for performing processing for providing a predetermined web service. Since the unconditional activation symbol to which the third program for unconditionally executing the process of providing the predetermined web service is added is generated, the link is selected and called, and the specific web service is generated.
  • the present invention has an excellent effect that the development of an application program having a user interface including a user interface screen for displaying the execution result can be realized without performing coding work.
  • FIG. 1 is a block diagram showing a schematic configuration of a first computer system as an application program development environment in the present embodiment.
  • FIG. (A) is an example of a creation screen of a web service creation tool
  • (B) is an image diagram showing an example of a flow created on the creation screen using the tool. It is a flowchart which shows the content of a condition starting button production
  • (A) is a conceptual diagram illustrating generation of a variable storage area from variable definition information
  • (B) is a conceptual diagram for explaining binding of information input / display fields and storage areas in a screen and substitution of data (variables) during operation. It is a conceptual diagram which shows the problem in the case of performing the same process as FIG. 6 (B) by a conventional system. It is a block diagram which shows schematic structure of the 2nd computer system as an execution environment of an application program. It is a conceptual diagram which shows an example of the flow of a process at the time of utilizing a web service from a link.
  • FIG. 1 shows a first computer system 10 according to this embodiment.
  • the first computer system 10 according to the present embodiment is a computer used when developing an application program for providing a predetermined service (web service) to a user who accesses a predetermined website.
  • a system in which a server computer 12 is connected to each of a large number of client terminals 16 via an intranet 14.
  • Each client terminal 16 is a terminal operated by a developer who develops the above-described application program.
  • the client terminal 16 includes, for example, a personal computer (PC), a memory 16B including a CPU 16A and a RAM, a HDD (Hard Disk Drive ) And the like, and a network interface (I / F) unit 16D.
  • PC personal computer
  • memory 16B including a CPU 16A and a RAM
  • HDD Hard Disk Drive
  • I / F network interface
  • Each client terminal 16 is connected to a display 18 as display means, a keyboard 20 and mouse 22 as input means, and is connected to the intranet 14 via a network I / F unit 16D.
  • the application program described above is for providing a predetermined web service to a user and a screen control program (first program in the present invention) for realizing a user interface (UI) portion in a predetermined website.
  • Web service providing programs (second program in the present invention).
  • the storage unit 16C of the client terminal 16 is installed with a UI construction tool program for developing the screen control program and a web service creation tool program for developing the web service providing program.
  • a conditional activation button generation program for performing a conditional activation button generation process described later on the client terminal 16 and an unconditional activation button generation program for performing an unconditional activation button generation process are also installed.
  • conditional start button generation program and the unconditional start button generation program correspond to the application development support program according to claim 9, and the client terminal 16 is configured such that the CPU 16 ⁇ / b> A uses the conditional start button generation program and the unconditional start button generation. By executing the program, it functions as an application development support apparatus according to the present invention.
  • the UI construction tool corresponds to the first tool according to the present invention
  • the web service creation tool corresponds to the second tool according to the present invention.
  • a tool conforming to the standard of JSF Java (registered trademark) Server Faces) is suitable, but a tool conforming to another standard may be used.
  • a tool conforming to the BPEL Business Process Execution Language
  • BPEL Business Process Execution Language
  • the server computer 12 includes a CPU 12A, a memory 12B including a RAM, a storage unit 12C including an HDD, and a network I / F unit 12D, and is connected to the intranet 14 via the network I / F unit 12D.
  • a program is developed in units of individual web services (for example, “book search” and “book purchase” described later).
  • the web service providing program can also be used to provide the same web service on other websites. Therefore, the storage unit 12C of the server computer 12 stores a web service library for registering the developed web service providing program.
  • the web service providing program registered in the web service library is stored in the storage unit 12C.
  • a plurality of developers operating different client terminals 16 can be used.
  • the second computer system 30 includes a website management system 32 for operating a specific website.
  • the website management system 32 includes an application server 34, a web service providing server 36, and a DB (database) server 38.
  • the web service providing server 36 and the DB server 38 are respectively connected to the application server 34 via a communication line. Configured.
  • the application server 34 includes a CPU 34A, a memory 34B including a RAM, a storage unit 34C including an HDD, and a network I / F unit 34D.
  • the storage unit 34C includes the first computer system described above.
  • the above-described screen control program is installed among the application programs developed using 10.
  • the network I / F unit 34D of the application server 34 is connected to a computer network (Internet) 40 in which a large number of web servers are connected to each other via a communication line.
  • the Internet 40 includes a CPU 42A, A memory 42B composed of a RAM or the like, a storage unit 42C composed of an HDD or the like, and a network I / F unit 42D.
  • a browser (web browsing software) program is installed in the storage unit 34C, and a display 44 as a display means, A large number of client terminals 42 to which a keyboard 46 and a mouse 48 as input means are respectively connected are connected.
  • the web service providing server 36 includes a CPU 36A, a memory 36B including a RAM, a storage unit 36C including an HDD, and a network I / F unit 36D.
  • the HDD 36C includes the first computer system described above.
  • the above-described web service providing program is installed among the application programs developed using 10.
  • a creation screen as shown in FIG. 2A is displayed on the display 18 of the client terminal 16 as an example. Is displayed.
  • the web service creation tool has a function of generating a web service providing program for executing the process represented by the created flowchart when the flowchart defining the process for realizing the web service to be provided is created by the developer.
  • the creation screen shown in FIG. 2A includes a work area for developers to create flowcharts and multiple types of parts (symbols) that can be used to create flowcharts and represent different processes.
  • a displayed palette is provided.
  • the developer selects a desired part from a plurality of parts displayed in the pallet via the mouse 22 or the keyboard 20 and places it in the work area.
  • input information specifying the contents of the process represented by the arranged parts, and an operation for defining the connection relation (execution order of the process represented by each part) between the arranged parts and the parts already arranged in the work area.
  • FIG. 2B a flowchart defining a process for realizing the Web service to be provided is created.
  • the developer performs an operation for instructing generation of a program corresponding to the created flowchart.
  • a program for realizing the processing represented by each part is added to each part displayed in the pallet, and the web service creation tool creates a flowchart when the program generation is instructed.
  • the program added to the individual components that make up the software is modified based on the information that defines the processing content input by the developer, and rearranged according to the connection relationship of the individual components in the created flowchart.
  • a program web service providing program
  • the developer can obtain a web service providing program that provides a desired web service without performing coding work.
  • the web service creation tool also generates variable definition information describing the names of input variables and output variables when executing the generated web service providing program. More specifically, this variable definition information is generated in units of web services realized by the web service providing program. For example, there are many common parts in processing for realizing individual web services, and so on.
  • a flowchart for realizing a service is created, and a web service providing program for realizing a plurality of types of web services is generated based on the flowchart, different webs of the plurality of types of web services are generated by a web service creation tool. A plurality of variable definition information corresponding to the service is generated.
  • the number n of web service providing programs is smaller than the number m of web services that can be provided (n ⁇ m).
  • the variable definition information is referred to as WSDL (Web Service Description Language) in the BPEL standard, for example.
  • WSDL Web Service Description Language
  • the names of the variables are the same.
  • the developer uploads the generated web service providing program and variable definition information from the client terminal 16 to the server computer 12.
  • the web service providing program and variable definition information uploaded to the server computer 12 are registered in the web service library and can be used by other developers.
  • the developer lists all the web services that are scheduled to be provided to the user through the UI realized by the screen control program to be developed.
  • the web service providing program and variable definition information corresponding to each uploaded web service are downloaded from, for example, the web service library of the server computer 12, or the web service creation tool is started as necessary, and the above-described flowchart creation is performed.
  • the web service creation tool and variable definition information are generated by the web service creation tool (stored in the memory 16A or the storage unit 16A).
  • the condition activation button generation program is activated on the client terminal 16.
  • variable definition information for example, in the BPEL standard
  • WSDL variable definition information
  • step 52 the variables stored in the input variable and the output variable extracted in step 50 are combined into one variable (name is the same, that is, the same variable), and each variable storage area is provided.
  • An area (for example, a managed bean in the JSF standard) is generated.
  • web services scheduled to be provided to users are “book search service” and “book purchase service”, and the input variable of “book search service” is “book”.
  • the output variable is“ Book ID ”
  • the input variable of“ Book Purchase Service ” is“ Book ID ”and“ Purchaser ”
  • the output variable is“ Result ”
  • the duplicate“ Book ID ” are combined into one, a variable storage area is generated in which one storage area for each variable of “book name”, “book ID”, “purchaser”, and “result” is provided.
  • Steps 50 and 52 correspond to the variable storage area generating means described in claim 5.
  • step 54 a single web service is selected as a processing target from among the web services scheduled to be provided to the user, and in the next step 56, it is visually displayed on the UI screen at the time of operation.
  • a condition start button (information) that can call the web service to be processed on the web page is generated.
  • symbols such as information input / display fields and various buttons that can be used as components of the UI screen are displayed in the palette of the creation screen (see also FIG. 5).
  • the UI screen is designed by repeating the operation of selecting a desired symbol and placing it at a desired position.
  • step 56 as a condition activation button that is visible on the UI screen during operation and can be called on the web page by selecting it, the same standard (for example, JSF) as the UI construction tool is used. Generate compliant condition start button (information). As a result, the generated condition activation button can be displayed in the palette of the UI construction tool creation screen. Step 56 corresponds to the condition activation symbol generating means described in claim 4.
  • step 58 among the input variables and output variables described in the variable definition information corresponding to the web service to be processed.
  • step 60 the variable storage area generated in step 52 is searched using the name of the variable selected in step 58 as a key, and storage corresponding to the variable selected in step 58 is selected. Extract the area from the variable storage area.
  • step 62 it is determined whether or not the variable selected in step 58 is an input variable. If the determination is affirmative, the process proceeds to step 64, and the data stored in the storage area extracted in step 60 from the variable storage area is delivered to the processing target web service as the variable (input variable) selected in step 58. Create an assignment statement (program).
  • step 58 determines whether the variable selected in step 58 is an output variable. If the variable selected in step 58 is an output variable, the determination in step 62 is denied and the process proceeds to step 66, out of the output variables delivered from the processing target web service when the processing by the processing target web service ends. Then, an assignment statement (program) is created for storing the output variable selected in step 58 in the storage area extracted in step 60 from the variable storage area.
  • an assignment statement program
  • step 68 it is determined whether or not the above processing has been performed on all variables described in the variable definition information corresponding to the web service to be processed. If the determination is negative, the process returns to step 58, and steps 58 to 68 are repeated until the determination of step 68 is affirmed.
  • the processing corresponding to the input variable in the processing target web service is transferred from the variable storage area to the processing target web service as an input variable (example)
  • the output variable delivered from the processing target web service is stored in the variable storage area.
  • a program for performing the process is automatically generated.
  • step 70 the process proceeds to step 70 to create a call statement (program) for calling the web service to be processed.
  • the calling program created by the above-described processing the program including the assignment statement created in steps 64 and 66 and the call statement created in step 70: equivalent to the fourth program according to claim 4)
  • the button (information) corresponding to the web service to be processed generated in step 56 is stored in a predetermined storage area of the memory 16B or the storage unit 16C.
  • step 74 it is determined whether or not the above processing has been performed on all the web services scheduled to be provided to the user. If the determination is negative, the process returns to step 54, and steps 54 to 74 are repeated until the determination of step 74 is affirmed. As a result, buttons (information) to which the calling program is added are generated for all web services scheduled to be provided to the user. If the determination at step 74 is affirmative, the condition activation button generation process is terminated.
  • a creation screen as shown in FIG. 5 is displayed on the display 18 of the client terminal 16 as an example.
  • the UI construction tool is a tool having a function of generating a screen control program for realizing the constructed UI when the developer performs an operation for constructing the UI and the operation by the developer is completed.
  • the creation screen shown in Fig. 2 displays a UI screen creation area for developers to create UI screens (web pages), symbols such as information input / display fields and various buttons that can be used as components of the UI screen.
  • a screen transition definition area for defining transitions between the created palette and a plurality of UI screens created in the UI screen creation area is provided.
  • condition start button generation process since the above-described condition start button generation process is executed prior to starting the UI construction tool, it is generated by the condition start button generation process and stored in a predetermined storage area when the UI construction tool is started. As shown in FIG. 5 as an example, the condition start button information generated by the condition start button generation process (for calling each web service scheduled to be provided to the user) is read. Button) is also displayed in the palette as one of the symbols that can be used to create the UI screen.
  • the developer When the preparatory work is completed as described above, the developer then performs an operation for defining a UI to be constructed, thereby constructing a UI (screen control program of a screen control program) in a predetermined website that provides a web service. Development). That is, the developer selects a desired symbol from a plurality of symbols displayed in the palette via the mouse 22 or the keyboard 20 and places it at a desired position in the UI screen creation area. By repeating the operation (first operation) for inputting text information to be displayed in the UI screen, a plurality of UI screens (web pages) constituting a predetermined website are sequentially created (designed).
  • the UI screen being created is a screen that provides a user with a specific web service
  • the developer must select one of the symbols displayed in the palette.
  • a condition activation button for calling a specific web service is also selected, and an operation for arranging the button in the UI screen is also performed.
  • a specific content that can be directly called from the link by selecting the link in which the link information is embedded in the screen content for displaying the processing result of the specific web service in the UI to be constructed.
  • a UI screen hereinafter, this screen is referred to as a “link call UI screen”
  • the developer uses a condition start button once arranged in the UI screen being created. An operation to instruct unconditional activation (change to the unconditional activation button) is performed.
  • This operation is performed, for example, on a specific web service in which a processing result is displayed on the link call UI screen among a plurality of condition activation buttons generated by the previous condition activation button generation processing and displayed in the palette of the creation screen.
  • the specific condition start button placed in the UI screen being created is selected.
  • the unconditional activation button generation program is activated on the client terminal 16, and the activated conditional activation button generation program is executed by the CPU 16A, whereby the unconditional activation button generation process shown in FIG. 4 is executed.
  • step 80 information on a specific condition activation button (condition activation button instructed to turn on the SubmitOnLoad function) arranged in the link call UI screen is stored in the memory 16B or the storage unit 16C.
  • Change the button attribute information (specifically, information that defines the display color of the button) out of the read button information so that the button after unconditional activation is invisible on the link call UI screen (Transparent)
  • step 82 the calling program generated by the previous condition activation button generation process is extracted from the read button information.
  • the calling program extracted in step 82 is called from the client terminal 42 on the display 44 of the client terminal 42 when the UI screen on which the corresponding condition start button is arranged is in operation (when the developed application program is executed). This is executed when the condition activation button displayed and further displayed visually in the displayed UI screen is selected, and performs processing such as calling the corresponding web service. Then, when a UI screen (link call UI screen) on which an unconditional activation button is arranged is called by selecting a link or the like, the calling program is executed unconditionally (without going through a button selection operation). In this way, the call program extracted in step 82 is changed, and the unconditional start button generation process ends. That. Note that the process of step 84 can be performed, for example, by deleting a determination sentence (program) for determining whether or not a button selection operation has been performed in the calling program.
  • the conditional activation button arranged in the UI screen being created is unconditionally activated (changed to the unconditional activation button), and the attribute information in the previous step 80 is changed.
  • the display in the UI screen being created also changes from visible display to invisible display (transparent).
  • the conditional start button arranged in the UI screen being created is changed to an unconditional start button, the UI screen being created is displayed in the screen when the UI screen is directly called from a link.
  • the calling program added to the unconditional activation button is unconditionally executed by the application server 34, the specific web service is called, and when the processing corresponding to the specific web service is completed, the specific web service is terminated. This is changed to a UI screen for displaying the processing result of this, that is, a link call UI screen.
  • the developer places a condition activation button in the UI screen being created, displays the properties of the arranged condition activation button, and instructs to turn on the SubmitOnLoad function. It is possible to generate an unconditional activation button (change the UI screen being created to a link call UI screen) without performing the above.
  • the calling program that has undergone the above-described unconditional activation button generation processing corresponds to the third program according to the present invention.
  • the unconditional activation button generation processing described above corresponds to the symbol generation means according to the present invention together with the conditional activation button generation processing described above, and in particular, the unconditional activation button generation processing is changed according to claim 4. Corresponds to the means.
  • the created UI screen is a screen provided with an information input / display field for inputting information or displaying information by the user
  • the developer can input / display individual information in the screen.
  • the field is associated with the storage area corresponding to the information input via the information input / display field or the information displayed in the information input / display field among the variable storage areas generated by the previous button generation process (UI binding) (Also called) operation (second operation).
  • UI binding Also called
  • second operation the developer performs an operation (third operation) for defining the transition of each created UI screen within the screen transition definition area.
  • a book search service and a book are provided as a web service program scheduled to be provided to the user through the development target website.
  • a purchase service program has already been developed, and the UI of the website uses a book search screen for a user to input a search target book name and instruct a search, and a book ID extracted by the search. After the user confirms and changes the book ID as necessary, the book purchase screen for inputting the purchaser information and instructing the purchase, and the result display screen for the user confirming the result of the purchase process
  • the developer calls an information input / display field for inputting a book name and a book search service for the book search screen.
  • To create a book search screen by performing an operation to place each condition start button on the screen, and to associate the information input / display field in the book search screen with the book name storage area in the variable storage area I do.
  • the developer inputs an information input / display field for displaying and inputting a book ID, an information input / display field for inputting buyer information, and a condition for calling a book purchase service.
  • a book purchase screen is created by performing an operation of arranging start buttons on the screen, and an information input / display field for displaying and inputting a book ID in the book purchase screen is included in the variable storage area.
  • an operation for associating the information input / display field for inputting the purchaser information with the storage area of the purchaser information in the variable storage area is performed.
  • the developer provides an information input / display field for displaying the result information and a button for instructing to erase the screen (a button labeled “OK” shown in FIG. 6B).
  • a result display screen is created by performing an operation of arranging each in the screen, and an operation for associating the information input / display field in the result display screen with the result information storage area in the variable storage area is performed.
  • condition activation button in the screen when the condition activation button in the screen is selected while the book search screen is displayed, the developer transits from the book search screen to the book purchase screen, and the screen is displayed while the book purchase screen is displayed.
  • condition start button When the condition start button is selected, an operation for defining the transition of each screen is performed so that a transition is made from the book purchase screen to the result display screen. With the above operation, the UI shown in FIG. 6B can be defined.
  • a UI as shown in FIG. 6B cannot be constructed.
  • a variable storage area is generated by sharing the storage area of the variable defined in the variable definition information.
  • the UI shown in FIG. 6B can be constructed only by associating the information input / display field in the book purchase screen for displaying and inputting the book ID with a single storage area.
  • a UI including a normal UI screen on which a condition start button is arranged.
  • an information input / display field for displaying the processing result of the web service is also provided for the link call UI screen.
  • At least an operation (second operation) for associating the provided information input / display field with a storage area in which the processing result of the web service is stored is performed.
  • a condition activation button may be further arranged on the link call UI screen by performing the first operation. The condition activation button arranged on the link call UI screen is selected.
  • the developer instructs the UI construction tool to generate a program that realizes the UI.
  • the UI construction tool realizes the UI constructed by the developer (displays each UI screen in order on the display 44 of the client terminal 42 in response to a request from the client terminal 42 (see FIG. 8)).
  • This screen control program includes data that defines individual UI screens and a program that defines processing when various operations are performed by the user via individual UI screens. For a UI screen provided with a condition start button for calling a web service, the calling program generated by the condition start button generation process described above and added to the condition start button is read and read.
  • the called program is used as a program for defining processing when the condition activation button is selected by the user (incorporated into the screen control program).
  • the call program changed by the unconditional start button generation process described above and added to the unconditional start button is displayed from the link to the link call UI screen.
  • the web service providing program can be developed without performing coding work by using the web service creation tool, and the condition activation button generation process is also performed in advance for the screen control program.
  • the web service providing program can be developed without performing coding work by using the web service creation tool, and the condition activation button generation process is also performed in advance for the screen control program.
  • the developer uses the UI construction tool and is displayed in the palette on the UI construction tool creation screen.
  • the developer can select a specific condition start button corresponding to a specific web service whose processing result is displayed on the link call UI screen. If you select and place the selected condition start button in the UI screen being created, and turn on the “SubmitOnLoad function” for the condition start button placed in the UI screen being created, the UI screen being created The conditional start button placed inside is changed to an unconditional start button, and the UI screen being created becomes the link call UI screen. Therefore, the construction of the UI including the link call UI screen can be realized without performing coding work. Can do. Therefore, it is possible to develop application programs including a screen control program and a web service providing program in a very short period of time.
  • the screen control program is installed in the storage unit 34C of the application server 34, and the web service providing program is stored in the web service providing server 36. Installed in the unit 36C.
  • the application server 34 executes a predetermined program (hereinafter referred to as a platform program) that functions as a platform for executing the screen control program.
  • a platform program that functions as a platform for executing the screen control program.
  • the web service providing server 36 executes a predetermined program that functions as a platform for executing the web service providing program, and the web service providing program is executed on the platform (for example, a web service creation tool is provided).
  • the web service providing program generated by the web service creation tool is executed on a platform called a BPEL engine).
  • the screen control program executed by the application server 34 sends the UI screen data requested for distribution to the requesting client terminal 42 every time a user requests distribution of the UI screen via the client terminal 42.
  • the UI screen requested to be distributed is displayed on the display 44 of the requesting client terminal 42.
  • the information input in the information input / display field in the UI screen displayed on the display 44 by the user operating the keyboard 46 or the like is temporarily stored in the memory 42B or the like of the client terminal 42.
  • the data is transferred to the application server 34 at a predetermined timing (for example, a timing when a condition start button serving as a trigger for transition to the next UI screen is selected).
  • the platform program operating on the application server 34 receives the received information.
  • the information is stored in a storage area pre-associated with the information input / display field in which the information is input (see FIG. A process corresponding to a right-pointing arrow among the solid-line arrows described as “substitution”: equivalent to the synchronization process according to claim 6).
  • the corresponding web service program is added by the calling program added to the selected condition start button.
  • the data in the storage area (preset storage area) corresponding to the input variable in the started program in the variable storage area is read from the variable storage area,
  • the read data is transferred as an input variable to the activated program (a process corresponding to a right-pointing arrow among the broken-line arrows indicated as “assignment by calling program” in FIG. 6B).
  • a process for realizing the web service corresponding to the condition activation button selected by the user is executed on the web service providing server 36.
  • the web service providing server 36 instructs the DB server 38 to access the DB via the application server 34, so that the DB is accessed. Access is realized.
  • a book search screen is first displayed on the display 44 of the client terminal 42 operated by the user.
  • a condition activation button (button for calling the book search service) labeled “Search” is displayed.
  • the book name input in the book name input / display field is temporarily stored in the book name storage area of the variable storage area by the platform program, and then the book search service program started by the calling program As an input variable.
  • the UI screen displayed on the display 44 of the client terminal 42 is switched to the book purchase screen in response to the selection of the condition activation button written as “search”.
  • the UI screen is an output variable of the book search service.
  • the book ID is temporarily stored in the book ID storage area of the variable storage area by the calling program and then displayed in the book ID input / display field in the book purchase screen by the platform program.
  • the user confirms the book ID displayed in the input / display field of the book ID in the screen and overwrites the book ID as necessary.
  • a condition activation button button for calling a book purchase service
  • the purchaser information entered in the purchaser information input / display field is stored in the purchaser information storage area of the variable storage area by the platform program (the book ID is overwritten by the user).
  • the book ID after overwriting is also stored in the corresponding storage area), and then the book ID and purchaser information stored in the variable storage area are stored in the book purchase service activated by the calling program. Passed to the program as an input variable.
  • the UI screen displayed on the display 44 of the client terminal 42 is switched to a result display screen in response to the selection of the condition activation button labeled “purchase”.
  • the result information is temporarily stored in the result information storage area of the variable storage area by the calling program, and then displayed in the information input / display field of the result information in the result display screen by the platform program.
  • the above arbitrary document may be a document to which a link can be added.
  • the link call UI screen When the link call UI screen is directly called by selecting a link, a process for drawing (generating) the link call UI screen is performed.
  • the link call UI screen is first arranged in the called link call UI screen.
  • the calling program added to the unconditional activation button is unconditionally executed by the application server 34, and the corresponding web service (for example, the web service for obtaining list information) is activated on the web service providing server 36. Is performed (step 110 in FIG. 9). Then, a process for realizing the corresponding web service is executed on the web service providing server 36 (step 116 in FIG. 9).
  • the link call UI screen is distributed to the client terminal 42 (step 114 in FIG. 9) and displayed on the display 44 of the client terminal 42. Will be.
  • the unconditional activation button arranged on the link call UI screen is not visible according to the button attribute information changed in the unconditional activation button generation processing. It is displayed (displayed as a transparent button) (see also the “list acquisition” button lightly shown in FIG. 9).
  • the screen control program corresponding to the first program according to the present invention and the web service providing program corresponding to the second program according to the present invention are different computers (application server 34 and web service providing server 36).
  • application server 34 and web service providing server 36 are different computers.
  • the mode to be executed has been described, the present invention is not limited to this, and the first program and the second program may be executed by the same computer.
  • condition start button after the condition start button is generated once, the information of the condition start button in which the operation for turning on the SubmitOnLoad function is performed among the generated condition start buttons is changed, thereby making the same web service unconditional (
  • the embodiment of generating the unconditional activation button to be activated when the link call UI screen is invoked has been described, the present invention is not limited to this, and the unconditional activation button is generated independently of the generation of the conditional activation button. You may do it.
  • the unconditional activation button is described as a button that is invisible (transparent) in the link call UI screen.
  • the present invention is not limited to this, and the unconditional activation button is a link call UI. It may be visible on the screen.
  • a mode in which a predetermined web service is provided to a user who accesses a website (application server 34) through the Internet 40 has been described.
  • the present invention is not limited to this.
  • the present invention is also applicable to a mode in which a predetermined web service is provided to a user (for example, an employee of a specific company) who can connect to the intranet using an intranet.
  • condition activation button generation program and the unconditional activation button generation program corresponding to the application development support program according to the present invention have been described in advance as being stored (installed) in the storage unit 16C of the client terminal 16.
  • the application development support program according to the present invention can also be provided in a form recorded on a recording medium such as a CD-ROM or DVD-ROM.
  • the recording medium in this aspect corresponds to the recording medium according to claim 10.

Abstract

 外部リンクから直接呼び出され特定サービスの実行結果を表示する特定ユーザインタフェース(UI)画面を含むUIを有するアプリケーションの開発を、コーディング作業を行うことなく実現する。  第1のツールを用いたUIの構築前に、第2のツールを用いて生成したプログラムによって提供可能な複数種のサービスに対応し、画面上で選択されると対応するサービスを呼び出す呼出プログラムを付加した条件起動ボタンを各々生成し、このうち特定の条件起動ボタンが作成中のUI画面内に配置されて無条件起動化が指示されると、属性を変更してボタンを非可視化し、リンクからの前記UI画面の呼出時に無条件で実行されるように呼出プログラムを変更することで、特定の条件起動ボタンを無条件起動ボタンへ変更する。

Description

アプリケーション開発支援装置、プログラム及び記録媒体
 本発明はアプリケーション開発支援装置、プログラム及び記録媒体に係り、特に、複数種のツールを用いて行われるアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置、コンピュータを前記アプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラム、及び、前記アプリケーション開発支援プログラムが記録された記録媒体に関する。
 最近、ビジネスプロセスをワークフローとして記述可能な規格(言語)としてBPEL(Business Process Execution Language)が普及してきている。BPELに関しては、互いに異なる処理に対応する複数種の部品の中から所望の部品を選択して組み合わせる操作を行うことで所望のワークフローを視覚的に記述可能で、かつ作成されたワークフローからBPELに準拠したプログラムを自動的に生成可能なツールが用意されており、当該ツールによって自動生成されたプログラムをコンピュータによって実行させる実行環境も構築可能とされている。このため、上記ツールを利用することで、所望のウェブサービスを提供するワークフローをコンピュータによって実現させるプログラムの開発を、プログラミング言語に関する知識が必要なコーディング作業を行うことなく容易かつ短時間で行うことができる。
 一方、ウェブアプリケーション向けのユーザインタフェースを構築するための規格としてJSF(Java(登録商標) Server Faces) が知られている。このJSFに関しても、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルの中から所望のシンボルを選択・配置する等の操作を行うことで、ユーザインタフェース画面の設計やユーザインタフェース画面の遷移の定義等のユーザインタフェースの構築が可能で、構築されたユーザインタフェースを実現するプログラムを自動的に生成可能なツールが用意されており、このツールを利用することで、所望のユーザインタフェースを実現するプログラムを、コーディング作業を行うことなく容易かつ短時間で得ることができる。このため、ウェブアプリケーションの開発にあたり、当該ウェブアプリケーションのうち、ユーザインタフェースの部分のプログラムをJSFのツールを用いて自動生成すると共に、ウェブサービスを提供する部分のプログラムをBPELのツールを用いて自動生成するようにすれば、一切のコーディング作業が不要となることで開発期間の大幅な短縮を実現できるものと期待される。
 しかしながら、JSFの規格は、JSFを用いて自動生成したプログラム(ユーザインタフェースを実現するプログラム)をBPELを用いて自動生成したプログラム(ワークフローを実現するプログラム)と連動させることが考慮されておらず(他のプログラムを呼び出す処理が規格として定義されていない)、一例として、リンク(例えば任意の文書に貼り付けられたハイパーリンクやインターネット・ショートカット等)が選択されることで直接呼び出され、特定のウェブサービスの実行結果を表示する特定のユーザインタフェース画面を含むユーザインタフェースを構築するためには、前記特定のウェブサービスを提供する特定プログラムを起動するプログラムをコーディング作業によって別途作成し、前記特定のユーザインタフェース画面に付加する必要がある。従って、開発対象のウェブアプリケーションのうち、ユーザインタフェースの部分のプログラムをJSFのツールを用いて自動生成すると共に、ウェブサービスを提供する部分のプログラムをBPELのツールを用いて自動生成したとしても、結局はコーディング作業が必要になるために開発期間を大幅に短縮することは困難であった。
 上記に関連して特許文献1には、ウェブブラウザを使用することなくウェブサーバと通信できるソケット通信プログラムをクライアント端末に設けると共に、ソケット通信プログラムによってクライアント端末から送られてきた要求に従いデータサーバ上のデータベースとやり取りを行い、その結果をクライアント端末に送り出すためのプログラムをウェブサーバに設けることで、クライアント端末でウェブブザウザを用いることなく結果を表示することを可能とし、データ処理の自動化を実現する技術が開示されている。
 また特許文献2には、クライアントとのインタフェースを行う第1の仮想マシンと、各種ビジネスオブジェクトを実行する第2の仮想マシンを有するアプリケーションサーバにおいて、ビジネスオブジェクトの処理に必要なデータの識別名を各ビジネスオブジェクト毎に格納しておき、第1の仮想マシンは、クライアントに任意の画面を表示させて任意のデータ入力を行わせ、フォームデータを含むリクエストを受け取り、受け取ったリクエストに応じたビジネスオブジェクトを呼び出す際に、呼び出すビジネスオブジェクトが必要とする各データの識別名を取得し、フォームデータに含まれる各データのうち識別名が前記取得した識別名と一致するデータのみを第2の仮想マシンへ転送することで、第2の仮想マシン側で必要なデータを抽出する処理のためのコーディングを不要とする技術が開示されている。
 また特許文献3には、クライアントからの要求内容に応じた業務処理を予め用意された複数の業務処理モジュールの何れかに振り分け、処理結果を要求元のクライアントに返信するウェブアプリケーション制御装置において、クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受け付け、受け付けた識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得し、識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールの何れかに処理結果の画面生成処理を振り分け、画面生成モジュールでは、振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する技術が開示されている。
特開2003-108558号公報 特開2006-268121号公報 特開2004-38559号公報
 上述した特許文献1~特許文献3に記載の技術は、何れもクライアント端末からの所望のウェブサービスの利用を実現する技術であるが、これらの技術は、特定のウェブサービスの実行結果を表示する特定のユーザインタフェース画面がリンクから直接呼び出される場合について考慮されておらず、上記の特定のユーザインタフェース画面を含むユーザインタフェースを構築する場合にはコーディング作業を行う必要がある。プログラムの開発にあたって多少なりともコーディング作業が必要とされる場合、開発担当者がプログラミング言語に関する知識を有している人に限られると共に、コーディング作業で作成したプログラムに対してはデバッグ作業も必要となるので、コーディング作業を省略できる場合と比較して開発期間が大幅に長期化するという問題がある。
 本発明は上記事実を考慮して成されたもので、リンクから直接呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現可能なアプリケーション開発支援装置、アプリケーション開発支援プログラム及び記録媒体を得ることが目的である。
 上記目的を達成するために請求項1記載の発明に係るアプリケーション開発支援装置は、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するシンボル生成手段を備えている。
 請求項1記載の発明において、第1のツールは、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する。なお、第1のツールは、より詳しくは、例えば請求項5に記載したように、開発者により、第1の操作に加えて、第1の操作によって設計したユーザインタフェース画面内に配置した個々の情報入力/表示欄を、変数格納領域内に格納領域が設けられている複数の変数のうち対応する変数の格納領域と各々関連付ける第2の操作、及び、設計した複数のユーザインタフェース画面の遷移を規定する第3の操作が行われることで構築対象のユーザインタフェースが規定されると第1プログラムを生成するツールであってもよい。また、請求項7に記載したように、第1のツールとしては第1の規格に準拠したツールを適用することができ、より詳しくは、例えば請求項8に記載したように、第1の規格としてはJSFを適用することができる。
 また、請求項1記載の発明において、第2のツールは、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する。なお、第2のツールとしては第2の規格(第1のツールと異なる規格)に準拠したツールを適用することができ、より詳しくは、例えば請求項8に記載したように、第2の規格としてはBPELを適用することができる。
 ここで、請求項1記載の発明に係るアプリケーション開発支援装置は、上記の第1のツール及び第2のツールを用いて行われる、第1プログラム及び第2プログラムを含むアプリケーション・プログラムの開発を支援する装置であり、シンボル生成手段は、ユーザインタフェース画面の構成要素として使用可能で、かつ、第2のツールを用いて生成された第2プログラムを呼び出して所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時(例えばコンピュータによる第1プログラムの実行時、或いは第1プログラムによって実現されるユーザインタフェースの利用者への提供時)に、配置されたユーザインタフェース画面が呼び出されると、第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成する。
 なお、この無条件起動シンボルは、例えば請求項3に記載したように、特定のユーザインタフェース画面を呼び出すためのアドレス情報(例えばURL(Uniform Resource Locator)等)を含むリンク情報が埋め込まれたリンクが選択されることで前記リンクから直接呼び出される(他のユーザインタフェース画面の表示を経ずに呼び出される)と共に、第2プログラムによって行われた所定のウェブサービスを提供する処理の結果を表示する前記特定のユーザインタフェース画面に配置するためのシンボルとして用いることができる。
 無条件起動シンボルはユーザインタフェース画面の構成要素として使用可能であるので、開発者が第1の操作を行うことで、無条件起動シンボルを設計中のユーザインタフェース画面内に配置することが可能となる。また、無条件起動シンボルを配置したユーザインタフェース画面が稼働時に呼び出されると、無条件起動シンボルに付加されている第3プログラムが実行され、第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させる処理が無条件で行われ、所定のウェブサービスの実行結果が得られることになる。
 このように、請求項1記載の発明では、稼働時に、配置されたユーザインタフェース画面が呼び出されると、第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムが付加された無条件起動シンボルがシンボル生成手段によって生成されるので、リンクから直接呼び出され、特定のウェブサービスの実行結果を表示する特定のユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発において、前記特定のユーザインタフェース画面から第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させるプログラムを作成するコーディング作業を省略することができる。また、開発者は、第1のツールによって表示画面に表示されている無条件起動シンボルを、特定のウェブサービスの実行結果を表示するユーザインタフェース画面内に配置する第1の操作を行うのみで、当該ユーザインタフェース画面を、リンクから直接呼び出すことが可能に設計することができるので、上記のコーディング作業を行う必要が無くなったことと相俟って、構築対象のユーザインタフェースを規定する作業に要する期間、ひいてはアプリケーション・プログラムの開発期間を短縮することが可能となる。
 なお、請求項1記載の発明において、無条件起動シンボルは、稼働時に、配置されたユーザインタフェース画面上で可視表示されるシンボルであってもよいが、例えば請求項2に記載したように、シンボル生成手段は、無条件起動シンボルとして、稼働時に、配置されたユーザインタフェース画面上で非可視表示されるように属性情報の設定も行ったシンボルを生成することが好ましい。これにより、無条件起動シンボルを配置したユーザインタフェース画面が繁雑となることを回避することができる。
 また、請求項1記載の発明において、シンボル生成手段は、例えば請求項4に記載したように、第1のツールに対して第1の操作が少なくとも行われる前に、ユーザインタフェース画面の構成要素として使用可能で、稼働時に、配置されたユーザインタフェース画面上で可視表示されるとして、第2のツールを用いて生成されたn種類の第2プログラムのうちの何れかを呼び出して、n種類の前記第2プログラムによって実行可能なm(m≧n)種類の処理のうちの互いに異なる処理を行わせるためのm種類の条件起動シンボルを各々生成する条件起動シンボル生成手段と、条件起動シンボル生成手段によって生成されたm種類の条件起動シンボルのうちの特定のシンボルが、稼働時に、配置されたユーザインターフェース画面上で可視表示されている状態で選択された場合に、n種類の第2プログラムのうち対応する処理を実行可能な特定の第2プログラムを起動させて対応する処理を実行させる第4プログラムを生成し、生成した第4プログラムを特定のシンボルに付加することを、m種類の条件起動シンボルに対して各々行うプログラム付加手段と、前記第1のツールに対して前記第1の操作が行われる際に、前記プログラム付加手段によって前記第4プログラムが付加された前記m種類の条件起動シンボルの中から選択され、設計中のユーザインタフェース画面内に配置された特定の条件起動シンボルに対して無条件起動シンボルへの変更が指示された場合に、前記画面内に配置された特定の条件起動シンボルに付加されている前記第4プログラムを、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理を実行させる処理を無条件に行う前記第3プログラムへ変更することで、前記画面内に配置された特定の条件起動シンボルから前記無条件起動シンボルを生成する変更手段と、で構成することができる。
 これにより、開発者が第1のツールを用いて構築対象のユーザインタフェースを規定する作業を行う際には、シンボル生成手段のうちの条件起動シンボル生成手段によって生成された条件起動シンボルも、第1のツールにより、ユーザインタフェース画面の構成要素として使用可能なシンボルとして表示画面に表示され、第1の操作を行うことで、表示されている条件起動シンボルのうちの所望の起動シンボル(m種類の処理のうち実行を所望している処理に対応する条件起動シンボル)を、設計中のユーザインタフェース画面内に配置することが可能となる。また、稼働時に上記のユーザインタフェース画面が表示されている状態で、利用者が上記の条件起動シンボルを選択すると、当該起動シンボルに付加されている第4プログラムが実行され、前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理が行われることになる。従って、請求項4記載の発明によれば、開発対象のアプリケーション・プログラムが有するユーザインタフェースが、選択されると第2プログラムを起動させて対応する処理を実行させる条件起動シンボルが画面内に配置されたユーザインタフェース画面を含んでいる場合にもコーディング作業を省略することができる。
 また、第1のツールに対して第1の操作を行う際に、開発者が、条件起動シンボル生成手段によって生成されたm種類の条件起動シンボルの中から特定の条件起動シンボルを選択して設計中のユーザインタフェース画面内に配置し、画面内に配置した特定の条件起動シンボルに対して無条件起動シンボルへの変更を指示する操作を行えば、画面内に配置した特定の条件起動シンボルが無条件起動シンボルに変更されるので、第2プログラムによってm種類の処理のうちの所望の処理を実行させる無条件起動シンボルを生成させることを、簡易な操作によって実現することができる。
 また、請求項4記載の発明において、第1のツールは、開発者により、第1の操作に加えて、第1の操作によって設計したユーザインタフェース画面内に配置した個々の情報入力/表示欄を、変数格納領域内に格納領域が設けられている複数の変数のうち対応する変数の格納領域と各々関連付ける第2の操作、及び、設計した複数のユーザインタフェース画面の遷移を規定する第3の操作が行われることで構築対象のユーザインタフェースが規定されると、ユーザインタフェースを実現するための第1プログラムを生成するツールであってもよく、この場合、例えば請求項5に記載したように、第1のツールに対して第1~第3の操作が行われる前に、第2のツールを用いて生成されたn種類の第2プログラムによって実行可能なm(m≧n)種類の処理における入力変数及び出力変数を各々定義する変数定義情報に基づき、変数格納領域として、変数定義情報に定義されている各変数の格納領域が各々設けられ、かつ変数定義情報に重複定義されている変数の格納領域が共通化された変数格納領域を生成する変数格納領域生成手段を設け、プログラム付加手段を、第4プログラムとして、特定の条件起動シンボルが、稼働時に、配置されたユーザインターフェース画面上で可視表示されている状態で選択された場合に、変数格納領域内の各格納領域のうち、前記特定の条件起動シンボルに対応する処理における入力変数に対応する変数の格納領域に格納されているデータを引数として、n種類の第2プログラムのうち対応する処理を実行可能な特定の第2プログラムを起動させて対応する処理を実行させると共に、特定の第2プログラムによる対応する処理の実行が完了すると、特定の第2プログラムから引き渡された出力変数を、変数格納領域内の各格納領域のうち引き渡された出力変数に対応する変数の格納領域に格納する処理を行うプログラムを生成するように構成してもよい。
 これにより、画面内に条件起動シンボルが配置されたユーザインタフェース画面が表示されている状態で、利用者が上記の条件起動シンボルを選択すると、当該条件起動シンボルに付加されている第4プログラムが実行され、変数格納領域内の各格納領域のうち、前記条件起動シンボルに対応する処理における入力変数に対応する変数の格納領域に格納されているデータを引数として、前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理を実行させると共に、特定の第2プログラムによる前記対応する処理の実行が完了すると、特定の第2プログラムから引き渡された出力変数を、変数格納領域内の各格納領域のうち前記引き渡された出力変数に対応する変数の格納領域に格納する処理が行われることになる。
 請求項5記載の発明において、第1のツールに対して第1~第3の操作が行われる前にプログラム付加手段によって生成される第4プログラムは、ユーザインターフェース画面内に表示されている特定の条件起動シンボルが選択された場合に、変数格納領域内の各格納領域のうち、特定の起動シンボルに対応する処理における入力変数に対応する変数の格納領域に格納されているデータを引数として、n種類の第2プログラムのうち前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理を実行させると共に、特定の第2プログラムによる前記対応する処理の実行が完了すると、特定の第2プログラムから引き渡された出力変数を、変数格納領域内の各格納領域のうち前記引き渡された出力変数に対応する変数の格納領域に格納する処理を行うプログラムであり、第4プログラムによる処理における処理対象の格納領域(格納されているデータを引数として用いたり、引き渡された出力変数を格納する格納領域)は第4プログラムの生成時に設定されている。従って、請求項5記載の発明では、第4プログラムの実行時に処理対象の格納領域を検索・抽出する処理を行う必要が無いので、第4プログラムが実行される際の処理時間を短縮することができる。
 また、請求項5記載の発明は、変数格納領域生成手段により、変数定義情報に定義されている各変数の格納領域が各々設けられ、かつ変数定義情報に重複定義されている変数の格納領域が共通化された変数格納領域が生成されるので、一例として、第2プログラムによって実行される第1処理の出力変数をユーザインタフェース画面内の特定の情報入力/表示欄に表示させると共に、特定の情報入力/表示欄に表示されたデータ(第1処理の出力変数)に対し、必要に応じて利用者による変更設定を行わせ、必要に応じて変更設定が行われた特定の情報入力/表示欄内のデータを第2プログラムによって第2処理の入力変数として用いるユーザインタフェースを構築する等の場合にも、上記の特定の情報入力/表示欄と関連付ける必要の有る変数格納領域内の格納領域の数は1個で済む。これにより、第1のツールにおいて、個々の情報入力/表示欄と関連付けることが可能な変数格納領域内の格納領域の数が各々1個に制限されている場合にも、上記のようなユーザインタフェースを構築することが可能となり、第1プログラムによって実現されるユーザインタフェースの設計の自由度を向上させることができる。
 なお、請求項5記載の発明において、第1のツールによって生成される第1プログラムとしては、例えば請求項6に記載したように、第1プログラムを実行するためのプラットフォームとして機能する所定のプログラムを実行しているコンピュータ上で実行され、当該コンピュータによる第1プログラムの実行時には、所定のプログラムにより、表示画面内に表示されているユーザインタフェース画面内に配置され情報の入力が可能な特定の情報入力/表示欄内に新たに情報が入力された場合には、入力された情報を、変数格納領域内の各格納領域のうち特定の情報入力/表示欄と関連付けられた特定の格納領域にも格納し、変数格納領域内の特定の格納領域に新たに情報が格納された場合には、格納された情報を、表示画面内に表示されているユーザインタフェース画面内に配置され特定の格納領域と関連付けられかつ情報の表示が可能な特定の情報入力/表示欄内にも表示させる同期処理が行われるプログラムが好適である。
 請求項9記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、前記コンピュータを、前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するシンボル生成手段として機能させる。
 請求項9記載の発明に係るアプリケーション開発支援プログラムは、コンピュータを、上記のシンボル生成手段として機能させるためのプログラムであるので、コンピュータが請求項9記載の発明に係るアプリケーション開発支援プログラムを実行することで、コンピュータが請求項1に記載のアプリケーション開発支援装置として機能することになり、請求項1記載の発明と同様に、リンクが選択されることで呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することができる。
 請求項10記載の発明に係る記録媒体は、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体であって、前記アプリケーション開発支援プログラムは、前記コンピュータを、前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するシンボル生成手段として機能させる。
 請求項10記載の発明に係る記録媒体には、請求項9記載の発明に係るアプリケーション開発支援プログラム、すなわち、コンピュータを、上記のシンボル生成手段として機能させるためのプログラムが記録されているので、請求項10記載の発明に係る記録媒体から読み出されたアプリケーション開発支援プログラムがコンピュータによって実行されることで、当該コンピュータが請求項1に記載のアプリケーション開発支援装置として機能することになり、請求項1記載の発明と同様に、リンクが選択されることで呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することができる。
 以上説明したように本発明は、ユーザインタフェース画面の構成要素として使用可能でかつ所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するようにしたので、リンクが選択されることで呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現できる、という優れた効果を有する。
本実施形態においてアプリケーション・プログラムの開発環境としての第1のコンピュータ・システムの概略構成を示すブロック図である。 (A)はウェブサービス作成ツールの作成画面の一例、(B)は当該ツールを用いて作成画面上で作成されたフローの一例を各々示すイメージ図である。 条件起動ボタン生成処理の内容を示すフローチャートである。 無条件起動ボタン生成処理の内容を示すフローチャートである。 UI構築ツールの作成画面の一例を示すイメージ図である。 (A)は変数定義情報からの変数格納領域の生成、(B)は画面内の情報入力/表示欄と格納領域のバインド、稼働時のデータ(変数)の代入を説明する概念図である。 従来方式で図6(B)と同一処理を行う場合の問題点を示す概念図である。 アプリケーション・プログラムの実行環境としての第2のコンピュータ・システムの概略構成を示すブロック図である。 リンクからウェブサービスを利用した場合の処理の流れの一例を示す概念図である。
 以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係る第1のコンピュータ・システム10が示されている。本実施形態に係る第1のコンピュータ・システム10は、所定のウェブサイトにアクセスした利用者に対して所定のサービス(ウェブサービス)を提供するためのアプリケーション・プログラムを開発する際に使用されるコンピュータ・システムであり、サーバ・コンピュータ12がイントラネット14を介して多数台のクライアント端末16と各々接続されて構成されている。個々のクライアント端末16は、上記のアプリケーション・プログラムを開発する開発者によって操作される端末であり、例えばパーソナル・コンピュータ(PC)等から成り、CPU16A、RAM等から成るメモリ16B、HDD(Hard Disk Drive)等から成る記憶部16C、ネットワークインタフェース(I/F)部16Dを備えている。個々のクライアント端末16には、表示手段としてのディスプレイ18、入力手段としてのキーボード20及びマウス22が各々接続されており、ネットワークI/F部16Dを介してイントラネット14に接続されている。
 また、上記のアプリケーション・プログラムは、所定のウェブサイトにおけるユーザインタフェース(UI)の部分を実現するための画面制御プログラム(本発明における第1プログラム)と、利用者に所定のウェブサービスを提供するためのウェブサービス提供プログラム(本発明における第2プログラム)に大別される。クライアント端末16の記憶部16Cには、上記の画面制御プログラムを開発するためのUI構築ツールのプログラムと、上記のウェブサービス提供プログラムを開発するためのウェブサービス作成ツールのプログラムが各々インストールされており、更に、クライアント端末16で後述する条件起動ボタン生成処理を行うための条件起動ボタン生成プログラム及び無条件起動ボタン生成処理を行うための無条件起動ボタン生成プログラムもインストールされている。この条件起動ボタン生成プログラム及び無条件起動ボタン生成プログラムは請求項9に記載のアプリケーション開発支援プログラムに対応しており、クライアント端末16は、CPU16Aが上記の条件起動ボタン生成プログラム及び無条件起動ボタン生成プログラムを実行することで、本発明に係るアプリケーション開発支援装置として機能する。
 なお、UI構築ツールは本発明に係る第1のツールに、ウェブサービス作成ツールは本発明に係る第2のツールに各々対応している。UI構築ツールとしてはJSF(Java(登録商標) Server Faces)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。また、ウェブサービス作成ツールとしてはBPEL(Business Process Execution Language)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。
 一方、サーバ・コンピュータ12は、CPU12A、RAM等から成るメモリ12B、HDD等から成る記憶部12C、ネットワークI/F部12Dを備えており、ネットワークI/F部12Dを介してイントラネット14に接続されている。前述のウェブサービス作成ツールを用いたウェブサービス提供プログラムの開発では、個々のウェブサービス(例えば、後述する「書籍検索」や「書籍購入」等)を単位としてプログラムが開発されるが、開発されたウェブサービス提供プログラムは、他のウェブサイトにおける同一ウェブサービスの提供にも利用可能である。このため、サーバ・コンピュータ12の記憶部12Cには、開発されたウェブサービス提供プログラムを登録するためのウェブサービス・ライブラリが記憶されており、このウェブサービス・ライブラリに登録されたウェブサービス提供プログラムは、互いに異なるクライアント端末16を操作する複数の開発者が各々使用可能とされている。
 次に図8を参照し、第1のコンピュータ・システム10によって開発されたアプリケーション・プログラムの実行環境としての第2のコンピュータ・システム30の構成について説明する。第2のコンピュータ・システム30は特定ウェブサイトを運営するためのウェブサイト運営システム32を備えている。ウェブサイト運営システム32は、アプリケーション・サーバ34、ウェブサービス提供サーバ36及びDB(データベース)サーバ38を備え、ウェブサービス提供サーバ36及びDBサーバ38が通信回線を介してアプリケーション・サーバ34に各々接続されて構成されている。
 アプリケーション・サーバ34は、CPU34A、RAM等から成るメモリ34B、HDD等から成る記憶部34C、ネットワークI/F部34Dを備えており、記憶部34Cには、先に説明した第1のコンピュータ・システム10を利用して開発されたアプリケーション・プログラムのうち前述の画面制御プログラムがインストールされている。アプリケーション・サーバ34のネットワークI/F部34Dは、多数台のウェブサーバが通信回線を介して相互に接続されて成るコンピュータ・ネットワーク(インターネット)40に接続されており、インターネット40には、CPU42A、RAM等から成るメモリ42B、HDD等から成る記憶部42C、ネットワークI/F部42Dを備え、記憶部34Cにブラウザ(ウェブ閲覧ソフト)のプログラムがインストールされていると共に、表示手段としてのディスプレイ44、入力手段としてのキーボード46及びマウス48が各々接続されたクライアント端末42が多数台接続されている。
 また、ウェブサービス提供サーバ36はCPU36A、RAM等から成るメモリ36B、HDD等から成る記憶部36C、ネットワークI/F部36Dを備えており、HDD36Cには、先に説明した第1のコンピュータ・システム10を利用して開発されたアプリケーション・プログラムのうち前述のウェブサービス提供プログラムがインストールされている。
 次に本実施形態の作用として、まず、ウェブサービス作成ツールを用いて行われるウェブサービス提供プログラムの開発について説明する。ウェブサービス提供プログラムを開発するために、開発者がクライアント端末16上でウェブサービス作成ツールのプログラムを起動すると、クライアント端末16のディスプレイ18には、例として図2(A)に示すような作成画面が表示される。ウェブサービス作成ツールは、提供対象のウェブサービスを実現する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するためのウェブサービス提供プログラムを生成する機能を備えたツールであり、図2(A)に示す作成画面には、開発者がフローチャートを作成するための作業領域と、フローチャートの作成に利用可能で互いに異なる処理を表す複数種の部品(シンボル)が表示されたパレットが設けられている。
 上記の作成画面が表示されると、開発者は、マウス22やキーボード20を介し、パレット内に表示されている複数の部品の中から所望の部品を選択して作業領域に配置し、必要に応じて、配置した部品が表す処理の内容を規定する情報を入力すると共に、配置した部品と作業領域に既に配置した部品との接続関係(各部品が表す処理の実行順序)を規定する操作を繰り返すことで、例として図2(B)に示すように、提供対象のウェブサービスを実現する処理を規定するフローチャートを作成する。フローチャートの作成が完了すると、開発者は、作成したフローチャートに対応するプログラムの生成を指示する操作を行う。パレット内に表示されている個々の部品には、個々の部品が表す処理を実現するためのプログラムが付加されており、ウェブサービス作成ツールは、プログラムの生成が指示されると、作成されたフローチャートを構成する個々の部品に付加されているプログラムを、開発者によって入力された処理内容を規定する情報に基づいて修正し、作成されたフローチャートにおける個々の部品の接続関係に応じて並べ替える等の処理を行うことで、作成されたフローチャートが表す処理を実行するためのプログラム(ウェブサービス提供プログラム)を生成する。これにより開発者は、コーディング作業を行うことなく、所望のウェブサービスを提供するウェブサービス提供プログラムを得ることができる。
 また、ウェブサービス作成ツールは、生成したウェブサービス提供プログラムを実行する際の入力変数及び出力変数の名称等を記述した変数定義情報も生成する。この変数定義情報は、より詳しくはウェブサービス提供プログラムによって実現されるウェブサービスを単位として生成され、例えば個々のウェブサービスを実現するための処理に共通部分が多い等の理由で、複数種のウェブサービスを実現するフローチャートが作成され、当該フローチャートに基づいて複数種のウェブサービスを実現するウェブサービス提供プログラムが生成された場合、ウェブサービス作成ツールにより、前記複数種のウェブサービスのうちの互いに異なるウェブサービスに対応する複数の変数定義情報が各々生成される。
 複数種のウェブサービスを実現するウェブサービス提供プログラムが生成された場合、ウェブサービス提供プログラムの種類数nは提供可能なウェブサービスの種類数mよりも少なくなる(n<m)が、個々のウェブサービス提供プログラムが各々単一のウェブサービスを実現するプログラムである場合は、ウェブサービス提供プログラムの種類数nは提供可能なウェブサービスの種類数mと同数(n=m)となる。なお、上記の変数定義情報は、例えばBPELの規格ではWSDL(Web Service Description Language)と称される。また本実施形態では「個々の変数に一定の名称を用いる」という開発ルールが存在しており、同一の変数を用いるウェブサービスは、当該ウェブサービスの内容に拘わらず、対応する変数定義情報に規定されている前記変数の名称が同一とされている。
 上記のようにしてウェブサービス作成ツールによるウェブサービス提供プログラム及び変数定義情報の生成が完了すると、開発者は、生成されたウェブサービス提供プログラム及び変数定義情報をクライアント端末16からサーバ・コンピュータ12へアップロードさせる。サーバ・コンピュータ12へアップロードされたウェブサービス提供プログラム及び変数定義情報はウェブサービス・ライブラリに登録され、他の開発者が使用することが可能となる。
 次に、UI構築ツールを用いて画面制御プログラムの開発を行うに先立って開発者が行う準備作業について説明する。UI構築ツールを用いて画面制御プログラムの開発を行う場合、開発者は、これから開発する画面制御プログラムによって実現されるUIを通じて利用者への提供を予定しているウェブサービスを全てリストアップし、リストアップした個々のウェブサービスに対応するウェブサービス提供プログラム及び変数定義情報を、例えばサーバ・コンピュータ12のウェブサービス・ライブラリからダウンロードしたり、必要に応じてウェブサービス作成ツールを起動し、前述のフローチャート作成作業を行った後にウェブサービス作成ツールによってウェブサービス提供プログラム及び変数定義情報を生成させる等によって取得する(メモリ16A又は記憶部16Aに記憶させる)。そして、利用者への提供を予定している全てのウェブサービスについて、対応するウェブサービス提供プログラム及び変数定義情報を取得すると、クライアント端末16上で条件起動ボタン生成プログラムを起動させる。
 以下、起動された条件起動ボタン生成プログラムがCPU16Aによって実行されることでクライアント端末16によって行われる条件起動ボタン生成処理について、図3を参照して説明する。条件起動ボタン生成処理では、まずステップ50において、メモリ16A又は記憶部16Aに記憶されている、利用者への提供を予定している個々のウェブサービスに対応する変数定義情報(例えばBPELの規格ではWSDL)を各々参照し、個々の変数定義情報に記述されている入力変数及び出力変数を全て抽出する。例えば利用者への提供を予定しているウェブサービスの種類数がmである場合、m個の変数定義情報から入力変数及び出力変数が各々抽出される。次のステップ52では、ステップ50で抽出した入力変数及び出力変数のうち重複している変数(名称が同一、すなわち同一の変数)を1つに纏め、各変数の格納領域が設けられた変数格納領域(例えばJSFの規格ではマネージドビーン)を生成する。
 例として図6(A)に示すように、利用者への提供を予定しているウェブサービスが「書籍検索サービス」及び「書籍購入サービス」であり、「書籍検索サービス」の入力変数が「書籍名」、出力変数が「書籍ID」であり、「書籍購入サービス」の入力変数が「書籍ID」及び「購入者」、出力変数が「結果」である場合、重複している「書籍ID」が1つに纏められることで、「書籍名」「書籍ID」「購入者」及び「結果」の各変数の格納領域が1個ずつ設けられた変数格納領域が生成されることになる。なお、ステップ50,52は請求項5に記載の変数格納領域生成手段に対応している。
 ステップ54では利用者への提供を予定しているウェブサービスの中から単一のウェブサービスを処理対象として選択し、次のステップ56では、稼働時にUI画面上に可視表示され、選択することで処理対象のウェブサービスをウェブページ上で呼び出すことが可能な条件起動ボタン(の情報)を生成する。詳細は後述するが、UI構築ツールでは、UI画面の構成要素として使用可能な情報入力/表示欄や各種のボタン等のシンボルが作成画面(図5も参照)のパレット内に表示され、開発者により、所望のシンボルを選択して所望の位置に配置する操作が繰り返されることでUI画面の設計が行われる。ステップ56では、稼働時にUI画面上に可視表示され、選択することで処理対象のウェブサービスをウェブページ上で呼び出すことが可能な条件起動ボタンとして、UI構築ツールと同一の規格(例えばJSF)に準拠した条件起動ボタン(の情報)を生成する。これにより、生成した条件起動ボタンはUI構築ツールの作成画面のパレット内に表示することが可能となる。なお、ステップ56は請求項4に記載の条件起動シンボル生成手段に対応している。
 次のステップ58以降の処理は請求項4に記載のプログラム付加手段に対応しており、まずステップ58では、処理対象のウェブサービスに対応する変数定義情報に記述されてる入力変数及び出力変数の中から単一の変数を選択し、次のステップ60では、ステップ52で生成した変数格納領域をステップ58で選択した変数の名称をキーとして検索することで、ステップ58で選択した変数に対応する格納領域を変数格納領域から抽出する。ステップ62では、ステップ58で選択した変数が入力変数か否か判定する。判定が肯定された場合はステップ64へ移行し、変数格納領域からステップ60で抽出した格納領域に格納されているデータを、ステップ58で選択した変数(入力変数)として処理対象のウェブサービスへ引き渡す代入文(プログラム)を作成する。また、ステップ58で選択した変数が出力変数であれば、ステップ62の判定が否定されてステップ66へ移行し、処理対象のウェブサービスによる処理終了時に処理対象のウェブサービスから引き渡される出力変数のうち、ステップ58で選択した出力変数を、変数格納領域からステップ60で抽出した格納領域内に格納させる代入文(プログラム)を作成する。
 次のステップ68では、処理対象のウェブサービスに対応する変数定義情報に記述されてる全ての変数に対して上記の処理を行ったか否か判定する。判定が否定された場合はステップ58に戻り、ステップ68の判定が肯定される迄ステップ58~ステップ68を繰り返す。これにより、処理対象のウェブサービス(を提供するプログラム)の起動時には、処理対象のウェブサービスにおける入力変数に対応するデータを変数格納領域から処理対象のウェブサービスへ入力変数として引き渡す処理を行い(例として図6(B)に破線で示す右向きの矢印を参照)、処理対象のウェブサービス(を提供するプログラム)の終了時には、処理対象のウェブサービスから引き渡された出力変数を変数格納領域に格納する処理を行う(例として図6(B)に破線で示す左向きの矢印を参照)プログラムが自動的に生成されることになる。
 ステップ68の判定が肯定されるとステップ70へ移行し、処理対象のウェブサービスを呼び出す呼出文(プログラム)を作成する。そしてステップ72では、上述した処理で作成した呼出プログラム(ステップ64、66で作成した代入文とステップ70で作成した呼出文を含むプログラム:請求項4に記載の第4プログラムに相当)を、先のステップ56で生成した処理対象のウェブサービスに対応するボタン(の情報)に付加し、メモリ16B又は記憶部16Cの所定の記憶領域に記憶させる。次のステップ74では、利用者への提供を予定している全てのウェブサービスに対して上記の処理を行ったか否か判定する。判定が否定された場合はステップ54に戻り、ステップ74の判定が肯定される迄ステップ54~ステップ74を繰り返す。これにより、利用者への提供を予定している全てのウェブサービスについて、上記の呼出プログラムが付加されたボタン(の情報)が各々生成される。そしてステップ74の判定が肯定されると条件起動ボタン生成処理を終了する。
 続いて開発者は、クライアント端末16上でUI構築ツールのプログラムを起動する。これにより、クライアント端末16のディスプレイ18には、例として図5に示すような作成画面が表示される。UI構築ツールは、UIを構築するための操作を開発者に行わせ、開発者による操作が完了すると、構築されたUIを実現する画面制御プログラムを生成する機能を備えたツールであり、図5に示す作成画面には、開発者がUI画面(ウェブページ)を作成するためのUI画面作成領域と、UI画面の構成要素として使用可能な情報入力/表示欄や各種のボタン等のシンボルが表示されたパレットと、UI画面作成領域で作成された複数のUI画面の間の遷移を定義するための画面遷移定義領域が各々設けられている。本実施形態では、UI構築ツールの起動に先立って前述の条件起動ボタン生成処理が実行されるので、UI構築ツールの起動時には、条件起動ボタン生成処理によって生成されて所定の記憶領域に記憶されている条件起動ボタンの情報も読み込まれ、例として図5に示すように、条件起動ボタン生成処理によって生成された条件起動ボタン(利用者への提供を予定している個々のウェブサービスを呼び出すためのボタン)もUI画面の作成に使用可能なシンボルの1つとしてパレット内に表示される。
 上記のようにして準備作業が完了すると、続いて開発者は、構築対象のUIを規定するための操作を行うことで、ウェブサービスを提供する所定のウェブサイトにおけるUIの構築(画面制御プログラムの開発)を行う。すなわち開発者は、マウス22やキーボード20を介し、パレット内に表示されている複数のシンボルの中から所望のシンボルを選択してUI画面作成領域内の所望の位置に配置し、必要に応じて、UI画面内に表示すべきテキスト情報を入力する操作(第1の操作)を繰り返すことで、所定のウェブサイトを構成する複数のUI画面(ウェブページ)を順に作成(設計)する。なお、個々のUI画面の作成において、作成しているUI画面が、利用者へ特定のウェブサービスを提供する契機となる画面である場合、開発者は、パレット内に表示されているシンボルの中から特定のウェブサービスを呼び出すための条件起動ボタンも選択し、当該ボタンもUI画面内に配置する操作を行う。
 ところで、構築対象のUIの中に、特定のウェブサービスの処理結果を表示する画面内容で、かつリンク情報が埋め込まれたリンクが選択されることで当該リンクから直接呼び出される可能性の有る特定のUI画面(以下、この画面を「リンク呼出UI画面」と称する)が含まれている場合、開発者は、リンク呼出UI画面の作成時に、作成中のUI画面内に一旦配置した条件起動ボタンの無条件起動化(無条件起動ボタンへの変更)を指示する操作を行う。
 この操作は、例えば先の条件起動ボタン生成処理によって生成されて作成画面のパレット内に表示されている複数の条件起動ボタンのうち、リンク呼出UI画面で処理結果が表示される特定のウェブサービスに対応する特定の条件起動ボタンを選択し、選択した特定の条件起動ボタンを作成中のUI画面内の所望の位置に一旦配置する操作を行った後に、作成中のUI画面内に配置した特定の条件起動ボタンのプロパティ(属性情報)を表示させる操作を行い、次に、表示された特定の条件起動ボタンの属性情報のうち、UI画面が呼び出されると呼出プログラムを無条件に実行させる機能(本実施形態ではこの機能を「SubmitOnLoad機能」と称している)をオンにする操作を行うことによって成される。これにより、クライアント端末16上で無条件起動ボタン生成プログラムが起動され、起動された条件起動ボタン生成プログラムがCPU16Aによって実行されることで、図4に示す無条件起動ボタン生成処理が実行される。
 この無条件起動ボタン生成処理では、まずステップ80において、リンク呼出UI画面内に配置された特定の条件起動ボタン(SubmitOnLoad機能のオンが指示された条件起動ボタン)の情報をメモリ16B又は記憶部16Cから読み出し、無条件起動化後のボタンがリンク呼出UI画面上で非可視化されるように、前記読み出したボタンの情報のうちボタンの属性情報(詳しくはボタンの表示色を規定する情報)を変更(透明に)する。またステップ82では、前記読み出したボタンの情報から、先の条件起動ボタン生成処理によって生成された呼出プログラムを抽出する。
 ステップ82で抽出した呼出プログラムは、稼働時(開発されたアプリケーション・プログラムの実行時)に、対応する条件起動ボタンが配置されたUI画面がクライアント端末42から呼び出されてクライアント端末42のディスプレイ44に表示され、更に、表示されたUI画面内に可視表示されている前記条件起動ボタンが選択された場合に実行され、対応するウェブサービスの呼び出し等の処理を行うものであるが、次のステップ84では、リンクが選択される等によって無条件起動ボタンが配置されたUI画面(リンク呼出UI画面)が呼び出されると、前記呼出プログラムが無条件で(ボタン選択の操作を経ることなく)実行されるように、ステップ82で抽出した呼出プログラムを変更し、無条件起動ボタン生成処理を終了する。なお、ステップ84の処理は、例えば呼出プログラムのうち、ボタン選択の操作が行われたか否かを判定する判定文(プログラム)を削除する等によって行うことができる。
 上記の無条件起動ボタン生成処理が完了すると、作成中のUI画面内に配置されていた条件起動ボタンが無条件起動化され(無条件起動ボタンへ変更され)、先のステップ80における属性情報の変更に伴い、作成中のUI画面内における表示も可視表示から非可視表示に変化する(透明化される)。また、作成中のUI画面内に配置されていた条件起動ボタンが無条件起動ボタンへ変更されたことに伴い、作成中のUI画面は、当該UI画面がリンクから直接呼び出されると、画面内の無条件起動ボタンに付加されている呼出プログラムがアプリケーション・サーバ34で無条件に実行されることで、特定のウェブサービスが呼び出され、特定のウェブサービスに相当する処理が終了すると、特定のウェブサービスの処理結果を表示するUI画面、すなわちリンク呼出UI画面へ変更されることになる。
 このように、開発者は、作成中のUI画面内に条件起動ボタンを配置し、配置した条件起動ボタンのプロパティを表示させてSubmitOnLoad機能のオンを指示する、というごく簡単な操作により、コーディング作業を行うことなく、無条件起動ボタンの生成(作成中のUI画面のリンク呼出UI画面への変更)を行うことができる。なお、上述した無条件起動ボタン生成処理を経た呼出プログラムは本発明に係る第3プログラムに対応している。また、上述した無条件起動ボタン生成処理は、先に説明した条件起動ボタン生成処理と共に本発明に係るシンボル生成手段に対応しており、特に無条件起動ボタン生成処理は請求項4に記載の変更手段に対応している。
 また、作成したUI画面が、利用者による情報の入力又は情報の表示を行うための情報入力/表示欄が設けられている画面である場合、開発者は、画面内の個々の情報入力/表示欄を、先のボタン生成処理によって生成された変数格納領域のうち、情報入力/表示欄を介して入力される情報又は情報入力/表示欄に表示する情報に対応する格納領域と関連付ける(UIバインドともいう)操作(第2の操作)を行う。更に、ウェブサイトを構成する全てのUI画面(ウェブページ)を作成すると、開発者は、作成した各UI画面の遷移を画面遷移定義領域内で規定する操作(第3の操作)を行う。
 開発者による操作について具体例を挙げて説明すると、図6(B)に示すように、開発対象のウェブサイトを通じて利用者への提供を予定しているウェブサービスのプログラムとして、書籍検索サービス及び書籍購入サービスのプログラムが既に開発されており、上記ウェブサイトのUIとして、利用者が検索対象の書籍名を入力して検索を指示するための書籍検索画面、上記検索によって抽出された書籍IDを利用者が確認し、必要に応じて書籍IDを変更した後、購入者情報を入力して購入を指示するための書籍購入画面、及び、利用者が購入処理の結果を確認するための結果表示画面へ順に遷移するUIを構築する場合、開発者は、書籍検索画面については、書籍名を入力するための情報入力/表示欄及び書籍検索サービスを呼び出すための条件起動ボタンを画面内に各々配置する操作を行うことで書籍検索画面を作成し、当該書籍検索画面内の情報入力/表示欄を、変数格納領域のうち書籍名の格納領域と関連付ける操作を行う。
 また開発者は、書籍購入画面については、書籍IDの表示及び入力を行うための情報入力/表示欄、購入者の情報を入力するための情報入力/表示欄及び書籍購入サービスを呼び出すための条件起動ボタンを画面内に各々配置する操作を行うことで書籍購入画面を作成し、当該書籍購入画面内のうち書籍IDの表示及び入力を行うための情報入力/表示欄を、変数格納領域のうち書籍IDの格納領域と関連付けると共に、購入者情報を入力するための情報入力/表示欄を、変数格納領域のうち購入者情報の格納領域と関連付ける操作を行う。また開発者は、結果表示画面については、結果情報を表示するための情報入力/表示欄及び画面の消去を指示するためのボタン(図6(B)に示す「OK」と表記したボタン)を画面内に各々配置する操作を行うことで結果表示画面を作成し、当該結果表示画面内の情報入力/表示欄を、変数格納領域のうち結果情報の格納領域と関連付ける操作を行う。
 更に開発者は、書籍検索画面が表示されている状態で当該画面内の条件起動ボタンが選択されると書籍検索画面から書籍購入画面へ遷移し、書籍購入画面が表示されている状態で当該画面内の条件起動ボタンが選択されると書籍購入画面から結果表示画面へ遷移するように、各画面の遷移を規定する操作を行う。以上の操作により図6(B)に示すUIを規定することができる。
 なお、利用者への提供を予定している個々のウェブサービスを単位として変数格納領域を設ける従来方式で上記のUIを構築しようとした場合、例として図7に示すように、書籍購入画面内に設けられ書籍IDの表示及び入力を行うための情報入力/表示欄を、書籍検索サービスに対応する変数格納領域内の書籍IDの格納領域、及び、書籍購入サービスに対応する変数格納領域内の書籍IDの格納領域と各々関連付ける必要がある。しかしながら、UI構築ツールが準拠しているJSF等の規格では、個々の情報入力/表示欄と関連付けることが可能な変数格納領域内の格納領域の数が各々1個に制限されており、上記のように書籍IDの表示及び入力のための書籍購入画面内の情報入力/表示欄を複数の格納領域と関連付けることができないので、図6(B)に示すようなUIは構築できない。これに対して本実施形態では、先に説明した条件起動ボタン生成処理において、変数定義情報に重複定義されている変数の格納領域を共通化した変数格納領域を生成しているので、図6(B)に示すように、書籍IDの表示及び入力のための書籍購入画面内の情報入力/表示欄を単一の格納領域と関連付けるのみで図6(B)に示すUIを構築することができ、実現可能なUIの設計の自由度を向上させることができる。
 また、上記は条件起動ボタンが配置される通常のUI画面を含むUIの構築についての説明であるが、リンク呼出UI画面についても、ウェブサービスの処理結果を表示するための情報入力/表示欄を設け、設けた情報入力/表示欄をウェブサービスの処理結果が格納される格納領域と関連付ける操作(第2の操作)が少なくとも行われる。また、リンク呼出UI画面には無条件起動ボタンに加え、第1の操作を行うことで条件起動ボタンを更に配置してもよく、リンク呼出UI画面に配置した条件起動ボタンが選択されたことを契機として他のUI画面へ遷移させる場合には、リンク呼出UI画面からの遷移を画面遷移定義領域内で規定する操作(第3の操作)も行われる。
 UIを規定する操作が完了すると、開発者はUI構築ツールに対し、前記UIを実現するプログラムの生成を指示する。これによりUI構築ツールは、開発者によって構築されたUIを実現する(クライアント端末42(図8参照)からの要求に応じて、クライアント端末42のディスプレイ44に各UI画面を順に表示させる)画面制御プログラムを生成する。この画面制御プログラムは、個々のUI画面を規定するデータと、利用者により個々のUI画面を介して各種の操作が行われた場合の処理を規定するプログラムを含んで構成されるが、各種のウェブサービスを呼び出すための条件起動ボタンが設けられたUI画面については、先に説明した条件起動ボタン生成処理によって生成されて前記条件起動ボタンに付加されている呼出プログラムが読み出され、読み出された呼出プログラムが、前記条件起動ボタンが利用者によって選択された場合の処理を規定するプログラムとして用いられる(画面制御プログラムに組み込まれる)。また、無条件起動ボタンが設けられたリンク呼出UI画面については、先に説明した無条件起動ボタン生成処理によって変更されて無条件起動ボタンに付加されている呼出プログラムが、リンクからリンク呼出UI画面が呼び出された際に無条件に行う処理を規定するプログラムとして用いられる(画面制御プログラムに組み込まれる)。
 以上の操作・処理により、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムの開発が完了する。このように、本実施形態では、ウェブサービス提供プログラムについては、ウェブサービス作成ツールを利用することでコーディング作業を行うことなく開発することができ、画面制御プログラムについても、事前に条件起動ボタン生成処理を行い、利用者への提供を予定している個々のウェブサービスの変数定義情報に重複定義されている変数の格納領域を共通化した変数格納領域を生成しておくと共に、利用者への提供を予定している個々のウェブサービスを呼び出す呼出プログラムを付加した条件起動ボタンを生成しておくことで、開発者は、UI構築ツールを利用し、UI構築ツールの作成画面のパレット内に表示される前記条件起動ボタンを画面内に配置する操作を含む各種の操作を行うことで、コーディング作業を行うことなく所望のUIの構築(画面制御プログラムの開発)を行うことができる。
 また、構築対象のUIの中にリンク呼出UI画面が含まれている場合にも、開発者が、リンク呼出UI画面で処理結果が表示される特定のウェブサービスに対応する特定の条件起動ボタンを選択し、選択した条件起動ボタンを作成中のUI画面内に配置し、作成中のUI画面内に配置した条件起動ボタンを「SubmitOnLoad機能」をオンにする操作を行えば、作成中のUI画面内に配置した条件起動ボタンが無条件起動ボタンに変更され、作成中のUI画面がリンク呼出UI画面になるので、リンク呼出UI画面を含むUIの構築についてもコーディング作業を行うことなく実現することができる。従って、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムを非常に短い期間で開発することが可能となる。
 次に、アプリケーション・プログラムの実行時(ウェブサイトの稼働時)の動作について説明する。アプリケーション・プログラムの実行時には、図8に示すように、開発したアプリケーション・プログラムのうち、画面制御プログラムがアプリケーション・サーバ34の記憶部34Cにインストールされ、ウェブサービス提供プログラムがウェブサービス提供サーバ36の記憶部36Cにインストールされる。
 なお、図示は省略するが、アプリケーション・サーバ34では画面制御プログラムを実行するためのプラットフォームとして機能する所定のプログラム(以下、プラットフォーム・プログラムと称する)が実行されており、画面制御プログラムは上記のプラットフォーム上で実行される(例えばUI構築ツールがJSFの規格に準拠している場合、UI構築ツールによって生成された画面制御プログラムはJSFエンジンと称されるプラットフォーム上で実行される)。また、ウェブサービス提供サーバ36ではウェブサービス提供プログラムを実行するためのプラットフォームとして機能する所定のプログラムが実行されており、ウェブサービス提供プログラムは上記のプラットフォーム上で実行される(例えばウェブサービス作成ツールがBPELの規格に準拠している場合、ウェブサービス作成ツールによって生成されたウェブサービス提供プログラムはBPELエンジンと称されるプラットフォーム上で実行される)。
 アプリケーション・サーバ34で実行される画面制御プログラムは、クライアント端末42を介して利用者からUI画面の配信が要求される毎に、配信が要求されたUI画面のデータを要求元のクライアント端末42へ送信することで、配信が要求されたUI画面を要求元のクライアント端末42のディスプレイ44に表示させる。また、利用者がキーボード46等を操作することでディスプレイ44に表示されたUI画面内の情報入力/表示欄内に入力された情報は、クライアント端末42のメモリ42B等に一旦記憶された後に、所定のタイミング(例えば次のUI画面への遷移のトリガとなる条件起動ボタンが選択された等のタイミング)でアプリケーション・サーバ34へ転送される。
 アプリケーション・サーバ34上で動作しているプラットフォーム・プログラムは、利用者によってUI画面内の情報入力/表示欄内に入力された情報をアプリケーション・サーバ34がクライアント端末42から受信すると、受信した情報を、アプリケーション・サーバ34のメモリ34B上に設けられた変数格納領域のうち、情報が入力された情報入力/表示欄と予め関連付けされた格納領域に格納させる(図6(B)に「バインドによる自動代入」と表記した実線の矢印のうち右向きの矢印に相当する処理:請求項6に記載の同期処理に相当)。
 また、UI画面内のうち任意のウェブサービスを呼び出すための条件起動ボタンが利用者によって選択された場合には、選択された条件起動ボタンに付加されている呼出プログラムにより、対応するウェブサービスのプログラムがウェブサービス提供サーバ36上で起動されると共に、変数格納領域のうち起動されたプログラムにおける入力変数に対応する格納領域(予め設定された格納領域)内のデータが変数格納領域から読み出され、読み出されたデータが起動されたプログラムへ入力変数として引き渡される(図6(B)に「呼出プログラムによる代入」と表記した破線の矢印のうち右向きの矢印に相当する処理)。これにより、利用者によって選択された条件起動ボタンに対応するウェブサービスを実現するための処理がウェブサービス提供サーバ36上で実行される。なお、ウェブサービスを実現するための処理がDBへのアクセスを含んでいる場合、アプリケーション・サーバ34経由でウェブサービス提供サーバ36からDBサーバ38へDBへのアクセスが指示されることでDBへのアクセスが実現される。
 また、ウェブサービス提供サーバ36上で起動されたプログラムによる処理が終了すると、ウェブサービス提供サーバ36からアプリケーション・サーバ34へ出力変数に相当するデータが引き渡され、呼出プログラムにより、引き渡されたデータを変数格納領域のうちの出力変数に対応する格納領域(予め設定された格納領域)内に格納する処理(図6(B)に「呼出プログラムによる代入」と表記した破線の矢印のうち左向きの矢印に相当する処理)がアプリケーション・サーバ34上で行われる。また、上記処理によって新たにデータが格納された格納領域が何れかのUI画面内の情報入力/表示欄と関連付けられている場合には、アプリケーション・サーバ34上で動作しているプラットフォーム・プログラムにより、上記格納領域に新たに格納されたデータをUI画面内の関連付けられた情報入力/表示欄に表示させる処理が行われる(図6(B)に「バインドによる自動代入」と表記した実線の矢印のうち左向きの矢印に相当する処理:請求項6に記載の同期処理に相当)。これにより、ウェブサイトを通じて各種のウェブサービスが利用者に提供されることになる。
 一例として、図6(B)に示す各UI画面から成るウェブサイトが利用者によってアクセスされた場合、まず利用者が操作しているクライアント端末42のディスプレイ44に書籍検索画面が表示される。また、利用者が書籍検索画面内の書籍名の入力/表示欄内に検索対象の書籍名を入力した後に、「検索」と表記された条件起動ボタン(書籍検索サービスを呼び出すためのボタン)を選択すると、書籍名の入力/表示欄内に入力された書籍名は、プラットフォーム・プログラムによって変数格納領域の書籍名の格納領域に一旦格納された後に、呼出プログラムによって起動された書籍検索サービスのプログラムに入力変数として引き渡される。また、クライアント端末42のディスプレイ44に表示されているUI画面は、「検索」と表記された条件起動ボタンが選択されたことに伴って書籍購入画面に切り替わるが、書籍検索サービスの出力変数としての書籍IDは呼出プログラムによって変数格納領域の書籍IDの格納領域に一旦格納された後に、プラットフォーム・プログラムによって書籍購入画面内の書籍IDの入力/表示欄に表示される。
 また利用者は、ディスプレイ44に書籍購入画面が表示されると、当該画面内の書籍IDの入力/表示欄に表示された書籍IDを確認し、必要に応じて書籍IDを上書き入力すると共に、購入者情報の入力/表示欄内に購入者情報を入力した後に、「購入」と表記された条件起動ボタン(書籍購入サービスを呼び出すためのボタン)を選択する。これにより、購入者情報の入力/表示欄内に入力された購入者情報は、プラットフォーム・プログラムによって変数格納領域の購入者情報の格納領域に格納され(利用者によって書籍IDの上書き入力が行われた場合は、上書き入力後の書籍IDも対応する格納領域に格納される)、その後、変数格納領域内に格納されている書籍ID及び購入者情報は、呼出プログラムによって起動された書籍購入サービスのプログラムに入力変数として引き渡される。更に、クライアント端末42のディスプレイ44に表示されているUI画面は、「購入」と表記された条件起動ボタンが選択されたことに伴って結果表示画面に切り替わるが、書籍購入サービスの出力変数としての結果情報は呼出プログラムによって変数格納領域の結果情報の格納領域に一旦格納された後に、プラットフォーム・プログラムによって結果表示画面内の結果情報の情報入力/表示欄に表示される。
 次に、リンク呼出UI画面のアドレス情報(URL)を含むリンク情報が埋め込まれているリンクが付加されている任意の文書がクライアント端末42のディスプレイ44に表示されている状態で、上記のリンクが選択されることでリンク呼出UI画面が直接呼び出された場合の動作について説明する。なお、上記の任意の文書は、リンクを付加可能な文書であればよく、例えばテキスト文書やスプレッドシート、プレゼンテーション文書、電子メール文書、ウェブページ等、各種のアプリケーションの何れかによって表示可能な各種文書の何れでもよい。
 リンクが選択されることでリンク呼出UI画面が直接呼び出されると、リンク呼出UI画面を描画(生成)する処理が行われ、この処理の中で、まず呼び出されたリンク呼出UI画面内に配置された無条件起動ボタンに付加されている呼出プログラムがアプリケーション・サーバ34で無条件に実行され、対応するウェブサービス(例えば一覧情報を取得するウェブサービス等)のプログラムをウェブサービス提供サーバ36上で起動する処理が行われる(図9のステップ110)。そして、対応するウェブサービスを実現するための処理がウェブサービス提供サーバ36上で実行される(図9のステップ116)。
 また、ウェブサービス提供サーバ36上で起動されたプログラムによる処理(例えば一覧取得処理)が終了すると、ウェブサービス提供サーバ36からアプリケーション・サーバ34へ処理結果に相当する情報(出力変数)が引き渡され、呼出プログラムにより、引き渡されたデータを変数格納領域のうちの出力変数に対応する格納領域内に格納する処理(図9のステップ110、図9に「格納」と表記した破線の矢印も参照)が行われる。また、上記処理によって新たにデータが格納された格納領域は、UI構築時に開発者によって行われた第2の操作によってリンク呼出UI画面と関連付けられており、アプリケーション・サーバ34上で動作しているプラットフォーム・プログラムにより、上記格納領域に新たに格納されたデータをリンク呼出UI画面内の関連付けられた情報入力/表示欄に表示させる処理が行われる(図9に「バインドによる自動代入」と表記した実線の矢印も参照)。
 そして、ウェブサービスによる処理結果が表示されたリンク呼出UI画面の生成が完了すると、当該リンク呼出UI画面がクライアント端末42へ配信され(図9のステップ114)、クライアント端末42のディスプレイ44に表示されることになる。なお、このときディスプレイ44に表示されるリンク呼出UI画面上では、リンク呼出UI画面に配置されている無条件起動ボタンが、無条件起動ボタン生成処理で変更されたボタンの属性情報に従い、非可視表示(透明なボタンとして表示)される(図9に薄く示した「一覧取得」のボタンも参照)。
 なお、上記では本発明に係る第1プログラムに相当する画面制御プログラムと、本発明に係る第2プログラムに相当するウェブサービス提供プログラムが、異なるコンピュータ(アプリケーション・サーバ34及びウェブサービス提供サーバ36)で実行される態様を説明したが、これに限定されるものではなく、第1プログラム及び第2プログラムを同一のコンピュータで実行させるようにしてもよい。
 また、上記では条件起動ボタンを一旦生成した後に、生成した条件起動ボタンのうちSubmitOnLoad機能をオンする操作が行われた条件起動ボタンの情報を変更することで、同一のウェブサービスを無条件に(リンク呼出UI画面が呼び出されると)起動する無条件起動ボタンを生成する態様を説明したが、これに限定されるものではなく、条件起動ボタンの生成と独立して無条件起動ボタンの生成を行うようにしてもよい。
 また、上記では無条件起動ボタンを、リンク呼出UI画面内に非可視表示される(透明化される)ボタンとして説明したが、これに限定されるものではなく、無条件起動ボタンはリンク呼出UI画面内に可視表示されるものであってもよい。
 また、上記ではインターネット40を通じてウェブサイト(アプリケーション・サーバ34)へアクセスした利用者に対して所定のウェブサービスを提供する態様を説明したが、これに限定されるものではなく、インターネット40に代えてイントラネットを用い、当該イントラネットに接続可能な利用者(例えば特定企業の従業員)に所定のウェブサービスを提供する等の態様にも適用可能である。
 更に、上記では本発明に係るアプリケーション開発支援プログラムに対応する条件起動ボタン生成プログラム及び無条件起動ボタン生成プログラムがクライアント端末16の記憶部16Cに予め記憶(インストール)されている態様を説明したが、本発明に係るアプリケーション開発支援プログラムは、CD-ROMやDVD-ROM等の記録媒体に記録されている形態で提供することも可能である。この態様における記録媒体は請求項10に記載の記録媒体に対応している。
符号の説明
10 コンピュータ・システム
12 サーバ・コンピュータ
16 クライアント端末
30 コンピュータ・システム
34 アプリケーション・サーバ
36 ウェブサービス提供サーバ
42 クライアント端末

Claims (10)

  1.  ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、
     前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するシンボル生成手段を備えたアプリケーション開発支援装置。
  2.  前記シンボル生成手段は、前記無条件起動シンボルとして、稼働時に、配置されたユーザインタフェース画面上で非可視表示されるように属性情報の設定も行ったシンボルを生成する請求項1記載のアプリケーション開発支援装置。
  3.  前記無条件起動シンボルは、特定のユーザインタフェース画面を呼び出すためのアドレス情報を含むリンク情報が埋め込まれたリンクが選択されることで前記リンクから直接呼び出されると共に、前記第2プログラムによって行われた前記所定のウェブサービスを提供する処理の結果を表示する前記特定のユーザインタフェース画面に配置するためのシンボルである請求項1記載のアプリケーション開発支援装置。
  4.  前記シンボル生成手段は、
     前記第1のツールに対して前記第1の操作が少なくとも行われる前に、前記ユーザインタフェース画面の構成要素として使用可能なシンボルとして、前記第2のツールを用いて生成されたn種類の前記第2プログラムのうちの何れかを呼び出して、前記n種類の前記第2プログラムによって実行可能なm(m≧n)種類の処理のうちの互いに異なる処理を行わせるためのm種類の条件起動シンボルを各々生成する条件起動シンボル生成手段と、
     前記条件起動シンボル生成手段によって生成された前記m種類の条件起動シンボルのうちの特定のシンボルが、稼働時に、配置されたユーザインターフェース画面上で可視表示されている状態で選択された場合に、前記n種類の前記第2プログラムのうち前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理を実行させる第4プログラムを生成し、生成した第4プログラムを前記特定のシンボルに付加することを、前記m種類の条件起動シンボルに対して各々行うプログラム付加手段と、
     前記第1のツールに対して前記第1の操作が行われる際に、前記プログラム付加手段によって前記第4プログラムが付加された前記m種類の条件起動シンボルの中から選択され、設計中のユーザインタフェース画面内に配置された特定の条件起動シンボルに対して無条件起動シンボルへの変更が指示された場合に、前記画面内に配置された特定の条件起動シンボルに付加されている前記第4プログラムを、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理を実行させる処理を無条件に行う前記第3プログラムへ変更することで、前記画面内に配置された特定の条件起動シンボルから前記無条件起動シンボルを生成する変更手段と、
     から構成されている請求項1記載のアプリケーション開発支援装置。
  5.  前記第1のツールは、開発者により、前記第1の操作に加えて、前記第1の操作によって設計したユーザインタフェース画面内に配置した個々の情報入力/表示欄を、変数格納領域内に格納領域が設けられている複数の変数のうち対応する変数の格納領域と各々関連付ける第2の操作、及び、設計した複数のユーザインタフェース画面の遷移を規定する第3の操作が行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成するツールであり、
     前記第1のツールに対して前記第1~第3の操作が行われる前に、前記第2のツールを用いて生成されたn種類の前記第2プログラムによって実行可能なm(m≧n)種類の処理における入力変数及び出力変数を各々定義する変数定義情報に基づき、前記変数格納領域として、前記変数定義情報に定義されている各変数の格納領域が各々設けられ、かつ前記変数定義情報に重複定義されている変数の格納領域が共通化された変数格納領域を生成する変数格納領域生成手段を更に備え、
     前記プログラム付加手段は、前記第4プログラムとして、特定の条件起動シンボルが、稼働時に、配置されたユーザインターフェース画面上で可視表示されている状態で選択された場合に、前記変数格納領域内の各格納領域のうち、前記特定の条件起動シンボルに対応する処理における入力変数に対応する変数の格納領域に格納されているデータを引数として、前記n種類の前記第2プログラムのうち前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理を実行させると共に、前記特定の第2プログラムによる前記対応する処理の実行が完了すると、前記特定の第2プログラムから引き渡された出力変数を、前記変数格納領域内の各格納領域のうち前記引き渡された出力変数に対応する変数の格納領域に格納する処理を行うプログラムを生成する請求項4記載のアプリケーション開発支援装置。
  6.  前記第1プログラムは、前記第1プログラムを実行するためのプラットフォームとして機能する所定のプログラムを実行しているコンピュータ上で実行され、当該コンピュータによる前記第1プログラムの実行時には、前記所定のプログラムにより、表示画面内に表示されているユーザインタフェース画面内に配置され情報の入力が可能な特定の情報入力/表示欄内に新たに情報が入力された場合には、入力された情報を、前記変数格納領域内の各格納領域のうち前記特定の情報入力/表示欄と関連付けられた特定の格納領域にも格納し、前記変数格納領域内の特定の格納領域に新たに情報が格納された場合には、格納された情報を、表示画面内に表示されているユーザインタフェース画面内に配置され前記特定の格納領域と関連付けられかつ情報の表示が可能な特定の情報入力/表示欄内にも表示させる同期処理が行われる請求項5記載のアプリケーション開発支援装置。
  7.  前記第1のツールは第1の規格に準拠したツールであり、前記第2のツールは、第2の規格に準拠し所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成するツールである請求項1記載のアプリケーション開発支援装置。
  8.  前記第1の規格はJSFであり、前記第2の規格はBPELである請求項7記載のアプリケーション開発支援装置。
  9.  コンピュータを、
     ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、
     前記コンピュータを、
     前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するシンボル生成手段として機能させるアプリケーション開発支援プログラム。
  10.  コンピュータを、
     ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルを表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムを生成する第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムを生成する第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムが記録された記録媒体であって、
     前記アプリケーション開発支援プログラムは、
     前記コンピュータを、前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理を行わせるための起動シンボルとして、稼働時に、配置されたユーザインタフェース画面が呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムを付加した無条件起動シンボルを生成するシンボル生成手段として機能させる記録媒体。
PCT/JP2008/054974 2008-01-30 2008-03-18 アプリケーション開発支援装置、プログラム及び記録媒体 WO2009096045A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200880126002.8A CN101932998B (zh) 2008-01-30 2008-03-18 应用开发辅助装置
US12/865,020 US8504981B2 (en) 2008-01-30 2008-03-18 Application development support device, program, and recording medium
EP08722368A EP2251780A4 (en) 2008-01-30 2008-03-18 APPLICATION DEVELOPMENT SUPPORT DEVICE, PROGRAM, AND RECORDING MEDIUM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-019666 2008-01-30
JP2008019666A JP4185159B1 (ja) 2008-01-30 2008-01-30 アプリケーション開発支援装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2009096045A1 true WO2009096045A1 (ja) 2009-08-06

Family

ID=40148590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/054974 WO2009096045A1 (ja) 2008-01-30 2008-03-18 アプリケーション開発支援装置、プログラム及び記録媒体

Country Status (5)

Country Link
US (1) US8504981B2 (ja)
EP (1) EP2251780A4 (ja)
JP (1) JP4185159B1 (ja)
CN (1) CN101932998B (ja)
WO (1) WO2009096045A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5312103B2 (ja) * 2009-03-06 2013-10-09 三菱電機株式会社 画面表示プログラム生成装置及び画面表示システム及びコンピュータプログラム及び画面表示プログラム生成方法
JP5379526B2 (ja) * 2009-03-19 2013-12-25 東芝テック株式会社 Webサービステスト支援装置及びプログラム
EP2402854A4 (en) * 2009-09-17 2014-03-26 Bank Of Tokyo Mitsubishi Ufj APPLICATION DEVELOPMENT ASSIST DEVICE, PROGRAM, AND RECORDING MEDIUM
CA2804864C (en) * 2010-07-09 2018-11-20 State Street Corporation Systems and methods for private cloud computing
US20120324377A1 (en) * 2011-06-15 2012-12-20 Microsoft Corporation User interface extensibility for web application development tool
US8850387B2 (en) * 2012-05-11 2014-09-30 Bank Of America Corporation Integrated service framework
WO2015035289A1 (en) * 2013-09-06 2015-03-12 Unisys Corporation Business suite framework for developing software applications
CN104077148A (zh) * 2014-07-16 2014-10-01 成都科思艺特科技有限公司 计算机辅助移动终端应用程序生成的方法及系统
US20160070541A1 (en) * 2014-09-08 2016-03-10 Unisys Corporation Conversion of business suite solutions
KR102450899B1 (ko) * 2015-04-09 2022-10-04 오므론 가부시키가이샤 내장된 서버를 위한 웹 사용 가능 인터페이스
JP6520545B2 (ja) 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
JP6195964B1 (ja) 2016-04-15 2017-09-13 ネイバー コーポレーションNAVER Corporation アプリケーション制作装置及びその方法、アプリケーション駆動装置、並びにコンピュータプログラム
US10951486B2 (en) 2017-08-23 2021-03-16 Nippon Telegraph And Telephone Corporation Terminal device, UI expansion method, and UI expansion program
JP6874040B2 (ja) * 2018-07-27 2021-05-19 シチズン時計株式会社 プログラム作成システム、プログラム、及び、作成端末機器
CN110286903A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 用户信息表单的构建方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108558A (ja) 2001-10-02 2003-04-11 Ricoh Co Ltd データ検索システム
JP2004038559A (ja) 2002-07-03 2004-02-05 Hitachi Software Eng Co Ltd Webアプリケーション制御装置およびプログラム並びにネットワークシステム
JP2005092522A (ja) * 2003-09-17 2005-04-07 Nomura Research Institute Ltd 画面状態遷移システム、インターフェースシステム、画面状態遷移プログラム、インターフェースシステム用プログラム、画面状態遷移方法及びインターフェース方法
JP2006053832A (ja) * 2004-08-13 2006-02-23 Nomura Research Institute Ltd フレームワーク間連携プログラム及び方法
JP2006268121A (ja) 2005-03-22 2006-10-05 Fuji Electric Systems Co Ltd Webアプリケーションシステム、そのプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397223B2 (en) * 2000-03-17 2013-03-12 Gutenberg Printing Llc Web application generator
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
US7437710B2 (en) * 2001-07-02 2008-10-14 Bea Systems, Inc. Annotation based development platform for stateful web services
US7647561B2 (en) * 2001-08-28 2010-01-12 Nvidia International, Inc. System, method and computer program product for application development using a visual paradigm to combine existing data and applications
US7831655B2 (en) * 2001-10-18 2010-11-09 Bea Systems, Inc. System and method for implementing a service adapter
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7707564B2 (en) * 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
EP1569418B1 (en) 2004-02-26 2009-10-14 Research In Motion Limited An apparatus and method for aggregating web services
WO2005114401A1 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Automated creation of web gui for xml servers
US7721219B2 (en) * 2004-08-02 2010-05-18 Microsoft Corporation Explicitly defining user interface through class definition
US7992127B2 (en) * 2004-12-23 2011-08-02 International Business Machines Corporation Method and system of encapsulating web site transactions for computer-aided generation of web services
US7895566B2 (en) * 2005-03-10 2011-02-22 Research In Motion Limited System and method for building a deployable component based application
US8266700B2 (en) * 2005-05-16 2012-09-11 Hewlett-Packard Development Company, L. P. Secure web application development environment
US7966601B2 (en) * 2005-05-31 2011-06-21 International Business Machines Corporation Generating web service without coding logic with a programming language
US8140987B2 (en) * 2005-12-29 2012-03-20 Sap Ag GUI modeling of web services
US7904880B2 (en) * 2006-03-17 2011-03-08 Microsoft Corporation Generating and binding web services to application components
US7873946B2 (en) * 2006-03-23 2011-01-18 Oracle America, Inc. Scalable vector graphics, tree and tab as drag and drop objects
US8095911B2 (en) * 2006-03-31 2012-01-10 Sap Ag Method and system for utilizing development components
US8239830B2 (en) * 2006-11-03 2012-08-07 Accenture Global Services Limited System for portal architecture
JP2008171281A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 表示画面構成装置
US20080263194A1 (en) * 2007-04-17 2008-10-23 International Business Machines Corporation Method and system for optimal binding selection for service oriented architectures
US8341595B2 (en) * 2007-05-30 2012-12-25 Roam Data Inc System and method for developing rich internet applications for remote computing devices
US20100125827A1 (en) * 2008-11-18 2010-05-20 International Business Machines Corporation Developing software code using parameterized annotations
US20120324377A1 (en) * 2011-06-15 2012-12-20 Microsoft Corporation User interface extensibility for web application development tool
US20130055117A1 (en) * 2011-08-31 2013-02-28 Microsoft Corporation User interface validation assistant
US8862975B2 (en) * 2011-09-19 2014-10-14 Microsoft Corporation Web-based workflow service visualization and navigation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108558A (ja) 2001-10-02 2003-04-11 Ricoh Co Ltd データ検索システム
JP2004038559A (ja) 2002-07-03 2004-02-05 Hitachi Software Eng Co Ltd Webアプリケーション制御装置およびプログラム並びにネットワークシステム
JP2005092522A (ja) * 2003-09-17 2005-04-07 Nomura Research Institute Ltd 画面状態遷移システム、インターフェースシステム、画面状態遷移プログラム、インターフェースシステム用プログラム、画面状態遷移方法及びインターフェース方法
JP2006053832A (ja) * 2004-08-13 2006-02-23 Nomura Research Institute Ltd フレームワーク間連携プログラム及び方法
JP2006268121A (ja) 2005-03-22 2006-10-05 Fuji Electric Systems Co Ltd Webアプリケーションシステム、そのプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FUMITAKA OSAWA: "ASP.NET & JSF Kaitai Shinsho Nyuryoku Error-ji no Ugoki wa Kotonaru ASP.NET wa Property de Kakunin", NIKKEI SYSTEM KOCHIKU, NO.146, SYSTEM INTEGRATION, no. 146, 18 June 2001 (2001-06-18), pages 120, XP008142265 *
JEFF PROSISE: "ASP.NET Programming Drag & Drop o Kushi shite Kyoryoku na Web Application o Michibiku Web Form", MSDN MAGAZINE, no. 15, June 2001 (2001-06-01), pages 53 *
See also references of EP2251780A4
TATSUYA SUGI: "Fusion Middleware Tettei Kaibo EJB3.0/JPA Taio de Senko shita Oracle no Java Kaihatsu/Jikko Kiban ADF de Seisan Koritsu mo Hiyakuteki ni Kojo", MIDDLEWARE MAGAZINE, vol. 16, no. 9, 1 December 2006 (2006-12-01), pages 93 - 97, XP008142263 *

Also Published As

Publication number Publication date
US20100333064A1 (en) 2010-12-30
US8504981B2 (en) 2013-08-06
EP2251780A1 (en) 2010-11-17
CN101932998B (zh) 2014-01-01
EP2251780A4 (en) 2012-01-04
JP2009181329A (ja) 2009-08-13
CN101932998A (zh) 2010-12-29
JP4185159B1 (ja) 2008-11-26

Similar Documents

Publication Publication Date Title
JP4185159B1 (ja) アプリケーション開発支援装置及びプログラム
JP5087133B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
US9195522B2 (en) Method and device for controlling communication between applications in a web runtime environment
US20150261549A1 (en) Platform for generating composite applications
JP5128673B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
EP1766539B1 (en) Data compilation apparatus and method
JP5069794B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
KR20140102187A (ko) 생산성 애플리케이션에서 서비스 피처를 인에이블링하기
JP4714199B2 (ja) アプリケーション開発支援装置及びプログラム
Christie et al. An extensible django-based web portal for apache airavata
JP5716108B2 (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP2013164861A (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP4927041B2 (ja) アプリケーション開発支援装置及びプログラム
JP5318977B2 (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP5900050B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP2006302240A (ja) 文書管理プログラム及び文書管理装置
JP6264399B2 (ja) 情報処理装置と、その処理方法及びプログラム
Nham Developing an E-commerce application prototype with ReactJS and Firebase
Hillier REAL WORLD SHAREPOINT 2007, INDISPENSIBLE EXPERIENCES FROM 16 MOSS AND WSS MVP'S
Anderson et al. Arduino 1.0. 4 Core Changes
Grant et al. Services and Server Communication
JP2007114870A (ja) オンラインシステム及び異言語使用者間情報共有方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880126002.8

Country of ref document: CN

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08722368

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12865020

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2008722368

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE