CN1228728C - System and process for developing customized business report forms in the WEB applications - Google Patents

System and process for developing customized business report forms in the WEB applications Download PDF

Info

Publication number
CN1228728C
CN1228728C CN 02122649 CN02122649A CN1228728C CN 1228728 C CN1228728 C CN 1228728C CN 02122649 CN02122649 CN 02122649 CN 02122649 A CN02122649 A CN 02122649A CN 1228728 C CN1228728 C CN 1228728C
Authority
CN
China
Prior art keywords
data
configuration file
program
plug
customized business
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 02122649
Other languages
Chinese (zh)
Other versions
CN1464439A (en
Inventor
李波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN 02122649 priority Critical patent/CN1228728C/en
Publication of CN1464439A publication Critical patent/CN1464439A/en
Application granted granted Critical
Publication of CN1228728C publication Critical patent/CN1228728C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

The present invention relates to a system and a process thereof for developing customized business reports in the WEB application. The system comprises an analysis device of configuration files, a logic processing device of data, and a data organization device, wherein a result of the analysis device of configuration files is transmitted to the logic processing device of data for processing the result; the logic processing device of data comprises a data preparation device and a data display and organization device, wherein the data preparation device is used for inputting and generating language suitable for the inquiry of a database or a file according to the XML analysis device of configuration files; then, the language is transmitted to the data organization device; an inquiry result is returned from the data organization device; the data display and organization device is used for organizing data taken back from the data organization device into the data suitable for display. In the system, the storage, the processing and the display of the data are logically separated. Consequently, reports are easily changed.

Description

In using, WEB produces the system and method for customized business form
Technical field
The present invention relates to the database application field, relate in particular to the system that the data of utilizing in the database produce report customization in WEB uses.
Background technology
Existing non-Web uses (being mainly the client/server system) owing to the development by Windows self, and the form developing instrument can be accomplished What You See Is What You Get basically.So in this project process of exploitation, form is revised on form to some extent, is not to be very big workload.Yet, in system based on Web, because this pattern of browser/html page makes conventional tool can't bring into play its effect, the form exploitation of this intermediate item is not only time-consuming but also require great effort often, and the difficulty that realizes form in the project does not lie in form itself, and is that form is through the change of being everlasting (content and the form that comprise them).For example the Websphere Studio of IBM just has report form generator, and still the needed generation form of being not only in project just easily changes them but also need to need only less test.Usually the quantity and the type of definition form in SOW (Statement/Scope of Work) are carried out refinement in the design phase of project to these definition then.Yet, unfortunately, after almost each project all exists in UT (unit testing)/FAT (FAT)/SIT (System Integration Test), even behind UAT (user acceptance testing (UAT)), the problem of the change of form.So just produced two problems: one is quality how to control the report generation module after frequent change; Another is a cost how to control these changes, and we need special resource to handle the variation of form in whole project process usually, and this can increase the cost of project.
Though good project change management can be reduced the negative effect of top two problems, project manager and programmer's report generation module are remained the part of an intractable, this is because form has born changeableness.In the project relevant with network, because MVC (Model-View-Controller) model has been arranged, we can be independent from the business logic that produces form with statement form, and this is a very big help to the report generation module.Yet the MVC model can not solve two top problems, changes frequent because produce the business logic of form itself.
Therefore, the thought of the system that produces the customized business form in WEB uses of the present invention (below abbreviation RecportGate) is to develop a kind of reusable system architecture with the MVC model in network environment.In order to develop form in a project, in one or more files for example in the XML file, and this system architecture will define according to these XML and move with the business logic of form and workflow defining for system planner and programmer.Like this great majority of form are changed and can define and handle by revising XML in this system architecture.The advantage of doing like this is to be configuration effort with becoming work change, and obviously the latter needs less time, thus test still less and only need still less cost.Even can only need allow the temporary staff of project handle variation to the form demand.In the preferred case, this system architecture also supports user-defined JAVA plug-in card program to handle some special requirement.Though may need some programing works sometimes in this case, because the business logic of core is all covered by this system architecture, so compared to existing technologies, work load is to greatly reduce.
Summary of the invention
Therefore, target of the present invention provides a kind of generation system of customized business form, and it can appropriately separate storage, processing and the demonstration of data, thereby makes and easily form to be changed.
For this reason, the invention provides a kind of system that in WEB uses, produces the customized business form, comprise the configuration file resolver, data logic processing device and data organization device, wherein the configuration file resolver parses the form configuration information, and give the data logic processing device with analysis result and handle, the data logic processing device comprises a data preparation device, be used for after generating the language that can carry out database or file polling, giving the data organization device from the next input of configuration file resolver, data organization device and bottom data storage are mutual, from database or file system, inquire about report data, and return Query Result to the data logic processing device, the data logic processing device also comprises a data presentation tissue device, and the data set that is used for fetching from the data organization device is made into can data presented.
The present invention also provides a kind of method that produces the customized business form in WEB uses, comprise the configuration file analyzing step, data logical process step and data organization step, wherein the configuration file analyzing step parses the form configuration information, and give data logical process step with analysis result and handle, data logical process step comprises a data preparation process, be used for the result of configuration file analyzing step can be carried out giving the data organization step behind the language of database or file polling as importing generation, the data organization step is by mutual with the bottom data storage, from database or file system, inquire about report data, and return data is organized the Query Result of step, data logical process step comprises that also a data presentation organizes step, be used for also comprising from the data that the data organization step is fetched that a data presentation organizes step, the data set that is used for fetching from the data organization step is made into can data presented.
Description of drawings
Fig. 1 shows the form that can use the MVC of meeting model of the present invention and produces system;
Fig. 2 shows the structured flowchart of the system that produces according to form of the present invention; And
Fig. 3 shows the process flow diagram according to form production method of the present invention.
Embodiment
XML is the standard of SGML flexibly that a kind of those of ordinary skill in the art knows.Below be example with the XML language, the specific embodiment of the present invention is described.
As shown in Figure 1, ReportGate structure (the core with dashed lines marks) conformance with standard MVC model, it can define workflow between model and the view with its controller and XML, also can be inserted into other MVC framework for example in the IBM Jade structure.
Main points of the present invention are that report is that the data from database generate because in most of projects, and therefore, on very low level, report each time all needs from the database retrieval data.The invention preferred implementing form in data base query language for example SQL statement this process is described.
Most report be by with the finishing alternately of user, therefore, in preferred implementation of the present invention, come to obtain input parameter (these parameters are defined) the XML file from the user with a JSP (or other list).These parameters are sent to ReportGate then, and ReportGate obtains defined SQL and they are combined the back from the database retrieval data with these parameters from the XML configuration file.Last these results are sent to JSP as a result, and JSP shows according to XML configuration file picks up data and with predetermined form as a result.
From workflow of the present invention as can be seen, if the user wants to change the content of form, he needs only and changes the XML configuration file simply.For example, if want to change the form of form, show page or leaf as long as change the result simply.Use the present invention, the work of most of relevant form just becomes and is configured.And, just only need still less test behind the configuration change because system of the present invention is independently and can carries out the test of system in advance with actual form.Just can carry out good quality and cost control simultaneously after adopting the present invention to the exploitation of Reports module.
Fig. 2 shows the structured flowchart according to ReportGate of the present invention.As shown in Figure 2, ReportGate of the present invention mainly comprises four ingredients, i.e. XML configuration file parsing module A, plug-in program driver module B, data logic processing module C and data organization module D.Below we do introduction to four modules of ABCD among the last figure and therebetween control stream and data stream:
A.XML configuration file parsing module
By XML being incorporated into the defined file of ReportGate, improved the dirigibility and the readability of defined file greatly, make that the user need not must grasp a kind of new script as using other report tool.In this module of ReportGate, we will parse with the form configuration information of XML formal definition, use for other module.
Control stream 1 in this module is system or regularly defines when refreshing, calls this module by logic processing module.
Data stream 1 is the original definition of data stream of reading from the XML defined file, and we illustrate this data stream (for simplicity's sake, the XML in the following table is the view of breviary pattern in browser) with the example of a simple XML defined file below:
<?xml?version=″1.0″encoding=″GB2312″?>
-<ReportGateConfig>
-<preloadMethods>
+<method?identifer=″ReportFieldConverter″classname=″com.ibm.cn.report.ReportHelper″methodname=″HttpRequestParameter″>
-<parameters>
<parameter?index=″1″type=″String″/>
</parameters>
</method> +<method?identifer=″PasswordGet″classname=″com.ibm.cn.report.ReportHelper″methodname=″PasswordGet″>
-<parameters>
<parameter?index=″1″type=″String″/>
<parameter?index=″2″type=″String″/>
</parameters>
</method>
</preloadMethods>
-<Database?number=″1″>
<name>jdbc:db2:ibmcncom</name>
<user>c5i2com</user>
<password>[$=PasswordGet(ibmcncom,c5i2com)$]</password>
</Database>
-<Database?number=″2″>
<name>jdbc:oracle:thin:@10.10.20.10:1521:wms</name>
<user>db2inst2</user>
<password>[$=PasswordGet(ibmshop,db2inst2)$]</password>
</Database>
-<Report?reportName=″GeneralInOutReport″>
<reportDesc〉go out to put in storage information slip</reportDesc
-<columns>
+<column?index=″1″>
<columnName>PN</columnName>
<columnDesc〉product ID</columnDesc 〉
<columnWidth>12</columnWidth>
<data>[$=1$]</data>
</column>
</columns> -<datasource?database=″1″>
<SQLStatement>SELECT...</SQLStatement> +<SQLParams> -<param?index=″1″>
<SQLParamName>LocationID</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param> -<param?index=″2″>
<SQLParamName>City</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param> -<param?index=″3″>
<SQLParamName>ResellerCode</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param>
-<param?index=″4″>
<SQLParamName>Date</SQLParamName>
<SQLParamFrom>SysDate</SQLParamFrom>
<SQLParamType>Replace</SQLParamType>
</param>
-<param?index=″5″>
<SQLParamName>BrandID</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param> -<param?index=″6″>
<SQLParamName>PN</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param> -<param?index=″7″>
<SQLParamName>FromToWhom</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param>
</SQLParams>
</datasource>
</Report>
</ReportGateConfig>
Can see, define two plug-in programs (HttpRequestParameter and PasswordGet) in this defined file, defined the data source that form will be used (being two kinds of data of different types storehouses in this example), defined a form (going out to put in storage information slip) and defined the data organization mode (SQL statement that has parameter) and the display organization mode (result submits to demonstration JSP by row) of this form therein.About the effect of these two definition, we can explain in corresponding data stream below.
Data stream 2 is the definition of data stream after analyzing through the XML analytics engine, and at this moment, the form that definition of data stream is changed into dom tree is stored in the internal memory.Certainly, those of ordinary skill in the art can understand that the parsing of XML has two kinds of standard mode: SAX and DOM.When operating an XML file by DOM when, DOM reads this document, then it is divided into single object (such as element, attribute and note or the like), creates the tree construction about the document then in internal memory.Using the benefit of DOM is to quote and to operate each object.Its shortcoming is to be tree construction of a document creation, especially when document size is very big, needs a large amount of memory headrooms.But because the configuration file of ReportGate does not have so big size, so there is not this problem.And because the SAX mode is not that XML document is all read in the internal memory, but read appropriate section when needed by event-driven.Because entire document is not put in the internal memory, thus certain part of the arrival document that it can not be at random, simultaneously also because entire document not in internal memory, the developer must be in processing procedure processed in sequence information.In the present invention, this dual mode can adopt.Even can also adopt other suitable manner and can not depart from the scope of the present invention.
B, plug-in program driver module.
ReportGate provides the interface of plug-in program, that is: the user can oneself program and with its " extension " to the whole ReportGate framework, drive operation by ReportGate.This makes the user can realize some special customization function under the situation of not changing ReportGate.As: before report generation, data are carried out pre-service and after report generation form carried out aftertreatment or the like.In this module of ReportGate, we have realized driving the control interface and the data-interface of plug-in program, make data to be handled by external program under the control of framework.
In ReportGate, we make and realize the plug-in of program in two ways: for the plug-in program of Java, we are directly called by the java virtual machine by the form of the Class.forName () of java.For the plug-in program of other coding, then can pass through JNI (the Java Native Interface) interface interchange that those of ordinary skill in the art is familiar with.Certainly, ReportGate also can call direct operation executable program by operating system.
Have two control streams to flow in this module, they have represented two moment of calling plug-in program, promptly above-mentioned pre-service (control stream 2) and aftertreatment (control stream 5).Below we define with the pre-service in the top example and explain corresponding data stream.
-<method?identifer=″PasswordGet″classname=″com.ibm.cn.report.ReportHelper″methodname=″PasswordGet″>
-<parameters>
<parameter?index=″1″type=″String″/>
<parameter?index=″2″type=″String″/>
</parameters>
</method>
-<Database?number=″1″>
<name>jdbc:db2:ibmcncom</name>
<user>c5i2com</user>
<password>[$=PasswordGet(ibmcncom,c5i2com)$]</password>
</Database>
The purpose of plug-in program PasswordGet is to avoid expressly being written on the password of the data source (database) of form in the defined file in this example, but the mode by routine call is in operation and dynamically obtains (certainly, this is a pretreated example, has multiple plug-in program in the reality and realizes different functions).Therefore, the locating information (residing routine package) and the parameter that in the data stream 3 of importing this module into, have comprised plug-in program.Behind the location, this module places data stream 4 to import the program of operation into by class.forName () parameter information (two string variables) and parameter current value (the c5i2com user of ibmcncom database), then from data stream 5, obtain the operation result of this program, place data stream 6 to return to control module and submit to corresponding demand person by the latter.
The data stream of aftertreatment (13/14/15/16) is consistent with pretreated data stream on type and flowing mode.What deserves to be mentioned is: the existence of aftertreatment data stream can be the very big dirigibility of form increase, zooid workman's thing form for example, control module obtains all employees' data from database after, giving a post processor with these data filters, we can connect (for example common employee can not see other people wage etc.) with active user's authority and data rows that he can see in this program, and we can realize that a form embodies different information to different users like this.Certainly, aftertreatment flexibly can also realize that a variety of other functions are (as the translation of data dictionary: may be to represent " approved " with numeral 1 in the data source, numeral 0 expression " refusing ", we can realize this corresponding relation in aftertreatment, and the logic of foreground JSP is simplified more), or the like.
C, data logic processing module.
This part is the core processing module of ReportGate, the data processed and format according to the definition in the XML configuration file here.And can be the report form of front end JSP page performance with data organization according to the interface mode of Model-View-Controller framework.By with the separating of this part and next part (data organization module), we have accomplished storage, processing and the display separation of data, the dirigibility that has improved system further on the Model-View-Controller framework.
This module is promoters of all control streams, is example with top XML form, below we introduce this partial data circulation situation (for simplicity's sake, we only list the part definition):
-<Report?reportName=″GeneralInOutReport″>
<reportDesc〉go out to put in storage information slip</reportDesc
-<columns>
-<column?index=″1″>
<columnName>PN</columnName>
<columnDesc〉product ID</columnDesc 〉
<columnWidth>12</columnWidth>
<data>[$=6$]</data>
</column> </columns> -<datasource?database=″1″>
<SQLStatement>SELECTsaleinout.inouttag,psglocationLAC.name,psglocationCTY.name,psgreseller.companyName,psgbrand.brandname,saleinout.pn,saleinout.sn,psgreseller.category,psgreseller.category,saleinout.fromtowhom,saleinout.date,saleinout.price?from?saleinout,psglocation?psglocationLAC,psglocation?psglocationCTY,psgbrand,psgreseller,psgpn?where(saleinout.Reseller?Code?in(select?psgreseller.Reseller?Code?from?psgresellerwhere(psgreseller.locationid?in?)and(psgreseller.city?in?)))and(saleinout.ResellerCode?in?)and(saleinout.Date<?)and(saleinout.PN?in(select?PN?from?psgPN?where?BrandID?in?))and(saleinout.PN?in?)and(saleinout.From?To?Whom?in?)and(psglocationLAC.locationid=psgreseller.locationid)and(psgreseller.resellercode=saleinout.resellercode)and(psglocationCTY.locationid=psgreseller.city)and(psgbrand.brandid=psgpn.brandid)and(psgpn.pn=saleinout.pn)</SQLStatement>
-<SQLParams>
-<param?index=″1″>
<SQLParamName>LocationID</SQLParamName>
<SQLParamFrom>[$=HttpRequestParameter([$=SQLParamName$])$]</SQLParamFrom>
<SQLParamType>Set</SQLParamType>
</param>
-<param?index=″4″>
<SQLParamName>Date</SQLParamName>
<SQLParamFrom>SysDate</SQLParamFrom>
<SQLParamType>Replace</SQLParamType>
</param>
</SQLParams>
</datasource>
After this module obtained the data source definitions of this form by data stream 2, control stream 3 was given data by data stream 7 with these definition and is prepared part (SQL statement is resolved or document alignment).In this example, this data source definitions is a class SQL statement, and the operational factor of this class SQL statement also obtains (implication of this example is that system generates corresponding report according to the querying condition that the final user submits on webpage) by a plug-in preprocessor HttpRequestParameter.Data prepare part then with all these data integration for can be the understandable data of data organization module (being SQL statement in this example).
Then, we submit to data organization module by control stream 4 by data stream 9 with these data.After having obtained the data result collection of this form from data stream 12, control stream 6 can be given the data presentation molded tissue block by data stream 17 with these result sets, and (control stream 5 and corresponding data flow are done Data Post, we no longer repeat here in above existing narration).The data presentation molded tissue block can be the form of hash table according to corresponding definition (in the following example) the tissue data in the XML definition:
-<columns>
- <column?index=″1″>
<columnName>PN</columnName>
<columnDesc〉product ID</columnDesc 〉
<columnWidth>12</columnWidth>
<data>[$=6$][$=7$]</data>
</column>
</columns>
Here we have defined some " row ", have provided the definition of " product ID " these row in this example.The title that comprises it, maximum length and how from the data stream that the data organization module is submitted to, organize these row ([$=6$] [$=7$] be a simple example, promptly from data stream 17, get the 6th group of data and the 7th group of data splicing forms).And front end JSP form both can have been listed this column data when showing " product ID " fully with the form of row, also can be neatly be placed in the gauge outfit in crosstab or the nested table by oneself logic.In other words, the data that produce in the data presentation molded tissue block " row " are exactly the immediate data source of front end JSP report display.
As can be seen, the definition of this " row " is to be different from the meaning of the row in database or the data file, and it also is different from the definition (certainly, in the simplest form, this three may be identical) of the row in the JSP form of final demonstration.We introduce this data presentation organizational form is in order better upper layer logic to be separated with the bottom storage mode, because in a lot of project implementations, the art designing and the program personnel that make the JSP page often are difficult to understand bottom data logic (such as why product ID being split storage with certain rule), and what they wished to obtain when making form is the data that meaning directly perceived is arranged.And ReportGate is by defining these " row " in the framework of system, set up a kind of contact that can be adjusted by the user on the storage mode of the meaning directly perceived of data and data.In addition, the main designer (as architect) that the definition of these " row " can system realizes (and dynamically adjusting in force) when Project design, therefore can lower system general procedure person workload and to their requirement of technical capability.
In sum, by this part, can we with data storage method (for example: in database or in file system accomplish? or in database, be stored in which table?) and the logic on upper strata (for example: the inquiry mode of data is that user-interactive or system regularly generate? do month Sales Reports need which data and statistical parameter? crosstab or nested table?) separation, to reach the purpose of the dirigibility that improves reporting system.
D, data organization module.
This part is ReportGate and the mutual part of bottom data storage.According to the definition in the XML configuration file, this module will be distributed in gives logic processing module after data in database or the file system obtain and further calculates and handle.The effect of this module is shielding upper layer logic and a concrete data storage location, reduces the restriction to report generation of data structure, access mode.
The data source of form can be a various ways, can be database, can be data file also, and the memory location of these data sources may be the local machine at reporting system, also may be stored in the network.So this module finds corresponding data result collection and returns by the data organization information (being a SQL statement in last example) in the resolution data stream 9.In the example of this paper, we have defined two kinds of databases (Oracle, a DB2) as data source (as follows), and the data storage in " going out the warehouse situation form " is in DB2.ReportGate is connected with the DB2 database by the JDBC interface, and carries out inquiry, obtains results set.
-<Database?number=″1″>
<name>jdbc:db2:ibmcncom</name>
<user>c5i2com</user>
<password>[$=PasswordGet(ibmcncom,c5i2com)$]</password>
</Database>
-<Database?number=″2″>
<name>jdbc:oracle:thin:@10.10.20.10:1521:wms</name>
<user>db2inst2</user>
<password>[$=PasswordGet(ibmshop,db2inst2)$]</password>
</Database>
In this example, this module for make upper layer module have to be indifferent to corresponding data storage mode realized below some functions: database-located, database connects and (comprises Authentication mechanism, connect the realization of Buffer Pool), data query (SQL statement execution), abnormality processing discharges resource or the like.After some processing were encapsulated in this module like this, what returned in data stream 12 just had been the data rows that meets the report data definition of upper layer module care.Certainly, in the complex report forms of reality, ReportGate has also realized other function, for example: for system performance require to consider from database, once to read data in EMS memory restriction, Data Update operation, to access process of file system or the like.In a word, what realize in the logic of this one deck is and the relevant various processing of bottom storage that its encapsulation can make the user more be absorbed in the logic of form rather than sink in data access programming and the debugging.
According to the present invention, yes rewrites or directly revise an XML configuration file to the most direct a kind of mode of the change of form.But a preferred embodiment of the invention, by in the XML configuration file "? " part has realized a kind of simple more change to the XML configuration file.For example, suppose that at first the user imports following XML configuration file:
<databaseList>
<database?sequence=″1″>
<!--the?sequence?in?the?above?database?list-->
<dbName>jdbc:db2:PSG</dbName>
<dbuser>db2inst2</dbuser>
<dbpassword>db2inst2</dbpassword>
</database> </databaseList> <ReportList>
<Report?name=″GeneralSaleInOut″>
<DataSource?DBSequence=″1″>
<ReqParamList>
<!--Parameters?need?to?be?got?from?the?HTTP?request-->
<paramFromRequest?sequence=″1″>
<ParamName>resellerCode</paramName>
</paramFromRequest>
</ReqParamList>
<SQL>Select?inOutTag,resellerCode?from?SaleInOut?whereresellerCode=?</SQL> </DataSource>
………
In the superincumbent XML configuration file, data source used in the form and the row in the database have at first been pointed out.In "<SQL〉" part "? " provide a chance of specifying these parameters by preceding end page to the final user.Like this customization of form is just become feasible.A plurality of "? " can be arranged in SQL, and the order between the parameter in SQL parameter and HTTP request and corresponding relation are at<paramFromRequest〉definition in the part.Though in the present embodiment be with "? " come designated parameter, but obviously those of ordinary skill in the art knows and can select other specific markers for use, even can also adopt a plurality of different specific markers, different parameters is carried out mark.
Fig. 3 shows the preferred implementation according to form production method of the present invention.As shown in Figure 3, method according to generation customized business form of the present invention comprises 3 steps substantially, it is configuration file analyzing step 301, data logical process step 302 and data organization step 303, wherein the result of configuration file analyzing step 301 gives data logical process step 302 and handles.In addition, the configuration file analyzing step comprises some specific markers in the configuration file is made an explanation as special parameter.Data logical process step 303 comprises a data preparation process, be used for the result of configuration file analyzing step generated as input and give the Query Result that data organization step and return data are organized step behind the language that is fit to carry out database or file polling, data logical process step comprises that also a data presentation organizes step, and the data set that is used for fetching from the data organization step is made into suitable data presented.Data presentation organizes step that the data as the result of data organization step of fetching are carried out assembly unit, makes data adapting after the assembly unit as the immediate data source of front end report display.In this preferred implementation of the present invention, it is that the XML configuration file is resolved that described configuration file is resolved.But those of ordinary skill in the art will be appreciated that, main points of the present invention also do not lie in the type of configuration file, in order to realize purpose of the present invention, can also adopt other any suitable configuration file existing or that occur in the future.In a preferred embodiment, data logical process step also comprises a plug-in program actuation step that is used for calling plug-in program.This plug-in program actuation step utilizes one of following three kinds of modes to realize calling plug-in program: 1) form of the Class.forName () by java is directly called by the java virtual machine; 2) by the JNI interface interchange; 3) directly call by operating system.Invoked plug-in program can comprise that for example a password obtains program.
In addition, according to preferred implementation of the present invention, the present invention preferably utilizes the java language to develop, and to turn in the journey data encapsulation in data stream be Data Bean, is the data encapsulation that will transmit between each module of the present invention Data Bean promptly.
In addition, according to preferred implementation of the present invention, be to handle or carrying out dividing by following three kinds of modes basically data retrieval being come the back handle also at front end in the database aspect to data:
The aftertreatment of A, some data is difficult to realize in the database aspect.If such as 1/0 mode bit in the database being interpreted as (Yes/No according to user's login language preference, be/not, は い い え) three kinds of language of Sino-Japan English (sometimes even more), and current database is owing to store the restriction of ISN, the information that often can't store language more than three kinds at same database simultaneously.Such processing is carried out operational processes by introducing post processor in preferred implementation of the present invention.
B, large-scale data dictionary searched and translates the general using database processing.Such as such example: a machine comprises several parts, store it in the description record in database and be surrounded by the numbering that contains part, if but Reporting Requirements embodies the title of these parts, information such as the place of production, we must go to search according to dash number to corresponding parts list.In an example of the present invention, comprised 300,000 records in such parts list, such processing obviously is fit to the connection processing with database, to make full use of performance of database.
C, the manageable small-scale data of both are then handled the maintainability and the development difficulty of system according to reality, for example the example of my employee's occurrences in human life form of mentioning in the above.Accomplish in the database aspect if want, the form consultant who then is necessary for different rights in program writes out different SQL query language (selecting different row to show), be compared to and can the existing program in the invoke user authority module realize in post processor, obviously the latter is more convenient.
Abovely described the present invention, but obviously can in the scope that this instructions is instructed, make various modifications, improvement and variation above-mentioned concrete embodiment with reference to preferred implementation.

Claims (14)

1. in using, WEB produces the system of customized business form, comprise the configuration file resolver, data logic processing device and data organization device, wherein the configuration file resolver parses the form configuration information, and give the data logic processing device with analysis result and handle, the data logic processing device comprises a data preparation device, be used for after generating the language that can carry out database or file polling, giving the data organization device from the next input of configuration file resolver, data organization device and bottom data storage are mutual, from database or file system, inquire about report data, and return Query Result to the data logic processing device, the data logic processing device also comprises a data presentation tissue device, and the data set that is used for fetching from the data organization device is made into can data presented.
2. the system of generation customized business form as claimed in claim 1 is characterized in that described configuration file resolver is an XML configuration file resolver.
3. the system of generation customized business form as claimed in claim 2, it is characterized in that and comprise a plug-in program drive unit, this plug-in program drive unit is connected with the data logic processing device, thereby makes the data logic processing device call plug-in program by the plug-in program drive unit where necessary.
4. the system of generation customized business form as claimed in claim 3 is characterized in that described plug-in program drive unit realizes calling plug-in degree by one of following three kinds of modes: 1) form of the Class.forName () by java is directly called by the java virtual machine; 2) by the JNI interface interchange; 3) directly call by operating system.
5. as the system of claim 3 or 4 described generation customized business forms, it is characterized in that described plug-in program comprises that at least a password obtains program.
6. as claim 1, the system of 2 or 3 described generation customized business forms, it is characterized in that described data presentation tissue device is arranged to carries out assembly unit to the data of fetching from the data organization device, makes data after the assembly unit as the immediate data source of front end report display.
7. as the system of each the described generation customized business form among the claim 2-4, it is characterized in that described XML configuration file resolver is arranged to the specific markers in the XML configuration file is made an explanation as special parameter.
8. in using, WEB produces the method for customized business form, comprise the configuration file analyzing step, data logical process step and data organization step, wherein the configuration file analyzing step parses the form configuration information, and give data logical process step with analysis result and handle, data logical process step comprises a data preparation process, be used for the result of configuration file analyzing step can be carried out giving the data organization step behind the language of database or file polling as importing generation, the data organization step is by mutual with the bottom data storage, from database or file system, inquire about report data, and return data is organized the Query Result of step, data logical process step comprises that also a data presentation organizes step, and the data set that is used for fetching from the data organization step is made into can data presented.
9. the method for generation customized business form as claimed in claim 8 is characterized in that described configuration file analyzing step comprises the step that the XML configuration file is resolved.
10. the method for generation customized business form as claimed in claim 9 is characterized in that data logical process step also comprises a plug-in program actuation step that is used for calling plug-in program.
11. the method for generation customized business form as claimed in claim 10 is characterized in that described plug-in program actuation step utilizes one of following three kinds of modes to realize calling plug-in program: 1) form of the Class.forName () by java is directly called by the java virtual machine; 2) by the JNI interface interchange; 3) directly call by operating system.
12., it is characterized in that described plug-in program comprises that at least a password obtains program as the method for claim 10 or 11 described generation customized business forms.
13. method as claim 9 or 10 described generation customized business forms, it is characterized in that described data presentation organizes step to be arranged to the data as the result of data organization step of fetching are carried out assembly unit, make data after the assembly unit as the immediate data source of front end report display.
14., it is characterized in that described XML configuration file analyzing step comprises the step that the specific markers in the XML configuration file is made an explanation as special parameter as the method for each the described generation customized business form in the claim 9,10 or 11.
CN 02122649 2002-06-18 2002-06-18 System and process for developing customized business report forms in the WEB applications Expired - Fee Related CN1228728C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02122649 CN1228728C (en) 2002-06-18 2002-06-18 System and process for developing customized business report forms in the WEB applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02122649 CN1228728C (en) 2002-06-18 2002-06-18 System and process for developing customized business report forms in the WEB applications

