WO2005071547A1 - データ操作装置およびその方法 - Google Patents

データ操作装置およびその方法 Download PDF

Info

Publication number
WO2005071547A1
WO2005071547A1 PCT/JP2004/000521 JP2004000521W WO2005071547A1 WO 2005071547 A1 WO2005071547 A1 WO 2005071547A1 JP 2004000521 W JP2004000521 W JP 2004000521W WO 2005071547 A1 WO2005071547 A1 WO 2005071547A1
Authority
WO
WIPO (PCT)
Prior art keywords
database
processing
started
activated
database operation
Prior art date
Application number
PCT/JP2004/000521
Other languages
English (en)
French (fr)
Inventor
Kensuke Morita
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to US10/585,346 priority Critical patent/US20080148260A1/en
Priority to JP2005517166A priority patent/JPWO2005071547A1/ja
Priority to PCT/JP2004/000521 priority patent/WO2005071547A1/ja
Publication of WO2005071547A1 publication Critical patent/WO2005071547A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Definitions

  • the present invention relates to an ironing control apparatus and a method for controlling an ironing to a base or the like. Bonkei technology
  • the data base is used in various fields of information processing.
  • DBMS Data Base Management System
  • ht tp // www, microsoifc. Com / jaoaa / com / coinpres. Aspil ⁇ Disclose a COM + developed by Microsoft and supporting data pace operations
  • database operations are generally performed by providing a UI layer that provides a user interface, an application layer that provides business functions, and a database access function. It is devised by dividing it into the data layer.
  • a database that realizes its operation by dividing functions into three layers is also called a three-layer system.
  • Non-Patent Document 1 ht tp: //www.microsoft, com / sal /
  • Non-Patent Document 2 t tp: //www.microsof t, com / japan / com / com res.asp Disclosure of the invention
  • the present invention has been made in view of the above background, and has as its object to provide a database operation device and a method thereof that are easy to program for operation.
  • Another object of the present invention is to provide a database operation device and a method thereof that facilitate debugging and maintenance of an operation program.
  • a database operation device is a database operation device that operates a database by a process divided into a plurality of layers.
  • a start process for starting a hierarchical process, and / or a start process started by the start process, wherein one or more of the started processes is a database operation for performing an operation on the database.
  • a process wherein a set defining means for defining a process set including one or more start processes, a progress of a start process included in the process set, and a database started by the start process included in the process set
  • Processing control means for controlling at least the content of the operation on the database by the database operation processing based on the processing result of the operation processing Having.
  • the hierarchy is divided into three or more layers, and the processing control means is configured to execute a start process included in the process set and a process other than the database operation process started by the start process included in the process set.
  • the content of the activated processing other than the database operation processing is further controlled.
  • library means including one or more of the database operation processes The activation process for activating the database operation process activates the database operation process included in the library unit.
  • a storage area setting for setting a storage area for a start processing included in the processing set and a start-up processing started by a start processing included in the processing set Means, and data management means for managing data used for processing included in each of the processing sets in a storage area set for each of the processing sets.
  • each of the activatable processes returns a return value indicating a result of the process with respect to the activation process that has activated the activatable process
  • the hierarchy includes an interface layer, an application layer, and a database layer.
  • the interface layer as the activation process, activates an activated process included in the application layer in response to an external operation, and responds to a return value returned from the activated activated process.
  • the application layer is activated by the interface process as the activation process and the activated process, and the database layer is executed by the application layer.
  • One or more database operation processes included in the database are started, and the data is generated based on a return value from the started database operation process.
  • a service using a base and at least one application process for returning a result of the service to the user interface process as the return value.
  • the database layer performs the application process as the database operation process.
  • One or more database operation processes that are started by one-shot processing, perform an operation on the database, and return, as the return value, a result of the operation on the database to the application process.
  • the process control unit connects the started database operation process to the database.
  • the processing control means is activated by the application processing included in the processing set when the last activated database operation processing is successful by the application processing included in the processing set.
  • the result of the database operation processing performed is determined on the database basis. Otherwise, the database operation processing is performed by the application processing included in the processing set. Revert to the state before the first activation.
  • the process control unit may execute the database by the application process included in the process set. Return to the state before the database operation process was first started.
  • the information processing apparatus is an information processing apparatus that performs predetermined information processing by processing divided into a plurality of layers, wherein the processing includes: And a start-up process started by the start-up process or any of these, a set definition unit that defines a process set including one or more of the start-up processes, and a progress of the start-up process included in the process set And a processing content control means for controlling the processing content of the activated processing according to the processing result of the activated processing activated by the activation processing included in the processing set.
  • the database operation method is a database operation method for operating a database by a process divided into a plurality of layers, wherein the process is an activation that starts a process of another layer. And / or any one of the activated processes activated by the activation process, wherein at least one of the activated processes is a database operation process for performing an operation on the database.
  • an information processing method is an information processing method for performing predetermined information processing by processing divided into a plurality of layers, wherein the processing includes processing of another layer.
  • a start process that starts the process, and a process to be started that is started by the start process, or a process set that includes one or more of the start processes.
  • a first program according to the present invention is a program for a database operating device that operates a database by processing divided into a plurality of layers, wherein the processing is an activation that starts processing of another layer. And / or any one of the activated processes activated by the activation process, wherein at least one of the activated processes is a database operation process for performing an operation on the database.
  • a set definition step for defining a processing set including the start processing of the above; advancing the start processing included in the processing set; and a processing result of the database operation processing started by the start processing included in the processing set At least a processing control step of controlling the content of the operation on the database by the database operation processing. Let the computer run.
  • a second program is a program of an information processing apparatus that performs predetermined information processing by processing divided into a plurality of layers, wherein the processing is a start processing for activating processing of another layer
  • a set definition step for defining a process set that is one or more of the activated processes activated by the activation process and includes one or more of the activation processes; and an activation process included in the process set
  • a processing content control step of controlling the processing content of the activated process in accordance with the progress of the activation process and the processing result of the activated process activated by the activation process included in the processing set.
  • a database operation apparatus and a method thereof that are easy to program for operation.
  • FIG. 1 is a diagram showing a first example of a database operation program described in SQL (Structured Query Language) in a list format.
  • SQL Structured Query Language
  • FIG. 2 is a diagram showing, in a list form, a second example of a database operation program described in SQL.
  • Fig. 3 shows the processing of the database operation program shown in Fig. 2 (S10
  • FIG. 1 A first figure.
  • FIG. 4 is a diagram conceptually showing the processing of the database operation program shown in FIG.
  • FIG. 5 is a diagram showing, in a list format, a third example of a program for database-based operation described in SQL.
  • FIG. 6 is a diagram for explaining the difficulty of debugging the program illustrated in FIG.
  • FIG. 7 is a diagram illustrating a configuration of a network system to which the database-based operation method according to the present invention is applied.
  • Fig. 8 shows the server, development and operation PC and client P shown in Fig. 7.
  • FIG. 3 is a diagram illustrating a hardware configuration of C.
  • FIG. 9 is a diagram showing a configuration of a server program executed in the server shown in FIG.
  • FIG. 10 is a diagram showing a configuration of a development-control program executed in the development-operation PC shown in FIG.
  • FIG. 11 is a diagram showing an example of a control program created by the program development support unit shown in FIG. 10 in a list format.
  • FIG. 12 is a flowchart showing processing (S12) of the control program shown in FIG.
  • Fig. 13 shows the processing of the control program shown in Fig. 11 and its execution management.
  • FIG. 14 is a flowchart showing control (S 20) of execution of processing of the control program (FIGS. 11 to 13) by the program execution control unit of the development / control program shown in FIG. 10. .
  • FIG. 15 is a diagram for explaining the ease of debugging the control program by the development / control program (FIG. 10).
  • FIG. 16 is a diagram illustrating a control program including a plurality of transactions in each layer.
  • a user interface function for displaying the processing results to the user, an application function for operating the database in accordance with the user's operation and providing various services to the user, and actually accessing a database (DBMS)
  • DBMS database management system
  • Figure 1 shows a database written in SQL (Structured Query Language).
  • FIG. 5 is a diagram showing a first example of a program for operating a computer in a list format.
  • the programs for operating the database are variously based on the user interface layer (UI layer) that implements the user interface and the data base. It is created in a format that is divided into an application layer (AP layer) that provides various services and a database layer (DB layer) that actually performs operations on the database.
  • UI layer user interface layer
  • AP layer application layer
  • DB layer database layer
  • FIG. 2 is a diagram showing, in a list format, a second example of a program for database-based operation described in SQL
  • FIG. 3 is a flowchart showing the processing (S10) of the database operation program shown in FIG.
  • FIG. 4 is a diagram conceptually showing the processing of the database operation program shown in FIG.
  • the “button 5 (buUon5)” in the user interface image (not shown) displayed on the screen of a computer or the like is displayed.
  • the application layer program is started (S100, S102J Fig. 3).
  • the application layer processing determines (commits) the operation results in the database and returns the data to the database.
  • the connection to the source is terminated (closed), and the processing result and return value are returned to the processing of the user interface layer (S110, S112; Fig. 3).
  • the processing of the application layer terminates (closes) the connection to the database, and returns the processing result and return value to the processing of the user interface layer (S116; Fig. 3).
  • the processing result of the application layer is shown to the user by the processing of the user interface layer.
  • a function called COM + is added to the Microsoft operating system Windows® (registered trademark).
  • FIG. 5 is a diagram showing a third example of a database operation program described in SQL in a list format.
  • the processing result of the started data layer is returned to the application layer as a return value, and the processing result and return value of the application layer are returned to the processing of the user interface layer.
  • FIG. 6 is a diagram for explaining the difficulty of debugging the program illustrated in FIG.
  • the processing of the user interface layer illustrated in Fig. 5 is executed according to a general SQL processing method, while the processing of the application layer and the database layer is executed according to a processing method specific to COM +. .
  • the present invention has been made in view of the above-described background, and according to the embodiment of the present invention, all disadvantages of the method described above as a background are eliminated.
  • the embodiment of the present invention described below is an exemplification, and is not intended to limit the technical scope of the present invention.
  • the function allocation of the components of the embodiment of the present invention described below is not fixed, and the function of one component is distributed to a plurality of components, or the function of a plurality of components is 1 It can be aggregated into two components.
  • FIG. 7 is a diagram illustrating a configuration of a network system 1 to which the database operation method according to the present invention is applied.
  • the network system 1 has a server system 2 and a client computer (client PC) 102—! To 102-n are connected via a network 100 such as LAN, WAN or the Internet.
  • a network 100 such as LAN, WAN or the Internet.
  • the server system 2 employs a configuration in which the supercomputer 3 and the development and operation PC 4 are connected via the LAN 20.
  • the server system 2 has, for example, a function as a Web server using a data base, and provides various services to the client PCs 102-1 to 102_n.
  • a plurality of components such as the client PCs 102-1 to 102-n may be simply abbreviated as the client PC 102 or the like.
  • Each component of the network system 1 may be referred to as a node.
  • FIG. 8 is a diagram illustrating a hardware configuration of the server 3, the development / operation PC 4, and the client PC 102 shown in FIG.
  • the server 3, the development and operation PC 4 and the client PC 102 are a computer main body 120 including a CPU 122, a memory 124 and their peripheral circuits, and a display / input / output including a keyboard and a mouse.
  • Data to the storage medium 130 such as the device 126, FD, CD and HD. It comprises a recording device 128 for recording and reproducing, and a communication device 132 for communicating with other nodes via the network 100 (FIG. 7).
  • the server 3, the development PC 4 for operation, and the client PC 102 have components as general computers capable of communicating with other nodes via the network 100 or the LAN 20.
  • FIG. 9 is a diagram showing a configuration of the server program 30 executed in the server 3 shown in FIG.
  • the server program 30 includes a database unit 300, a database management system unit (DBMS) 302, and a service providing unit 304.
  • DBMS database management system unit
  • the server program 30, for example, is supplied to the server 3 via the recording medium 130, loaded into the memory 124 (FIG. 8) and executed (the same applies to the following programs).
  • the server program 30 provides various services to the client PC 102 (FIG. 7) by controlling the development / operation PC 4 by using these components.
  • the DBMS 302 operates the database unit 300 according to the control from the development PC 4, and converts the data input from the service providing unit 304 into a data base. Stored in part 300.
  • the DBMS 302 operates the database unit 300 to read data stored in the database unit 300 and output the data to the service providing unit 304.
  • the database unit 300 stores the data input from the DBMS 302 according to the operation by the DBMS 302, and outputs the stored data to the DBMS 302.
  • the database unit 300 and the DBMS 302 perform the above-described processing of the database layer, and provide the service providing unit 304 with a database function.
  • the service providing unit 304 executes the control according to the control from the development PC 4. Services for client PCs 102 and the like, for example, services as a database server or a web server are realized.
  • the service provision 304 performs the above-described processing of the user interface layer and the processing of the application layer, and in accordance with a user operation on an operation image (not shown) displayed on the client PC 102, a database unit.
  • the data stored in the database section 300 is provided to the client PC 102 using the database function provided by the database 300 and the DBMS 302, or The data input from the PC 102 is stored in the database section 300.
  • the service providing unit 304 stores the data input from the development / operation PC 4 in the database unit for debugging work in the development / operation PC 4 and the like.
  • the data stored in the data base unit 300 may be output to the development / operation PC 4 in some cases.
  • FIG. 10 is a diagram showing the configuration of the development / control program 40 executed in the development / operation PC 4 shown in FIG.
  • the development / control program 40 is composed of a part 111, a program development part 42, and a program execution control part 46.
  • the program development department 42 is composed of the program development support department 420 and the debugger
  • the program execution control unit 46 includes an execution control unit 48, a UI layer control unit 46,
  • the execution control unit 48 includes a UI / AP layer execution management unit 480, a DB layer execution management unit 482, and a data management unit 4 including an AP layer control unit 462 and a DB layer control unit 464. 84, a memory area manager 486, a library 488, and a transaction manager 490.
  • the development / control program 40 develops and debugs the control program 44 for controlling the server program 30 in accordance with the operation of the user by using these components.
  • the development / control program 40 controls the execution of the control program 44 to operate the database and the database in the server program 30. A desired service using a service is realized.
  • the 111 unit 400 provides a user interface function for the user of the development and operation PC 4.
  • the UI section 400 controls processing of each component of the development / control program 40 in accordance with a user operation.
  • a program development support section 420 supports the development of the control program 44 in the SQL format by a user (programmer).
  • control program 44 developed by the program development support unit 420 will be described later with reference to FIGS.
  • the debugger 422 provides a debug function for the control program 44, such as step execution of the control program 44 developed using the program development support unit 420 and the like.
  • FIG. 11 is a diagram showing an example of the control program 44 created by the program development support unit 420 and the like shown in FIG. 10 in a list format.
  • FIG. 12 is a flowchart showing the processing (S12) of the control program 44 shown in FIG.
  • FIG. 13 is a diagram conceptually showing the processing of the control program 44 shown in FIG. 11 and its execution management.
  • the control program 44 as shown in FIGS. 11 to 13 is created by the program development support unit 420.
  • control program 44 The contents of the processing of the control program 44 are the same as those of the programs illustrated in FIGS. 1, 2, and 5, for easy comparison.
  • the information is displayed on a screen such as a display device of the input / output device 126 of the client PC 102 (FIG. 8).
  • the user clicks on “button 5 (button 5)” in the user interface image (not shown), the application layer program is started (S120; FIG. 12).
  • the unit of the transaction is specified.
  • This transaction includes, in the processing of the application layer (S122), the activation of one or more database layer processing required for the provision of the service by the server 3.
  • FIGS. 11 to 13 illustrate a case where the process of the database layer is started for 08 operations # 1 and # 2.
  • a dedicated continuous memory area is reserved in the memory 124 (Fig. 8) of the development / operation PC 4 for the processing in this transaction (Fig. 13).
  • Data used in all processes included in each transaction is stored and managed in a memory area dedicated to each transaction.
  • connection object required for connecting to the database is also stored in the memory area secured in this way.
  • the database module (DBMS 302 and database part 300; FIG. &Quot; MyCoimect ioii &Quot; to connect to)) and &QUot; MyTransaction &auot; to perform database operations in this transaction.
  • the processing result for the database operation is fixed (committed) in the database unit 300 or canceled and restored (rolled back).
  • FIGS. 11 to 13 The execution of the processing of the control program 44 illustrated in FIGS. 11 to 13 is controlled by a program execution control unit 46 (FIG. 10) as described later.
  • FIG. 10 is referred to again.
  • the UI / AP layer execution management unit 480 interprets the user interface layer program and the application layer program of the control program 44, and processes these programs for each transaction. Manage the execution of.
  • the DB layer execution manager 482 interprets the database layer program of the control program 44 and manages the execution of the processing for each transaction.
  • the memory area management unit 486 secures and manages a memory area (FIG. 13) used for processing each transaction in the memory 124 (FIG. 8) of the development and operation PC 4.
  • the memory area management unit 486 releases the memory area of the transaction for which the processing has been completed.
  • the data management unit 484 manages data stored in the memory area in each transaction.
  • Library 488 provides componentized program modules for processing the database layer.
  • the transaction management unit 490 manages transactions defined in the application layer.
  • the UI layer control unit 460 and the AP layer control unit 462 perform the processing of the service providing unit 304 of the server program 30 (FIG. 9) in accordance with the management by the UI / layer control unit 480. Control.
  • the DB layer control unit 464 controls the processing of the DBMS 302 and the database unit 300 according to the management of the DB layer execution management unit 482.
  • FIG. 14 is a flowchart showing control (S20) of the execution of the processing of the control program 44 (FIGS. 11 to 13) by the program execution control unit 46 of the development / control program 40 shown in FIG.
  • step 100 the service providing unit 304 (FIG. 8) of the server program 30 sends the user input to the client PC 102 (FIG. 7) displayed on the output device 126. Detects pressing of button 5 on the interface image.
  • the service providing unit 304 outputs the detection result of the press of the button 5 to the UI / AP layer execution management unit 480 via the UI layer control unit 460 of the execution control unit 48 (FIG. 10).
  • U I ⁇ AP layer execution management section 480 accepts the detection result of the press of button 5.
  • step 102 the UI / AP layer execution management unit 480 (FIG. 10) interprets and executes the user interface layer program (FIGS. 11 to 13) of the control program 44, and executes It is determined whether or not pressing of is detected.
  • the program execution control unit 46 proceeds to the process of S200 when the press of the button 5 is detected, and otherwise returns to the process of S200.
  • step 200 the UI / layer execution management unit 480 (FIG. 10) interprets and executes the application layer program, specifies the attributes of the transaction, and defines the transaction.
  • Fig. 11 shows the case of using the Microsoft programming language C #. The specification of the transaction in the case is illustrated.
  • connection processing to server 3 is performed, and its operation is changed.
  • the memory area management unit 486 secures and manages a memory area used for processing the defined transaction.
  • the data management unit 484 manages data stored in the secured memory area.
  • the transaction management unit 490 manages the defined transaction.
  • step 202 the U UAP layer execution management unit 480
  • Fig. 10 starts the first process (Operation 08 # 1) for the operation on the database (DBMS 302 and database 300; Fig. 9) and starts the processing of the program in the database layer. to start.
  • the database layer program for the first process is provided by the library 488 as a componentized program module.
  • the activated database layer program is interpreted by the DB layer execution management unit 482, and the DB layer execution management unit 482 connects to the database and opens the database.
  • the DB layer execution management unit 482 (FIG. 10) interprets the program module for the database operation (08 operation # 1) provided by the library 488, and Operation on the database (DBMS 302 and database unit 300; Fig. 9) was performed via 464.
  • step 206 the DB layer execution management unit 482 determines the return value from the database and determines whether the process executed in S204 is successful.
  • the program execution control unit 46 proceeds to the process of S208 when the process is successful, and otherwise proceeds to the process of S114.
  • step 208 the UI / layer execution management unit 480 (FIG. 10) starts the second process (DB operation # 2) for the operation on the database (DBMS 302 and database unit 300; FIG. 9) and starts the process of the database layer program.
  • the program of the data base layer for the second process is provided as a componentized program module by the library 488, similarly to the program for the first process.
  • step 1 10 the DB layer execution management unit 482 (FIG. 10) determines the return value from the database (the DBMS 302 and the database unit 300; FIG. 9) and executes the process in S 204. Determine whether the process was successful.
  • step 1 12 the DB layer execution management unit 482 (FIG. 10) determines (commits) the operation contents for the database (the DBMS 302 and the database unit 300; FIG. 9), and performs processing.
  • the result and return value are returned to the UI ⁇ ⁇ layer execution management unit 480.
  • step 114 the DB layer execution management unit 482 cancels the operation contents for the database, restores (rolls back) the contents, and returns the processing result and the return value to the UI / A ⁇ . Returned to layer execution management unit 480.
  • step 116 the DB layer execution management unit 482 disconnects the connection to the data base via the data management unit 484 and closes the database.
  • the UI / AP layer execution management unit 480 provides services via the UI layer control unit 460 and the AP layer control unit 462 according to the processing result and return value input from the DB layer execution management unit 482.
  • the control unit 304 controls the input / output device 126 (FIG. 8) of the client PC 102 (FIG. 7) to perform necessary processing such as displaying a processing result.
  • the memory area management unit 486 releases the memory area, and the transaction management unit 490 performs processing for ending the transaction.
  • database disconnection and closing are performed after processing of all database layers is completed, regardless of whether or not processing of individual database base layers was successful. It will be done for the first time.
  • control program 44 illustrated in FIGS. 11 to 13 is different from the processing illustrated in FIG. The difference is that it is performed when the evening base layer processing is completed.
  • FIG. 15 is a diagram for explaining the ease of debugging the control program 44 by the development / control program 40 (FIG. 10).
  • debugging can be performed using the same debugger 4 222 in the user interface layer of the control program 44, and in the application layer and the database layer. .
  • FIG. 16 is a diagram illustrating a control program 44 including a plurality of transactions in each layer.
  • FIGS. 11 to 13 illustrate a control program 44 in which one transaction is defined in a certain hierarchy
  • a plurality of transactions for example, T 1-1 in layer # 1;! To T 1 1 3) may be defined.
  • T 1-1 a plurality of transactions
  • T2-1-1 to T2-3 further transactions. It may be.
  • the program execution control unit 46 (FIG. 10) performs the same execution for the control program 44 illustrated in FIG. 16 as for the control program 44 illustrated in FIGS. 11 to 13. Can manage. Industrial applicability
  • the present invention can be used for overnight operation.

Abstract

操作のためのプログラムの開発、およびそのデバッグ・メンテナンスが容易なデータベース操作装置およびその方法を提供する。データベースに対する操作を行うための処理を1つ以上、含むトランザクションが、アプリケーション層で定義される。定義されたトランザクションには、それぞれ専用のメモリ領域が確保され、このメモリ領域を用いて、トランザクションに含まれる処理が実行される。データベースを操作するための処理は、コンポーネント化されたプログラムモジュールとして、ライブラリにより定義される。データベースの操作は、定義されたトランザクションを単位として実行される。

Description

明 細 害
デ一夕ベース操作装截およびその方法 技術分野
本発明は、 デ一夕ベースなどに対する接銃を制御する接銑制御装笸およ びその方法に閼する。 觜景技術
デ一夕を保存し、 多くのユーザの間で共用するために、 情報処理の様々 な分野において、 デ一夕ベースが利用されている。
データベースの操作のためには、 I B M社により開発された S Q L
(Structured Query Language)が、 現在、 一般的に用いられている。
S Q L記述されたプログラムを解析し、 デ一夕の記惚,検索などを行う システムとして、 D B M S (Data Base Management System)が知られている。
S Q Lおよび D B M Sの応用製品は、 l tp:〃 www, microsoi t. com/sd/な ど、 傑々な文献に關示されている。
また、 例えば、 ht tp://www, microsoifc. com/jaoaa/com/coinpres. aspil^ マイクロソフト社により開発され、 データペースの操作をサポートする C OM + を開示する
データベースの操作は、 現在、 一般的に、 その処理を、 ユーザイン夕一 フェースを提供する U I層と、 ビジネスのための機能などを提供するアプリケ一 シヨン層と、 データベースへのアクセス機能を提供するデータ層とに分けて行う ことにより案現されている。
このように, その操作を、 3つの階層に機能分担させて実現するデータ ペースは、 3階層システムなどとも呼ばれる。
しかしながら、 この 3階層データペースにおいては、 アプリケーション J1のプログラミングが煩雑になりやすく、 その工数も多く必要とされる傾向にあ る。
上述した C O M +は、 3階屑データベースに適応され、 各階屑の独立性 を高めて、 そのプログラミングを容易にする。
しかしながら、 C O M +を用いると、 各階層の独立性が高くなるので、 却って、 作成されたプログラムの全階層を通じたデバッグが難しくなる傾向があ り、 従って、 製品出荷後のメンテナンスも難しくなる傾向がある。
[非特許文献 1 ] ht tp : //www. mi crosof t, com/sal/
[非特許文献 2 ] t tp : //www. microsof t, com/j apan/com/com res. asp 発明の開示
本発明は、 上述のような背景からなされたものであり、 操作のためのプ ログラミングが容易なデータべ一ス操作装置お びその方法を提供することを目 的とする。
また、 本発明は、 操作のためのプログラムのデバッグおよびメンテナン スが容易なデータべ一ス操作装置およびその方法を提供することを目的とする。
上記目的を達成するために、 本発明にかかるデータベース操作装置は、 複数の階層に分かれた処理により、 デ一夕ベースを操作するデー夕べ一ス操作装 置であって、 前記処理は、 他の階層の処理を起動する起動処理、 および、 前記起 動処理により起動される被起動処理またはこれらのいずれかであって、 前記被起 動処理の 1つ以上は、 前記データベースに対する操作を行うデータベース操作処 理であって、 1つ以上の前記起動処理を含む処理集合を定義する集合定義手段と 、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動されたデータベース操作処理の処理結果とに基づいて、 少なくとも、 このデータベース操作処理による前記デー夕べ一スに対する操作の内容を制御す る処理制御手段とを有する。
好適には、 前記階層は、 3つ以上に分かれ、 前記処理制御手段は、 前記 処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理により 起動されたデータベース操作処理以外の被起動処理の処理結果とに応じて、 前記 データべ—ス操作処理以外の被起動処理の処理内容を、 さらに制御する。 好適には、 1つ以上の前記データベース操作処理を含むライブラリ手段 をさらに有し、 前記データベース操作処理を起動する起動処理は、 前記ライブラ リ手段に含まれる前記データベース操作処理を起動する。
好適には、 前記処理集合それぞれに対して、 この処理集合に含まれる起 動処理、 および、 この処理集合に含まれる起動処理により起動される被起動処理 のための記憶領域を設定する記憶領域設定手段と、 前記処理集合それぞれに含ま れる処理のために用いられるデータを、 前記処理集合それぞれに対して設定され た記憶領域において管理するデー夕管理手段とをさらに有する。
好適には、 前記被起動処理それぞれは、 この被起動処理を起動した起動 処理に対して、 処理の結果を示す戻り値を返し、 前記階層は、 インタ一フェース 層と、 アプリケーション層と、 データベース層とを含み、 前記インタ一フェース 層は、 前記起動処理として、 外部からの操作に応じて、 前記アプリケーション層 に含まれる被起動処理を起動し、 起動した被起動処理から返された戻り値に応じ た処理を行うュ一ザインターフェース処理、 1つ以上を含み、 前記アプリケーシ ヨン層は、 前記起動処理および前記被起動処理として、 前記インタ一フエ一ス処 理により起動され、 前記データべ一ス層に含まれるデータベース操作処理を 1つ 以上、 起動し、 前記起動されたデータベース操作処理からの戻り値に基づいて、 前記データべ一スを用いたサービスを実現し、 前記戻り値として、 このサービス の結果を、 前記ユーザインターフェース処理に返すアプリケーション処理、 1つ 以上を含み、 データベース層は、 前記データベース操作処理として、 前記アプリ ケ一シヨン処理により起動され、 前記データベースに対する操作を行い、 前記戻 り値として、 このデ一タベースに対する操作の結果を、 前記アプリケーション処 理に返すデータベース操作処理、 1つ以上を含む。
好適には、 前記処理制御手段は、 前記処理集合に含まれる前記アプリケ ーシヨン処理により、 前記データベース操作処理が、 最初に起動されたときに、 前記起動されたデータベース操作処理と、 前記データベースとを接続し、 前記処 理集合に含まれる前記アプリケ一ション処理により、 最後に起動された前記デ一 タベース操作処理が終了したとき、 または、 前記デ一夕ベース操作処理が失敗し たときに、 前記起動されたデ一夕べ一ス操作処理と、 前記データベースとを切断 するように、 前記データベース操作処理の実行を制御する。 好適には、 前記処理制御手段は、 前記処理集合に含まれる前記アプリケ —シヨン処理により、 最後に起動された前記データベース操作処理が成功したと きに、 前記処理集合に含まれる前記アプリケーション処理により起動された前記 データべ—ス操作処理の結果を、 前記デ一夕ベースにおいて確定させ、 これ以外 のときには、 前記データベースを、 前記処理集合に含まれる前記アプリケ一ショ ン処理により、 前記データベース操作処理が最初に起動される前の状態に戻す。
好適には、 前記処理制御手段は、 前記処理集合に含まれる前記アプリケ ーシヨン処理により起動された前記データベース操作処理が失敗したときに、 前 記データベースを、 前記処理集合に含まれる前記アプリケーション処理により、 前記データベース操作処理が最初に起動される前の状態に戻す。
また、 本発明にかかる情報処理装置は、 複数の階層に分かれた処理によ り、 所定の情報処理を行う情報処理装置であって、 前記処理は、 他の階層の処理 を起動する起動処理、 および、 前記起動処理により起動される被起動処理または これらのいずれかであって、 1つ以上の前記起動処理を含む処理集合を定義する 集合定義手段と、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含 まれる起動処理により起動された被起動処理の処理結果とに応じて、 この被起動 処理の処理内容を制御する処理内容制御手段とを有する。
また、 本発明にかかるデータベース操作方法は、 複数の階層に分かれた 処理により、 データべ一スを操作するデータべ一ス操作方法であって、 前記処理 は、 他の階層の処理を起動する起動処理、 および、 前記起動処理により起動され る被起動処理またはこれらのいずれかであって、 前記被起動処理の 1つ以上は、 前記デ一夕べ一スに対する操作を行うデータべ一ス操作処理であって、 1つ以上 の前記起動処理を含む処理集合を定義する定義ステップと、 前記処理集合に含ま れる起動処理の進行と、 前記処理集合に含まれる起動処理により起動されたデー 夕べ一ス操作処理の処理結果とに基づいて、 少なくとも、 このデータベース操作 処理による前記デ一夕ベースに対する操作の内容を制御する処理制御ステップと を含む。
また、 本発明にかかる情報処理方法は、 複数の階層に分かれた処理によ り、 所定の情報処理を行う情報処理方法であって、 前記処理は、 他の階層の処理 を起動する起動処理、 および、 前記起動処理により起動される被起動処理または これらのいずれかであって、 1つ以上の前記起動処理を含む処理集合を定義する 集合定義ステップと、 前記処理集合に含まれる起動処理の進行と、 前記処理集合 に含まれる起動処理により起動された被起動処理の処理結果とに応じて、 この被 起動処理の処理内容を制御する処理内容制御ステップとを含む。
また、 本発明にかかる第 1のプログラムは、 複数の階層に分かれた処理 により、 データベースを操作するデータべ一ス操作装置のプログラムであって、 前記処理は、 他の階層の処理を起動する起動処理、 および、 前記起動処理により 起動される被起動処理またはこれらのいずれかであって、 前記被起動処理の 1つ 以上は、 前記データベースに対する操作を行うデータベース操作処理であって、 1.つ以上の前記起動処理を含む処理集合を定義する集合定義ステップと、 前.記処 理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理により起 動されたデータベース操作処理の処理結果とに基づいて、 少なくとも、 このデー 夕ベース操作処理による前記データベースに対する操作の内容を制御する処理制 御ステップとをコンピュータに実行させる。
また、 本発明にかかる第 2のプログラムは、 複数の階層に分かれた処理 により、 所定の情報処理を行う情報処理装置のプログラムであって、 前記処理は 、 他の階層の処理を起動する起動処理、 および、 前記起動処理により起動される 被起動処理またはこれらのいずれかであって、 1つ以上の前記起動処理を含む処 理集合を定義する集合定義ステップと、 前記処理集合に含まれる起動処理の進行 と、 前記処理集合に含まれる起動処理により起動された被起動処理の処理結果と に応じて、 この被起動処理の処理内容を制御する処理内容制御ステップとをコン ピュー夕に実行させる。
本発明によれば、 操作のためのプログラミングが容易なデータべ一ス操 作装置およびその方法が提供される。
また、 本発明によれば、 操作のためのプログラムのデバッグおよびメン テナンスが容易なデータベース操作装置およびその方法が提供される。 図面の簡単な説明 図 1は、 S Q L (Struc tured Query Language)により記述されたデータべ —ス操作用のプログラムの第 1の例を、 リスト形式で示す図である。
図 2は、 S Q Lにより記述されたデータベース操作用のプログラムの第 2の例を、 リスト形式で示す図である。
図 3は、 図 2に示したデータベース操作用のプログラムの処理 (S 1 0
) を示すフローチャートである。
図 4は、 図 2に示したデータベース操作用のプログラムの処理を、 概念 的に示す図である。
図 5は、 S Q Lにより記述されたデ一夕ベース操作用のプログラムの第 3の例を、 リスト形式で示す図である。
図 6は、 図 5に例示したプログラムに対するデバッグ作業の困難さを説 明する図である。
図 7は、 本発明にかかるデ一夕ベース操作方法が適用されるネットヮー クシステムの構成を例示する図である。
図 8は、 図 7に示したサーバ、 開発 ·操作用 P Cおよびクライアント P
Cのハードウェア構成を例示する図である。
図 9は、 図 7に示したサーバにおいて実行されるサーバプログラムの構 成を示す図である。
図 1 0は、 図 7に示した開発 ·操作用 P Cにおいて実行される開発 -制 御用プログラムの構成を示す図である。
図 1 1は、 図 1 0に示したプログラム開発支援部などにより作成される 制御プログラムの例を、 リスト形式で示す図である。
図 1 2は、 図 1 1に示した制御プログラムの処理 (S 1 2 ) を示すフロ —チャートである。
図 1 3は、 図 1 1に示した制御プログラムの処理およびその実行管理を
、 概念的に示す図である。
図 1 4は、 図 1 0に示した開発 ·制御用プログラムのプログラム実行制 御部による制御プログラム (図 1 1〜図 1 3 ) の処理の実行の制御 (S 2 0 ) を 示すフローチャートである。 図 1 5は、 開発 ·制御用プログラム (図 1 0 ) による制御プログラムに 対するデバッグの容易さを説明する図である。
図 1 6は、 各階層に複数のトランザクションを含む制御プログラムを例 示する図である。 発明を実施するための最良の形態
[本発明がなされるに至った背景]
本発明の理解を容易にするために、 まず、 本発明がなされるに至った背 景を、 さらに説明する。
一般に、 デ一夕ベースの操作のためには、 ュ一ザからの操作を受け入れ
、 処理結果をユーザに表示するユーザインターフェース機能と、 ユーザの操作に 応じて、 デ一夕ベースを操作し、 様々なサービスをユーザに提供するアプリケ一 シヨン機能と、 実際にデータベース (D B M S ) に対するアクセスを行うデータ ベース機能とが必要とされる。
図 1は、 S Q L (St ruc tured Query Language)により記述されたデータべ
—ス操作用のプログラムの第 1の例を、 リスト形式で示す図である
例えば、 図 1にリストとして示すように、 これら 3つの機能を階層分け せずに実現することも可能である。
つまり、 図 1に示すプログラムは、 以下のように、 デ一夕ベースに対す る操作を行うように記述されている。
まず、 ュ一ザによる操作があるたびに、 まず、 データベース (D B ) へ の接続が行なわれ、 トランザクションが開始される。
次に、 トランザクションが開始され、 さらに、 データベースに対する必 要な操作が、 順次、 行われる。
データベースに対する操作が終了すると、 最後に、 トランザクションに おいて、 データベースに生じた変更内容などが確定 (コミット) され、 データべ ースへの接続が終了される。
しかしながら、 階層分けせずにプログラムを記述すると、 ユーザによる 操作および提供されるサービスの組み合わせの全てについて、 図 1に例示したよ うなプログラムを作成しなければならない。
従って、 階層分けせずにプログラムを記述すると、 プログラムの量が多 くなる上に、 システムとしての構成が柔軟性を欠き、 また、 プログラムモジュ一 ル (関数) のコンポーネント化が難しいので、 機能の変更 ·追加などがしにくい このような理由から、 現在では、 データベースの操作のためのプロダラ ムは、 ユーザインターフェースを実現するュ一ザインタ一フェース層 (U I層) 、 デ一夕ベースを応用した様々なサービスを提供するアプリケーション層 (AP 層) 、 および、 実際にデータベースに対する操作を行うデータベース層 (DB層 ) に分けられた形式で作成されるようになっている。
図 2は、 S Q Lにより記述されたデ一夕ベース操作用のプログラムの第 2の例を、 リスト形式で示す図である
図 3は、 図 2に示したデータベース操作用のプログラムの処理 (S 10 ) を示すフローチャートである。
図 4は、 図 2に示したデータベース操作用のプログラムの処理を、 概念 的に示す図である。
図 2〜図 4に示すように、 ユーザィンターフェース層のプログラムの処 理において、 コンピュータなどの画面に表示されたユーザィンターフェース画像 内 (図示せず) の 「ポタン 5 (buUon5)」 に対するユーザによるクリックが検出 されると、 アプリケーション層のプログラムが起動される (S 100, S 102 J図 3) 。
アプリケーション層の処理において、 まず、 データべ一スへの接続が行 われ、 データベースがオープンされて、 トランザクションが開始される (S 10 4 ;図 3) 。
次に、 サービスの提供のために、 データべ一スに対する操作 (DB操作
# 1, #2) が、 順次、 実行され、 これらの処理が実行されるたびに、 データべ ース層のプログラムが起動される (S 106, S 108 ;図 3) 。
アプリケーション層の処理は、 全てのデータべ一スに対する操作が成功 したときには、 データベースにおける操作結果を確定 (コミット) し、 データべ ースへの接続を終了 (クローズ) し、 処理結果および戻り値を、 ュ一ザインター フエ一ス層の処理に返す (S 1 1 0 , S 1 1 2 ;図 3 ) 。
アプリケーション層の処理は、 これ以外のときには、 データベースに対 する操作を取り消して内容を復元 (ロールバック) する (S 1 1 4 ;図 3 ) 。
最後に、 アプリケーション層の処理は、 デ一夕ベースへの接続を終了 ( クローズ) し、 処理結果および戻り値を、 ユーザインターフェース層の処理に返 す (S 1 1 6 ;図 3 ) 。
ユーザィンターフェース層の処理により、 アプリケーション層の処理結 果がュ一ザに示される。
図 2に例示したように、 データべ一スに対する操作を、 ユーザインター フェース層と、 アプリケーション層と、 データベース層とに分けてプロダラミン グすると、 プログラムモジュールのコンポーネント化が容易になるので、 図 1に 例示したように階層分けせずにプログラミングする場合に比べて、 機能の変更 · 追加などが容易になる。
しかしながら、 図 2に例示した場合には、 データベースへの接続と、 ト ランザクシヨンの管理とを共通とするためには、 アプリケーション層の処理にお いて、 デ一夕ベースへの接続のためのオブジェクト (con) 、 および、 卜ランザ クシヨンのためのオブジェクト (txのこと) を作成しなければならない。
作成されたこれら 2つのオブジェクトは、 引数として、 データベース層 の処理を実現するプログラムモジュールの呼び出しごとに、 毎回、 渡されること となる。
また、 これら 2つのオブジェクトは、 データベース層において、 データ ベースを実際に操作する処理のプログラムモジュールに対してばかりではかく、 デ—夕べ—スを操作しない処理のプログラムモジュールに対しても、 引数として 渡さなければならないので、 アプリケーション層のプログラミングが煩雑になる 傾向がある (ただし、 ここで述べたデータベースを操作しない処理のプログラム モジュールは、 図 2に示したリストには含まれない。 アプリケーション層にサブ ルーチンを作成し、 その中からデ一夕べ一ス層を呼ぶときに、 そのサブルーチン では con, t Xを使わないにもかかわらず、 下位のデータベース層に引き渡すた めだけに、 引数を二つ付加しなければならいない。 このような引数の付加は、 こ れはサブルーチンが増えると、 かなりの手間となる) 。
引数を渡さなくてもよいように、 データベース層の処理を実現するプロ グラムモジュールを作成することも可能であるが、 この場合には、 プログラムモ ジュールの機能を引数によって変更することができないので、 データべ一ス層に 、 機能が少しずつ異なるプログラムモジュールを、 数多く作成する必要が生じる 従って、 この場合には、 デ一夕べ一ス層におけるプログラミングの工数 が増えたり、 作成されたプログラムのデバッグおよびメンテナンスのために、 多 くの手間が必要となったりする。
データべ—ス層のプログラムモジュールをコンポーネント化するために
、 マイクロソフト社のオペレーティングシステム W i n d o w s (登録商標) に は、 C O M +と呼ばれる機能が付加されている。
図 5は、 S Q Lにより記述されたデータベース操作用のプログラムの第 3の例を、 リスト形式で示す図である
C O M +を利用して、 図 2に示したものと同様のプログラムを作成する と、 図 5に例示する通りとなる。
図 5に例示するように、 ユーザィンターフェ一ス層のプログラムの処理 において、 「ポタン 5」 に対するタリックが検出されると、 アプリケーション層 のプログラムが起動される。
アプリケーション層の処理において、 まず、 トランザクションの動作を 指定する属性が指定され、 サービスの提供のために、 データベースに対する操作 (D B操作 # 1, # 2 ) が、 順次、 実行され、 これらの処理が実行されるたびに 、 デ一夕ベース層のプログラムが起動される。
起動されたデ一夕べ一ス層の処理結果は、 戻り値としてアプリケ一ショ ン層に返され、 アプリケーション層の処理結果および戻り値は、 ュ一ザイン夕一 フェース層の処理に返される。
ユーザィンターフェース層の処理により、 アプリケ一ション層の処理結 果がユーザに示される。 このように、 C O M +を利用すると、 アプリケーション層に対するデー 夕べ一ス層のプログラムモジュールの独立性が高まる。
また、 アプリケーション層から、 データベース層のプログラムモジュールそれ ぞれに、 引数を渡す必要がなくなるので、 プログラミングの内容がシンプルにな る。
しかしながら、 C O M +を利用したプログラミングを行うプログラマは 、 当然ながら、 C O M +特有の仕様を学習し、 その利用法に習熟しなければなら ならないので、 そのために、 多くの手間と時間が必要となる。
図 6は、 図 5に例示したプログラムに対するデバッグ作業の困難さを説 明する図である。
また、 図 5に例示したユーザインターフェース層の処理は、 一般的な S Q L処理方式に従って実行されるのに対し、 アプリケーション層およびデータべ —ス層の処理は、 C O M +特有の処理方式に従って実行される。
図 6に示すユーザインターフェース (U I ) 層の処理を実現するプロセ スが動作しており、 デバッガをアタッチして、 デバッグを行うことができたとし ても、 アプリケーション層およびデータベース層のプロセスは、 これらが起動さ れない限り存在しないことがあるので、 デバッガをアタッチすることができると は限らない。
従って、 ュ一ザインターフェース層、 アプリケーション層およびデータ ベース層を通したプログラムの動作確認およびデバッグを行うためには、 例えば 、 ュ一ザインタ一フエ一ス層のプロセスにおいて、 アプリケーション層のプログ ラムを起動する処理にブレークポイントを設定し、 その実行を停止してから、 起 動されたアプリケーション層のプロセスに対して、 別途、 デバッガをアタッチし 、 デバッグを行うようにしなければならない。
従って、 この場合には、 C O M +を採用しない場合に比べても、 プログ ラムのデバッグおよびメンテナンスに、 却って多くの手間と時間とが必要となり かねない。
本発明は、 以上説明した背景からなされたものであって、 本発明の実施 形態によると、 ここまでに背景として述べた方式の不利な点が全て解消される。 なお、 以下に説明する本発明の実施形態は、 例示であって、 本発明の技 術範囲の限定を意図するものではない。
また、 以下に説明する本発明の実施形態の構成部分における機能分担は 、 固定的ではなく、 1つの構成部分の機能が、 複数の構成部分に分散されたり、 複数の構成部分の機能が、 1つの構成部分に集約されたりしうる。
[実施形態]
以下、 本発明の実施形態を説明する。
図 7は、 本発明にかかるデータべ一ス操作方法が適用されるネットヮ一 クシステム 1の構成を例示する図である。
図 7に示すように、 ネットワークシステム 1は、 サーバシステム 2およ びクライアントコンピュータ (クライアント PC) 102—:!〜 102— nとが 、 LAN, WANあるいはインタ一ネットなどのネットワーク 100を介して接 続された構成を採る。
サーバシステム 2は、 サ一パ 3と開発 '操作用 P C 4とが、 LAN 20 を介して接続された構成を採る。
ネットワークシステム 1において、 サーバシステム 2は、 例えば、 デ一 夕ベースを利用した We bサーバとしての機能を有し、 クライアント PC 102 — 1〜102_nに対して、 様々なサービスを提供する。
なお、 以下、 クライアント PC 102— 1〜 102— nなど、 複数ある 構成部分は、 単にクライアント PC 102などと略記されることがある。
また、 ネットワークシステム 1の各構成部分を、 ノードと記すことがあ る。
図 8は、 図 7に示したサーバ 3、 開発 ·操作用 PC 4およびクライアン ト PC 102のハードウェア構成を例示する図である。
図 8に示すように、 サーバ 3、 開発,操作用 P C 4およびクライアント PC 102は、 CPU122、 メモリ 124およびこれらの周辺回路などを含む コンピュータ本体 120、 表示装置、 キーボードおよびマウスなどを含む入力 · 出力装置 126、 FD、 CDおよび HDなどの記録媒体 130に対してデータを 記録 '再生する記録装置 128、· および、 ネットワーク 100 (図 7) を介して 他のノードと通信を行う通信装置 132などから構成される。
つまり、 サーバ 3、 開発 '操作用 P C 4およびクライアント P C 102 は、 ネットワーク 100あるいは LAN 20を介して、 他のノードとの間で通信 を行うことができる一般的なコンピュータとしての構成部分を有する。
図 9は、 図 7に示したサーバ 3において実行されるサーバプログラム 3 0の構成を示す図である。
図 9に示すように、 サーバプログラム 30は、 データベース部 300、 データべ—ス管理システム部 (DBMS) 302およびサービス提供部 304か ら構成される。
サーバプログラム 30は、 例えば、 記録媒体 130を介してサーバ 3に 供給され、 メモリ 124 (図 8) にロードされて実行される (以下のプログラム について同様) 。
サーバプログラム 30は、 これらの構成部分により、 開発 ·操作用 PC 4の制御にしたって、 クライアント PC 102 (図 7) に対して、 様々なサービ スを提供する。
サーバプログラム 30において、 DBMS 302は、 開発 '操作用 P C 4からの制御に従って、 データべ一ス部 300を操作して、 ザ一ビス提供部 30 4から入力されるデ一夕をデ一夕ベース部 300に記憶する。
また、 DBMS 302は、 データベース部 300を操作して、 データべ ース部 300に記憶したデータを読み出し、 サービス提供部 304に対して出力 する。
データベース部 300は、 DBMS 302による操作に従って、 DBM S 302から入力されるデータを記憶し、 また、 記憶したデータを DBMS 30 2に対して出力する。
つまり、 データベース部 300および DBMS 302は、 上述したデー 夕ベース層の処理を行い、 サービス提供部 304に対して、 データベースの機能 を提供する。
サービス提供部 304は、 開発 '操作用 PC 4からの制御に従って、 ク ライアント P C 1 0 2などに対するサービス、 例えば、 データべ一スサ一バある いは W e bサーバとしてのサービスを実現する。
つまり、 サービス提供 3 0 4は、 上述したユーザインターフェース層 の処理およびアプリケーション層の処理を行い、 クライアント P C 1 0 2に表示 された操作画像 (図示せず) に対するユーザの操作に応じて、 データベース部 3 0 0および D B M S 3 0 2により提供されるデ一夕べ一ス機能を利用し、 クライ アン卜 P C 1 0 2に対して、 データベース部 3 0 0に記憶されたデータを提供し 、 あるいは、 クライアント P C 1 0 2から入力されるデ一夕を、 データべ一ス部 3 0 0に記憶させる。
なお、 サービス提供部 3 0 4は、 開発 '操作用 P C 4におけるデバッグ 作業などのために、 開発 ·操作用 P C 4から入力されたデ一夕をデータベース部
3 0 0に記憶させ、 また、 データべ一ス部 3 0 0に記憶されたデ一夕を開発 ·操 作用 P C 4に対して出力することもある。
図 1 0は、 図 7に示した開発 ·操作用 P C 4において実行される開発 · 制御用プログラム 4 0の構成を示す図である。
図 1 0に示すように、 開発 '制御用プログラム 4 0は、 11 1部4 0 0、 プログラム開発部 4 2およびプログラム実行制御部 4 6から構成される。
プログラム開発部 4 2は、 プログラム開発支援部 4 2 0およびデバッガ
4 2 2などを含む。
プログラム実行制御部 4 6は、 実行制御部 4 8、 U I層制御部 4 6 0、
A P層制御部 4 6 2および D B層制御部 4 6 4などを含み、 実行制御部 4 8は、 U I · A P層実行管理部 4 8 0、 D B層実行管理部 4 8 2、 データ管理部 4 8 4 、 メモリ領域管理部 4 8 6、 ライブラリ 4 8 8およびトランザクション管理部 4 9 0から構成される。
開発 ·制御用プログラム 4 0は、 これらの構成部分により、 ユーザの操 作に応じて、 サーバプログラム 3 0を制御する制御プログラム 4 4の開発および そのデバッグを行う。
また、 開発 ·制御用プログラム 4 0は、 制御プログラム 4 4の実行を制 御して、 サーバプログラム 3 0におけるデータベース操作、 および、 データべ一 スを利用した所望のサ一ビスを実現する。
開発 ·制御用プログラム 40において、 111部400は、 開発,操作用 P C 4のユーザに対するユーザインタ一フェース機能を提供する。
また、 U I部 400は、 ユーザの操作に応じて、 開発 ·制御用プロダラ ム 40の各構成部分の処理を制御する。
プログラム開発部 42において、 プログラム開発支援部 420は、 ュ一 ザ (プログラマ) による SQL形式の制御プログラム 44の開発を支援する。
プログラム開発支援部 420により開発された制御プログラム 44の例 は、 図 1 1〜図 13を参照して後述される。
デバッガ 422は、 プログラム開発支援部 420などを用いて開発され た制御プログラム 44のステップ実行など、 制御プログラム 44に対するデバッ グ機能を提供する。
図 1 1は、 図 10に示したプログラム開発支援部 420などにより作成 される制御プログラム 44の例を、 リスト形式で示す図である。
図 12は、 図 1 1に示した制御プログラム 44の処理 (S 12) を示す フローチャートである。
図 13は、 図 1 1に示した制御プログラム 44の処理およびその実行管 理を、 概念的に示す図である。
プログラム開発支援部 420により、 図 1 1〜図 1 3に示すような制御 プログラム 44が作成される。
なお、 この制御プログラム 44の処理の内容は、 比較しやすいように、 図 1, 図 2, 図 5に例示したプログラムと同様になつている。
図 1 1〜図 13に示すように、 制御プログラム 44のユーザィンタ一フ エース層の処理 (S 120) において、 クライアント PC 102 (図 8) の入力 ·出力装置 126の表示装置などの画面に表示されたユーザインターフェース画 像内 (図示せず) の 「ポタン 5 (button5)」 に対するュ一ザによるクリックが検 出されると、 アプリケーション層のプログラムが起動される (S 120 ;図 12 ) 。
起動されたアプリケーション層の処理 (S 122) において、 まず、 ト ランザクシヨンの単位が指定される。
このトランザクションは、 アプリケーション層の処理 (S 1 22) にお いて、 サ一バ 3によるサービスの提供のために必要な 1つ以上のデータベース層 の処理の起動を含む。
なお、 図 1 1〜図 13においては、 08操作# 1, # 2のために、 デ一 夕ベース層の処理が起動される場合が例示されている。
トランザクションの定義とともに、 このトランザクションにおける処理 のために、 専用の連続したメモリ領域が、 開発 ·操作用 PC 4のメモリ 124 ( 図 8) 上に確保される (図 13) 。
トランザクションそれぞれに含まれる全ての処理において用いられるデ —夕は、 トランザクションそれぞれのために専用に確保されたメモリ領域に記憶 され、 管理される。
このように確保されたメモリ領域には、 データベースに対する接続に必 要な接続オブジェクトも記憶される。
記憶された接続オブジェクトは、 必要に応じて処理のために用いられる ので、 引数の受け渡しが不要となる。
次に、 サーバ 3に対する操作 (08操作# 1, # 2) のために、 デ一夕 ベース層の処理が、 順次、 起動される。 '
これらの操作が終了すると、 アプリケーション層の処理が終了する。 データべ—ス層の処理 (S 124) において、 デ一夕べ一ス (DBMS 302およびデ一夕べ一ス部 300 ;図 9) に対する接続が行われる。
さらに、 アプリケーション層の処理により起動されたデータベース操作 のための処理が実行される。
デ—夕ベース操作のための処理を行うプログラムモジユールそれぞれは
、 ライブラリに含まれるコンポーネント化されたプログラムモジュールとして提 供される。
図 11においては、 このようにコンポーネント化されたデータベース層のプログ ラムモジュールとして、 アプリケーション層において定義されたトランザクショ ンにおいて、 データベース (DBMS 302およびデータべ一ス部 300 ;図 9 ) に接続するための &quot ;MyCoimect ioii&Quot;、 および、 このトランザクション におけるデータベースの操作を行うための &QUO t; MyTrans ac t i on&auo t;が例示さ れている。
データベース操作のための処理結果は、 データベース部 3 0 0において 確定 (コミット) され、 あるいは、 取り消されて復元 (ロールバック) される。
これらの処理が終了すると、 データベース層の処理が終了する。
図 1 1〜図 1 3に例示した制御プログラム 4 4の処理の実行は、 後述す るように、 プログラム実行制御部 4 6 (図 1 0 ) により制御される。
再び図 1 0を参照する。
実行制御部 4 8において、 U I · A P層実行管理部 4 8 0は、 制御プロ グラム 4 4のユーザインタ一フェース層のプログラムおよびアプリケーション層 のプログラムを解釈し、 トランザクションごとに、 これらのプログラムの処理の 実行を管理する。
D B層実行管理部 4 8 2は、 制御プログラム 4 4のデータベース層のプ ログラムを解釈し、 トランザクションごとに、.その処理の実行を管理する。
メモリ領域管理部 4 8 6は、 トランザクションそれぞれの処理に用いら れるメモリ領域 (図 1 3 ) を、 開発 ·操作用 P C 4のメモリ 1 2 4 (図 8 ) 上に 確保し、 管理する。
また、 メモリ領域管理部 4 8 6は、 処理が終了したトランザクションの メモリ領域を開放する。
データ管理部 4 8 4は、 トランザクションそれぞれの処理において、 メ モリ領域に記憶されるデ一夕を管理する。
ライブラリ 4 8 8は、 データべ一ス層の処理を行うコンポーネント化さ れたプログラムモジュールを提供する。
トランザクション管理部 4 9 0は、 アプリケーション層において定義さ れたトランザクションを管理する。
U I層制御部 4 6 0および A P層制御部 4 6 2は、 U I · Α Ρ層実行管 理部 4 8 0による管理に従って、 サーバプログラム 3 0 (図 9 ) のサービス提供 部 3 0 4の処理を制御する。 DB層制御部 464は、 DB層実行管理部 482の管理に従って、 DB MS 302およびデータベース部 300の処理を制御する。
図 14を参照して、 開発 ·制御用プログラム 40のプログラム実行制御 部 46の処理を、 さらに説明する。
図 14は、 図 10に示した開発 ·制御用プログラム 40のプログラム実 行制御部 46による制御プログラム 44 (図 1 1〜図 13) の処理の実行の制御 (S 20) を示すフローチャートである。
なお、 図 14においては、 図 3に示した処理と対応する処理には、 同じ 符号が付されている。
図 14に示すように、 ステップ 100 (S 100) において、 サーバプ ログラム 30のサービス提供部 304 (図 8) は、 ユーザによる'クライアント P C 102 (図 7) の入力 '出力装置 126に表示されたユーザインタ一フェース 画像のボタン 5の押下を検出する。
サービス提供部 304は、 ポタン 5の押下の検出結果を、 実行制御部 4 8 (図 10) の U I層制御部 460を介して、 U I · AP層実行管理部 480に 対して出力する。
U I · AP層実行管理部 480は、 このポタン 5の押下の検出結果を受 け入れる。
ステップ 102 (S 202) において、 U I · A P層実行管理部 480 (図 10) は、 制御プログラム 44のユーザインターフエ一ス層のプログラム ( 図 11〜図 13) を解釈して実行し、 ポタン 5の押下が検出されか否かを判断す る。
プログラム実行制御部 46は、 ポタン 5の押下が検出されたときには S 200の処理に進み、 これ以外のときには S 200の処理に戻る。
ステップ 200 (S 200) において、 U I · ΑΡ層実行管理部 480 (図 1 0) は、 アプリケーション層のプログラムを解釈して実行し、 トランザクション の属性を指定し、 トランザクションを定義する。
トランザクションの指定は、 アプリケーション層のラス宣言の部分でお こなわれ、 図 1 1には、 マイクロソフト社のプログラミング言語 C#を用いた場 合のトランザクションの指定が例示されている。
サーバ 3に対する接続処理が行われるときには、 この部分が参照され、 その動作が変更される。
メモリ領域管理部 486は、 定義されたトランザクションの処理のため に用いられるメモリ領域を確保し、 管理する。
データ管理部 484は、 確保されたメモリ領域に記憶されるデータを管 理する。
トランザクション管理部 490は、 定義されたトランザクションを管理 する。
ステップ 202 (S 202 ) において、 U Γ · AP層実行管理部 480
(図 10) は、 データベース (DBMS 302およびデ一夕ベース部 300 ;図 9) に対する操作のための第 1の処理 (08操作# 1) を開始し、 データべ一ス 層のプログラムの処理を起動する。
第 1の処理のためのデータべ一ス層のプログラムは、 ライブラリ 488 により、 コンポーネント化されたプログラムモジュールとして提供される。
起動されたデータベース層のプログラムは、 DB層実行管理部 482に より解釈され、 DB層実行管理部 482は、 データベースに対する接続を行い、 データベースをオープンする。 ステップ 204 (S 204) において、 DB層実行管理部 482 (図 1 0 ) は、 ライブラリ 488により提供されたデ一タベース操作 (08操作# 1) のためのプログラムモジュールを解釈し、 DB層制御部 464を介して、 データ ベース (DBMS 302およびデータベース部 300 ;図 9) に対する操作を行 ラ。
ステップ 206 (S 206 ) において、 DB層実行管理部 482は、 デ —夕ベースからの戻り値を判断し、 S 204において実行された処理が成功した か否かを判断する。
プログラム実行制御部 46は、 処理が成功したときには S 208の処理 に進み、 これ以外のときには S 1 14の処理に進む。
ステップ 208 (S 208) において、 U I · ΑΡ層実行管理部 480 (図 10) は、 デ一夕ベース (DBMS 302およびデータベース部 300 ;図 9) に対する操作のための第 2の処理 (DB操作 #2) を開始し、 データベース 層のプログラムの処理を起動する。
第 2の処理のためのデ一夕ベース層のプログラムは、 第 1の処理のため のプログラムと同様に、 ライブラリ 488により、 コンポーネント化されたプロ グラムモジュールとして提供される。
ステップ 1 10 (S 1 10) において、 DB層実行管理部 482 (図 1 0) は、 データベース (DBMS 302およびデータベース部 300 ;図 9) か らの戻り値を判断し、 S 204において実行された処理が成功したか否かを判断 する。
プログラム実行制御部 46は、 処理が成功したときには S 1 12の処理 に進み、 これ以外のときには S 1 14の処理に進む。
ステップ 1 12 (S 1 12) において、 DB層実行管理部 482 (図 1 0) は、 データベース (DBMS 302およびデータべ一ス部 300 ;図 9) に 対する操作内容を確定 (コミット) させ、 処理結果および戻り値を、 U I · ΑΡ 層実行管理部 480に返す。
ステップ 1 14 (S 1 14) において、 DB層実行管理部 482は、 デ 一夕ベースに対する操作内容を取り消して、 その内容を復元 (ロールバック) し 、 処理結果および戻り値を、 U I · A Ρ層実行管理部 480に返す。
ステップ 1 16 (S 1 16) において、 DB層実行管理部 482は、 デ 一夕管理部 484を介して、 デ一夕ベースに対する接続を切り、 データベースを クローズする。
U I · AP層実行管理部 480は、 DB層実行管理部 482から入力さ れた処理結果および戻り値に応じて、 U I層制御部 460および AP層制御部 4 62を介して、 サ一ビス提供部 304を制御し、 クライアン卜 PC 102 (図 7 ) の入力 ·出力装置 126 (図 8) に、 処理結果を表示させるなど、 必要な処理 を行わせる。
また、 メモリ領域管理部 486は、 メモリ領域を解放し、 トランザクシ ョン管理部 490は、 トランザクションの終了のための処理を行う。 なお、 図 2に例示したプログラムの処理においては、 データベースの切 断およびクローズが、 個々のデ一夕ベース層の処理が成功したか否かにかかわら ず、 全てのデータベース層の処理が終了した後に、 初めて行われる。
これに対して、 図 1 1〜図 1 3に例示した制御プログラム 4 4の処理は 、 図 2に例示した処理と比べて、 データベース層の処理が最初に失敗したとき、 または、 全てのデ一夕ベース層の処理が終了したときに行われる点で異なつてい る。
図 1 5は、 開発 ·制御用プログラム 4 0 (図 1 0 ) による制御プロダラ ム 4 4に対するデバッグの容易さを説明する図である。
図 1 5に示すように、 開発 ·制御用プログラム 4 0 (図 1 0 ) により制 御プログラム 4 4の開発およびそのデバッグを行うと、 ユーザィン夕ーフェース 層のプロセス、 および、 アプリケーション層およびデータベース層のプロセスの 両方が、 同じプログラム実行制御部 4 6の制御の下で実行される。
従って、 開発 ·制御用プログラム 4 0を用いると、 制御プログラム 4 4 のユーザインタ一フェース層と、 アプリケーション層およびデータべ一ス層とで 、 同じデバッガ 4 2 2を用いてデバッグを行うことができる。
つまり、 開発 ·制御用プログラム 4 0を用いると、 図 6に示したように 、 ユーザインタ一フエ一ス層と、 アプリケーション層およびデータベース層とで 、 異なる複数のデバッガを用いてデバッグを行う必要がないので、 図 6に示した 場合に比べて、 制御プログラム 4 4のデバッグが容易になる。
図 1 6は、 各階層に複数のトランザクションを含む制御プログラム 4 4 を例示する図である。
なお、 図 1 1〜図 1 3には、 ある 1つの階層において、 1つのトランザ クシヨンが定義されている制御プログラム 4 4を例示したが、 実際には、 図 1 6 に示すように、 制御プログラム 4 4の 1つの階層において、 複数のトランザクシ ヨン (例えば、 階層 # 1における T 1一;!〜 T 1 一 3 ) が定義されていてもよい また、 あるトランザクション (例えば、 T 1— 1 ) により起動される処 理において、 さらにトランザクション (例えば、 T 2— 1〜T 2— 3 ) が定義さ れていてもよい。
プログラム実行制御部 4 6 (図 1 0 ) は、 図 1 6に例示した制御プログ ラム 4 4に対しても、 図 1 1〜図 1 3に例示した制御プログラム 4 4に対してと 同様な実行管理を行うことができる。 産業上の利用可能性
本発明は、 デ一夕ベースの操作に利用可能である。

Claims

請求の範囲
1 . 複数の階層に分かれた処理により、 データベースを操作するデー 夕べ一ス操作装置であって、 前記処理は、 他の階層の処理を起動する起動処理、 および、 前記起動処理により起動される被起動処理またはこれらのいずれかであ つて、 前記被起動処理の 1つ以上は、 前記データベースに対する操作を行うデー タベース操作処理であって、
1つ以上の前記起動処理を含む処理集合を定義する集合定義手段と、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動されたデ一夕べ一ス操作処理の処理結果とに基づいて、 少なくとも、 このデータベース操作処理による前記データベースに対する操作の内容を制御す る処理制御手段と
を有するデータベース操作装置。
2 . 前記階層は、 3つ以上に分かれ、
前記処理制御手段は、 前記処理集合に含まれる起動処理の進行と、 前記処理集 合に含まれる起動処理により起動されたデータベース操作処理以外の被起動処理 の処理結果とに応じて、 前記データベース操作処理以外の被起動処理の処理内容 を、 さらに制御する
1に記載のデータベース操作装置。
3 . 1つ以上の前記データベース操作処理を含むライブラリ手段 をさらに有し、
前記データべ一ス操作処理を起動する起動処理は、 前記ライブラリ手段に含ま れる前記データベース操作処理を起動する
1に記載のデータベース操作装置。
4 . 前記処理集合それぞれに対して、 この処理集合に含まれる起動処 理、 および、 この処理集合に含まれる起動処理により起動される被起動処理のた めの記憶領域を設定する記憶領域設定手段と、
前記処理集合それぞれに含まれる処理のために用いられるデータを、 前記処理 集合それぞれに対して設定された記憶領域において管理するデータ管理手段と をさらに有する 1または 3に記載のデータべ一ス操作装置。
5 . 前記被起動処理それぞれは、 この被起動処理を起動した起動処理 に対して、 処理の結果を示す戻り値を返し、
前記階層は、
ィンターフェース層と、
アプリケーション層と、
データべ—ス層と を含み、
前記インタ一フェース層は、
前記起動処理として、 外部からの操作に応じて、 前記アプリケーション層に含 まれる被起動処理を起動し、 起動した被起動処理から返された戻り値に応じた処 理を行うユーザインタ一フェース処理、 1つ以上
を含み、
前記アプリケ一ション層は、
前記起動処理および前記被起動処理として、 前記ィンターフェース処理により 起動され、 前記データベース層に含まれるデータベース操作処理を 1つ以上、 起 動し、 前記起動されたデ一夕べ一ス操作処理からの戻り値に基づいて、 前記デ一 夕べ一スを用いたサービスを実現し、 前記戻り値として、 このサービスの結果を 、 前記ユーザイン夕一フェース処理に返すアプリケーション処理、 1つ以上 を含み、
データベース層は、
前記データベース操作処理として、 前記アプリケーション処理により起動され 、 前記データベースに対する操作を行い、 前記戻り値として、 このデ一夕ベース に対する操作の結果を、 前記アプリケーション処理に返すデータベース操作処理 、 1つ以上 を含む
1, 3または 4に記載のデータベース操作装置。
6 . 前記処理制御手段は、
前記処理集合に含まれる前記アプリケーション処理により、 前記データベース 操作処理が、 最初に起動されたときに、 前記起動されたデータベース操作処理と 、 前記データベースとを接続し、
前記処理集合に含まれる前記アプリケーション処理により、 最後に起動された 前記データベース操作処理が終了したとき、 または、 前記データベース操作処理 が失敗したときに、 前記起動されたデータベース操作処理と、 前記デ一夕ベース とを切断する
ように、 前記データベース操作処理の実行を制御する
5に記載のデ一夕ベース操作装置。
7 . 前記処理制御手段は、
前記処理集合に含まれる前記アプリケーション処理により、 最後に起動された 前記デ一夕ベース操作処理が成功したときに、 前記処理集合に含まれる前記アブ リケ一ション処理により起動された前記データベース操作処理の結果を、 前記デ 一夕ベースにおいて確定させ、
これ以外のときには、 前記データべ一スを、 前記処理集合に含まれる前記アブ リケ一ション処理により、 前記データベース操作処理が最初に起動される前の状 態に戻す
5または 6に記載のデータベース操作装置。
8 . 前記処理制御手段は、
前記処理集合に含まれる前記アブリケ一ション処理により起動された前記デ一 夕べ一ス操作処理が失敗したときに、 前記データベースを、 前記処理集合に含ま れる前記アプリケーション処理により、 前記データベース操作処理が最初に起動 される前の状態に戻す 5〜 7のいずれかに記載のデータべ一ス操作装置。
9 . 複数の階層に分かれた処理により、 所定の情報処理を行う情報処 理装置であって、 前記処理は、 他の階層の処理を起動する起動処理、 および、 前 記起動処理により起動される被起動処理またはこれらのいずれかであって、 1つ以上の前記起動処理を含む処理集合を定義する集合定義手段と、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動された被起動処理の処理結果とに応じて、 この被起動処理の処理内容 を制御する処理内容制御手段と
を有する情報処理装置。
1 0 . 複数の階層に分かれた処理により、 データベースを操作するデ —夕ベース操作方法であって、 前記処理は、 他の階層の処理を起動する起動処理 、 および、 前記起動処理により起動される被起動処理またはこれらのいずれかで あって、 前記被起動処理の 1つ以上は、 前記データベースに対する操作を行うデ —夕べ一ス操作処理であって、
1つ以上の前記起動処理を含む処理集合を定義する定義ステップと、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動されたデータべ一ス操作処理の処理結果とに基づいて、 少なくとも、 このデータベース操作処理による前記データベースに対する操作の内容を制御す る処理制御ステップと
を含むデータベース操作方法。
1 1 . 前記階層は、 3つ以上に分かれ、
処理制御ステップは、 前記処理集合に含まれる起動処理の進行と、 前記処理集 合に含まれる起動処理により起動されたデータべ一ス操作処理以外の被起動処理 の処理結果とに応じて、 前記データベース操作処理以外の被起動処理の処理内容 を、 さらに制御する
1 0に記載のデータベース操作方法。
1 2 . 複数の階層に分かれた処理により、 所定の情報処理を行う情報 処理方法であって、 前記処理は、 他の階層の処理を起動する起動処理、 および、 前記起動処理により起動される被起動処理またはこれらのいずれかであって、 1つ以上の前記起動処理を含む処理集合を定義する集合定義ステップと、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動された被起動処理の処理結果とに応じて、 この被起動処理の処理内容 を制御する処理内容制御ステップと
を含む情報処理方法。
1 3 . 複数の階層に分かれた処理により、 デ一夕ベースを操作するデ 一夕ベース操作装置のプログラムであって、 前記処理は、 他の階層の処理を起動 する起動処理、 および、 前記起動処理により起動される被起動処理またはこれら のいずれかであって、 前記被起動処理の 1つ以上は、 前記データベースに対する 操作を行うデータべ一ス操作処理であって、
1つ以上の前記起動処理を含む処理集合を定義する集合定義ステツプと、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動されたデ一夕ベース操作処理の処理結果とに基づいて、 少なくとも、 このデータベース操作処理による前記データベースに対する操作の内容を制御す る処理制御ステップと
をコンピュータに実行させるプログラム。
1 4 . 前記階層は、 3つ以上に分かれ、
前記処理制御ステップは、 前記処理集合に含まれる起動処理の進行と、 前記処 理集合に含まれる起動処理により起動されたデ一夕ベース操作処理以外の被起動 処理の処理結果とに応じて、 前記データベース操作処理以外の被起動処理の処理 内容を、 さらに制御する
1 3に記載のプログラム。
1 5 . 1つ以上の前記データベース操作処理を含むライブラリ をさらに有し、 .
前記データベース操作処理を起動する起動処理は、 前記ライブラリに含まれる 前記データベース操作処理を起動する
1 3に記載のプログラム。
1 6 . 前記処理集合それぞれに対して、 この処理集合に含まれる起動 処理、 および、 この処理集合に含まれる起動処理により起動される被起動処理の ための記憶領域を設定する記憶領域設定ステップと、
前記処理集合それぞれに含まれる処理のために用いられるデ一夕を、 前記処理 集合それぞれに対して設定された記憶領域において管理するデ一夕管理ステップ と
をさらにコンピュータに実行させる 1 3または 1 5に記載のプログラム。
1 7 . 前記被起動処理それぞれは、 この被起動処理を起動した起動処 理に対して、 処理の結果を示す戻り値を返し、
前記階層は、
ィンタ一フェース層と、
アプリケーション層と、
データべ一ス層と
を含み、
前記ィンターフェース層は、
前記起動処理として、 外部からの操作に応じて、 前記アプリケーション層に含 まれる被起動処理を起動し、 起動した被起動処理から返された戻り値に応じた処 理を行うユーザインタ一フェース処理、 1つ以上
を含み、
前記アプリケーション層は、
前記起動処理および前記被起動処理として、 前記インターフェース処理により 起動され、 前記データべ一ス層に含まれるデ一夕ベース操作処理を 1つ以上、 起 動し、 前記起動されたデ一夕ベース操作処理からの戻り値に基づいて、 前記デー 夕ベースを用いたサービスを実現し、 前記戻り値として、 このサービスの結果を 、 前記ユーザインターフェース処理に返すアプリケーション処理、 1つ以上 を含み、
デ一夕ベース層は、
前記データベース操作処理として、 前記アプリケーション処理により起動され 、 前記データべ一スに対する操作を行い、 前記戻り値として、 このデータベース に対する操作の結果を、 前記アプリケーション処理に返すデータベース操作処理 、 1つ以上
を含む
1 3 , 1 5または 1 6に記載のプログラム。
1 8 . 前記処理制御ステップは、
前記処理集合に含まれる前記アプリケーション処理により、 前記データベース 操作処理が、 最初に起動されたときに、 前記起動されたデ一夕べ一ス操作処理と 、 前記データベースとを接続し、
前記処理集合に含まれる前記アプリケーション処理により、 最後に起動された 前記データべ一ス操作処理が終了したとき、 または、 前記データベース操作処理 が失敗したときに、 前記起動されたデータべ一ス操作処理と、 前記データベース とを切断する
ように、 前記データベース操作処理の実行を制御する
1 7に記載のプログラム。
1 9 . 前記処理制御ステップは、
前記処理集合に含まれる前記アプリケーション処理により、 最後に起動された 前記データべ一ス操作処理が成功したときに、 前記処理集合に含まれる前記アブ リケ一シヨン処理により起動された前記データベース操作処理の結果を、 前記デ —夕ベースにおいて確定させ、
これ以外のときには、 前記データベースを、 前記処理集合に含まれる前記アブ リケ一シヨン処理により、 前記データベース操作処理が最初に起動される前の状 態に戻す
1 7または 1 8に記載のプログラム。
2 0 . 前記処理制御ステップは、
前記処理集合に含まれる前記アプリケーション処理により起動された前記デー 夕ベース操作処理が失敗したときに、 前記データベースを、 前記処理集合に含ま れる前記アプリケ一ション処理により、 前記デ一夕ベース操作処理が最初に起動 される前の状態に戻す
1 7〜1 9のいずれかに記載のプログラム。
2 1 . 複数の階層に分かれた処理により、 所定の情報処理を行う情報 処理装置のプログラムであって、 前記処理は、 他の階層の処理を起動する起動処 理、 および、 前記起動処理により起動される被起動処理またはこれらのいずれか であって、
1つ以上の前記起動処理を含む処理集合を定義する集合定義ステツプと、 前記処理集合に含まれる起動処理の進行と、 前記処理集合に含まれる起動処理 により起動された被起動処理の処理結果とに応じて、 この被起動処理の処理内容 を制御する処理内容制御ステップと
をコンピュータに実行させるプログラム。
PCT/JP2004/000521 2004-01-22 2004-01-22 データ操作装置およびその方法 WO2005071547A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/585,346 US20080148260A1 (en) 2004-01-22 2004-01-22 Data Operating Device and Its Method
JP2005517166A JPWO2005071547A1 (ja) 2004-01-22 2004-01-22 データベース操作装置およびその方法
PCT/JP2004/000521 WO2005071547A1 (ja) 2004-01-22 2004-01-22 データ操作装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/000521 WO2005071547A1 (ja) 2004-01-22 2004-01-22 データ操作装置およびその方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/986,382 Continuation US7256844B2 (en) 2003-04-15 2004-11-12 Liquid crystal display device

Publications (1)

Publication Number Publication Date
WO2005071547A1 true WO2005071547A1 (ja) 2005-08-04

Family

ID=34805284

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/000521 WO2005071547A1 (ja) 2004-01-22 2004-01-22 データ操作装置およびその方法

Country Status (3)

Country Link
US (1) US20080148260A1 (ja)
JP (1) JPWO2005071547A1 (ja)
WO (1) WO2005071547A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4966135B2 (ja) * 2007-08-31 2012-07-04 株式会社東芝 サーバ装置、端末装置、通信制御方法および通信制御プログラム
US9792180B2 (en) * 2014-05-01 2017-10-17 Datiphy Inc. Intelligent backup and restore system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61188640A (ja) * 1985-02-18 1986-08-22 Kokusai Denshin Denwa Co Ltd <Kdd> ソフトウエア仕様検証方式
JPH11338746A (ja) * 1998-05-27 1999-12-10 Ntt Communication Ware Kk データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003140922A (ja) * 2001-11-05 2003-05-16 Nec Corp 異種データベースシステムsqlデバッグ方法及びそのシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US6748446B2 (en) * 1996-11-29 2004-06-08 Canon Kabushiki Kaisha Communication method and apparatus with modification of routing path by intermediate relay apparatus
US6591290B1 (en) * 1999-08-24 2003-07-08 Lucent Technologies Inc. Distributed network application management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61188640A (ja) * 1985-02-18 1986-08-22 Kokusai Denshin Denwa Co Ltd <Kdd> ソフトウエア仕様検証方式
JPH11338746A (ja) * 1998-05-27 1999-12-10 Ntt Communication Ware Kk データベースアクセスシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003140922A (ja) * 2001-11-05 2003-05-16 Nec Corp 異種データベースシステムsqlデバッグ方法及びそのシステム

Also Published As

Publication number Publication date
JPWO2005071547A1 (ja) 2007-08-23
US20080148260A1 (en) 2008-06-19

Similar Documents

Publication Publication Date Title
JP4842305B2 (ja) ワールドワイドウェブアプリケーション用の非セーブデータを暗示的にコミットするための計算システム及び方法
US8296720B2 (en) Framework to access a remote system from an integrated development environment
US6330006B1 (en) Method and apparatus for synchronizing an application&#39;s interface and data
US7797708B2 (en) Simulating actions on mockup business objects
RU2390829C2 (ru) Система и способ для выбора режимов выполнения тестового примера для автоматизации повторно выполняемого тестирования
US8762936B2 (en) Dynamic design-time extensions support in an integrated development environment
US8056091B2 (en) Systems and methods for using application services
US20030097345A1 (en) System and method for invoking business functionality for a workflow
US20060069596A1 (en) Workflow hosting computing system using a collaborative application
US20080120553A1 (en) Remote gui control by replication of local interactions
JPH07508116A (ja) イベントの認識および通知を行なう装置およびシステム
JPH07109585B2 (ja) スコープ指令変更処理方法及び装置
JPS62163155A (ja) 情報通信システム
WO2003034182A2 (en) System and method for invoking business functionality for a workflow
US20060122966A1 (en) System and method for a transaction manager
US20030172107A1 (en) Runlets as application execution units
JPH02226357A (ja) 対象管理ファシリティ環境に組入れるアプリケーションのカプセル化装置
US7950014B2 (en) Detecting the ready state of a user interface element
JPH0756753A (ja) オペレーティング・システム間のユーティリティ・ファンクションの共有方法およびシステム
JP2735780B2 (ja) オブジェクト指向プログラミング・システムにおけるウィンドウ環境の管理方法及び装置
US8719704B2 (en) Seamless integration of additional functionality into enterprise software without customization or apparent alteration of same
JP2007538314A (ja) 汎用ユーザインターフェースコマンドアーキテクチャ
WO2005071547A1 (ja) データ操作装置およびその方法
Armentano et al. A framework for attaching personal assistants to existing applications
US8490068B1 (en) Method and system for feature migration

Legal Events

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

Ref document number: 10986382

Country of ref document: US

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2005517166

Country of ref document: JP

122 Ep: pct application non-entry in european phase
WWE Wipo information: entry into national phase

Ref document number: 10585346

Country of ref document: US