WO2011118003A1 - ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 - Google Patents
ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- WO2011118003A1 WO2011118003A1 PCT/JP2010/055233 JP2010055233W WO2011118003A1 WO 2011118003 A1 WO2011118003 A1 WO 2011118003A1 JP 2010055233 W JP2010055233 W JP 2010055233W WO 2011118003 A1 WO2011118003 A1 WO 2011118003A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- web application
- screen
- service
- application construction
- database
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Definitions
- the present invention when building a so-called multi-tenant web application, improves the flexibility of building business logic corresponding to the requirements of each tenant and also improves the ease of customizing the web application screen,
- the present invention relates to a web application construction method, a web application construction program, and a recording medium on which the web application construction program is recorded.
- Patent Document 1 A technology for improving the development efficiency and maintainability of Web applications by providing a framework that describes data, logic, and screen modules separately when developing an application server that executes such Web applications has been proposed (see, for example, Patent Document 1).
- the same version of the application is provided to all of the plurality of users, but in order to satisfy slightly different specification requirements for each user, It is common for a user to have a function for customizing an application or adding a new function (that is, a user customization function) in response to a specification request.
- Patent Documents 3 to 5 are proposed.
- JP 2008-112460 A JP 2009-282777 A Special table 2007-531941 JP 2009-145972 A JP 2003-280898 A
- a first object of the present invention is to provide a web application construction system, a web application construction method, and a web application that can handle business logic as individual independent components or can be easily combined, and can unify transactions with the combined business logic.
- the second object of the present invention is to construct a multi-tenant type Web application screen without preparing a database for each tenant even when input item settings and item titles are slightly different for each tenant.
- a web application construction system, a web application construction method, a web application construction program, and a recording medium recording the web application construction program are provided.
- a web application construction system is a web application construction system that constructs a multi-tenant web application that can be used by each of a plurality of users using the same server environment customized to an arbitrary specification.
- a database unit that manages a database that stores various data, a service providing unit that provides one or more standard functions as a service in a unit corresponding to one process in business, and a service providing unit.
- a process creation unit that creates business logic for each user as a process by combining one or more services provided by the service provider, and a web application for each user according to the process created by this process creation unit
- a web application construction unit for constructing Services that are combined in the process and the process created by the creation unit operates on a single virtual machine, those transactions control is characterized by being performed by said database unit.
- the service provided by the service providing unit is implemented by Java
- the process created by the process creating unit is implemented by a script language JRuby or Ruby
- the virtual machine is a Java virtual machine. There may be.
- business logic can be handled as individual independent components or can be easily combined, and transactions can be unified with the combined business logic. Since everything runs on the virtual machine, the combined services do not go through the network, making it easy to operate. Transaction control is equivalent to conventional applications, and data integrity can be maintained using database functions, so there is no need to learn new control methods.
- the process created by the process creation unit is implemented by JRRuby or Ruby, the combination can be simply described.
- the service provided by the service providing unit includes business data or control data as an entity, and is associated with a specific one of the entities to perform data operation on the database.
- An entity service having a logic dedicated to the entity and an entity service, and a business service that implements individual functions of the business logic and performs data operations through the entity service, and the entity maps a table and an object on the database.
- the addition / reference / update / deletion operation function part of the entity service may be automatically generated.
- the entity service addition / reference / update / deletion operation function part is automatically generated, so that it is possible to unify and manage database access descriptions that tend to be redundant. It becomes easy.
- the web application construction system of the present invention further includes a screen display unit that performs screen display corresponding to the process, and the screen display unit is provided for each tenant identifier assigned to each tenant and each function classification of the business application.
- the screen display design is determined from the combination of the assigned application identifier, the screen identifier assigned to each business application screen for each tenant, and the dedicated access path prepared for the business function screen pattern, and screen input
- the display control may be performed based on parameters set for each item identifier assigned to each item and label.
- examples of display control based on the contents of the parameters include display type, value format, wording, width, maximum / minimum value, presence / absence of essential check, and the like.
- a multi-tenant type Web application screen can be constructed without preparation, and there is no dependency on the configuration with the database.
- the screen display unit may dynamically reflect the contents of parameters set for each item identifier on the screen display. Further, the content of the parameter is stored in the database, and when the screen display unit performs screen display, setting of an item identifier necessary for the screen can be collectively acquired using the screen identifier as a key. It is good.
- the screen design is prepared as a static object and can be dynamically changed at the time of display, so that customization can be easily performed.
- the web application construction method of the present invention is a web application construction method for constructing a multi-tenant web application that can be customized and used by each of a plurality of users who use the same server environment.
- a database management process for managing a database for storing various data, and a service providing process for providing one or more standard functions as a service as a service in a unit corresponding to one process in business.
- a process creation step for creating a business logic for each user as a process by combining one or more services provided by this service providing unit, and for each user according to the process created by this process creating unit Web application building process for building web applications
- the service that is combined with that process process created in process creation process operates on a single virtual machine, those transactions control is characterized by being performed by said database management process.
- business logic can be handled as individual independent components or can be easily combined, and transactions can be unified with the combined business logic. Since everything runs on the virtual machine, the combined services do not go through the network, making it easy to operate. Transaction control is equivalent to conventional applications, and data integrity can be maintained using database functions, so there is no need to learn new control methods.
- the service provided by the service providing step uses business data or control data as an entity, and is associated with a specific one of the entities to operate data on the database. And entity services having logic dedicated to the entities, and business services that implement individual functions of business logic, and data operations are performed through the entity services, and the entities map tables and objects on the database.
- the method may further comprise a mapping step and an automatic refining step for automatically generating the entity service addition / reference / update / deletion operation function portion.
- the function part for adding / referring / updating / deleting an entity service is automatically generated, so that it is possible to unify and manage database access descriptions that tend to be redundant. It becomes easy.
- the web application construction method of the present invention further includes a screen display process for displaying a screen corresponding to the process, and the screen display process is performed for each tenant identifier assigned to each tenant and each function classification of the business application.
- the screen display design is determined from the combination of the assigned application identifier, the screen identifier assigned to each business application screen for each tenant, and the dedicated access path prepared for the business function screen pattern, and screen input Display control may be performed based on a parameter set for each item identifier assigned to each item and label.
- a multi-tenant type Web application screen can be constructed without preparation, and there is no dependency on the configuration with the database.
- the screen display step may dynamically reflect the contents of parameters set for each item identifier on the screen display.
- the content of the parameter is stored in the database, and when the screen display unit performs screen display, setting of an item identifier necessary for the screen can be collectively acquired using the screen identifier as a key. It is good.
- the screen design is prepared as a static object and can be dynamically changed at the time of display.
- a web application construction program causes a computer to execute the web application construction method.
- the web application construction method of the present invention can be realized anywhere as long as there is a computer environment capable of executing the program. Furthermore, if this web application construction program can be executed by a general-purpose computer, it is not necessary to prepare a dedicated computer environment in order to realize the web application construction method of the present invention. The usefulness of the construction program increases.
- a recording medium on which the web application construction program of the present invention is recorded is a computer-readable recording medium, and the web application construction program is recorded on the recording medium.
- the web application construction method of the present invention can be easily realized in various places and environments, and the versatility of the web application construction method of the present invention is improved. Can be increased.
- business logic can be handled as independent components individually or can be easily combined, and transactions can be unified with the combined business logic. Since everything runs on the virtual machine, the combined services do not go through the network, making it easy to operate. Transaction control is equivalent to conventional applications, and data integrity can be maintained using database functions, so there is no need to learn new control methods.
- the web application construction method of the present invention can be realized anywhere as long as there is a computer environment capable of executing the program. Furthermore, if this web application construction program can be executed by a general-purpose computer, it is not necessary to prepare a dedicated computer environment in order to realize the web application construction method of the present invention. The usefulness of the construction program increases.
- the recording medium on which the web application construction program of the present invention is recorded it becomes easy to realize the web application construction method of the present invention in various places and environments, and the versatility of the web application construction method of the present invention is increased. Can be increased.
- FIG. 1 is a functional block diagram showing a server configuration of the Web application construction system 10 according to the first embodiment of the present invention.
- FIG. 2 is an explanatory diagram of a calling relationship between each module operating on each server of the Web application construction system 10 and the browser 20b operating on the client device 20.
- FIG. 3 shows some common JavaScript functions and HTML element description rules.
- 4A and 4B are tables showing images of UI parameters, FIG. 4A shows UI_PARAM, and FIG. 4B shows UI_INPUT.
- FIG. 5 shows an example of the process 12p described as DSL (Domain Specific Language) by JRRuby.
- FIG. 6 is a schematic explanatory diagram of a DSL function used in the process 12p illustrated in FIG. FIG.
- FIG. 7 is an explanatory diagram of processes, actions, and subactions.
- FIG. 8A and FIG. 8B are explanatory diagrams of UI-DB parameter conversion.
- FIG. 8A shows before conversion
- FIG. 8B shows after conversion.
- FIG. 9 is a schematic explanatory diagram of the relationship between the entity service 12s1 and the business service 12s2.
- FIG. 10 is a description example of a document of the service 12s.
- FIG. 11 is a schematic sequence diagram of standard input screen processing in the Web application construction system 10.
- FIG. 12 is a screen display example of the entry input tab of the standard order entry screen for tenant 1.
- FIG. 13 is a screen display example of a detail input tab on the same standard order entry screen as FIG. FIG.
- FIG. 14 is a screen display example of the entry input tab of the standard order entry screen for tenant 2.
- FIG. 15 is a screen display example of the detail input tab of the same standard order entry screen as FIG.
- FIG. 16 is a display example of an order list condition setting screen for tenant 1.
- FIG. 17 is a display example of an order list condition setting screen for tenant 2.
- the concept of SOA Service Oriented Architecture
- business logic is converted into “process” and “service”. Try to separate.
- Standard functions are converted into parts as services, and business logic for each tenant (such as a company) is created as a process by combining one or more necessary services.
- FIG. 1 is a functional block diagram showing a server configuration of the Web application construction system 10 according to the first embodiment of the present invention.
- the Web application construction system 10 stores various data such as a front server 11 that mainly implements processing related to screens, a logic server 12 that mainly implements processing related to business logic, and the like. And a database server 13 on which processing related to the database to be managed is mainly implemented.
- the Web application construction system 10 is connected to one or more external client devices 20 via a front server 11 and a network such as the Internet.
- FIG. 1 shows a case where the Web application construction system 10 is configured by combining three servers 11, 12, and 13, but the actual hardware configuration includes only one server device. It can also be realized.
- Examples of products used for the front server 11 include intra-mart, S2Struts, and S2DAO.
- the screen is implemented using standard JSP (Java Server Pages).
- Examples of products used for the logic server 12 include Tomcat, S2JDBC, and the like. The process is implemented using JRRuby. Services and entities are implemented using Java.
- Examples of products used for the database server 13 include Oracle, which is commercially available as a relational database management system (RDBMS).
- Oracle which is commercially available as a relational database management system (RDBMS).
- RDBMS relational database management system
- Communication from the front server 11 to the logic server 12 is performed by HTTP, and a JSON (Java Script Object Notation) is returned from the logic server 12 to the front server 11.
- JSON Java Script Object Notation
- Communication from the front server 11 to the database server 13 is only referred to by S2DAO, and UI parameters, access authority, and intra-mart master are returned from the database server 13 to the front server 11.
- Communication from the logic server 12 to the database server 13 is referred to and updated by S2JDBC, and UI parameters, business data, and an execution log are returned from the database server 13 to the logic server 12.
- HTML HyperText Markup Language
- JavaScript JavaScript
- jQuery or the like
- Communication from the client device 20 to the front server 11 is performed by HTTP or HTTPS, and HTML and JSON are returned from the front server 11 to the client device 20.
- Intra-mart is a web application framework of NTT DATA INTRAMART, and the web application construction system 10 mainly uses a user, authority management, and W / F function.
- JQuery is a JavaScript library that simplifies dynamic change processing of HTML and CSS.
- S2Struts is an open source framework that extends Struts (Web framework) using Seasar2 (DI container), and simplifies Struts setting work.
- S2DAO and S2JDBC are O / R mapper tools that map a table on the database 13d and a Java object using Seasar2, and simplify CRUD (add / reference / update / delete) operation implementation of the table. Note that the reason why S2JDBC does not standardize is because of restrictions on intra-mart.
- JRRuby is a Ruby language processing system implementation that runs on JavaVM. It is possible to operate a script written in the Ruby language from Java, or to use a Java class or method from a Ruby script.
- FIG. 2 is an explanatory diagram of a calling relationship between each module operating on each server of the Web application construction system 10 and the browser 20b operating on the client device 20.
- the browser 20b calls the screen 11d (JSP) using HTTP or HTTPS, but the process 12p (JRuby) is not directly used from the browser 20b.
- the screen 11d calls the process 12p (JRuby) by HTTP, but the service 12s (Java) is not directly used from the screen 11d (JSP).
- the process 12p calls the service 12s (Java) by calling the Java method, but does not directly use the database 13d from the process 12p (JRuby).
- Service 12s refers to and updates various data stored and managed in the database 13d.
- FIG. 3 shows some common JavaScript functions and HTML element description rules.
- 4A and 4B are tables showing images of UI parameters, FIG. 4A shows UI_PARAM, and FIG. 4B shows UI_INPUT.
- Specified ID becomes the UI parameter key (item ID).
- Parameters sent from the screen to the logic 12p (process) via the front 11d also use the item ID as a key.
- the contents of the label, the type / digit information of the input item, the width of each element, and the like are dynamically set from the UI parameters using JavaScript. Note that the common JavaScript function of the framework is used.
- the design of the screen to be displayed is determined from the combination of the company CD, application CD, screen ID and URI.
- UI parameters For each item ID, settings such as display type, value format, wording, width, maximum / minimum value, presence / absence of mandatory check, etc. are prepared as UI parameters.
- the contents of the UI parameters of each item ID are dynamically reflected.
- the contents of the UI parameters are stored in the database 13d, and a set of item IDs necessary for the screen 11d can be collectively acquired using the screen ID as a key.
- mapping table / column of database 13d with screen ID + item ID so that screen ID + item ID and mapping can be mutually converted.
- the table / column is converted into an item ID
- the item ID is converted into a table / column.
- the database 13d is divided for each company CD.
- the content of the UI parameter is held in the database.
- a set of UI parameters for the item ID is collectively obtained from the database 13d.
- a source of JavaScript (jQuery) that reflects the contents of the UI parameter is automatically generated.
- the automatically generated JavaScript is operated and dynamically reflected.
- FIG. 5 is an example of the process 12p described as DSL (Domain Specific Language) by JRRuby.
- FIG. 6 is a schematic explanatory diagram of a DSL function used in the process 12p illustrated in FIG. Note that numbers such as [1] shown at the end of the line in FIG. 5 indicate correspondence to functions having the same numbers in FIG.
- DSL is a programming language designed for specific problems and tasks.
- the Ruby grammar is used as the grammar.
- FIG. 5 illustrates “initial value acquisition”, “confirmation processing”, and “registration processing”.
- DSL function special function
- FIG. 7 is an explanatory diagram of processes, actions, and subactions.
- the process is called in units of blocks called “actions” defined by the action method.
- the process 12p is composed of a plurality of actions, and the call from the screen 11d specifies an action in principle.
- the update screen has one process 12p for one screen 11d, but the reference-only process 12p is shared by a plurality of screens 11d. Note that what is cut out in units of DSL files in order to share processing among a plurality of processes 12p is referred to as a “subaction”.
- input support the process of setting values for screen items from the server
- item check the process of checking screen item errors on the server
- FIG. 8A and 8B are explanatory diagrams of UI-DB parameter conversion.
- FIG. 8A shows before conversion
- FIG. 8B shows after conversion.
- the parameter sent from the screen 11d by the entity method is converted into an instance of the Java entity class.
- an entity is an object that has a one-to-one correspondence with a table in the database 13d.
- the conversion from the screen item (uiNo, c04, etc.) sent from the screen 11d to the database 13d item (juchu.s_juchu, juchu.d_juchu, etc.) is automatically performed by the framework with reference to the UI parameter.
- the values transmitted from the screen 11d are displayed in the sJuchu property and dJuchu property of the Juchu object. ) Is set automatically.
- the key / value after conversion is added to the hash before conversion, the key / value before conversion remains.
- the service 12s is created with Java.
- the function provided by the service 12s is a standard function of the Web application construction system 10, and the logic for each tenant (company) is absorbed by the process 12p.
- FIG. 9 is a schematic explanatory diagram of the relationship between the entity service 12s1 and the business service 12s2.
- Business data and control data are entities.
- Entity service A service that implements business logic associated with one of specific entities, and has basic CRUD operations and methods that implement business logic. This entity service automatically generates the S2JDBC function part in the CRUD operation of the database 13d.
- Business service A service that implements business logic that is not linked to one specific entity, does not have a basic CRUD operation, and uses an entity service.
- the argument of the method of the service 12s is to specify an instance of an entity class, a list of entity classes, a map (a pair of key and value) or a list of maps, and the number of arguments increases. Avoid.
- FIG. 10 is a description example of a document of the service 12s.
- FIG. 11 is a schematic sequence diagram of standard input screen processing in the Web application construction system 10.
- the browser 20b operates on the client device 20
- the screen 11d (JSP) operates on the front server 11
- the process 12p and the service 12s are executed on the logic server 12.
- the database 13d operates on the database server 13. Also, in FIG. 11, login processing, UI-DB parameter conversion processing, and the like are omitted.
- a process call is performed from the screen 11d to the process 12p according to the returned UI parameter
- an input support service call is performed from the process 12p to the service 12s
- the service 12s to S2JDBC.
- the database 13d is referred to.
- a check parameter is returned from the database 13d.
- the service 12s calls the entity service 12s1 (see FIG. 9) from the business service 12s2 (see FIG. 9), and then the service 12s references the database 13d again by S2JDBC.
- Business data is returned from the database 13d.
- the screen item initial value is returned from the service 12s to the process 12p in accordance with the returned business data, and the JSON (screen item initial value) is returned from the process 12p to the screen 11d. It is transmitted to 20b, and is recognized by the user 30 by displaying the screen in the browser 20b.
- an input check service call (TOROKU) is made from the process 12p to the service 12s, and the database 13d is referenced from the service 12s by S2JDBC.
- a check parameter is returned from the database 13d.
- the database 13d is referred again by the service 12s by S2JDBC.
- Business data is returned from the database 13d.
- a check result is returned from the service 12s to the process 12p according to the returned business data.
- JSON input support value + check result
- the input support item value + check result is returned from the screen 11d to the browser 20b
- a confirmation screen is displayed on the browser 20b. This is recognized by the user 30.
- the parameter is converted into an entity in the process 12p.
- a registration service call entity
- the database 13d is referenced from the service 12s by S2JDBC.
- the registration result is returned from the database 13d, and the registration result is further returned from the service 12s to the process 12p.
- JSON registration result
- the registration result is further returned from the screen 11d to the browser 20b, and the registration result is displayed on the browser 20b to be recognized by the user 30.
- FIG. 12 is a screen display example of the entry entry tab of the standard order entry screen for tenant 1
- FIG. 13 is a screen display example of the item entry tab of the same standard order entry screen.
- FIG. 14 is a screen display example of the entry input tab of the standard order entry screen for tenant 2
- FIG. 15 is a screen display example of the detail input tab of the same standard order entry screen.
- FIG. 16 is a display example of an order list condition setting screen for tenant 1
- FIG. 17 is a display example of an order list condition setting screen for tenant 2.
- the extended item column is provided only on the order list condition setting screen of FIG. If such an extended item column is provided, functions can be added safely without depending on other processes by adding a corresponding process even if the number of uses of the extended item column increases for each tenant. .
- the process 12p is implemented by the script language Ruby, the combination can be easily described. Since everything operates on the JVM (Java virtual machine), the combination does not go through the network, and a light operation is possible.
- JVM Java virtual machine
- database access descriptions that tend to be redundant can be unified and managed easily.
- Transaction control is equivalent to conventional applications, and data consistency can be maintained using database functions, eliminating the need to learn new control methods.
- multi-tenant support input digits, widths, names, etc. for each tenant can be supported by setting UI parameters. Since the screen design is prepared as a static object and can be dynamically changed at the time of display, customization becomes easier. The configuration dependency with the database 13d is also eliminated.
- the above-described Web application construction method may be recorded on a computer-readable recording medium in which a program to be executed by a computer is recorded.
- a recording medium in which a program for executing the Web application construction method is recorded can be provided in a portable manner.
- the recording medium may be a program medium such as a memory (not shown) such as a ROM because processing is performed by a microcomputer.
- a program reading device may be provided as an external storage device, and the program medium may be read by inserting a recording medium therein.
- the stored program may be configured to be accessed and executed by the microprocessor, or in any case, the program is read and the read program is illustrated in the microcomputer.
- the program may be downloaded to a non-program storage area and the program may be executed. It is assumed that this download program is stored in the main device in advance.
- the program medium is a recording medium configured to be separable from the main body, such as a tape system such as a magnetic tape or a cassette tape, a magnetic disk such as a flexible disk or a hard disk, a CD-ROM / MO / MD / DVD, or the like.
- Optical discs IC cards (including memory cards) / optical cards, etc., or mask ROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory, etc.), flash memory, etc. It may be a medium that carries a fixed program.
- the system configuration since the system configuration is capable of connecting a communication network including the Internet, it may be a medium that carries the program in a fluid manner so as to download the program from the communication network.
- the download program may be stored in the main device in advance or installed from another recording medium.
- the recording medium is read by any of the program reading devices provided in the three servers 11, 12, and 13 provided in the Web application construction system 10, thereby executing the Web application construction method described above.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
・ビジネスロジックの順序入れ替え
・ビジネスロジックの追加
・ビジネスロジック組み合わせの条件分岐
・ビジネスロジック内へのテナント判定の混入
テナント毎の要件を満たすために、これらを個々に実装することでWebアプリケーションの肥大化と複雑化を招いていた。
・数量の上限値違い
・文字列長の制限
・専用項目の用意
・必須入力の指定の有無
また、これらの入力項目とデータベースのテーブル・カラム構成とが密接に連携していることが多く、テナント毎に用意せざるを得なかった。
A1.機能ブロック
A11.サーバ構成
A12.モジュール呼び出し関係
A2.処理詳細
A21.画面(JSP)
A22.プロセス(JRuby)
A23.サービス(Java)
A3.処理シーケンス
A4.画面表示例
B.プログラムおよび記録媒体としての実施形態
<A11.機能ブロック/サーバ構成>
図1は本発明の第1実施形態に係るWebアプリケーション構築システム10のサーバ構成などを示す機能ブロック図である。
図2はWebアプリケーション構築システム10の各サーバ上で動作する各モジュールとクライアント装置20上で動作するブラウザ20bとの間の呼び出し関係などの説明図である。
画面11dは標準的なJSPを使用して実装する。図3はいくつかの共通JavaScript関数とHTML要素の記述ルールである。図4(a)および図4(b)はUIパラメータのイメージを示す表であり、図4(a)はUI_PARAMを示し、図4(b)はUI_INPUTを示す。
ブラウザ20bにおける表示時には、自動生成したJavaScriptを動作させ、動的に反映させる。
図5はJRubyによるDSL(Domain Specific Language:ドメイン固有言語)として記述されたプロセス12pの例である。図6は図5に例示されたプロセス12pで使用されているDSL関数の概略説明図である。なお、図5の行末に示されている[1]などの数字が、図6で同じ数字を有する関数への対応を示している。
サービス12sはJavaで作成する。このサービス12sが提供する機能はWebアプリケーション構築システム10の標準機能とし、テナント(会社)毎のロジックはプロセス12pで吸収するものとする。
特定のエンティティの1つと結び付くビジネスロジックを実装するサービスであり、基本的なCRUD操作とビジネスロジックを実装するメソッドを持つ。なお、このエンティティサービスは、データベース13dのCRUD操作におけるS2JDBC機能部分を自動生成する。
特定の1つのエンティティと結び付かないビジネスロジックを実装するサービスであり、基本的なCRUD操作は持たず、エンティティサービスを使用する。
図11はWebアプリケーション構築システム10における標準的な入力系画面処理の概略シーケンス図である。なお、図2などを参照して上述したように、ブラウザ20bはクライアント装置20上で動作し、画面11d(JSP)はフロントサーバ11上で動作し、プロセス12pおよびサービス12sはロジックサーバ12上で動作し、データベース13dはデータベースサーバ13上で動作する。また、図11では、ログイン処理やUI-DBパラメータ変換処理などは省略されている。
Webアプリケーション構築システム10の画面11dによる画面表示例をいくつか示す。
また、本発明はコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体に、上述したWebアプリケーション構築方法を記録するものとすることもできる。この結果、Webアプリケーション構築方法を実行するプログラムを記録した記録媒体を持ち運び自在に提供することができる。
11 フロントサーバ
11d 画面
12 ロジックサーバ
12p プロセス
12s サービス
12s1 エンティティサービス
12s2 ビジネスサービス
13 データベースサーバ
13d データベース
20 クライアント装置
20b ブラウザ
30 ユーザ
Claims (15)
- 同一のサーバ環境を使用する複数の利用者の各々が任意の仕様にカスタマイズして使用することができるマルチテナント型ウェブアプリケーションを構築するウェブアプリケーション構築システムであって、
各種データを記憶するデータベースの管理を行うデータベース部と、
業務上の一処理に相当する単位で部品化された1つ以上の標準的機能をサービスとして提供するサ-ビス提供部と、
このサ-ビス提供部で提供される1つ以上のサービスを組み合わせて利用者毎のビジネスロジックをプロセスとして作成するプロセス作成部と、
このプロセス作成部で作成されたプロセスに応じて利用者毎のウェブアプリケーションを構築するウェブアプリケーション構築部と
を備え、
前記プロセス作成部で作成されたプロセスとそのプロセスに組み合わされているサービスが1つの仮想マシン上で動作し、それらのトランザクション制御が前記データベース部によって行われることを特徴とするウェブアプリケーション構築システム。 - 請求項1に記載のウェブアプリケーション構築システムにおいて、
前記サ-ビス提供部によって提供されるサービスは、
業務データまたは制御データをエンティティとし、そのエンティティのうちで特定の1つと結び付いて、前記データベースに対するデータ操作やエンティティ専用のロジックを有するエンティティサービスと、
ビジネスロジックの個々の機能を実装し、データ操作は前記エンティティサービスを介して行うビジネスサービスと
を備え、
前記エンティティは前記データベース上のテーブルとオブジェクトをマッピングし、
前記エンティティサービスの追加/参照/更新/削除操作機能部分が自動生成されることを特徴とするウェブアプリケーション構築システム。 - 請求項1または2に記載のウェブアプリケーション構築システムにおいて、
前記プロセス作成部で作成されるプロセスはRubyで実装されていることを特徴とするウェブアプリケーション構築システム。 - 請求項1~3のいずれか1項に記載のウェブアプリケーション構築システムにおいて、
前記サ-ビス提供部で提供されるサービスはJavaで実装されており、
前記プロセス作成部で作成されるプロセスはJRubyで実装されており、
前記仮想マシンはJava仮想マシンであることを特徴とするウェブアプリケーション構築システム。 - 請求項1~4のいずれか1項に記載のウェブアプリケーション構築システムにおいて、
前記プロセスに対応した画面表示を行う画面表示部をさらに備え、
この画面表示部は、
テナント毎に割り当てられたテナント識別子と、
業務アプリケーションの機能分類毎に割り当てられたアプリケーション識別子と、
テナント別に業務アプリケーション画面毎に割り当てられた画面識別子と、
業務機能の画面パターンにあわせて用意された専用アクセスパスと
の組み合わせから画面表示デザインを決定するとともに、
画面の入力項目およびラベル毎に割り当てられた項目識別子毎に設定されたパラメータに基づいて表示制御が行われることを特徴とするウェブアプリケーション構築システム。 - 請求項5に記載のウェブアプリケーション構築システムにおいて、
前記画面表示部は、項目識別子毎に設定されたパラメータの内容を画面表示に動的に反映させることを特徴とするウェブアプリケーション構築システム。 - 請求項5または6に記載のウェブアプリケーション構築システムにおいて、
前記パラメータの内容は前記データベースに記憶され、前記画面表示部が画面表示を行う際にその画面に必要な項目識別子の設定を前記画面識別子をキーにしてまとめて取得可能であることを特徴とするウェブアプリケーション構築システム。 - 請求項5~7のいずれか1項に記載のウェブアプリケーション構築システムにおいて、
前記パラメータの内容に基づく表示制御には、表示の種類、値の書式、文言、幅、最大最小値、必須チェックの有無の少なくとも1つ以上を含むことを特徴とするウェブアプリケーション構築システム。 - 同一のサーバ環境を使用する複数の利用者の各々が任意の仕様にカスタマイズして使用することができるマルチテナント型ウェブアプリケーションを構築するウェブアプリケーション構築方法であって、
各種データを記憶するデータベースの管理を行うデータベース管理工程と、
業務上の一処理に相当する単位で部品化された1つ以上の標準的機能をサービスとして提供するサ-ビス提供工程と、
このサ-ビス提供部で提供される1つ以上のサービスを組み合わせて利用者毎のビジネスロジックをプロセスとして作成するプロセス作成工程と、
このプロセス作成部で作成されたプロセスに応じて利用者毎のウェブアプリケーションを構築するウェブアプリケーション構築工程と
を備え、
前記プロセス作成工程で作成されたプロセスとそのプロセスに組み合わされているサービスが1つの仮想マシン上で動作し、それらのトランザクション制御が前記データベース管理工程によって行われることを特徴とするウェブアプリケーション構築方法。 - 請求項9に記載のウェブアプリケーション構築方法において、
前記サ-ビス提供工程によって提供されるサービスは、
業務データまたは制御データをエンティティとし、そのエンティティのうちで特定の1つと結び付いて、前記データベースに対するデータ操作やエンティティ専用のロジックを有するエンティティサービスと、
ビジネスロジックの個々の機能を実装し、データ操作は前記エンティティサービスを介して行うビジネスサービスと
を備え、
前記エンティティが前記データベース上のテーブルとオブジェクトをマッピングするマッピング工程と、
前記エンティティサービスの追加/参照/更新/削除操作機能部分を自動生成する自動精製工程とをさらに備えることを特徴とするウェブアプリケーション構築方法。 - 請求項9または10に記載のウェブアプリケーション構築方法において、
前記プロセスに対応した画面表示を行う画面表示工程をさらに備え、
この画面表示工程は、
テナント毎に割り当てられたテナント識別子と、
業務アプリケーションの機能分類毎に割り当てられたアプリケーション識別子と、
テナント別に業務アプリケーション画面毎に割り当てられた画面識別子と
業務機能の画面パターンにあわせて用意された専用アクセスパスと
の組み合わせから画面表示デザインを決定するとともに、
画面の入力項目およびラベル毎に割り当てられた項目識別子毎に設定されたパラメータに基づいて表示制御を行うことを特徴とするウェブアプリケーション構築方法。 - 請求項11に記載のウェブアプリケーション構築方法において、
前記画面表示工程は、項目識別子毎に設定されたパラメータの内容を画面表示に動的に反映させることを特徴とするウェブアプリケーション構築システム。 - 請求項11または12に記載のウェブアプリケーション構築方法において、
前記パラメータの内容は前記データベースに記憶され、前記画面表示部が画面表示を行う際にその画面に必要な項目識別子の設定を前記画面識別子をキーにしてまとめて取得可能であることを特徴とするウェブアプリケーション構築方法。 - 請求項9~13のいずれか1項に記載のウェブアプリケーション構築方法をコンピュータに実行させるウェブアプリケーション構築プログラム。
- コンピュータ読み取り可能な記録媒体であって、
請求項14に記載のウェブアプリケーション構築プログラムを記録した記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055233 WO2011118003A1 (ja) | 2010-03-25 | 2010-03-25 | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 |
JP2010540966A JPWO2011118003A1 (ja) | 2010-03-25 | 2010-03-25 | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 |
CN201080001696XA CN102317905A (zh) | 2010-03-25 | 2010-03-25 | 网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/055233 WO2011118003A1 (ja) | 2010-03-25 | 2010-03-25 | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011118003A1 true WO2011118003A1 (ja) | 2011-09-29 |
Family
ID=44672594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/055233 WO2011118003A1 (ja) | 2010-03-25 | 2010-03-25 | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPWO2011118003A1 (ja) |
CN (1) | CN102317905A (ja) |
WO (1) | WO2011118003A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932441A (zh) * | 2012-10-26 | 2013-02-13 | 北京小米科技有限责任公司 | 一种下载应用的方法、终端、服务器及系统 |
JP2014153783A (ja) * | 2013-02-05 | 2014-08-25 | Fuji Electric Co Ltd | オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法およびオブジェクト指向プログラム生成用プログラム |
JP2015026139A (ja) * | 2013-07-24 | 2015-02-05 | 富士電機株式会社 | プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム |
CN113076131A (zh) * | 2021-04-07 | 2021-07-06 | 山东爱拓软件开发有限公司 | 基于多进程架构思想的嵌入式软件系统构建方法及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5391309B2 (ja) * | 2012-05-23 | 2014-01-15 | みずほ情報総研株式会社 | 情報管理システム、情報管理方法及び情報管理プログラム |
CN104750497A (zh) * | 2015-04-14 | 2015-07-01 | 浪潮通信信息系统有限公司 | 一种应用聚合的方法和装置 |
CN106951252A (zh) * | 2017-03-21 | 2017-07-14 | 四川元易云科技有限公司 | 一种基于SaaS的用户界面生成方法 |
CN107273144A (zh) * | 2017-08-15 | 2017-10-20 | 广州市爱菩新医药科技有限公司 | 快速构建网络应用程序接口的装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004185553A (ja) * | 2002-12-06 | 2004-07-02 | Fujitsu Ltd | Webユーザインターフェースのコンポーネント化方法及び装置 |
JP2005528667A (ja) * | 2001-09-29 | 2005-09-22 | ジーベル システムズ インコーポレイテッド | ウェブベースのアプリケーションをサポートするためのフレームワークを実施する方法、装置及びシステム |
JP2006202310A (ja) * | 2000-12-28 | 2006-08-03 | Future System Consulting Corp | フレームワークシステム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6968535B2 (en) * | 2002-03-21 | 2005-11-22 | Sun Microsystems, Inc. | Service mapping method of enterprise application modeling and development for multi-tier service environments |
JP2003280898A (ja) * | 2002-03-25 | 2003-10-02 | Nri & Ncc Co Ltd | ビジネスロジックプログラムを実装・実行するための装置、方法、及びプログラム |
CN101140644A (zh) * | 2007-10-19 | 2008-03-12 | 广东纺织职业技术学院 | 一种intednet专业技术资格申报系统 |
-
2010
- 2010-03-25 CN CN201080001696XA patent/CN102317905A/zh active Pending
- 2010-03-25 JP JP2010540966A patent/JPWO2011118003A1/ja active Pending
- 2010-03-25 WO PCT/JP2010/055233 patent/WO2011118003A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006202310A (ja) * | 2000-12-28 | 2006-08-03 | Future System Consulting Corp | フレームワークシステム |
JP2005528667A (ja) * | 2001-09-29 | 2005-09-22 | ジーベル システムズ インコーポレイテッド | ウェブベースのアプリケーションをサポートするためのフレームワークを実施する方法、装置及びシステム |
JP2004185553A (ja) * | 2002-12-06 | 2004-07-02 | Fujitsu Ltd | Webユーザインターフェースのコンポーネント化方法及び装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932441A (zh) * | 2012-10-26 | 2013-02-13 | 北京小米科技有限责任公司 | 一种下载应用的方法、终端、服务器及系统 |
JP2014153783A (ja) * | 2013-02-05 | 2014-08-25 | Fuji Electric Co Ltd | オブジェクト指向プログラム生成装置、オブジェクト指向プログラム生成方法およびオブジェクト指向プログラム生成用プログラム |
JP2015026139A (ja) * | 2013-07-24 | 2015-02-05 | 富士電機株式会社 | プログラム生成装置、プログラム生成方法、およびプログラム生成用プログラム |
CN113076131A (zh) * | 2021-04-07 | 2021-07-06 | 山东爱拓软件开发有限公司 | 基于多进程架构思想的嵌入式软件系统构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011118003A1 (ja) | 2013-07-04 |
CN102317905A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10546035B2 (en) | System and method for data-driven web page navigation control | |
US8296311B2 (en) | Solution search for software support | |
US7543268B2 (en) | Development environment for developing applications using a metamodel and a metadata API | |
US9996322B2 (en) | Dynamically generated user interface | |
KR101862235B1 (ko) | 사용자 인터페이스 요소 지정 | |
WO2011118003A1 (ja) | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 | |
US20220100479A1 (en) | Universal application framework for streamlined frontend development of user interface applications | |
US9870203B2 (en) | Consumption layer for business entities | |
US20150293764A1 (en) | Method and system to compose and execute business rules | |
US8578278B2 (en) | Dynamic user interface content adaptation and aggregation | |
US8255888B2 (en) | API derivation and XML schema derivation for developing applications | |
US20050071805A1 (en) | Developing applications using a metamodel | |
US20060101051A1 (en) | Electronic data capture and verification | |
US20100153150A1 (en) | Software for business adaptation catalog modeling | |
US20060075382A1 (en) | Developing applications using configurable patterns | |
JP2004280820A (ja) | ビジネスソフトウェアアプリケーションをサポートするフレームワーク | |
US20100153149A1 (en) | Software for model-based configuration constraint generation | |
JP2004280821A (ja) | ソフトウェアビジネスプロセスモデル | |
CN101373431A (zh) | 增强型小组件合成平台 | |
US10572278B2 (en) | Smart controls for user interface design and implementation | |
US11468229B2 (en) | Describing changes in a workflow based on changes in structured documents containing workflow metadata | |
US9164776B2 (en) | Dynamic determination of navigation targets in a flexible user interface environment | |
JP2004252951A (ja) | 統合業務ソフトウェアの導入運用支援システム | |
Paz | Beginning ASP. NET MVC 4 | |
Magnani et al. | BPDMN: A conservative extension of BPMN with enhanced data representation capabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201080001696.X Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010540966 Country of ref document: JP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10848396 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10848396 Country of ref document: EP Kind code of ref document: A1 |