Publications (2)

Publication Number Publication Date
CN1464439A CN1464439A (en) 2003-12-31
CN1228728C true CN1228728C (en) 2005-11-23

Family

ID=29743312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02122649 Expired - Fee Related CN1228728C (en) 2002-06-18 2002-06-18 System and process for developing customized business report forms in the WEB applications

Country Status (1)

Country Link
CN (1) CN1228728C (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183363B (en) * 2006-11-13 2010-05-12 中兴通讯股份有限公司 Method for unitedly configuring management EMS memory data-base by system table structure
US20080228773A1 (en) * 2007-03-14 2008-09-18 Hand Held Products, Inc. Apparatus and method for data input device
CN101697122A (en) * 2009-10-16 2010-04-21 深圳市科陆电子科技股份有限公司 Method for generating report query conditions through predefined components
CN102385779A (en) * 2010-09-03 2012-03-21 深圳市金蝶友商电子商务服务有限公司 POS (point-of-sale) machine financial data generation method, device and system
CN102044019A (en) * 2010-12-08 2011-05-04 北京物美商业集团股份有限公司 Financial certificate generating system and method
CN102043769A (en) * 2010-12-27 2011-05-04 畅捷通软件有限公司 Method and device for editing documents
CN102609494B (en) * 2012-01-21 2015-04-22 北京恒华伟业科技股份有限公司 Method for processing data of machine account and device
CN103150391A (en) * 2013-03-21 2013-06-12 河海大学 General database table webpage displaying method based on configuration files
CN103268242A (en) * 2013-06-05 2013-08-28 中国电子科技集团公司第十五研究所 Method and device for installing information system
CN104657123B (en) * 2013-11-21 2018-09-11 航天信息股份有限公司 A kind of method of dynamic export
CN105786478B (en) * 2014-12-23 2019-07-02 菜鸟智能物流控股有限公司 Method and apparatus for data processing
CN106156075B (en) * 2015-03-31 2019-08-02 中国科学院声学研究所 A kind of method and device of report generation and displaying
CN106096870A (en) * 2016-07-21 2016-11-09 杭州迪脉信息科技有限公司 A kind of performance data treating method and apparatus
CN108885613A (en) 2016-09-26 2018-11-23 浙江核新同花顺网络信息股份有限公司 Report display system and method

Also Published As

Publication number Publication date
CN1464439A (en) 2003-12-31

Similar Documents

Publication Publication Date Title
CN1228728C (en) System and process for developing customized business report forms in the WEB applications
CN1811702A (en) System and method for developing portal applications and automatically deploying them into a portal server application
CN101052948A (en) Object process graph application development system
CN1224921C (en) Automatic community generation system and method on network
CN100336059C (en) Intelligent use of user data to pre-emptively prevent execution of a query violating access controls
CN1768325A (en) Rule application management in an abstract database abstract of the disclosure
CN1823335A (en) Abstract data linking and joining interface
CN1711522A (en) Modeling system for graphic user interface
CN1761962A (en) Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
CN101048729A (en) Document processing and management approach for editing a document of mark up language
CN1759397A (en) Structured indexes on results of function applications over data
CN1337026A (en) System and method of presenting channelized data
CN1379882A (en) Method for converting two-dimensional data canonical representation
CN1804840A (en) Data access layer class generator
CN1783019A (en) Interface infrastructure for creating and interacting with web services
CN1444157A (en) Customizational information processing device
CN1705945A (en) Global query correlation attributes
CN1315017A (en) Difference extraction between two versions of data-tables containing intra-reference
CN1920837A (en) Complex equipment faced multi-subject design software integrated parameter mapping method
CN1627257A (en) Framework for creating modular web applications
CN1268710A (en) Device and method for database searching
CN1667609A (en) Document information management system and document information management method
CN1786955A (en) Method and system for managing interdependent data objects
CN1591400A (en) Integrated data processing system
CN1573753A (en) Database object script generation method and system

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20051123

Termination date: 20100618