KR20000025939A - Structure of gateway for interlocking web and database and interlocking method g using the same - Google Patents

Structure of gateway for interlocking web and database and interlocking method g using the same Download PDF

Info

Publication number
KR20000025939A
KR20000025939A KR1019980043242A KR19980043242A KR20000025939A KR 20000025939 A KR20000025939 A KR 20000025939A KR 1019980043242 A KR1019980043242 A KR 1019980043242A KR 19980043242 A KR19980043242 A KR 19980043242A KR 20000025939 A KR20000025939 A KR 20000025939A
Authority
KR
South Korea
Prior art keywords
gateway
message
database
web
application server
Prior art date
Application number
KR1019980043242A
Other languages
Korean (ko)
Inventor
김완석
박노삼
김명준
Original Assignee
정선종
한국전자통신연구원
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 정선종, 한국전자통신연구원 filed Critical 정선종
Priority to KR1019980043242A priority Critical patent/KR20000025939A/en
Publication of KR20000025939A publication Critical patent/KR20000025939A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

PURPOSE: A structure of a gateway for interlocking a web and a database and an interlocking method using the same are provided to complement service capability of the web and an OODBMS(Object Oriented DataBase Management System) each other, and integrate the ability and the OODBMS. CONSTITUTION: A structure of a gateway for interlocking a web and a database comprises: a gateway for transmitting a request from a client to a message Q, and receiving the result through a web server; a monitor for generating application servers by referring to a parameter related to a system environment, for processing a broadcast message and a transaction message among transmitted messages from the gateway, for informing the result to the gateway, for eliminating an abnormal application server by observing whether the application servers exist, and replacing as a new application server; and the application servers for processing by receiving one message in one time about a message except the transaction message and the broadcast message, and for informing the result to the gateway. The gateway supports a database manager command and a gateway command such as a table 2(classes, attributes, methods, indexes, privileges, objects, questions, transactions, user managements).

Description

웹과 데이터베이스의 연동을 위한 게이트웨이의 구조 및 이를 이용한 연동 방법Gateway structure for interworking web and database and interworking method

본 발명은 웹과 데이터베이스의 연동을 위한 게이트웨이의 구조 및 이를 이용한 연동 방법에 관한 것으로, 특히 웹의 서비스 능력과 객체지향 데이터베이스 관리 시스템(Object Oriented DataBase Management System; OODBMS)을 상호 보완하고 통합한 웹과 데이터베이스의 연동을 위한 게이트웨이의 구조 및 이를 이용한 연동 방법에 관한 것이다.The present invention relates to a structure of a gateway for interworking a web and a database, and an interworking method using the same. Particularly, the present invention relates to a web that complements and integrates a web service capability and an object-oriented database management system (OODBMS). The present invention relates to a structure of a gateway for interworking with a database and an interworking method using the same.

웹은 브라우저라는 공통의 클라이언트를 제공하며 하이퍼텍스트 방식의 사용자 인터페이스와 HTML, CGI, HTTP 등의 표준으로 작동한다. 그러나 웹은 자료접근의 제약이 미약하고 다양한 질의를 제공하지 못하는 단점으로 인해, 대규모 인터넷 기반 하이퍼미디어 정보 시스템상에서 데이터를 전송하고 표현하는 것이 쉽지 않다. 한편 데이터베이스 관리 시스템은 많은 데이터를 조직하고 관리하는 다양한 기능들을 제공하고 있다. 따라서 정보서비스의 관점에서 보면 대규모 데이터 서비스 시스템을 개발하는 가장 좋은 방법 중의 하나가 상호보완적 측면에서 데이터베이스 관리 시스템의 유용한 기능과 웹의 서비스 능력을 통합하는 것이다. 이러한 통합에 핵심이 되는 요소가 데이터베이스 게이트웨이이다. 그러나 종래의 게이트웨이 구조는 웹과 데이터베이스 관리 시스템을 연결할 때 웹 서버에 상당한 부담을 가중시켜 성능에 많은 문제점이 발생하였다.The web provides a common client called a browser and operates with a hypertext-based user interface and standards such as HTML, CGI, and HTTP. However, due to the weakness of data access and the inability to provide various queries, it is not easy to transmit and express data on a large scale internet-based hypermedia information system. Database management systems, on the other hand, provide various functions for organizing and managing a lot of data. Therefore, from the information service point of view, one of the best ways to develop a large data service system is to integrate the useful functions of the database management system with the service capabilities of the Web in complementary terms. The key to this integration is the database gateway. However, the conventional gateway architecture has caused a lot of problems in performance due to a significant burden on the web server when connecting the web and the database management system.

종래의 데이터베이스 게이트웨이에 대한 연구는 데이터베이스의 접근이 어디에서 이루어지는가에 중점을 두고 데이터베이스 게이트웨이를 여러 가지 범주로 나누었으며, 데이터베이스는 서버쪽 또는 클라이언트쪽에서부터 접근될 수 있다. 즉, 서버나 클라이언트를 확장하므로써 데이터베이스 관리 시스템과 웹을 통합할 수 있다.Conventional database gateway research has divided database gateways into various categories with an emphasis on where the access to the database takes place, and the database can be accessed from the server side or the client side. In other words, by extending the server or client, you can integrate the database management system with the Web.

