KR20030023230A - The developing system and method of the client-server environment - Google Patents
The developing system and method of the client-server environment Download PDFInfo
- Publication number
- KR20030023230A KR20030023230A KR1020010056274A KR20010056274A KR20030023230A KR 20030023230 A KR20030023230 A KR 20030023230A KR 1020010056274 A KR1020010056274 A KR 1020010056274A KR 20010056274 A KR20010056274 A KR 20010056274A KR 20030023230 A KR20030023230 A KR 20030023230A
- Authority
- KR
- South Korea
- Prior art keywords
- task
- client
- server
- management means
- communication means
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명에 따른 클라이언트 서버 환경의 개발 시스템 및 방법은 피씨 클라이언트와 연결되어 테스크 요구 및 결과를 통신하는 서버 통신 수단과; 서버 통신 수단으로부터 전송받아 요구되는 해당 프로그램을 실행시키도록 해당 테스크와 통신하는 테스크 관리 수단과; 부(parent) 프로그램들을 기동시키고, 공유 메모리를 할당 받아 메시지 큐(Queue)를 생성시켜서 테스크 관리 수단에 전달시키는 시스템 관리 수단과; 테스크 관리 수단에서 수신된 클라이언트의 요구를 지속적으로 실행시키는 데몬 테스크(Daemon Task)와; 테스크 관리 수단에서 수신된 클라이언트의 요구에 따라 시스템 구성 정보로부터 정보를 획득하도록 실행시키는 차일드 테스크(child task)와; 데몬 테스크 또는 차일드 테스크에 연결되어 메시지 전달 및 API(Application Program Interface)를 제공하는 제1 라이브러리와; 서버와 피씨 클라이언트간에 파일을 전송시키는 파일 전송 수단을 포함하여 이루어진다.The development system and method of developing a client server environment according to the present invention include server communication means connected to a PC client to communicate task requests and results; Task management means for communicating with the task to execute the required program received from the server communication means; System management means for starting up parent programs, allocating shared memory, creating a message queue, and delivering the message queue to the task management means; A daemon task for continuously executing a request of a client received by the task management means; A child task which executes to obtain information from system configuration information in accordance with a request of a client received by the task management means; A first library coupled to the daemon task or the child task to provide message delivery and an application program interface (API); File transfer means for transferring a file between the server and the PC client.
본 발명은 클라이언트 부분과 서버 부분의 응용 프로그램의 로직이 모듈화되고 또한, 분리되어 수행됨으로써 사용자의 요구에 따라 필요한 사용자 프로그램을 각각 실행시키고 관리할 수 있어, 사용자 프로그램의 오류로 인한 시스템 영향을 최소화할 수 있는 장점이 있다.According to the present invention, the logic of the application program of the client and server parts is modularized and separately performed, so that each user program can be executed and managed according to a user's request, thereby minimizing system influence due to an error of the user program. There are advantages to it.
Description
본 발명은 클라이언트/서버 시스템의 개발 시스템 및 개발 방법에 관한 것으로서, 특히 동시 연결 사용자 50-500명 정도의 중대형 온라인 데이터 처리(OLTP:Online Transaction Processing)-데이터 입력이나 거래 조회를 위한 트랜잭션 업무-시스템을 개발할 수 있도록 하는 클라이언트 서버 환경의 개발 시스템 및 방법에 관한 것이다.The present invention relates to a development system and a development method of a client / server system. In particular, a medium-to-large online transaction processing (OLTP) of about 50 to 500 concurrent users is connected. It relates to a development system and method of a client server environment to enable the development.
근래에는, 클라이언트/서버 환경이 대두되고 있는데, 이러한 클라이언트/서버 환경은 클라이언트(client)와 서버(server)가 제휴해 응용 애플리케이션을 상호간에 실행하는 방식으로서, 클라이언트가 서버에 처리, 검색 등을 의뢰하고 서버 상에서의 처리 결과만을 클라이언트에 보낸다. 또한, 네트웍으로 연결된 각 컴퓨터는 하나의 단말기가 아니라 애플리케이션 소프트웨어를 사용하기도 하고 데이터 관리도 가능한 컴퓨터가 되기도 한다.In recent years, a client / server environment has emerged. In this client / server environment, a client and a server cooperate with each other to execute an application application, and a client requests a server to process and search. Send only the results of processing on the server to the client. In addition, each computer connected to the network may not be a single terminal but may be a computer using application software and data management.
이러한 클라이언트/서버 시스템 도입으로 많은 기업들의 OLTP 업무에 급속도로 적용하기 시작하였다. 기업의 OLTP 업무의 증가 및 기업의 전산화 요구로 많은 수의 클라이언트 서버 시스템의 개발에 따라 수많은 업무 서버가 존재하게 되며, 이러한 업무 서버들의 각각의 역할은 고객의 요청사항 즉, 클라이언트가 요청한 트랜잭션을 안정적으로 처리하여 제공할 때 시스템의 실효성이 인정될 수 있다.With the introduction of this client / server system, many companies are rapidly applying to OLTP work. Due to the increase of OLTP work of the company and the demand for computerization of the company, a large number of work servers exist according to the development of a large number of client server systems. The effectiveness of the system can be recognized when it is processed and provided.
한편, 종래 클라이언트/서버 시스템은 각 모듈에 대한 기능과 통신 서버 또는 통신 클라이언트와 그래픽 유저 인터페이스가 분리되어 있지 않고 그 시스템을개발 운용하여 왔다.On the other hand, the conventional client / server system has developed and operated the system without separating the functions for each module from the communication server or the communication client and the graphic user interface.
즉, 트랜잭션을 요청하는 인원 증가에 따른 서버의 추가 증설 및 클라이언트/서버 시스템의 재 수정이 필요하게 되어 서버의 추가 증설 및 소프트웨어 교체로 인한 지연시간 발생 및 그로 인한 유,무형의 금전적 손실이 발생될 문제가 있다.In other words, additional server expansion and client / server system need to be re-modified due to the increase in the number of people requesting transactions, resulting in delays caused by additional server expansion and software replacement, and tangible and intangible financial losses. there is a problem.
그리고, 수 많은 OLTP 시스템에서는 업무의 특성상 잦은 기능 추가 및 변경 요청이 발생되는데, 요청된 트랜잭션의 변경 작업을 위하여 해당 클라이언트 모듈의 수정 작업 및 각 사용자 클라이언트 모듈의 업데이트(Update)를 위하여 전체 클라이언트 모듈을 다운 받아야 함으로 전체적인 유지 보수비용이 증가하게 되는 문제가 발생한다.In addition, in many OLTP systems, frequent feature addition and change requests are generated due to the nature of the work, and the entire client module is modified to update the corresponding client module and to update each user client module to change the requested transaction. There is a problem that the overall maintenance cost increases by having to download.
이러한 배경하에, 전산 시스템에의 의존도가 증가하고, 업무 중심의 시스템 장애 파악이 필요할 뿐만 아니라, 장애 발생시 서비스 복구에 필요한 우선 순위를 부여하여 관리할 필요가 대두되고 있다.Under this background, the dependence on computer systems is increasing, task-oriented system failure identification is required, and the necessity of prioritizing and managing the service recovery in case of failure is emerging.
즉, 클라이언트/서버 시스템의 도입으로 수많은 업무 서버가 발생하고 있으며, 나아가 그 중에는 조직의 사활을 결정할 정도의 중요한 업무 서버가 있는 현재의 IT 환경 하에서, 다양한 사용자 층의 요구에 적절히 부응함은 물론, 응용 프로그램이 복잡해짐에 따른 유지보수의 어려움을 덜어줄 수 있는 유연한 구조의 시스템 기능, 즉 기존의 전산 시스템 리소스를 최대한 활용하면서 서버의 급격한 과부하를 해결하고 안정적인 트랜잭션을 제공하는 시스템이 요구되어졌다.In other words, the introduction of the client / server system has generated a large number of business servers, and moreover, in the current IT environment where there are important business servers that can determine the life and death of the organization, it is appropriate to meet the needs of various user bases, There was a need for a system that has a flexible structure that can reduce maintenance difficulties as applications become more complex, that is, a system that solves a sudden overload of a server while maximizing existing computer system resources and provides stable transactions.
본 발명은 상기와 같은 문제점을 개선하기 위하여 창출된 것으로서, 사용자의 요구가 다양하고 트렌젝션(TRANSACTION)이 많은 경우에 개발과 운용의 효율을 향상시키기 위하여, 클라이언트 부분의 사용자 인터페이스와 응용 프로그램의 로직을 분리시킴으로써, 클라이언트 측면의 컴퓨팅 파워를 이용한 서버의 용량의 극대화 및 사용자 중심의 인터페이스를 갖춘 클라이언트 서버 환경의 개발 시스템 및 방법을 제공함에 그 목적이 있다.The present invention was created to solve the above problems, and in order to improve the efficiency of development and operation in the case of diverse user demands and many transactions, the user interface of the client part and the logic of the application program are improved. The purpose of the present invention is to provide a system and method for developing a client server environment having a user-centered interface and maximizing the capacity of the server by using the computing power of the client side.
본 발명은 특히 사용자의 요구에 따라 필요한 사용자 프로그램을 실행시키고 사용자 프로그램의 오류로 인한 시스템 영향을 최소화하며, 프로그램의 추가, 삭제시 해당 프로그램을 제기동 없이 처리하는 클라이언트 서버 환경의 개발 시스템 및 방법을 제공함에 그 목적이 있다.The present invention particularly provides a system and method for developing a client server environment that executes a user program according to a user's request, minimizes system influence due to an error of the user program, and processes the program without adding or deleting the program. Has its purpose.
제 1 도는 본 발명에 따른 클라이언트 서버 환경의 개발 시스템의 블럭 구성도.1 is a block diagram of a development system of a client server environment according to the present invention.
제 2 도는 본 발명에 따른 클라이언트 서버 환경의 개발 방법 흐름도.2 is a flowchart illustrating a method for developing a client server environment according to the present invention.
제 3 도는 본 발명에 따른 클라이언트 서버 환경의 개발 시스템에서 서버 통신 수단의 블럭 구성도.3 is a block diagram of server communication means in a development system of a client server environment according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
100 : 유닉스 서버 110 : 서버 통신 수단100: Unix server 110: server communication means
120 : 테스크 관리 수단 130 : 시스템 관리 수단120: task management means 130: system management means
140 : 데몬 테스크 150 : 차일드 테스크140: daemon task 150: child task
160 : 파일 전송 수단 170 : 테스크 시험 수단160: file transfer means 170: task test means
180 : 제1 라이브러리 190 : 시스템 구성 정보180: first library 190: system configuration information
200 : 피씨(PC) 클라이언트 210 : 클라이언트 통신 수단200: PC client 210: client communication means
220 : 부가 모듈 230 : 사용자 인터페이스(GUI)220: additional module 230: user interface (GUI)
240 : 제2 라이브러리240: second library
상기의 목적을 달성하기 위하여 본 발명에 따른 클라이언트 서버 환경의 개발 시스템은 피씨 클라이언트와 연결되어 테스크 요구 및 결과를 통신하는 서버 통신 수단과; 상기 서버 통신 수단으로부터 전송받아 상기 요구되는 해당 프로그램을 실행시키도록 해당 테스크와 실시간으로 통신하는 테스크 관리 수단과; 부(parent) 프로그램들을 기동시키고, 공유 메모리를 할당 받아 메시지 큐(Queue)를 생성시켜서 상기 테스크 관리 수단에 전달시키는 시스템 관리 수단과; 상기 테스크 관리 수단에서 수신된 클라이언트의 요구를 지속적으로 실행시키는 데몬 테스크(Daemon Task)와; 상기 테스크 관리 수단에서 수신된 클라이언트의 요구에 따라 시스템 구성 정보로부터 정보를 획득하도록 실행시키는 차일드 테스크(child task)와; 상기데몬 테스크 또는 차일드 테스크에 연결되어 메시지 전달 및 API(Application Program Interface)를 제공하는 제1 라이브러리와; 서버와 피씨 클라이언트간에 파일을 전송시키는 파일 전송 수단을 포함하여 이루어진 점을 그 특징으로 한다.In order to achieve the above object, a development system of a client server environment according to the present invention includes: server communication means connected to a PC client to communicate task requests and results; Task management means for receiving from the server communication means and communicating with the task in real time to execute the required program; System management means for starting up parent programs, allocating shared memory, generating a message queue, and delivering the message queue to the task management means; A daemon task for continuously executing a request of a client received by the task management means; A child task for executing information obtained from system configuration information according to a request of a client received by the task management means; A first library connected to the daemon task or the child task to provide message delivery and an application program interface (API); And a file transfer means for transferring a file between the server and the PC client.
여기서, 클라이언트의 요구를 가상 설정하여 점검하는 테스크 시험 수단을 더 포함하며, 상기 피씨 클라이언트는 상기 서버와 통신을 하는 클라이언트 통신 수단과, 외부와 연결되어 있는 장비를 제어하는 부가모듈과, 사용자의 주 화면을 제공하는 사용자 인터페이스 및 서버간의 파일 전송을 하는 제2 라이브러리로 이루어진 점을 그 특징으로 한다.The apparatus may further include a task test means for virtually setting and checking a client's request, wherein the PC client includes a client communication means for communicating with the server, an additional module for controlling equipment connected to the outside, and a user's principal. Characterized in that it consists of a user interface for providing a screen and a second library for file transfer between servers.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 클라이언트 서버 환경의 개발 방법은 피씨 클라이언트의 클라이언트 통신 수단을 통하여 서버상에 테스크(task)가 요구되는 단계와; 요구된 테스크가 서버 통신 수단을 통하여 테스크 관리 수단에 전달되는 단계와; 해당 테스크의 실행 파일명이 읽어지는 단계와; 상기 차일드 테스크를 통하여 테스크를 호출하여 시스템 구성 정보로부터 데이타를 추출하여 해당 정보를 상기 테스크 관리 수단에 전송시키는 단계와; 테스크 관리 수단에 전달된 메시지 큐가 서버 통신 수단을 통하여 피씨 클라이언트에 전송되는 단계로 이루어지는 점을 그 특징으로 한다.In addition, the development method of the client server environment according to the present invention in order to achieve the above object comprises the steps of requiring a task (task) on the server through the client communication means of the PC client; Passing the requested task to the task management means through the server communication means; Reading the executable file name of the task; Calling a task through the child task to extract data from system configuration information and to transmit the information to the task management means; Characterized in that the message queue transmitted to the task management means is sent to the PC client through the server communication means.
여기서, 상기 피씨 클라이언트 내에 통신은 DDEML 을 통해서 이루어지고, 상기 피씨 클라이언트와 서버 간의 통신은 TCP/IP 소켓을 통해 이루어지며, 상기 서버내의 프로세스 간 통신은 공유 메모리 큐를 통하여 이루어지는 점을 그 특징으로 한다.Herein, the communication within the PC client is performed through DDEML, the communication between the PC client and the server is performed through a TCP / IP socket, and the interprocess communication in the server is performed through a shared memory queue. .
테스크 관리 수단에서 테스크의 실행 파일명을 읽고 해당 파일명이 숫자이면 데몬 테스크에 메시지를 전달시키는 점을 그 특징으로 한다.The task management means reads the name of the task's executable file and if the file name is a number, it delivers a message to the daemon task.
그리고, 요구된 테스크가 서버 통신 수단을 통하여 테스크 관리 수단에 전달되는 단계에서 테스크가 정보를 요구하면 상기 서버 통신 수단으로 필요한 정보를 되돌려 주는 점을 그 특징으로 한다.In addition, when the task requests the information in the step in which the requested task is transmitted to the task management means through the server communication means, the necessary information is returned to the server communication means.
또한, 본 발명은 피씨 클라이언트의 클라이언트 통신 수단을 통하여 서버상에 테스크(task)가 요구되는 단계와; 요구된 테스크가 서버 통신 수단을 통하여 테스크 관리 수단에 전달되는 단계와; 해당 테스크의 실행 파일명을 읽어지는 단계와; 상기 파일명이 문자이면 파일명을 추출(fork())한 후 실행파일을 실행시키고, 차일드 테스크에 메시지를 전달시키는 단계와; 상기 차일트 테스크를 통하여 테스크를 호출하여 요청한 트랜잭션을 처리한 후 원하는 데이터를 추출하여 해당 정보를 상기 테스크 관리 수단에 전송시키는 단계와; 테스크 관리 수단에 전달된 메시지는 서버 통신 수단을 통하여 피씨 클라이언트에 전송되는 단계를 컴퓨터 상에 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 클라이언트 서버 환경 개발 매체임을 그 특징으로 한다.In addition, the present invention includes the steps of requiring a task on the server through the client communication means of the PC client; Passing the requested task to the task management means through the server communication means; Reading the executable file name of the task; If the file name is a character, extracting the file name (fork ()), executing the executable file, and delivering a message to the child task; Calling a task through the child task to process a requested transaction, extracting desired data, and transmitting the information to the task management means; The message transmitted to the task management means is a computer readable client server environment development medium having recorded thereon a program for executing the steps transmitted to the PC client through the server communication means on the computer.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 다만, 본 발명이 속하는 당업자 사이에 이미 공지가 되어 있는 부분에 대해서는 그 설명을 생략하며, 본 발명에서 특징으로 가지는 시스템의 구성 및 방법에 대해서는 보다 상세히 설명하도록 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the description of the parts already known among those skilled in the art will be omitted, and the configuration and method of the system having the features of the present invention will be described in more detail.
제 1 도는 본 발명에 따른 클라이언트 서버 환경의 개발 시스템의 블럭 구성도이다.1 is a block diagram of a development system of a client server environment according to the present invention.
도 1 을 참조하면, 본 발명에 따른 클라이언트 서버 환경의 개발 시스템은 크게 유닉스 서버(UNIX server)(100)와 피씨 클라이언트(PC client)(200)로 이루어진다.Referring to FIG. 1, a development system of a client server environment according to the present invention is largely composed of a UNIX server 100 and a PC client 200.
한편, 유닉스 서버(100)는 피씨 클라이언트(200)와의 연결을 관리하는 서버 통신 수단(110)과, 피씨 클라이언트(200)의 요구에 따라 해당 프로그램을 실행시키는 테스크 관리 수단(120)과, 부(parent) 프로그램들을 기동시키고, 공유 메모리를 할당 받아 메시지 큐(Queue)를 생성시키는 시스템 관리 수단(130)과, 지속적으로 클라이언트의 요구를 실행시키는 데몬 테스크(Daemon Task)(140)와, 클라이언트의 요구를 실행시키는 차일드 테스크(Child Task)(150)와, 서버(100)와 피씨 클라이언트(200)간에 파일을 전송시키는 파일 전송 수단(160)과, 클라이언트의 요구를 가상 설정하여 점검하는 테스크 시험 수단(170)과, 제 1 라이브러리(180) 및 시스템 구성 정보(190)로 구성된다.On the other hand, the UNIX server 100 is a server communication means 110 for managing the connection with the PC client 200, the task management means 120 for executing the program in accordance with the request of the PC client 200, and ( a system management means 130 for starting a parent program, allocating shared memory to create a message queue, a daemon task 140 for continuously executing a client request, and a client request A child task 150 for executing a file, a file transfer means 160 for transferring a file between the server 100 and the PC client 200, and a task test means for virtually setting and checking a client's request ( 170, the first library 180, and the system configuration information 190.
또한, 피씨 클라이언트(200)는 서버(100)와 통신을 하는 클라이언트 통신 수단(210)과, 피씨 클라이언트(200)에 설치 또는 연결되어 있는 장비(도시하지 않음)를 제어하는 부가모듈(220)과, 사용자의 주 화면을 제공하는 사용자 인터페이스(230) 및 서버(100)간의 파일 전송을 행하는 제 2 라이브러리(240)로 구성되며, 이는 개발 운용자가 담당하는 부분이 된다.In addition, the PC client 200 includes a client communication means 210 for communicating with the server 100, an additional module 220 for controlling equipment (not shown) installed or connected to the PC client 200; The second library 240 performs file transfer between the user interface 230 for providing a main screen of the user and the server 100, and the development manager is in charge of the file.
본 발명의 구성을 보다 상세히 설명하면, 상기 서버 통신 수단(110)은 개발 운용자의 피씨 클라이언트(200)와 유닉스 서버(100)의 연결을 관리하는 프로그램으로 수백개의 클라이언트를 관리할 수 있으며, 피씨 클라이언트의 클라이언트 통신 수단(210)으로부터의 요구(request)를 상기 테스크 관리 수단(120)에 전달하고 그 요구된 결과를 다시 피씨 클라이언트의 클라이언트 통신 수단(210)에 되돌려 주는 역할을 한다.Referring to the configuration of the present invention in more detail, the server communication means 110 is a program for managing the connection between the PC client 200 and the Unix server 100 of the development operator can manage hundreds of clients, PC client It sends a request from the client communication means 210 to the task management means 120 and returns the requested result back to the client communication means 210 of the PC client.
상기 테스크 관리 수단(120)은 상기 유닉스 서버 프러덕트(product)의 중심으로 상기 피씨 클라이언트(200)의 요구에 따라서 해당 프로그램을 실행시키고 그 결과를 상기 서버 통신 수단(110)에 되돌려준다.The task management means 120 executes the program according to the request of the PC client 200 at the center of the UNIX server product and returns the result to the server communication means 110.
상기 시스템 관리 수단(130)은 본 발명의 서비스 운용 개발 시스템의 부(parent) 프로그램들을 기동시키고, 공유 메모리를 할당받아 메시지 큐(Queue)를 생성시키며, 또한 부(parent) 프로그램이 정지하였을 경우 재기동하도록 한다.The system management unit 130 starts the parent programs of the service operation development system of the present invention, generates a message queue by allocating a shared memory, and restarts when the parent program is stopped. Do it.
상기 파일 전송 수단(160)은 유닉스 서버(100)와 피씨 클라이언트(200) 간의 파일 전송을 위한 데몬(Daemon) 프로그램으로서, 상기 피씨 클라이언트 프로그램의 자동 업데이트를 위한 서버 역할또한 행하도록 한다.The file transfer means 160 is a daemon program for file transfer between the Unix server 100 and the PC client 200, and also serves as a server for automatic updating of the PC client program.
상기 제1 라이브러리(180)는 유닉스 서버(100)의 부(parent) 프로그램 및 테스크(Task) 프로그램을 위한 라이브러리로서, 데몬 테스크(140) 또는 차일드 테스크(150)에 연결되어 메시지 전달 및 API(Application Program Interface)를 제공하고 있다.The first library 180 is a library for a parent program and a task program of the Unix server 100. The first library 180 is connected to the daemon task 140 or the child task 150 to transmit a message and to execute an API (Application). Program Interface).
상기 차일드 테스크(150)는 피씨 클라이언트(100)의 요구를 실행하는 프로그램으로 상기 테스크 관리 수단(120)에 의하여 시스템 구성 정보(190)로부터 요구되는 정보를 획득하도록 실행되고 정해진 작업을 수행한 후 종료한다.The child task 150 is a program that executes a request of the PC client 100 and is executed by the task management means 120 to obtain information required from the system configuration information 190, and ends after performing a predetermined task. do.
상기 데몬 테스크(140)는 상기 차일드 테스크(150) 처럼 피씨 클라이언트(200)의 요구를 실행하며, 또한 본 발명의 서비스 운용 개발 시스템 시작시 상기 시스템 관리 수단(130)에 의하여 실행되며, 하나의 요구만을 처리하는 것이 아니고 지속적으로 서비스를 수행하는 역할을 한다. 다시 말하면, 이 데몬 테스크(140)는 상태를 유지해야 하는 기능 및 사용자 요구가 많은 기능을 해야 되는 테스크를 위하여 사용되는 것이다.The daemon task 140 executes the request of the PC client 200 like the child task 150, and is executed by the system management means 130 at the start of the service operation development system of the present invention. It does not deal only with the service but plays the role of continuously performing the service. In other words, the daemon task 140 is used for tasks that need to maintain state and functions that have high user demand.
상기 테스크 시험 수단(170)은 서버(100)상에서 해당 테스크의 실행 및 테스트를 위한 것으로서, 서버 개발자가 피시 클라이언트(200)의 요구를 가상으로 만들어 테스크 프로그램의 기능을 테스트하는 프로그램으로 효율적으로 테스크 프로그램을 개발하는데 이용된다. 본 발명의 서비스 운용 개발 시스템에서 제공되는 기본적인 프로그램을 프로젝트 개발자가 수정해서 사용할 수 있다.The test test means 170 is for executing and testing the corresponding task on the server 100. The test program is a program for a server developer to virtually make a request of the fish client 200 and test a function of a test program. Used to develop The project developer can modify and use the basic program provided by the service operation development system of the present invention.
즉, 개개의 프로그램(모듈)들을 개별적으로 개발 후 테스트하는데 이 때, 서버(100)의 각 모듈의 실행 여부 및 테스트를 위하여 서버에서 피시 클라이언트의 요구대로 테스크를 실행시키기 위한 것이다.In other words, the individual programs (modules) are individually developed and tested at this time, in order to execute the test as required by the fish client in the server for the execution of each module of the server 100 and the test.
즉, 개발자의 편리성 및 개발의 기간 단축을 위한 툴(Tool) 개념이다.In other words, it is a tool concept for convenience of developers and shortening of development period.
상기 클라이언트 통신 수단(210)은 유닉스 서버(100)와 피씨 클라이언트(200) 간의 통신을 하는 프로그램으로서, 상기 서버 통신 수단(110)과 소켓(socket) 통신을 하고, 하나의 티시피/아이피(TCP/IP:Transmission Control Protocol/Internet Protocol) 소켓 통신을 여러 종류의 클라이언트(사용자 화면, 장비, 바코트 판독기,등)(도시하지 않음)와 연결할 수 있도록 클라이언트 사이에서메시지를 전달하는 기능을 행한다.The client communication means 210 is a program that communicates between the Unix server 100 and the PC client 200, and performs a socket communication with the server communication means 110, one TCP / IP (TCP) / IP: Transmission Control Protocol / Internet Protocol (IP) Functions to transfer messages between clients so that socket communications can be connected to various types of clients (user screens, equipment, bar code readers, etc.) (not shown).
상기 제 2 라이브러리(240)는 피씨 클라이언트(200)와 서버(100) 간의 파일 전송을 위한 dll 형태의 라이브러리로서 파워 빌더(Power Builder),또는 비주얼 베이직(Visual Basic)에서 사용된다.The second library 240 is a dll-type library for file transfer between the PC client 200 and the server 100 and is used in Power Builder or Visual Basic.
상기 부가 모듈(220)은 사용자 컴퓨터에 설치 또는 연결되어 있는 바코드 판독기, 또는 장비 등을 제어하는 프로그램으로서 주로 비주얼 C 로 작성된다.The additional module 220 is mainly written in Visual C as a program for controlling a bar code reader or equipment installed or connected to a user computer.
상기 사용자 인터페이스(GUI : Graphic User Interface))(230)는 사용자의 주화면을 제공하는 클라이언트로서 파워 빌더, 비주얼 베이직, 비주얼 C, 델파이(Delphi) 등의 도구를 사용하여 제작된다.Graphic User Interface (GUI) 230 is a client that provides a user's main screen and is manufactured using a tool such as Power Builder, Visual Basic, Visual C, Delphi, or the like.
제 2 도는 본 발명에 따른 클라이언트 서버 환경의 개발 방법 흐름도이다.2 is a flowchart illustrating a method of developing a client server environment according to the present invention.
도 1 및 도 2 를 참조하여 본 발명에 따른 클라이언트 서버 환경의 개발 방법을 설명하면, 우선 피씨 클라이언트(200)의 클라이언트 통신 수단(210)을 통하여 서버(100)상에 테스크(task)가 요구된다(ST 251).Referring to FIGS. 1 and 2, a method of developing a client server environment according to the present invention will be described. First, a task is required on the server 100 through the client communication means 210 of the PC client 200. (ST 251).
이 때 피씨 클라이언트(200) 내에서의 통신은 DDEML(Dynamic Data Exchange Management Library)을 통해서 이루어진다.At this time, the communication within the PC client 200 is performed through the Dynamic Data Exchange Management Library (DDEML).
요구된 테스크는 서버(100)의 서버 통신 수단(110)으로 전달되는데 이 때의 통신 방식은 TCP/IP 소켓을 통해 이루어지며 포트 번호는 조정이 가능하다(ST 252).The requested task is transmitted to the server communication means 110 of the server 100. At this time, the communication method is performed through a TCP / IP socket and the port number is adjustable (ST 252).
서버는 시스템 관리 수단(130)에 의하여 부(parent) 프로그램들이 기동되고, 기동된 통신 수단(110)으로 전달된 테스크는 공유 메모리를 할당받아 생성된 메시지 큐를 이용하여 테스크 관리 수단(120)에 전달된다(ST 253).In the server, parent programs are activated by the system management means 130, and the task delivered to the activated communication means 110 is assigned to the task management means 120 by using a message queue generated by allocating a shared memory. Delivered (ST 253).
테스크 관리 수단(120)에 전달된 메시지 큐가 상태 정보 요청 이면 서버 통신 수단(110)으로 되돌려 주며, 메시지 큐가 상태 정보 요청이 아니면 해당 테스크의 실행 파일명을 읽는다(ST 254)(ST 255).If the message queue transmitted to the task management means 120 is a status information request, the message queue is returned to the server communication means 110. If the message queue is not a status information request, the execution file name of the task is read (ST 254) (ST 255).
상기 파일명이 숫자 즉, 데몬 테스크(140)에 해당되면 데몬 테스크에 메시지만 전달하고, 파일명이 숫자가 아니면 파일명을 추출한(fork()) 후 실행파일을 실행시키고, 차일드 테스크(150)에 메시지를 전달시킨다(ST 256)(ST 257)(ST 258)(ST 259).If the file name corresponds to a number, that is, the daemon task 140, only the message is delivered to the daemon task. If the file name is not a number, the file name is extracted (fork ()), and then the executable file is executed. (ST 256) (ST 257) (ST 258) (ST 259).
상기 데몬 테스크(140)에서는 메시지 키(KEY) 및 공유 메모리 큐 아이디(ID)를 획득하고, 요청한 클라이언트의 트랜잭션을 처리하여 해당 컴퓨터 클라이언트에 보내며, 상기 차일드 테스크(150)에서는 메시지를 읽은 후 요청한 클라이언트의 트랜잭션을 처리하여 처리된 결과를 테스크 관리 수단(120)에 전송시킨다(ST 260).The daemon task 140 obtains a message key and a shared memory queue ID, processes the requested client's transaction, and sends it to the corresponding computer client. The child task 150 reads the message and then requests the requested client. The transaction is processed and the processed result is transmitted to the task management means 120 (ST 260).
테스크 관리 수단(120)에 전달된 메시지 큐는 서버 통신 수단(110)을 통하여 피씨 클라이언트(200)의 클라이언트 통신 수단(210)에 전송되고, 부가 모듈(220) 및 사용자 인터페이스(230)에 전송된다(ST 261)(ST 262).The message queue delivered to the task management means 120 is transmitted to the client communication means 210 of the PC client 200 via the server communication means 110, and to the additional module 220 and the user interface 230. (ST 261) (ST 262).
제 3 도는 본 발명에 따른 클라이언트 서버 환경의 개발 시스템에서 서버 통신 수단의 블럭 구성도를 나타낸 것이다.3 is a block diagram of a server communication means in a development system of a client server environment according to the present invention.
도 3 을 참조하면, 서버 통신 수단(110)은 피씨 클라이언트(200)로부터 데이터를 읽는 리드(read) 버퍼 부(111)와, 테스크 관리 수단(도 1의 120참조)으로부터 데이터를 읽는 메시지 버퍼 부(112)와, 상기 메시지 버퍼 부(112)에 일시 저장된데이터가 저장되는 라잇(write)버퍼 부(113)와, 서버 통신 수단(110)의 전체 논리(Logic)를 구현하는 논리부(114)와, 새로운 피씨 클라이언트의 등록 요구를 받아들이는 클라이언트 부(115)등으로 구성된다.Referring to FIG. 3, the server communication means 110 includes a read buffer 111 for reading data from the PC client 200 and a message buffer section for reading data from the task management means (see 120 in FIG. 1). (112), a write buffer unit 113 in which data temporarily stored in the message buffer unit 112 is stored, and a logic unit 114 for implementing overall logic of the server communication unit 110. And a client unit 115 for accepting a registration request of a new PC client.
이상에서 설명된 바와 같은 구성을 보다 상세히 설명하면, 상기 논리 부(114)는 전체 논리(Logic)를 구현하며 세부 I/O 함수가 여러 파일로 분산 처리되도록 한다.Referring to the configuration as described above in more detail, the logic section 114 implements the entire logic (Logic) and allows the detailed I / O function is distributed to multiple files.
상기 메시지 버퍼 부(112)는 테스크 관리 수단(도 1의 120참조)으로부터 데이터를 읽는 수단으로서, 공유 메모리가 가득 채워지는 것을 방지하고, 피씨 클라이언트(200)가 느릴 경우 속도를 완화하기 위한 기능을 갖추도록 관련된 함수를 모아 두게 된다.The message buffer 112 is a means for reading data from the task management means (see 120 of FIG. 1), and prevents the shared memory from filling up, and reduces the speed when the PC client 200 is slow. The related functions are collected together.
상기 공유 메모리는 유닉스 프로세서 간의 통신을 위해 사용되며, 공유 메모리 블럭을 할당받아서 수십 개의 메시지 버퍼를 형성시켜 놓는다. 또한, 여러 개의 공유 메모리를 운용하기 위하여 링크드 리스트(Linked List)를 이용한다. 각각의 공유 메모리는 블랭크 리스트(Blank List)로 초기화되며, 메시지를 기록할 때는 자유 노드(Free Node)에서 하나를 가져와 공유 메모리에 붙이고, 읽을 때는 공유 메모리 리스트에서 하나를 제거하고 제거된 노드는 자유 노드에 붙인다.The shared memory is used for communication between Unix processors, and is allocated a shared memory block to form dozens of message buffers. In addition, a linked list is used to operate multiple shared memories. Each shared memory is initialized with a blank list, which takes one from the free node and writes it to shared memory when writing a message, removes one from the shared memory list when reading, and frees the removed node. Attach to the node.
상기 클라이언트 부(115)는 새로운 피씨 클라이언트의 등록, 삭제와 같은 상태 관리를 위한 함수를 모아두게 된다.The client unit 115 collects functions for state management such as registration and deletion of a new PC client.
이상에서 설명된 바와 같은 시스템 및 방법이 적용됨으로써 개발자는 보다 손쉽게 클라이언트/서버 환경에 적합한 서비스 시스템을 개발할 수 있게 된다.By applying the system and method as described above, developers can more easily develop a service system suitable for a client / server environment.
본 발명에 내재되는 특징은 위에 기재되어 있는 범위에 한정되지 아니하며, 본 발명을 이해하는 당업자가 또 다른 실시예를 만들어 내는 것은 쉬운 일이다.The features inherent in the present invention are not limited to the range described above, and it is easy for a person skilled in the art to understand the present invention to make another embodiment.
이상의 설명에서와 같이 본 발명에 따른 클라이언트 서버 환경의 개발 시스템 및 방법은 클라이언트 부분과 서버 부분의 비즈니스 로직이 모듈화되고 또한, 분리되어 수행됨으로써 사용자의 요구에 따라 필요한 사용자 프로그램을 각각 실행시키고 관리할 수 있어, 사용자 프로그램의 오류로 인한 시스템 영향을 최소화할 수 있는 장점이 있다.As described above, in the development system and method of the client server environment according to the present invention, the business logic of the client portion and the server portion is modularized and separately performed so that each user program can be executed and managed according to a user's request. Therefore, there is an advantage that can minimize the system impact due to an error of the user program.
또한, 개발자는 사용자 입력 처리 부분과 사용자 요구 처리 부분에 대해서만 중점적으로 개발할 수 있어 전체 시스템의 개발 및 유지 보수 - 시스템의 기능 변경, 추가, 삭제 - 가 용이하게 이루어질 수 있는 장점이 있다.In addition, the developer can focus on the user input processing part and the user request processing part, and there is an advantage that the development and maintenance of the entire system can be easily performed.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020010056274A KR20030023230A (en) | 2001-09-12 | 2001-09-12 | The developing system and method of the client-server environment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020010056274A KR20030023230A (en) | 2001-09-12 | 2001-09-12 | The developing system and method of the client-server environment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20030023230A true KR20030023230A (en) | 2003-03-19 |
Family
ID=27723772
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020010056274A Withdrawn KR20030023230A (en) | 2001-09-12 | 2001-09-12 | The developing system and method of the client-server environment |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20030023230A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009039072A3 (en) * | 2007-09-18 | 2009-05-28 | Codstore Inc | System for development and hosting of network applications |
| RU2380749C2 (en) * | 2003-10-24 | 2010-01-27 | Майкрософт Корпорейшн | Method and system for transaction file operations over network |
| KR102170739B1 (en) * | 2020-03-23 | 2020-10-27 | 국방과학연구소 | Heterogeneous test equipment for weapon system environment/reliability test |
-
2001
- 2001-09-12 KR KR1020010056274A patent/KR20030023230A/en not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2380749C2 (en) * | 2003-10-24 | 2010-01-27 | Майкрософт Корпорейшн | Method and system for transaction file operations over network |
| WO2009039072A3 (en) * | 2007-09-18 | 2009-05-28 | Codstore Inc | System for development and hosting of network applications |
| KR102170739B1 (en) * | 2020-03-23 | 2020-10-27 | 국방과학연구소 | Heterogeneous test equipment for weapon system environment/reliability test |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6594675B1 (en) | Method, system for using file name to access application program where a logical file system processes pathname to determine whether the request is a file on storage device or operation for application program | |
| Srinivasan et al. | An overview of service-oriented architecture, web services and grid computing | |
| US6513056B1 (en) | System and method for efficiently synchronizing cache and persistant data in an object oriented transaction processing system | |
| US7467389B2 (en) | System and methodology providing service invocation for occasionally connected computing devices | |
| US6336147B1 (en) | Method and apparatus for managing connections for communication among objects in a distributed object system | |
| JP3730563B2 (en) | Session management apparatus, session management method, program, and recording medium | |
| US5925098A (en) | Apparatus and method for dispatching client method calls within a server computer system | |
| US6003094A (en) | Generic Java Gateway for connecting a client to a transaction processing system | |
| CN110083455B (en) | Graph calculation processing method, graph calculation processing device, graph calculation processing medium and electronic equipment | |
| JPH07295815A (en) | Mapping system and method of permanence object | |
| JP2003046569A (en) | Load test execution device and system, method therefor, and program therefor | |
| CN106095622A (en) | Data back up method and device | |
| CN100583043C (en) | System and method for providing shared web modules | |
| US20100125624A1 (en) | Coupling state aware systems | |
| CN113672350B (en) | Application processing method and device and related equipment | |
| CN101266617A (en) | System and method for locking and isolation in a storage platform | |
| CN113946328A (en) | Service processing method and system, storage medium and electronic equipment | |
| CN114448983A (en) | ZooKeeper-based distributed data exchange method | |
| CN117880098B (en) | A method and system for real-time management of microservice configuration | |
| CN112099973B (en) | Service calling method and device | |
| KR100895929B1 (en) | Mechanism for asynchronous components to be application framework agnostic | |
| KR20020021237A (en) | Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method | |
| KR20030023230A (en) | The developing system and method of the client-server environment | |
| KR20110032899A (en) | Data transmission / reception module and method in client and server system | |
| CN114785820B (en) | A method and system for online diagnosis of electroencephalogram based on artificial intelligence |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20010912 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |