Description
DATA DIVISION FORMATION SYSTEM FOR CLIENT- SERVER AND METHOD THEREOF
Technical Field
[1] The present invention relates to a system for configuring a stream data to transmit/ receive the stream data between a client and a server in an internet environment and dataset binary packets exchanged in data communication, and more particularly to a system for configuring a stream data between a client and a server and binary packets of the system in which the client collects the stream data transmitted in a stream fashion from the server by arbitrary size unit to output it to a user interface of the client computer. Background Art
[2] As an information system environment is changed from a mainframe terminal to a fat client environment or a web-based thin client environment of a client/server environment, it is changed from mainframe environment of central 1 tier system to client/ server environment of multi-tier system such as 2-tier system and 3-tier system, thereby reducing loads in the server and providing user with an intuitive and fast interface. However, since it takes much cost and time to distribute, install and upgrade the developed application, difficulties in distributing and managing the application has been caused.
[3] As a Web has been created, the problems related to distribution can be solved, as well as the development and maintenance can be easily performed. However, the web- based system has a problem with slow loading screen, and it is increasingly requested to provide additional functions which a browser can not provide. Therefore, there is a need for providing new model which can satisfy such requirements by overcoming limitations of the web system and facilitating advantages of the client/server, whereby a concept of X-internet has initially appeared by Forrester Research in accordance with such requirements.
[4] The X-internet refers to a next-generation internet application environment which facilitates advantage of the client/server (CS) type such as intuitive and fast user interface, and is presented by the Forrester Research for servicing user-oriented intelligent application via the web. The current user interface (UI) is limited to hyper text markup language (HTML) and thus has limitations in functionality, server load or security, whereas the X-internet can allow the browser to display only simple items and the user to receive detailed and dynamic screen such as general program using a flash. [5] However, conventional client data model has provided object model to the client by causing the client directly to access data source on the web server and collect data, or has transmitted the object model generated by the web server to the client computer through data communication section.
[6] Therefore, since the user interface of the client computer downloads all of corresponding data from the server and then outputs them, there are problems that transmission velocity is lowered and a delay in response to large amounts of data is caused.
Disclosure of Invention Technical Problem
[7] Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the prior art, and an object of the present invention is to provide a system for configuring a stream data which can output data transmitted from the server to the user interface of the client in an internet environment even though before the data is all downloaded.
[8] Another object of the present invention is to provide a system for configuring a stream data which can minimize any delay in response even though larger amounts of data are transmitted, whose transmission velocity is higher upon transmitting data and layout in the client/server environment. Technical Solution
[9] In order to achieve above-mentioned objects, one aspects of the present invention comprises a DBMS of database server and a client computer connected with each other via a web application server (WAS) loaded in a web server; the web server is loaded with a start XML, a Form XML, and a JSP/Asp file; and the client computer is loaded with a virtual engine, a protocol manager, a dataset manager, a script manager, and a component manager. The virtual engine instructs the dataset manager to generate the dataset components as defined in the Form XML file by analyzing Form XML file received via the web server, and thus the dataset manager generates the dataset components as defined in the Form XML file. The virtual engine instructs the component manager to generate the components as defined in the Form XML file by analyzing the Form XML file, and thus the component manager generates components (grid, chart, button and tree view) to display the components (grid, chart, button and tree view) on a screen. If these operations are finished, the datasets request the data from the web server via a defined URL or request data from the web server-side script. At this time, the stream data is transmitted/received between the client server and the web server, and the virtual engine of the client computer requests JSP or ASP file which processes and generates the stream data loaded in the web server through protocol objects managed by the protocol manager. The web server executes the JSP or ASP file and the JSP or ASP file is made to execute service of the web application server. Herein, the service makes it possible to acquire data from data storage via the DBMS connected to the web application server. The acquired data is changed from the JSP or APS file to a type suitable for transmission of the stream so that it may be transmitted to protocol object of the connected client computer in a stream fashion. The virtual engine of the client computer stores the stream data transmitted to the protocol object in the dataset components managed by the dataset manager. The dataset components output the stream data to components (grid, chart, button and tree view) managed by the component manager whenever it reaches the number of record unit predetermined by the developer. Also, the present invention uses dataset binary packets for transmitting/receiving the stream data efficiently between the client computer and the web server. Brief Description of the Drawings
[10] The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
[11] FIG. 1 is a schematic diagram showing the system for configuring a stream data between the client and the server according to one embodiment of the present invention;
[12] FIG. 2 through FIG. 5 are layout diagrams showing dataset binary packets exchanged in data communication of the system for configuring the stream data between the client and the server according to one embodiment of the present invention.
Best Mode for Carrying Out the Invention
[13] Hereinafter, a preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the following description and drawings, the same reference numerals are used to designate the same or similar components, so that repeated description on the same or similar components will be omitted.
[14] FIG. 1 is a schematic diagram showing the system for configuring the stream data between the client and the server according to one embodiment of the present invention. The one embodiment according to the present invention comprises dataset binary packets used for transmitting/receiving the stream data between the client computer 10 and the web server 30 in an internet environment and a system for configuring the stream data between the client and the server.
[15] More specifically, the one embodiment according to the present invention comprises combination of the web server 30 and existing legacy system 40 in the internet environment 20, and is configured with a client computer 10 requesting service via all kinds of web browsers used in accordance with requests from the client computer 10, a web server 30 transmitting to the client computer 10 extensible markup language (XML) loaded in accordance with request signal outputted from the client computer 10, and a legacy system 40 providing a middleware information (Tuxedo, Entera) implemented by driving the web server 30.
[16] The extensible markup language can overcome both of simplicity of the hyper text markup language (HTML) and complexity of standardized general purpose display language. The user can use a Tag as necessary. The XML is no more than one example and can be applied to any kind of documents and languages which can be driven in the client- server environment.
[17] The legacy system 40 is connected to the web server 30 via the web application server WAS 50 along with the database server 60 of the DBMS. The web server 30 is configured with a start XML file 31, a XML screen tag plus JavaScript Form XML file 32, a JSP or ASP file for creating the stream data, a library type JavaScript 35, a HTTP/TCP/SOAP and a service application interface 34. The service application interface 34 reformats the data into extensible markup language (XML) or binary, compressed and stream fashion.
[18] The web server is loaded with the ASP/JSP file manufactured by BSB (Business
Service Builder) 70, the start XML file 31 manufactured by PID (Presentation Interface Designer) 80, the XML screen tag plus JavaScript Form XML file 32, and the library type JavaScript 35. The ASP/JSP is connected to the legacy system via the web application server WAS for processing data transmission using the service application interface.
[19] The web server 30 is connected to a smart display and the client computer 10 via the internet 20. The smart display is exemplified as PDA (CE, imbedded Linux), smart phone, mobile device and settop box, and the client computer refers to a PC loaded with an operating system such as Windows 95, 98, 2000 and XP, and Linux. The smart display and the client computer 10 are configured with a protocol manager 12, a dataset manager 13, a script manager 14, a component manager 15 and a cash manager 16 via a virtual engine 11.
[20] The protocol manager 12 controls and manages various protocols such HTTP/
SOAP, TCP/OP, application server adaptor, middle server adaptor on the virtual engine 11, and manages Microsoft Access, Microsoft ADO, Oracle, Reporting, securing module, and other outside module for the database. The dataset manager 13 controls and manages the dataset components, the script manager 14 control and manages scripts, and the component manager 15 controls and manages basic components (grid, chart, button, and tree view), extensible components and particular site component.
[21] The DBMS 60 of the database server is connected with the web server 30 and the client computer 10 via JSP and ASP web application server (WAS) 50. The web server 30 is loaded with start XML 31, XML screen tag plus JavaScript Form XML file 32 and JSP/ASP file 33, and the client computer 10 is loaded with virtual engine, protocol manager, dataset manager, script manager, cash manager, and component manager and connected to components (grid, chart, button and tree view) 37 via the component manager 15.
[22] Operating model according to the present invention includes application start, screen configuration flow and stream data configuration flow in the client computer. The application start causes a start URL to be generated and automatic environment setting to be performed. The screen configuration flow downloads screen information after screen requests in order to perform screen configuration, and the stream data configuration flow includes data requests, data communication and screen display.
[23] If the application of the client computer 10 is initiated in the application start of the client computer, the web server 30 is accessed via the protocol manager 12 of the client computer 10 to download a start XML file 36 having environment information of the application and a Form XML file 32 having screen configuration information of the application. The application of the client computer 10 performs the environment setting by analyzing the start XML file 36 and allows the component manager to generate the dataset components 13 as defined in the Form XML file 32 by analyzing the Form XML file 32. The virtual engine 11 instructs the component manager 15 to generate the components as defined in the Form XML file 32 by analyzing the Form XML file 32, in order to generate the components (grid, chart, button and tree view) 15 managed in the component manager, whereby basic components for creating the screen of the client application are loaded.
[24] In the stream data configuration flow, the application of the client computer 10 downloads the data outputted from the web server 30 to the components (grid, chart, button and tree view) connected to the component manager 15 in a type of stream data, store the downloaded stream data in the dataset of the client computer, and outputs it to the components (grid, chart, button and tree view) whenever the dataset reaches the number of certain record unit.
[25] When transmitting/receiving the stream data between the client computer 10 and the web server 30, the script manager 14 of the client computer 10 extracts information on URL which is a file location to transmit corresponding data of server side and the dataset which is a logical data structure to store corresponding data from Transaction function or Dataset. Load function of script code and delivers them to the virtual engine. The virtual engine interprets the URL to select corresponding protocol objects (HTTP, TCP, SOAP) among protocol objects managed by the protocol manager 12, and the virtual engine 11 selects corresponding dataset objects from the dataset manager 13 via the dataset information. The selected protocol objects requests the data from JSP/ASP file 33 of the web server 30 corresponding to the URL. The JSP/ASP file 33 causes the corresponding data to be collected from DBMS 60 and to be configured in a type suitable for transmission of the stream so that the data may be converted into predetermined binary packets and transmitted to the client computer in the stream fashion.
[26] The protocol object of the client computer 10 sequentially receives the stream data of predetermined binary packet type transmitted from the web server 30 and extracts the data from predetermined binary packets of the stream data to store it into the dataset objects of the client computer. The data stored in the dataset object is outputted to the components (grid, chart, button, tree view) 15 of the client computer whenever it reaches the number of record unit defined by the developer.
[27] FIG. 2 through FIG. 5 are layout diagrams of the dataset binary packets for transmitting/receiving the stream data in the stream data configuration system between the client computer and the server. Herein, the dataset refers to a unit of data management which is a collection of related record being collected for the purpose of specific process.
[28] A dataset list and a variable list are provided in one bundle. All short types can be processed in HTONS function which converts host byte order of 16 bit integer into network byte order, all of INT types and DWORD types can be also processed in HTONL function. This embodiment is based on premise that CODEPAGE value does not exist and all characters are unified in UTF- 8 character.
[29] The layout shown in FIG. 2 is configured with a count Ia of the short, a variable list
Ib of variable list size byte, and a dataset list Ic of the data list size byte. The count Ia represents the number of the dataset, that is, (count()+l). The variable list Ib is configured with a mark 2a of the short, a version 2b of the short, a size 2c of DWORD (short), a count 2d of the short, an id length 2e of the short, an id 2f of id string size and a variant type 2g of variant size byte, as shown in FIG. 3A.
[30] The mark 2a means the variable list, and herein OxFElO. The version 2b refers to information version of the variable list, and herein 4000. The size 2c of the DVORD (short) is changed to a long type if it is higher than the number of variables (maximum value of the short, 32767). Regarding to whether it is the long type or the short type, it is DWORD type if it is true when computing in first byte and 0x80. (if(strm[pos]& 0x80))//long else short.
[31] The count 2d means a variable list count. The id length 2e is a length of id word string of the variable. When the id is null, it will be short type (2 byte), in which all of 2 byte is filled with 0. The id 2f is variable id value (word string), in which null is excluded. The variant type 2g of the variant size byte is as shown in FIG. 3B.
[32] Regarding a layent in the variant layout shown in FIG. 3(B), its type is decided by vt value and its storage format depends on vt value. The layout is configured with vt 3a of the short and layout 3b decided depending on vt value.
[33] The dataset list layout lists a dataset 4a and a dataset 4b of dataset layout size and repetition 4c of the number of the dataset, as shown in FIG. 4. The dataset 4a lists necessary number of datasets.
[34] The dataset layout has types for each dataset: normal type layout listing records as presently shown except for the dataset; update type layout listing insert row, update row and update data region; and all type layout listing insert row, update row, normal row and delete data area.
[35] The dataset layout shown in FIG. 5(A) is configured with a header 5a of the dataset head region, data 5b of the dataset data region, delete data 5c and 0 of int 5d. The header 5a lists header information of the dataset. The data 5b lists normal data record, inserted data record and updated data record. The delete data 5(c) lists deleted data record and the 0 of int 5d means the last of the dataset.
[36] The header layout defines each column data of the record in the header. Herein, constant columns and actual columns exist. The constant columns are defined only in the header irrespective of the data region. Since the constant columns are virtual columns, only header is defined in order to express as if they exist together in all rows.
[37] The layout shown in FIG. 5(B) is configured with a mark 6a of the short, a version
6b of the short, a length 6c of the short or the long, an id length 6d of the short, an id 6e of id string size, a constant column 6f of constant column size byte (layout similar to variable list) and a column info list 6g of column information size byte.
[38] The mark 6a means dataset, and herein OxFEOl. The version 6b means version information of the dataset, and herein 4000. The length 6c is a sum of sizeof(idlen)+sizeof(id)+sizeof(cost column)+sizeof (column info list). The id length 6d is a length of id word string of the dataset. The id 6e is a dataset id value (word string) in which null is excluded. The constant column 6f of the constant column size byte lists constant column information and has layout similar to that of above-mentioned variable list.
[39] The length value is changed to DWORD type if the length of the data is higher than
32767, and first bit is 1 in a case of DWORD type, (if (stπn[0]&Qx80)), DWORD type. The layout of column info list shown in FIG. 5C defines record column information of the data region, that is, column count 7a of the short, column info 7b of column info layout size, column info 7c, 7d of column info layout size and repetition 7e of column count. The column count is the number of column info. [40] The column info is configured with an id length 8 a of the short, an id 8b of id string length, a type 8c of the short, a size 8d of the short, a prop 8e of the short, a sum length 8f of the short and a sum string 8g of the sum length, as shown in FIG. 5(D). The id length 8a is a word string length of column name, and the id 8b is a word string value (word string) of the column name, in which null is excluded. The type 8c is a type of the column. The size 8d is a maximum size of this column. The prop 8e is a property of this column. The sum length 8f of the short is a summary string length (if the property is cy_colsum_text) and the sum string 8g of the sum length is a summary string (if the property is cy_colsum_text).
[41] The data layout is divided into a normal case and an update case. The dataset is designated in binary as it is in the normal case, whereas it is inserted and updated in the update case. At this time, an original record is attached to the updated information in order to contain preceding information as necessary. A value other than -1 is designated to orgidx in the record. The delete data is similar to normal format, in which only row type value of the record is expressed differently.
[42] In cases of normal and delete information as shown in FIG. 5(E), the layout is configured with records 9a, 9b, 9c, and 9d of record layout size. In a case of update information as shown in FIG. 5F, only insert and delete may exist and an org record is additionally attached to only update information in the record. At this time, a count value is the number except of the org record. It is configured with records 9a' 9b'of the record layout size, record 9c' and org record 9d' of the record layout size, record 9e' and empty space 9f .
[43] The record layout is configured with a size 10a of DWORD or the short, a row type
10b of the short, a column count 10c of the short, column values 1Od, 1Oe — 1Of of a variant type size, orgidx 1Og of the short, column values 1Oh, 1Oi — 10j of the variant type size. The size 10a is a total length of this record. The row type 10b defines a type of corresponding row. The column count 10c means a column count of this record.
[44] The column value 1Od, 1Oe — 1Of of the variant type size contains an actual column value, in which only column value is repeated by the count. The orgidx 1Og of the short is idx of the org record in update record, and the column values 1Oh, 1Oi, 10j of the variant type size contains an actual column value of the org record, in which only column value is repeated. The size value is changed into DWORD type if the data length is higher than 32767 and the first bit is 1 in a case of DWORD type. (if(strm[0] &0x80)), DWROD type.
[45] Therefore, in processing scheme of the first row relating to the size of record, if the web server transmits certain number of records in the stream fashion, the client computer continuously receives the records to be attached to one another. In order to notify the last record, this operation is finished if size field value of the record is 0. [46] According to the present invention as described above, it is possible to provide the system for configuring the stream data between the client computer and the server and the dataset binary packets of the system in which data is exchanged between the client computer and the server by predetermined binary packet and the client computer collects and configures the stream data transmitted in the stream fashion from the server in any size unit to output it to the user interface, thereby enhancing response time and transmission velocity. Industrial Applicability
[47] Although the system for configuring stream data between client and server and dataset binary packet of the system has been described referring to drawings, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.