서버쪽을 확장하는 경우, 데이터베이스 게이트웨이는 CGI 또는 API를 이용하여 이루어질 수 있다. CGI를 이용하는 경우는 첫째, 데이터베이스 게이트웨이 그 자체가 실행가능한 CGI 실행 가능(CGI executable) 구조, 둘째, CGI 프로세서가 단지 클라이언트의 데이터베이스 요청을 상호 분리된 데이터 응용 서버들에게 넘겨주기만 하는 CGI 응용 서버 구조로 세분화할 수 있다. 클라이언트쪽을 확장하는 경우 데이터베이스 관리 시스템은 브라우저를 확장하거나 MPEG 플레이어와 같은 외부 뷰어를 이용하므로써 직접 접근될 수 있다.When extending to the server side, the database gateway can be made using CGI or API. The use of CGI involves firstly the CGI executable structure, in which the database gateway itself is executable, and secondly, the CGI application server architecture in which the CGI processor simply passes the client's database requests to separate data application servers. Can be broken down. When extending to the client side, the database management system can be accessed directly by extending the browser or using an external viewer such as an MPEG player.

CGI 실행 가능 구조에서는 웹이나 데이터베이스에 일반적 개발 환경에서 데이터베이스 게이트웨이가 구현될 수 있기 때문에 웹과 데이터베이스 관리 시스템과의 통합이 단순하면서도 직접적이다. 이 구조는 웹 서버나 브라우저를 개선할 필요가 없다. 서버는 데이터베이스 게이트웨이 프로세서에게 각각의 데이터베이스 요청을 하고, 그 다음에 요청을 받은 프로세서를 통해 데이터베이스 관리 시스템을 연결하므로써 이루어진다. 서버는 요청을 받은 프로세서로부터 요청에 대한 결과를 받고 난 후에 게이트웨이 프로세스를 종료한다. 이 구조는 데이터베이스 관리 시스템에 연결되는 많은 요청을 동시에 처리해내야 하는 대규모 서비스 환경에서 시스템 자원의 제약, 웹 서버와 데이터베이스 게이트웨이 간의 통신과 프로세서 생성 비용으로 인하여 성능상의 심각한 저하를 초래할 수 있다.In the CGI executable architecture, integration with the Web and database management systems is straightforward and straightforward because database gateways can be implemented in a typical development environment on the Web or database. This structure does not require any improvements to the web server or browser. The server makes each database request to the database gateway processor and then connects the database management system through the processor that received the request. The server terminates the gateway process after receiving the result of the request from the processor that received the request. This architecture can lead to significant performance degradation due to system resource constraints, the communication between the web server and the database gateway, and the cost of processor creation in large service environments that must simultaneously handle many requests to the database management system.

CG1 응용 서버 구조의 경우, 데이터베이스 게이트웨이는 요구를 보내는 부분(gateway)과 요구를 처리하는 응용 서버(application server) 부분의 두 가지 모듈로 나누어 진다. 요구를 보내는 모듈은 CGI 실행이 가능하여 클라이언트로부터 데이터베이스 요청을 받으면 적절한 응용 서버로 클라이언트의 요구 내용을 전달한다. 응용 서버 모듈은 일반적으로 데이터베이스에 연결하고 요청을 기다리는 데몬 프로세서로 동작한다. 응용 서버 프로세서의 수는 가용 시스템 자원을 고려하여 결정된다. 그러나 프로세서간 통신으로 야기되는 별도의 비용이 발생하는 문제점이 있다.In the CG1 application server architecture, the database gateway is divided into two modules: the gateway for sending requests and the application server for handling requests. The module that sends the request can execute CGI so that when the client receives a database request, it forwards the request to the appropriate application server. Application server modules typically act as daemon processors that connect to the database and wait for requests. The number of application server processors is determined by considering available system resources. However, there is a problem in that a separate cost caused by interprocessor communication occurs.

웹 브라우저를 확장하는 경우는 수행 절차에 대한 스크립터 기능 및 데이터베이스 서비스 기능을 웹 브라우저에 포함시켜 웹과 데이터베이스를 하나의 통합된 환경으로 서비스한다. 이러한 연동은 종래의 웹 서버 대신 데이터베이스 엔진을 직접 접속할 수 있는 데이터베이스 통로를 추가하여 이루어진다.In the case of extending the web browser, the script and function of the database service and the database service function are included in the web browser to serve the web and the database as one integrated environment. This interworking is accomplished by adding a database path through which a database engine can be directly connected instead of a conventional web server.

외부 뷰어를 이용하는 경우는 임의의 데이터베이스 관리 시스템의 클라이언트로 존재하는 데이터베이스 응용을 웹이 지원하는 플러그인 방법을 통하여 활용하는 방식이다. 이 경우, 데이터베이스 전용의 브라우저를 사용함에 따라 보다 효과적으로 사용자와 데이터베이스 관리 시스템을 연결할 수 있으나 HTTP 프로토콜과 HTML을 사용하지 않고 데이터베이스 자체의 프로토콜을 통하여 데이터베이스 서비스를 하기 때문에 표준화된 웹 인터페이스를 적용할 수 없는 문제점이 있다.In the case of using an external viewer, the web application can be used through a plug-in method supported by the web. In this case, it is possible to connect users and database management systems more effectively by using a browser dedicated to the database, but it is impossible to apply a standardized web interface because the database service is provided through the protocol of the database itself without using HTTP protocol and HTML. There is a problem.

넷스케이프(Netscape)의 NSAPI와 인터넷 정보 서버의 ISAPI의 경우에는 사용자가 웹 서버의 기능을 늘려갈 수 있도록 확장 가능한 API를 지원해 주고 있다. 그러므로 데이터베이스 게이트웨이는 확장 가능한 API로 구현될 수 있어 웹 서버 프로세스에 동적으로 연결된다. 이는 CGI에서 프로세서 관리에 드는 비용을 감소시켜 준다. 그러나 이러한 구조에서 데이터베이스 게이트웨이의 구현은 특정 웹 서버의 API에 의존하게 된다.Netscape's NSAPI and Internet Information Server's ISAPI provide an extensible API that allows users to extend the capabilities of their Web server. Therefore, the database gateway can be implemented with an extensible API that dynamically connects to the web server process. This reduces the cost of processor management in CGI. However, in this architecture, the implementation of the database gateway depends on the API of the specific web server.

따라서, 본 발명은 CGI 응용 서버 구조를 채택하고 데이터베이스 응용 서버와 모니터를 데몬 프로세서로 구동하며, 데이터베이스, 웹 및 게이트웨이가 독립적인 구조를 갖도록 한 웹과 데이터베이스의 연동을 위한 게이트웨이의 구조 및 이를 이용한 연동 방법을 제공하는데 그 목적이 있다.Therefore, the present invention adopts the CGI application server structure, drives the database application server and the monitor as a daemon processor, and the structure of the gateway for interworking the web and the database so that the database, the web, and the gateway have an independent structure, and the interworking using the same. The purpose is to provide a method.

상술한 목적을 달성하기 위한 본 발명에 따른 웹과 데이터베이스의 연동을 위한 게이트웨이는 클라이언트로부터의 요청을 메시지 큐에 송신하여 상기 요청에 따른 결과를 웹 서버로 전송받는 게이트웨이와, 시스템 환경에 관련된 파라미터를 참조하여 응용 서버를 생성하고 상기 게이트웨이로부터 전송되는 메시지 중 트랜잭션 메시지와 브로드캐스트 메시지를 처리하고 그 결과를 상기 게이트웨이에 통보하며, 응용 서버의 이상 유무를 감시하여 비정상 응용 서버를 제거하고 새로운 응용 서버로 대치하는 모니터와, 상기 게이트웨이로부터 전송되는 메시지 중 트랜잭션 메시지와 브로드캐스트 메시지를 제외한 메시지에 대하여 한 번에 하나씩의 메시지를 받아들여 처리하고 그 결과를 상기 게이트웨이에 통보하는 응용 서버를 포함하여 구성되는 것을 특징으로 한다.The gateway for interworking with the web and the database according to the present invention for achieving the above object is to send a request from the client to the message queue to receive a result of the request to the web server and the parameters related to the system environment Creates an application server, processes transaction messages and broadcast messages among the messages transmitted from the gateway, notifies the gateway of the result, and monitors the abnormality of the application server to remove the abnormal application server, and to a new application server. And an application server for receiving and processing one message at a time for a message other than a transaction message and a broadcast message among the messages transmitted from the gateway, and notifying the gateway of the result. The features.

또한, 상술한 목적을 달성하기 위한 본 발명에 따른 게이트웨이를 이용한 웹과 데이터베이스의 연동 방법은 웹 클라이언트로부터 데이터베이스 요청을 받은 게이트웨이가 상기 웹 클라이언트의 요청을 메세지 큐에 적재하는 단계와, 상기 메시지 큐에 적재된 상기 클라이언트의 요청을 모니터 및 응용 서버의 형태에 따라 구별하여 수신하는 단계와, 상기 메세지 큐로부터 수신된 메세지를 분석하여, 상기 메시지 큐에 적재된 메세지가 트랜잭션 메세지 또는 브로드캐스트 메세지인 경우에는 이를 모니터에서 처리하는 단계와, 상기 메시지 큐로부터 수신된 메시지를 분석한 결과 트랜잭션 메세지 또는 브로드캐스트 메세지 이외의 메세지인 경우에는 응용 서버에서 처리하는 단계와, 상기 모니터 및 응용 서버에서 처리한 요청 처리 결과를 파일에 보관하고 요청 처리가 완료되었음을 신호를 사용하여 상기 게이트웨이에게 통보하는 단계와, 상기 모니터 및 응용 서버로부터 요청 처리 결과 및 요청 처리 완료 신호를 수신한 상기 게이트웨이에서 요청 처리 결과를 웹 서버로 전송하는 단계를 포함하여 이루어지는 것을 특징으로 한다.In addition, the web and database interworking method using a gateway according to the present invention for achieving the above object comprises the steps of the gateway receiving a database request from a web client to load the request of the web client in a message queue, Distinguishing and receiving the loaded client's request according to the type of the monitor and the application server; and analyzing the message received from the message queue, when the message loaded in the message queue is a transaction message or a broadcast message. Processing this in a monitor; analyzing a message received from the message queue; processing a message other than a transaction message or a broadcast message by an application server; and processing a request processed by the monitor and the application server. Archive to file And notifying the gateway by using the signal that the request processing is completed, and transmitting the request processing result to the web server by the gateway that has received the request processing result and the request processing completion signal from the monitor and the application server. Characterized in that made.

도 1은 본 발명이 적용되는 웹과 데이터베이스의 접속 환경을 설명하기 위해 도시한 기능 블럭도.1 is a functional block diagram illustrating a connection environment between a web and a database to which the present invention is applied.

도 2는 본 발명에 따른 게이트웨이를 이용한 웹과 데이터베이스 연동 방법을 설명하기 위해 도시한 흐름도.2 is a flowchart illustrating a web and database interworking method using a gateway according to the present invention.

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

11 : 게이트웨이 12 : 모니터11: gateway 12: monitor

13 : 응용 서버 14 : 메세지 큐13: application server 14: message queue

15 : TCL 파일 16 : DBMS15: TCL file 16: DBMS

17 : DBMS 서버17: DBMS server

정보 서비스의 관점에서 보면 대규모 데이터 서비스 시스템을 개발하는 가장 좋은 방법 중의 하나가 상호 보완적 측면에서 데이터베이스 관리 시스템의 유용한 기능과 웹의 서비스 능력을 통합하는 것이다. 이를 위해 본 발명에 따른 게이트웨이는 CGI를 기반으로 하는 응용 서버 구조를 채택하였다. 즉, 급속히 성장하고 있는 웹과 통신규약으로 인해 야기되는 수정에 대한 부담을 피하고, 표준화된 API를 사용하는 데이터베이스 게이트웨이를 개발하여 현재의 웹서버에 자연스럽게 연결하기 위해, 웹의 표준인 CGI를 기반으로 하며 GET과 POST 메소드 두 방식을 모두 지원한다.From an information service perspective, one of the best ways to develop a large data service system is to combine the useful features of a database management system with the service capabilities of the Web in a complementary way. To this end, the gateway according to the present invention adopts an application server structure based on CGI. In other words, to avoid the burden of modification caused by the rapidly growing web and communication protocols, and to develop a database gateway using a standardized API and connect naturally to the current web server, It supports both GET and POST methods.

이러한 CGI 응용 서버 구조에서 응용 서버 모듈을 구성하는 응용 서버와 모니터는 데몬 프로세서로 동작한다. 하나의 데이터베이스에 접근하는 동일한 응용 프로그램이 클라이언트의 모든 요청에 대해 실행되어야 한다면, 데이터베이스 관리 시스템과 연결하는 일은 프로세서 생성과 소멸로 인한 성능상 오버헤드를 야기할 수 있다. 이러한 오버헤드는 데이터베이스 응용 서버와 모니터를 데몬 프로세서로 구동하므로써 최소화할 수 있다. 즉, 실행 가능한 상태로 존재하는 응용 서버는 클라이언트로부터의 요청을 기다리고 있고, 모니터는 데이터베이스 관리 시스템과 웹 서버, 게이트웨이 상의 정상적 동작 여부를 관리한다.In this CGI application server architecture, the application server and monitor that make up the application server module act as daemon processors. If the same application accessing a single database needs to be run for every request from a client, connecting to the database management system can cause performance overhead due to processor creation and destruction. This overhead can be minimized by running database application servers and monitors as daemon processors. That is, an application server that exists in an executable state is waiting for a request from a client, and a monitor manages normal operation on a database management system, a web server, and a gateway.

또한, 본 발명에서는 데이터베이스, 웹 및 게이트웨이의 독립적인 구조를 제안한다. 종래의 게이트웨이는 데이터베이스에 종속적이기 때문에 이식성과 확장성이 높지 않다. 본 발명에서는 데이터베이스와 웹을 연동하는 게이트웨이를 제안하며, 이 게이트웨이를 구성하는 모니터, 게이트웨이의 구조 및 응용 서버는 최대한 분리되어 있는 독립적인 구조를 갖는다. 그리고 데이터베이스 관리 시스템과 직접 데이터를 주고 받는 응용 서버 또한 모듈화되어 있기 때문에, 기본적인 모듈만 추가하므로써 여러 가지 데이터베이스와 연동할 수 있다.In addition, the present invention proposes an independent structure of a database, a web, and a gateway. Conventional gateways are not portable and scalable because they are database dependent. The present invention proposes a gateway interworking with the database and the web, and the monitor, gateway structure, and application server configuring the gateway have an independent structure that is separated as much as possible. And since the application server that sends and receives data directly to and from the database management system is also modular, it can be linked with various databases by adding only basic modules.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

도 1은 본 발명이 적용되는 웹과 데이터베이스의 접속 환경을 설명하기 위해 도시한 기능 블럭도이고, 도 2는 본 발명에 따른 게이트웨이를 이용한 웹과 데이터베이스 연동 방법을 설명하기 위해 도시한 흐름도이다.1 is a functional block diagram illustrating a web and database connection environment to which the present invention is applied, and FIG. 2 is a flowchart illustrating a web and database interworking method using a gateway according to the present invention.

본 발명에 따른 게이트웨이(10)는 CGI 응용 서버 방식이며, 게이트웨이(11), 모니터(12) 및 응용 서버(13)로 구성된다. CGI 응용 서버 구조의 게이트웨이(10)는 요구를 보내는 부분과 요구를 처리하는 응용 서버의 두 가지 모듈로 나누어지는데, 요구를 보내는 모듈은 CGI 실행이 가능한 부분으로, 클라이언트로부터 데이터베이스 요청이 오면 적절한 응용 서버로 요구 내용을 전달한다. 또한, 응용 서버(13) 모듈은 데이터베이스에 연결하고 요청을 기다리는 데몬 프로세서로 동작한다. 모니터(12) 역시 데몬프로세서로 동작한다. 본 발명에서 게이트웨이(11)는 CGI 실행 가능한 모듈로 동작한다.The gateway 10 according to the present invention is a CGI application server method, and is composed of a gateway 11, a monitor 12, and an application server 13. The gateway 10 of the CGI application server structure is divided into two modules, a request sending part and an application server processing a request. The sending module is a CGI executable part. To communicate the request. The application server 13 module also operates as a daemon processor that connects to the database and waits for requests. The monitor 12 also operates as a daemon processor. In the present invention, the gateway 11 operates as a CGI executable module.

게이트웨이(11), 모니터(12) 및 응용 서버(13)는 하나의 메세지 큐(14)를 공유한다. 웹 클라이언트로부터 데이터베이스 요청을 받으면(21), 게이트웨이(11)는 웹 클라이언트의 요청을 메세지 큐(14)에 적재한다(22). 이후, 게이트웨이(11)는 요구에 따라 자신의 메시지를 구별하여 모니터(12)와 응용 서버(13)에게 수신하고, 응용 서버(13)로부터 데이터베이스 관리 시스템 서버(17)를 통한 데이터베이스(16) 결과를 기다린다. 모니터(12)와 응용 서버(13)는 메세지 큐(14)로부터 자신에게 보내진 메세지를 분석하여, 메시지 큐(14)에 적재된 메세지가 트랜잭션 메세지 또는 브로드캐스트 메세지인 경우에는 이를 모니터(12)에서 처리한다(25). 모니터(12)는 게이트웨이가 동작을 시작할 때 생성된다. 모니터(12)는 응용 서버의 이름과 개수, 서버로 연결되는 경로 등 시스템 환경에 관련된 파라미터를 참조하여 응용 서버(13)를 생성하며, 무한 루프를 돌면서 게이트웨이의 메세지를 기다린다. 또한, 모니터(12)는 응용 서버의 이상 유뮤를 감시하여 비정상 응용 서버를 제거하고 새로운 응용 서버로 대치하는 역할을 한다. 트랜잭션 메시지 또는 브로드캐스트 메시지에 대한 처리가 완료되면 모니터(12)는 게이트웨이(11)에게 요청에 대한 결과를 송신해야 하는데, 대부분의 경우 데이터 양이 많아 메시지 보다 파일을 사용하여 전달하는 것이 효율적이다. 따라서, 요구 처리 결과는 정해진 파일에 보관하고 처리가 완료되었음을 신호(signal)를 사용하여 게이트웨이(11)에게 통보한다(26). 메시지를 분석한 결과 트랜잭션 메세지 또는 브로드캐스트 메세지 이외의 메세지인 경우 메세지는 응용 서버(13)에서 처리된다(24). 응용 서버(13)는 데이터베이스 관리 시스템의 응용 프로그램일 뿐만 아니라 게이트웨이(11)의 서버이다. 각각의 응용 서버(13)들은 요청을 능동적으로 처리해 낸다. 즉, 자신에게 주어진 메시지를 메시지 큐(14)로부터 한번에 하나의 요청씩 받아들여 그 요청을 처리하고, 특정 위치에 요청에 대한 처리 결과를 기록하며, 게이트웨이(11)에게 요청 처리 완료를 통보해야 한다. 요구 처리 결과는 임시파일에 HTML화하여 보관하고 처리가 완료되었음을 신호(signal)를 사용하여 게이트웨이(11)에게 통보한다(26). 각각의 응용 서버(13)들은 메시지 큐(14)에 응용 서버에 대한 요청이 존재하기만 하면 이러한 과정을 반복하게 된다. 본 발명에서 모니터(12)와 응용 서버(13)는 데몬 형식으로 상주해 있다. 모니터(12) 및 응용 서버(13)로부터 결과가 도착하면 게이트웨이(11)는 HTML로 표현된 결과 또는 멀티미디어 자료형태를 파악하여 MIME 형태를 스스로 설정해서 웹 서버에게 MIME 형태와 함께 처리 결과를 전달한다(27).The gateway 11, the monitor 12 and the application server 13 share one message queue 14. Upon receiving the database request from the web client (21), the gateway 11 loads the request of the web client to the message queue 14 (22). Thereafter, the gateway 11 distinguishes its own message according to the request and receives it from the monitor 12 and the application server 13, and the database 16 results from the application server 13 through the database management system server 17. Wait for The monitor 12 and the application server 13 analyze the message sent to it from the message queue 14, and if the message loaded in the message queue 14 is a transaction message or a broadcast message, it monitors the message at the monitor 12. Process (25). The monitor 12 is generated when the gateway starts to operate. The monitor 12 generates the application server 13 by referring to parameters related to the system environment such as the name and number of application servers, a path to the server, and waits for a message from the gateway while running in an infinite loop. In addition, the monitor 12 monitors an abnormality of the application server, and removes the abnormal application server and replaces it with a new application server. When the processing of the transaction message or the broadcast message is completed, the monitor 12 needs to transmit a result of the request to the gateway 11, and in most cases, a large amount of data makes it more efficient to use a file than a message. Therefore, the request processing result is stored in the determined file and notified to the gateway 11 using a signal that the processing is completed (26). If the message is analyzed and it is a message other than a transaction message or broadcast message, the message is processed by the application server 13 (24). The application server 13 is not only an application of the database management system but also a server of the gateway 11. Each application server 13 actively processes the request. That is, the message given to the self should be accepted one message at a time from the message queue 14 to process the request, record the processing result of the request at a specific location, and notify the gateway 11 of the completion of the request processing. . The request processing result is stored in HTML in a temporary file and notified to the gateway 11 using a signal that the processing is completed (26). Each application server 13 repeats this process as long as there is a request for an application server in the message queue 14. In the present invention, the monitor 12 and the application server 13 reside in a daemon format. When the result arrives from the monitor 12 and the application server 13, the gateway 11 grasps the result expressed in HTML or the multimedia data type, sets the MIME type by itself, and delivers the processing result along with the MIME type to the web server. (27).

미설명부호(15)는 TCL 파일이다.Reference numeral 15 is a TCL file.

이와 같이, 본 발명에 따른 게이트웨이는 웹과 데이터베이스를 상호 보완적 측면에서 통합하였다. 웹과 데이터베이스 관리 시스템을 연결하기 위해서 본 발명은 기본적으로 HTML 통신 규약의 GET과 POST 메소드를 지원하고 게이트웨이를 통한 데이터베이스 결과를 HTML 문서 형태로 변환한다. 또한, 데이터베이스 관리 시스템이 제공하는 자료 접근 권한 제약, 자료 자동 복구, 인덱스와 파일의 관리 및 복잡한 데이터 타입의 처리와 보안 등을 웹에 제공해 준다.As such, the gateway according to the present invention integrates the web and the database in a complementary aspect. In order to connect the web and the database management system, the present invention basically supports the GET and POST methods of the HTML communication protocol and converts the database results through the gateway into HTML documents. It also provides the Web with data access rights constraints provided by database management systems, automatic data recovery, management of indexes and files, and the handling and security of complex data types.

또한, 본 발명에 따른 게이트웨이는 데이터베이스를 통제하고 데이터를 검색하기 위한 게이트웨이 명령어를 제공한다. 즉, 데이터베이스 스키마(schema) 구축과 갱신, 트랜잭션 제어, 클래스, 오브젝트, 메소드, 속성, 인덱스, 사용자, 데이터 접근 권한의 관리, 질의 수행 등의 데이터베이스 기능을 수행할 때 웹의 기술을 사용자가 사용할 수 있도록 해준다.In addition, the gateway according to the present invention provides gateway instructions for controlling the database and retrieving data. In other words, users can use the technologies of the Web to perform database functions such as building and updating database schemas, controlling transactions, managing classes, objects, methods, properties, indexes, users, data access rights, and executing queries. To make it work.

[표 1]은 본 발명에 따른 게이트웨이 명령어들을 요약한 것이다.Table 1 summarizes the gateway commands according to the present invention.

게이트웨이 명령어들은 HTTP의 GET이나 POST 메소드를 사용하여 HTML 문서 또는 URL 형태 내에서 나타날 수 있다. 다음은 GET 메소드를 이용하여 질의 문자열로 게이트웨이 명령어를 나타낸 형식의 일 예이다.Gateway commands can appear in HTML documents or URLs using HTTP's GET or POST methods. The following is an example of the format of a gateway command in a query string using the GET method.

function = functionname & arg1 = value1 & arg2 = value2 &…function = functionname & arg1 = value1 & arg2 = value2 &…

http://marcia.etri.re.kr/cgi-bin/b3gateway?function = CreateClass & classname = new_classhttp://marcia.etri.re.kr/cgi-bin/b3gateway?function = CreateClass & classname = new_class

여기에서, b3gateway는 본 발명에 따른 게이트웨이(도 1의 11)를 나타낸다.Here, b3gateway represents a gateway (11 in FIG. 1) according to the present invention.

클래스class CreatClass, DeleteClass,ConnectClass, DisconnectClass,SubclassCounter, GetSchemaCounter,GetsubclassNameCreatClass, DeleteClass, ConnectClass, DisconnectClass, SubclassCounter, GetSchemaCounter, GetsubclassName 속성property AddAttribute, DeleteAttribute,UpdateAttributename, UpdateAttributetype,AttributeCounter, GetAttributenameAddAttribute, DeleteAttribute, UpdateAttributename, UpdateAttributetype, AttributeCounter, GetAttributename 메소드Method AddMethod, DeleteMethod,UpdateMethodname, UpdateMethodpath,MethodCounter, GetMethodnameAddMethod, DeleteMethod, UpdateMethodname, UpdateMethodpath, MethodCounter, GetMethodname 색인index CreatIndex, GetIndex,DeleteIndex, IndexCounterCreatIndex, GetIndex, DeleteIndex, IndexCounter 권한authority PrivilegeCounter, PutPrivilege,GetPrivilege, UpdatePrivilegePrivilegeCounter, PutPrivilege, GetPrivilege, UpdatePrivilege 객체Object AddObject, DleteObject,DeleteAllObject, GetObjectPoid,UpdateObject, ObjectsCounter, GetAttributevalueAddObject, DleteObject, DeleteAllObject, GetObjectPoid, UpdateObject, ObjectsCounter, GetAttributevalue 질의vaginal QueryResultcounter, GetQueryresultQueryResultcounter, GetQueryresult 트랜잭션transaction TxBegin, TxCommit, TxRollbackTxBegin, TxCommit, TxRollback 사용자 관리User management RegisterUser, DeleteUser, UserCounter,GetUsername, UpdatePasswordRegisterUser, DeleteUser, UserCounter, GetUsername, UpdatePassword

이와 같이, 해당 URL을 접근하여 bada.etri.re.kr에서 구동하고 있는 HTTP 서버에게 질의 형태로 포함된 데이터를 보내준다. 질의 문자열에서 CreateClass 게이트웨이 명령어는 새로운 클래스(new_class) 생성을 요청하기 위해 나타내어 진다.In this way, the URL is sent to the HTTP server running bada.etri.re.kr to send the data contained in the form of a query. In the query string, the CreateClass gateway command is displayed to request the creation of a new class (new_class).

본 발명에 따른 게이트웨이의 데이터 변환에 대해 설명하면 다음과 같다.The data conversion of the gateway according to the present invention will be described below.

웹 클라이언트 프로그램은 많은 다른 서버들을 통해 데이터에 접근한다. 그러나 서버에서 클라이언트로 데이터를 전송하기 전에 데이터는 프로그래머의 의도에 따라 HTML 문서로 변환될 수 있어야 한다.Web client programs access data through many different servers. However, before sending data from the server to the client, the data must be able to be converted into an HTML document at the programmer's intent.

도 1을 참조하면, 데이터베이스(16)의 결과는 본 발명에 따른 게이트웨이(10)의 응용 서버(13) 내에서 HTML 문서 형태로 변환되어 진다. 이 데이터는 사용자가 정의한 문서 형태 혹은 특정 형태로 변환되어질 수 있다. 본 발명에서는 이러한 변환을 지원하기 위해 데이터베이스 관리자(DBA) 명령어를 제공한다.Referring to FIG. 1, the results of the database 16 are converted into HTML documents in the application server 13 of the gateway 10 according to the present invention. This data can be converted into a user-defined document type or a specific type. The present invention provides a database manager (DBA) command to support this conversion.

데이터베이스 관리자(DBA) 명령어는 데이터베이스 관리 시스템 조작을 위한 것으로, schema(), class(), object(), attribute(), method(), query() 등이 있다. 명령어의 실행 결과는 HTML 문서의 정해진 양식으로 변환되어 지며, 다음은 그 일 예를 보여준다.Database Manager (DBA) commands are for database management system operations, such as schema (), class (), object (), attribute (), method (), and query (). The execution result of the command is converted into the defined form of the HTML document. The following is an example.

http://marcia.etri.re.kr/cgi-bin/b3gateway?schema()http://marcia.etri.re.kr/cgi-bin/b3gateway?schema ()

GET 메소드를 이용한 위의 URL로 접근하므로써, 사용자는 데이터베이스 스키마에 관한 정보를 얻을 수 있다. 응용 서버는 schema()를 실행하여 정보를 가져오고, HTML 문서의 정해진 양식으로 변환한다. 다음은 결과 문서를 나타낸다.By accessing the above URL using the GET method, the user can get information about the database schema. The application server executes schema () to retrieve the information and converts it to the specified form of the HTML document. The following shows the resulting document.

상술한 바와 같이, 본 발명은 데이터베이스 관리 시스템과 웹을 상호 보완적으로 통합하므로써 복잡한 자료형과 자료들 간의 관계 모델링을 용이하게 하고, 데이터베이스의 회복, 자료접근 권한 관리에 효율적이다. 또한, 웹의 하이퍼미디어 방식을 이용한 사용자 접속과 다양한 종류의 플랫폼을 지원할 수 있다. 그리고, 모든 웹 서버의 표준 서버 API 방식인 CGI를 기반으로 하는 응용 서버 방식을 채택하여, 웹 서버의 기능과 HTTP 통신 규약의 발전에 따른 부담을 줄이고 기존의 모든 웹 서버와 자연스럽게 연결될 수 있다. 또한, 작은 크기의 스터브와 데몬 프로세서를 두어 웹 서버와 데이터베이스 관리 시스템을 중계하고, 데이터베이스 관리 시스템의 서버와 응용을 항상 실행 상태로 두어 웹 서버의 요구를 기다리게 하므로써, 프로세스의 생성과 소멸에 드는 비용을 최소화하였으며, 정보제공자가 CGI 프로그램을 사용하는 것처럼, 정보제공자가 게이트웨이 메소드를 의도하는 바에 따라 표현할 수 있다.As described above, the present invention facilitates the modeling of complex data types and relationships between data by integrating the database management system and the web complementarily, and is effective for database recovery and data access authority management. In addition, it can support various types of platforms and user access using the web's hypermedia method. In addition, by adopting an application server method based on CGI, which is a standard server API method of all web servers, it is possible to reduce the burden caused by the development of the function of the web server and the HTTP communication protocol and to naturally connect with all existing web servers. It also has a small stub and daemon processor to relay the web server and database management system, and keeps the server and application of the database management system running all the time, waiting for the needs of the web server. In addition, the information provider can express the gateway method as intended, just as the information provider uses a CGI program.

Claims (3)

클라이언트로부터의 요청을 메시지 큐에 송신하여 상기 요청에 따른 결과를 웹 서버로 전송받는 게이트웨이와,A gateway that sends a request from a client to a message queue and receives a result of the request to a web server; 시스템 환경에 관련된 파라미터를 참조하여 응용 서버를 생성하고 상기 게이트웨이로부터 전송되는 메시지 중 트랜잭션 메시지와 브로드캐스트 메시지를 처리하고 그 결과를 상기 게이트웨이에 통보하며, 응용 서버의 이상 유무를 감시하여 비정상 응용 서버를 제거하고 새로운 응용 서버로 대치하는 모니터와,Create an application server by referring to the parameters related to the system environment, process transaction messages and broadcast messages among the messages transmitted from the gateway, notify the gateway of the results, and monitor abnormality of the application server to detect abnormal application servers. A monitor that you remove and replace with a new application server, 상기 게이트웨이로부터 전송되는 메시지 중 트랜잭션 메시지와 브로드캐스트 메시지를 제외한 메시지에 대하여 한 번에 하나씩의 메시지를 받아들여 처리하고 그 결과를 상기 게이트웨이에 통보하는 응용 서버를 포함하여 구성되는 것을 특징으로 하는 웹과 데이터베이스의 연동을 위한 게이트웨이의 구조.And a web server including an application server for receiving and processing one message at a time for a message except for a transaction message and a broadcast message among messages transmitted from the gateway, and notifying the gateway of the result. Gateway structure for interworking database. 제 1 항에 있어서,The method of claim 1, 상기 게이트웨이는 상기 응용 서버에게 데이터베이스 관리자 명령어 및 [표 2]와 같은 게이트웨이 명령어를 지원하는 것을 특징으로 하는 웹과 데이터베이스의 연동을 위한 게이트웨이의 구조.The gateway is a structure of a gateway for interworking with the web and the database, characterized in that the database server command and the gateway command as shown in Table 2 to the application server. 클래스class CreatClass, DeleteClass,ConnectClass, DisconnectClass,SubclassCounter, GetSchemaCounter,GetsubclassNameCreatClass, DeleteClass, ConnectClass, DisconnectClass, SubclassCounter, GetSchemaCounter, GetsubclassName 속성property AddAttribute, DeleteAttribute,UpdateAttributename, UpdateAttributetype,AttributeCounter, GetAttributenameAddAttribute, DeleteAttribute, UpdateAttributename, UpdateAttributetype, AttributeCounter, GetAttributename 메소드Method AddMethod, DeleteMethod,UpdateMethodname, UpdateMethodpath,MethodCounter, GetMethodnameAddMethod, DeleteMethod, UpdateMethodname, UpdateMethodpath, MethodCounter, GetMethodname 색인index CreatIndex, GetIndex,DeleteIndex, IndexCounterCreatIndex, GetIndex, DeleteIndex, IndexCounter 권한authority PrivilegeCounter, PutPrivilege,GetPrivilege, UpdatePrivilegePrivilegeCounter, PutPrivilege, GetPrivilege, UpdatePrivilege 객체Object AddObject, DleteObject,DeleteAllObject, GetObjectPoid,UpdateObject, ObjectsCounter, GetAttributevalueAddObject, DleteObject, DeleteAllObject, GetObjectPoid, UpdateObject, ObjectsCounter, GetAttributevalue 질의vaginal QueryResultcounter, GetQueryresultQueryResultcounter, GetQueryresult 트랜잭션transaction TxBegin, TxCommit, TxRollbackTxBegin, TxCommit, TxRollback 사용자 관리User management RegisterUser, DeleteUser, UserCounter,GetUsername, UpdatePasswordRegisterUser, DeleteUser, UserCounter, GetUsername, UpdatePassword
웹 클라이언트로부터 데이터베이스 요청을 받은 게이트웨이가 상기 웹 클라이언트의 요청을 메세지 큐에 적재하는 단계와,A gateway receiving a database request from a web client, loading the request from the web client into a message queue; 상기 메시지 큐에 적재된 상기 클라이언트의 요청을 모니터 및 응용 서버의 형태에 따라 구별하여 수신하는 단계와,Receiving the client's request loaded in the message queue according to the type of monitor and application server; 상기 메세지 큐로부터 수신된 메세지를 분석하여, 상기 메시지 큐에 적재된 메세지가 트랜잭션 메세지 또는 브로드캐스트 메세지인 경우에는 이를 모니터에서 처리하는 단계와,Analyzing the message received from the message queue and processing the message if the message loaded in the message queue is a transaction message or a broadcast message; 상기 메시지 큐로부터 수신된 메시지를 분석한 결과 트랜잭션 메세지 또는 브로드캐스트 메세지 이외의 메세지인 경우에는 응용 서버에서 처리하는 단계와,Analyzing the message received from the message queue and processing a message other than a transaction message or a broadcast message by the application server; 상기 모니터 및 응용 서버에서 처리한 요청 처리 결과를 파일에 보관하고 요청 처리가 완료되었음을 신호를 사용하여 상기 게이트웨이에게 통보하는 단계와,Storing the request processing result processed by the monitor and the application server in a file and notifying the gateway using a signal that the request processing is completed; 상기 모니터 및 응용 서버로부터 요청 처리 결과 및 요청 처리 완료 신호를 수신한 상기 게이트웨이에서 요청 처리 결과를 웹 서버로 전송하는 단계를 포함하여 이루어지는 것을 특징으로 하는 게이트웨이를 이용한 웹과 데이터베이스의 연동 방법.And transmitting the request processing result to the web server at the gateway which has received the request processing result and the request processing completion signal from the monitor and the application server.
KR1019980043242A 1998-10-15 1998-10-15 Structure of gateway for interlocking web and database and interlocking method g using the same KR20000025939A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980043242A KR20000025939A (en) 1998-10-15 1998-10-15 Structure of gateway for interlocking web and database and interlocking method g using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980043242A KR20000025939A (en) 1998-10-15 1998-10-15 Structure of gateway for interlocking web and database and interlocking method g using the same

Publications (1)

Publication Number Publication Date
KR20000025939A true KR20000025939A (en) 2000-05-06

Family

ID=19554203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980043242A KR20000025939A (en) 1998-10-15 1998-10-15 Structure of gateway for interlocking web and database and interlocking method g using the same

Country Status (1)

Country Link
KR (1) KR20000025939A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484144B1 (en) * 2002-06-20 2005-04-18 삼성전자주식회사 Remote management server and the method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484144B1 (en) * 2002-06-20 2005-04-18 삼성전자주식회사 Remote management server and the method thereof

Similar Documents

Publication Publication Date Title
US6996622B2 (en) Session managing method, session managing system, and program
US7487168B2 (en) System and method for loading hierarchical data into relational database systems
US7246263B2 (en) System and method for portal infrastructure tracking
US7171443B2 (en) Method, system, and software for transmission of information
US7472349B1 (en) Dynamic services infrastructure for allowing programmatic access to internet and other resources
US7584422B2 (en) System and method for data format transformation
EP1025507B1 (en) Combined internet and data access system
US20190171636A1 (en) Local Client Database for Remote Support
US7571208B2 (en) Creating proxies from service description metadata at runtime
US20040230667A1 (en) Loosely coupled intellectual capital processing engine
US20030204517A1 (en) Method and apparatus of performing active update notification
US20060253558A1 (en) Web dispatch service
US20080071922A1 (en) Methods, systems, and computer program products to transparently dispatch requests to remote resources in a multiple application server environment
US7428756B2 (en) Access control over dynamic intellectual capital content
US9092448B2 (en) System and method for portal infrastructure tracking
US7188111B2 (en) System and method for connectivity to structured query language database
US20040230982A1 (en) Assembly of business process using intellectual capital processing
US20020169860A1 (en) Method for providing performance data of a web server
CN100534084C (en) Long-distance XML data updating method and system
CN113486095A (en) Civil aviation air traffic control cross-network safety data exchange management platform
US20020198908A1 (en) Method and apparatus for delivery of external data from a centralized repository in a network data processing system
US20010042108A1 (en) Cool ice service handler
US20040230691A1 (en) Evolutionary development of intellectual capital in an intellectual capital management system
KR20000025939A (en) Structure of gateway for interlocking web and database and interlocking method g using the same
WO2004104865A2 (en) Methods and systems for intellectual capital sharing and control

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application