KR20210060689A - Server side data component for support of development and management and method for perform the data component - Google Patents
Server side data component for support of development and management and method for perform the data component Download PDFInfo
- Publication number
- KR20210060689A KR20210060689A KR1020190147297A KR20190147297A KR20210060689A KR 20210060689 A KR20210060689 A KR 20210060689A KR 1020190147297 A KR1020190147297 A KR 1020190147297A KR 20190147297 A KR20190147297 A KR 20190147297A KR 20210060689 A KR20210060689 A KR 20210060689A
- Authority
- KR
- South Korea
- Prior art keywords
- data component
- unit
- api
- execution
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 개발과 유지보수를 지원하기 위한 서버 사이드 데이터 컴포넌트 및 데이터 컴포넌트를 실행 방법에 관한 것이다. 더 상세하게는 개발자의 빠른 개발과 개발 결과의 빠른 유지보수를 지원하기 위한 서버 사이드 데이터 컴포넌트와 이를 위한 데이터 컴포넌트의 실행 방법에 관한 것이다.The present invention relates to a server-side data component and a method of executing the data component to support development and maintenance. In more detail, it relates to a server-side data component to support rapid development of a developer and rapid maintenance of development results, and an execution method of the data component for this.
기업의 업무에 필요한 프로그램 개발에 웹 표준 등에 맞도록 구축하는데 다양한 개발 환경으로 인해 개발과 유지보수에 많은 문제점이 있다. 예를 들면, N-스크린 기반 업무용 프로그램에서, 클라이언트 측면에서는 다양한 브라우저, 사용자 인터페이스(UI) 측면에서는 다양한 개발도구 및 플랫폼, 비지니스 로직 측면에서는 복잡한 설계가 필요한 프레임웍을 활용해야 하기 때문에, 제품별 전문 개발자의 확보 어려움, 개발자의 기술 수준 차이로 인한 성능 차이, 제품간 데이터 통합 문제, 에러 발생시 복구를 위한 문제를 포함하는 다양한 개발 환경에 따른 문제점과, 서버 증설에 따른 업그레이드 문제 및 버전에 따른 이미 개발된 자원의 활용 어려움 등을 포함하는 인프라 확장에 따른 문제점, 라이선스 비용 및 개발자 비용의 과다 문제 등을 포함하는 투자비용 문제점 및, 유지보수를 위한 전문가 확보, 중복 개발로 인한 모듈 재활용 미흡 및 업그레이드 문제 등을 포함하는 운영관리상의 문제점이 있다.There are many problems in development and maintenance due to a variety of development environments to build programs that are necessary for corporate business to meet web standards. For example, in N-screen-based business programs, various browsers in the client side, various development tools and platforms in the user interface (UI) side, and a framework that requires a complex design in the business logic side, so a specialized developer for each product Problems due to various development environments, including difficulties in securing data, performance differences due to differences in the developer's skill level, data integration problems between products, and problems for recovery in case of errors, upgrade problems due to server expansion, and already developed according to versions. Problems related to infrastructure expansion, including difficulties in using resources, problems with investment costs including problems of excessive licensing and developer expenses, securing experts for maintenance, insufficient module recycling and upgrade problems due to redundant development, etc. There are operational management problems, including.
대한민국 공개특허번호 제10-2012-0076836호(공개일 2012년07월10일)의 전자문서 제어 회의시 서버/클라이언트 통신에서 패킷데이터와 실행될 메소드의 매칭 방법이 공개되어 있다.A method of matching packet data and a method to be executed in server/client communication during an electronic document control meeting of Korean Patent Publication No. 10-2012-0076836 (published on July 10, 2012) is disclosed.
상기 공개 발명은, 전자 문서 제어 회의시 서버/클라이언트 통신 시스템에서 네트워크의 응답 속도를 향상시키고, 프로그램의 생산성 및 재사용성을 향상시킬 수 있는 전자 문서 제어 회의시 서버/클라이언트 통신에서 패킷 데이터와 실행될 메소드의 매칭 방법에 있어서, a) 전자 문서 제어 회의에 사용되는 다수의 메소드들을 델리게이트 형식으로 해시 테이블에 저장하는 단계; 및 b) 서버-클라이언트 통신에 사용되는 데이터 구조 및 메소드를 수정, 제거, 또는 추가시, 해당 메소드의 키값을 이용하여, 해당 메소드를 제거하거나, 클래스의 오브젝트 및 메소드를 수정 또는 추가하는 단계를 포함하는 구성이다.The disclosed invention is a method to be executed with packet data in server/client communication during an electronic document control conference that can improve network response speed in a server/client communication system during an electronic document control conference, and improve productivity and reusability of a program. A matching method comprising: a) storing a plurality of methods used in an electronic document control conference in a hash table in a delegate format; And b) when modifying, removing, or adding a data structure and method used for server-client communication, removing the method using the key value of the method, or modifying or adding the object and method of the class. It is a configuration.
상기 공개발명에 의하면 서버-클라이언트 통신 시스템에서 네트워크의 응답 속도를 향상시키고, 프로그램의 생산성 및 재사용성을 향상시킬 수 있다. 그러나 상기 공개발명은 상술한 종래기술의 문제점인 다양한 개발환경에 적용시킬 수 없는 문제를 그대로 가지고 있다.According to the disclosed invention, it is possible to improve the response speed of a network in a server-client communication system, and improve productivity and reusability of a program. However, the disclosed invention has a problem that cannot be applied to various development environments, which is a problem of the prior art described above.
따라서, 사용자 측면에서의 다양한 사용자단말 및 개발자 측면에서의 다양한 개발 환경에 관계없이 빠른 개발과 유지보수가 가능하고, 다양한 사용자단말에서 사용이 용이한 기업용 프로그램 개발도구 및 사용도구에 관한 발명이 요망된다.Therefore, there is a need for an invention of a program development tool and a user tool for companies that enable rapid development and maintenance regardless of various user terminals from the user's side and various development environments from the developer's side, and that are easy to use in various user terminals. .
본 발명은 상기 종래기술의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 다양한 개발환경에 관계없이 개발자의 빠른 개발과 개발 결과의 빠른 유지보수를 지원하기 위한 서버 사이드 데이터 컴포넌트와 이를 위한 데이터 컴포넌트의 실행 방법을 제공함에 있다.The present invention is to solve the problems of the prior art, and an object of the present invention is a server-side data component for supporting rapid development of a developer and rapid maintenance of development results regardless of various development environments, and a data component for the same. It is to provide an implementation method.
상기 본 발명의 목적을 달성하기 위한 기술적 해결 수단으로서, 본 발명의 제1 관점으로, 개발자 또는 사용자의 메소드 실행 요구를 수신하고 메소드 실행 결과를 출력시키고 개발자 또는 사용자의 환경을 인식하여 해당 데이터컴포넌트부와 매칭시키기 위한 데이터 컴포넌트 실행서비스 API(Application Programming Interface)와; 상기 데이터 컴포넌트 실행서비스 API로부터 수신된 입력 파라미터를 처리하기 위한 제1 입력 파라미터 처리부와, 상기 데이터 컴포넌트 실행서비스 API로 출력시킬 출력 파라미터를 처리하기 위한 제1 출력 파라미터 처리부와, 상기 입력 파라미터 처리부에 접속하여 파라미터를 가져와 해당 메소드를 실행시키기 위한 다양한 메소드를 포함하는 제1 메소드부를 포함하는 제1 데이터컴포넌트부와; 상기 데이터 컴포넌트 실행서비스 API로부터 수신된 입력 파라미터를 처리하기 위한 제2 입력 파라미터 처리부와, 상기 데이터 컴포넌트 실행서비스 API로 출력시킬 출력 파라미터를 처리하기 위한 제2 출력 파라미터 처리부와, 상기 입력 파라미터 처리부에 접속하여 파라미터를 가져와 해당 메소드를 실행시키기 위한 다양한 메소드를 포함하는 제2 메소드부를 포함하는 제2 데이터컴포넌트부와; 상기 제1 및 제2 데이터컴포넌트부의 다양한 메소드 실행의 수행을 위한 환경과 인터페이스시키기 위한 다양한 API를 포함하는 API부와; 상기 제1 및 제2 데이터컴포넌트부에서 개발 또는 실행을 위해 필요 정보를 제공하고 저장하기 위해 상기 제1 및 제2 데이터컴포넌트부와 상기 API부를 매개로 접속된 데이터베이스부를 포함하는 서버 사이드 데이터 컴포넌트가 제시된다.As a technical solution for achieving the object of the present invention, as a first aspect of the present invention, the data component unit receives a method execution request from a developer or user, outputs a method execution result, and recognizes the developer or user's environment. A data component execution service API (Application Programming Interface) for matching with; A first input parameter processing unit for processing input parameters received from the data component execution service API, a first output parameter processing unit for processing output parameters to be output to the data component execution service API, and access to the input parameter processing unit A first data component unit including a first method unit including various methods for obtaining a parameter and executing a corresponding method; A second input parameter processing unit for processing input parameters received from the data component execution service API, a second output parameter processing unit for processing output parameters to be output to the data component execution service API, and access to the input parameter processing unit A second data component unit including a second method unit including various methods for obtaining a parameter and executing a corresponding method; An API unit including various APIs for interfacing with an environment for executing various methods of the first and second data component units; A server-side data component including a database unit connected via the first and second data component units and the API unit is presented to provide and store necessary information for development or execution in the first and second data component units. do.
또한, 본 발명의 제2 관점으로, 데이터컴포넌트 실행서비스 API가 클라이언트로부터 전송되어 온 데이터를 수신하는 단계와; 수신된 데이터의 속성에서 인식된 개발 환경에 따라서 해당 데이터컴포넌트부로 클라이언트로부터 전송되어 온 데이터를 전송하는 단계와; 상기 데이터컴포넌트부가 데이터를 수신하여 파라미터 처리를 수행하고 메모리에 적재시키는 단계와; 상기 데이터컴포넌트부가 적재된 파라미터와 관련 메소드를 매칭시키는 단계와; 상기 데이터컴포넌트부가 API를 매개로 상기 관련 메소드의 소스를 리포지토리에 요청하는 단계와; 상기 데이터컴포넌트부가 상기 리포지토리로부터 관련 메소드의 소스를 취득하는 단계와; 상기 데이터컴포넌트부가 상기 관련 메소드의 소스의 파싱 및 캐싱을 수행하는 단계와; 상기 데이터컴포넌트부가 상기 관련 메소드를 실행시키는 단계와; 상기 데이터컴포넌트부가 상기 관련 메소드의 실행 결과인 출력 파라미터를 인코딩하는 단계와; 상기 데이터컴포넌트부가 인코딩된 출력 파라미터를 상기 데이터컴포넌트 실행서비스 API로 전송하는 단계를 포함하는 데이터컴포넌트의 실행 방법이 제시된다. In addition, as a second aspect of the present invention, the method includes the steps of: receiving data transmitted from a client by a data component execution service API; Transmitting data transmitted from a client to a corresponding data component unit according to a development environment recognized in a property of the received data; Receiving the data by the data component, performing parameter processing, and loading the data into a memory; Matching a parameter loaded by the data component unit with a related method; Requesting, by the data component, a source of the related method from a repository through an API; Obtaining, by the data component unit, a source of a related method from the repository; Parsing and caching the source of the related method by the data component; Executing the related method by the data component; Encoding, by the data component unit, an output parameter that is a result of executing the related method; A method of executing a data component comprising the step of transmitting an output parameter encoded by the data component unit to the data component execution service API is provided.
본 발명에 의하면, 클라이언트의 입장에서 클라이언트의 다양한 개발 또는 사용 환경에 관계없이 빠른 개발 또는 사용이 가능하고, 또한 유지 보수가 빠르고 용이하게 수행할 수 있는 효과가 있다.According to the present invention, there is an effect that rapid development or use is possible from a client's point of view, regardless of various development or use environments of the client, and maintenance can be performed quickly and easily.
도 1은 본 발명의 서버 사이드 데이터컴포넌트의 실시예에 관한 개략적인 구성도이다.
도 2는 본 발명의 서버 사이드 데이터컴포넌트의 실시예의 주요부인 메소드 개발 플랫폼의 실시예에 관한 개략적인 설명도이다.
도 3은 본 발명의 서버 사이드 데이터컴포넌트의 실시예의 주요부인 리포지토리의 테이블 구성도의 실시예의 구성도이다.
도 4는 본 발명의 서버 사이드 데이터컴포넌트의 실시예를 이용하는 클라이언트가 포함된 실시예에 관한 개략적인 구성도이다.
도 5는 본 발명의 서버 사이드 데이터컴포넌트의 실행 방법의 실시예를 설명하기 위한 흐름도이다.
도 6은 본 발명의 서버 사이드 데이터컴포넌트의 실행 방법의 다른 실시예를 설명하기 위한 흐름도이다.
도 7은 본 발명의 서버 사이드 데이터컴포넌트의 실행 방법의 실시예의 주요부인 메소드 개발 방법의 실시예를 설명하기 위한 흐름도이다. 1 is a schematic configuration diagram of an embodiment of a server-side data component of the present invention.
2 is a schematic explanatory diagram of an embodiment of a method development platform, which is a main part of an embodiment of a server-side data component of the present invention.
3 is a configuration diagram of an embodiment of a table configuration diagram of a repository, which is a main part of an embodiment of a server-side data component of the present invention.
4 is a schematic configuration diagram of an embodiment including a client using an embodiment of a server-side data component of the present invention.
5 is a flowchart illustrating an embodiment of a method of executing a server-side data component according to the present invention.
6 is a flowchart illustrating another embodiment of a method of executing a server-side data component according to the present invention.
7 is a flowchart illustrating an embodiment of a method development method, which is a main part of an embodiment of a method of executing a server-side data component of the present invention.
이하에서 본 발명의 실시예를 첨부한 도면을 참조하면서 상세히 설명하기로 한다. 도 1은 본 발명의 서버 사이드 데이터컴포넌트의 실시예에 관한 개략적인 구성도이다. 도 1에 도시한 바와 같이 본 발명의 서버 사이드 데이터컴포넌트는, 개발자 또는 사용자의 메소드 실행 요구를 수신하고 메소드 실행 결과를 출력시키기 위한 데이터 컴포넌트 실행서비스 API(Application Programming Interface)(10)와; 상기 데이터 컴포넌트 실행서비스 API(10)로부터 수신된 입력 파라미터를 처리하기 위한 제1 입력 파라미터 처리부(110)와, 상기 데이터 컴포넌트 실행서비스 API(10)로 출력시킬 출력 파라미터를 처리하기 위한 제1 출력 파라미터 처리부(120)와, 상기 입력 파라미터 처리부(110)에 접속하여 파라미터를 가져와 해당 메소드를 실행시키기 위한 다양한 메소드(131)(132)를 포함하는 제1 메소드부(130)를 포함하는 제1 데이터컴포넌트부(100)와; 상기 데이터 컴포넌트 실행서비스 API(10)로부터 수신된 입력 파라미터를 처리하기 위한 제2 입력 파라미터 처리부(210)와, 상기 데이터 컴포넌트 실행서비스 API(10)로 출력시킬 출력 파라미터를 처리하기 위한 제2 출력 파라미터 처리부(220)와, 상기 제2 입력 파라미터 처리부(210)에 접속하여 파라미터를 가져와 해당 메소드를 실행시키기 위한 다양한 메소드(231)(232)를 포함하는 제2 메소드부(230)를 포함하는 제2 데이터컴포넌트부(200)와; 상기 제1 및 제2 데이터컴포넌트부(100)(200)의 다양한 메소드 실행의 수행을 위한 환경과 인터페이스시키기 위한 다양한 API(21~25)를 포함하는 API부(20)를 포함하는 구성이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 is a schematic configuration diagram of an embodiment of a server-side data component of the present invention. As shown in FIG. 1, the server-side data component of the present invention includes a data component execution service API (Application Programming Interface) 10 for receiving a method execution request from a developer or a user and outputting a method execution result; A first input parameter processing unit 110 for processing an input parameter received from the data component
또한, 본 발명의 서버 사이드 데이터컴포넌트는, 상기 제1 및 제2 데이터컴포넌트부(100)(200)에서 개발 또는 실행을 위해 필요 정보를 제공하고 저장하기 위해 상기 제1 및 제2 데이터컴포넌트부(100)(200)와 상기 API부(20)를 매개로 접속되고 트랜잭션 DB(310)와 리포지토리(320)를 포함하는 데이터베이스부(300)를 더 포함할 수 있다.In addition, the server-side data component of the present invention is provided in the first and second
상기 데이터컴포넌트 실행서비스 API(10), 상기 제1 데이터컴포넌트부(100), 상기 제2 데이터컴포넌트부(200) 및 상기 API부(20)는 서버에 구축된 구성요소이다.The data component
상기 데이터 컴포넌트 실행서비스 API(10)는 클라이언트로부터 전송된 개발 요구 또는 실행요구에 관한 데이터의 환경을 인식할 수 있다. 예를 들면 개발 환경이 자바(JAVA) 계열인지 또는 닷넷(.NET) 계열인지를 인식할 수 있다. 또는 데이터 컴포넌트 실행서비스 API(10)에서 데이터의 환경을 인식하지 않고 개발 요구 또는 실행 요구에 관한 데이터의 입출력을 수행할 수 있다. 이 경우, 데이터의 개발 요구 또는 실행 요구에 관한 환경은 미도시한 서버의 제어수단에서 인식하게 구성될 수 있다.The data component
개발 요구 또는 실행 요구의 데이터 환경이 예를 들면, 닷넷(.NET) 계열인 경우 상기 개발 요구 또는 실행 요구 데이터를 상기 제1 데이터컴포넌트부(100)에 연결시키고, 자바(JAVA) 계열인 경우 상기 제2 데이터컴포넌트부(200)에 연결시킨다. 상기 제1 데이터컴포넌트부(100) 및 제2 데이터컴포넌트부(200)의 제1 입력 파라미터처리부(110) 및 제2 입력 파라미터 처리부(210)는 상기 개발 요구 또는 실행 요구의 데이터를 수신하여 입력 파라미터로 처리를 수행한다.If the data environment of the development request or execution request is, for example, a .NET series, the development request or execution request data is connected to the first
상기 제1 및 제2 입력 파라미터 처리부(110)(210)는 수신한 데이터를 단순 데이터 리스트 형태로 마스터 데이터를 여러개의 컬럼으로 이루어진 레코드형 데이터 형태로 전달 및 반환하기 위해서 정의하며, 이 경우 하나만 정의가 가능하다.The first and second input parameter processing units 110 and 210 are defined to transfer and return the received data in the form of a simple data list and the master data in the form of record data consisting of several columns. In this case, only one is defined. Is possible.
또한, 서브 테이블(배열 파라미터) 형태로 디테일 데이터를 여러개의 컬럼으로 이루어진 레코드형 데이터 형태로 전달 및 반환하기 위해서 정의하면, 이 경우 여러개로 정의가 가능하다.In addition, if it is defined to transfer and return detail data in the form of a sub-table (array parameter) in the form of record data consisting of several columns, in this case, it is possible to define multiple data.
상기 메소드부(130)는 예를 들면 닷넷(.NET) 및 자바(JAVA) 서버 플랫폼에서 실행이 가능하도록 자바스크립트(javascript) 언어로 개발할 수 있다. 상기 메소드부(130)는 다양한 인터페이스 객체를 통해서 데이터 리스트에 접근 가능하도록 구성될 수 있다.The
상기 메소드부(130)의 메소드(131)(132)들은 입력, 수정, 삭제 및 조회타입의 메소드로 분리되어 있고, 입력, 수정 및 삭제 타입 메소드는 상기 API부(20) 중 DBMS API를 사용하여 데이터베이스부(300)에 자동으로 트랜잭션이 걸린 채로 사용되고, 조회 타입 메소드는 데이터베이스 트랜잭션이 필요할 때마다 DBMS API를 사용해서 데이터베이스부(300)에 트랜잭션이 가능하도록 구성될 수 있다.The methods 131 and 132 of the
DBMS API를 사용하는 메소드의 예를 들면, read: 레코드셋을 다음 레코드로 넘기는 메소드, SUB_Get CellData: 서브 테이블로 전달받은 파라미터 컬럼 데이터를 취득하는 메소드, SendRecordset: 레코드형 데이터(쿼리 결과 레코드셋 등)를 반환할 때 사용하는 메소드 등으로 구성될 수 있다.Examples of methods that use the DBMS API are read: a method to transfer a record set to the next record, SUB_Get CellData: a method to obtain parameter column data transferred to a sub table, SendRecordset: record type data (query result recordset, etc.) It can be composed of a method used when returning.
또한, I/O API를 사용하는 메소드의 예를 들면, SendMailQuick: 데이터컴포넌트에 내장된 발송엔진을 이용하여 메일을 발송하는 메소드, IsFileExist: 스토리지 서버에 파일이 존재하는지 확인하는 메소드 등으로 구성될 수 있다.In addition, examples of methods that use I/O APIs include SendMailQuick: a method that sends mail using the sending engine built into the data component, IsFileExist: a method that checks whether a file exists in the storage server, etc. have.
또한, System API를 사용하는 메소드의 예를 들면, ParaCount: 전달받은 파라미터 레코드 갯수를 취득하는 메소드, ParamGet: 전달받은 파라미터 데이터를 취득하는 메소드, ParamGetRecord: 전달받은 파라미터 레코드형 데이터를 취득하는 메소드 등으로 구성될 수 있다.In addition, examples of methods using the System API include ParaCount: a method that obtains the number of parameter records received, ParamGet: a method that obtains the received parameter data, ParamGetRecord: a method that obtains the received parameter record type data, etc. Can be configured.
상기 데이터컴포넌트부(100)(200)의 모든 실행 준비 및 실행 데이터는 상기 데이터베이스부(300)의 리포지토리(320)에 메타데이터 형태로 저장된다. 상기 리포지토리(320)에는 예를 들면, 메소드 정보, 입출력 파라미터 정보, 개발모듈 정보, 테이블 정보, 로직 정보 및 세션 정보들이 테이블의 필드로 저장될 수 있다.All execution preparation and execution data of the
또한, 상기 API부(20)의 API(21~25)들은 개발 API로서, 예를 들면 암호화 호출, 로그온 사용자 등 데이터컴포넌트부의 내부에서 사용되는 System API와, 데이터베이스부에 접속하기 위한 DBMS API와, 주변장치와의 연계를 제어하기 위한 I/O API를 포함한다.In addition, the
도 2는 본 발명의 서버 사이드 데이터컴포넌트의 실시예의 주요부인 메소드 개발 플랫폼의 실시예에 관한 개략적인 설명도이다.2 is a schematic explanatory diagram of an embodiment of a method development platform, which is a main part of an embodiment of a server-side data component of the present invention.
도 2에 도시한 바와 같이, 본 발명의 메소드 개발 플랫폼은, 자바(JAVA) 또는 닷넷(.NET)에서 제공되는 기본적인 베이스 API 레이어(510)와, 상기 베이스 API 레이어(510)에 접속하여 적어도 하나의 베이스 API를 조합하여 생성된 개발도구로서의 요구되는 적어도 하나의 개발 API를 포함하는 개발 API 레이어(520)와; 상기 개발 API 레이어(520)에 접속하여 적어도 하나의 개발 API 레이어를 이용해 개발된 적어도 하나의 메소드를 포함하는 메소드 레이어(530)를 포함하는 구성이다.As shown in FIG. 2, the method development platform of the present invention provides at least one basic
도 3은 본 발명의 서버 사이드 데이터컴포넌트의 실시예의 주요부인 리포지토리의 테이블 구성도의 실시예의 구성도이다. 도 3에 도시한 바와 같이 본 발명의 리포지토리(320)의 테이블 구성은, 데이터 컴포넌트의 기초 정보가 저장된 od_parts(321)와; 데이터 컴포넌트의 입출력 파라미터가 재귀의 구조로 저장된 od_parts_field(322)와; 데이터 컴포넌트의 메소드 코드가 저장된 od_parts_method(323)을 포함하는 구성이다. 본 발명의 리포지토리(320)의 테이블의 구성은 이에 한정되는 것이 아니고, 개발 및 실행에 필요한 각종 정보가 필드별로 저장되어 있는 구성이다.3 is a configuration diagram of an embodiment of a table configuration diagram of a repository, which is a main part of an embodiment of a server-side data component of the present invention. As shown in FIG. 3, the table configuration of the
본 발명의 서버 사이드 데이터 컴포넌트는 메소드 실행 요청에 대해 언어별 컨테이너 API, XML, 클라이언트 lib API를 사용해서 호출이 가능하게 구성된다.The server-side data component of the present invention is configured to be able to call a method execution request using container APIs for each language, XML, and client lib API.
또한, 본 발명의 메소드가 스크립트 기반이므로, 메소드 실행시마다 데이터베이스부에서 읽어들이고 파싱하는 과정을 되풀이하는 것은 성능 저하로 이어진다. 따라서, 본 발명에서는 코드 캐싱을 적용하여 구성된다. 본 발명의 코드 캐싱은 개발과정에서 데이터 컴포넌트 정보의 버전키를 메모리에 적재시켜 놓고, 개발도구에서 데이터 컴포넌트 정보를 저장할 때마다 유니크한 버전키를 생성시켜 마지막 유효한 버전을 확인하고, 캐싱된 데이터 컴포넌트 정보의 버전이 유효하지 않을 때는 메모리에서 폐기시키고 상기 리포지토리에서 새롭게 코드를 가져와 캐싱하고, 이 코드를 기반으로 메소드 실행코드를 캐싱하여 메소드 실행 성능을 최적화하도록 구성된다. In addition, since the method of the present invention is script-based, repeating the process of reading and parsing from the database unit every time the method is executed leads to performance degradation. Therefore, in the present invention, it is configured by applying code caching. In the code caching of the present invention, the version key of the data component information is loaded into memory during the development process, and a unique version key is generated every time the data component information is stored in the development tool to check the last valid version, and the cached data component When the version of the information is invalid, it is discarded from memory, a new code is retrieved from the repository, and cached, and method execution code is cached based on this code to optimize method execution performance.
도 4는 본 발명의 서버 사이드 데이터컴포넌트의 실시예를 이용하는 클라이언트가 포함된 실시예에 관한 개략적인 구성도이다. 도 4에 도시한 바와 같이 본 발명의 서버 사이드 데이터컴포넌트의 실시예는, 개발 결과를 사용하기 위한 유저단말(410)과 개발자가 사용하는 개발자단말(420)을 포함하는 클라이언트(400)와; 상기 클라이언트(400)와; 상기 클라이언트(400)로부터 개발 또는 실행 요구를 수신하고 처리결과를 상기 클라이언트(400)로 전송하기 위한 데이터컴포넌트 실행서비스 API(10)와, 상기 데이터컴포넌트 실행서비스 API(10)로부터 개발 또는 실행 요구 데이터를 전송받아 메소드를 실행하고 실행 결과를 상기 데이터컴포넌트 실행서비스 API(10)로 반환하기 위한 제1 데이터컴포넌트부(100) 및 제2 데이터컴포넌트부(200)와, 상기 제1 데이터컴포넌트부(100) 및 제2 데이터컴포넌트부(200)의 메소드 실행을 위한 데이터베이스부 및 각종 구성요소를 연결시켜주기 위한 API부(20)를 포함하는 서버(1000)와; 상기 API부(20)에 접속되어 상기 서버(1000)로 필요 정보를 제공하고 상기 서버(1000)로부터 각종 데이터를 수신하여 저장시키기 위한 트랜잭션DB(310) 및 리포지토리(320)를 포함하는 데이터베이스부(300)를 포함하는 구성이다.4 is a schematic configuration diagram of an embodiment including a client using an embodiment of a server-side data component of the present invention. As shown in Fig. 4, an embodiment of the server-side data component of the present invention includes a
본 발명의 데이터 컴포넌트를 이용하여 기업 업무 관련 프로그램을 개발하고자 하는 경우, 개발자가 상기 개발자단말(420)을 이용하여 서버(1000)로부터 제공되는 개발화면에서 개발 요구 필요 데이터를 입력 또는 선택하여 상기 서버(1000)로 전송한다. 상기 서버(1000)는 상기 개발자단말(420)로부터 전송되어 온 개발 요구 데이터를 수신하여 데이터의 속성으로부터 개발 언어 환경을 인식한다. 개발 언어 환경이 예를 들면 닷넷(.NET) 환경인지 자바(JAVA) 환경인지를 인식하여, 닷넷(.NET) 환경인 경우 개발 요구 데이터를 상기 제1 데이터컴포넌트부(100)로 전송하고, 자바(JAVA) 환경인 경우 상기 제2 데이터컴포넌트부(200)로 전송한다. 상기 제1 및 제2 데이터컴포넌트부(100)(200)는 개발 요구 데이터를 수신하여 파라미터 처리 및 관련 메소드를 실행한다. 상기 제1 및 제2 데이터컴포넌트부(100)(200)가 메소드를 실행하는 과정은 상기 API부(20)에서 DBMS API가 항상 데이터베이스부(300)의 리포지토리(320)와 트랜잭션이 연결되어 수행된다.In the case of developing a program related to corporate work using the data component of the present invention, the developer inputs or selects the development request data on the development screen provided from the
또한, 데이터 컴포넌트를 이용하여 기업 업무 관련 프로그램을 사용하고자 하는 경우, 사용자가 상기 유저단말(410)을 이용하여 서버(1000)로부터 제공되는 사용자화면에서 필요 데이터를 입력 또는 선택하여 상기 서버(1000)로 전송한다. 상기 서버(1000)는 상기 유저단말(420)로부터 전송되어 온 개발 요구 데이터를 수신하여 닷넷(.NET) 환경인 경우 필요 데이터를 상기 제1 데이터컴포넌트부(100)로 전송하고, 자바(JAVA) 환경인 경우 상기 제2 데이터컴포넌트부(200)로 전송한다. 상기 제1 및 제2 데이터컴포넌트부(100)(200)는 필요 데이터를 수신하여 상기 API부(20)에서 DBMS API가 상기 데이터베이스부(300)의 트랜잭션 DB(310)와 트랜잭션을 연결시켜 상기 유저단말(410)로 결과 데이터를 전송시킨다.In addition, when a user wants to use a program related to corporate work by using a data component, the
도 5는 본 발명의 서버 사이드 데이터컴포넌트의 실행 방법의 실시예를 설명하기 위한 흐름도이다. 도 5에 도시한 바와 같이 본 발명의 서버 사이드 데이터 컴포넌트 실행 방법은, 데이터컴포넌트 실행서비스 API가 클라이언트로부터 전송되어 온 데이터를 수신하는 단계(S100)와; 서버에서 인식된 개발 환경에 따라서 해당 데이터컴포넌트부로 클라이언트로부터 전송되어 온 데이터를 전송하는 단계(S101)와; 상기 데이터컴포넌트부가 데이터를 수신하여 파라미터 처리를 수행하고 메모리에 적재시키는 단계(S102)와; 상기 데이터컴포넌트부가 적재된 파라미터와 관련 메소드를 매칭시키는 단계(S103)와; 상기 데이터컴포넌트부가 API를 매개로 상기 관련 메소드의 소스를 리포지토리에 요청하는 단계(S104)와; 상기 데이터컴포넌트부가 상기 리포지토리로부터 관련 메소드의 소스를 취득하는 단계(S105)와; 상기 데이터컴포넌트부가 상기 관련 메소드의 소스의 파싱 및 캐싱을 수행하는 단계(S106)와; 상기 데이터컴포넌트부가 상기 관련 메소드를 실행시키는 단계(S107)와; 상기 데이터컴포넌트부가 상기 관련 메소드의 실행 결과인 출력 파라미터를 인코딩하는 단계(S108)와; 상기 데이터컴포넌트부가 인코딩된 출력 파라미터를 상기 데이터컴포넌트 실행서비스 API로 전송하는 단계(S109)를 포함하는 구성이다.5 is a flowchart illustrating an embodiment of a method of executing a server-side data component according to the present invention. As shown in FIG. 5, the method for executing a server-side data component of the present invention includes the steps of receiving data transmitted from a client by a data component execution service API (S100); Transmitting the data transmitted from the client to the data component unit according to the development environment recognized by the server (S101); Receiving the data by the data component, performing parameter processing, and loading the data into a memory (S102); Matching (S103) a parameter loaded with the data component unit and a related method; Requesting, by the data component, a source of the related method from a repository via an API (S104); Obtaining, by the data component unit, a source of a related method from the repository (S105); Performing, by the data component unit, parsing and caching the source of the related method (S106); The step of executing the related method by the data component (S107); Encoding an output parameter, which is a result of executing the related method, by the data component (S108); The configuration includes a step (S109) of transmitting the output parameter encoded by the data component unit to the data component execution service API (S109).
도 6은 본 발명의 서버 사이드 데이터컴포넌트의 실행 방법의 다른 실시예를 설명하기 위한 흐름도이다. 도 6에 도시한 바와 같이 본 발명의 서버 사이드 데이터 컴포넌트 실행 방법은, 개발도구에서 개발된 데이터컴포넌트의 적어도 하나의 메소드를 리포지토리에 저장시키는 단계(S200)와; 상기 리포지토리가 개발도구에서 전송되어 온 데이터컴포넌트의 메소드를 저장시키는 단계(S201)와; 데이터 컴포넌트 실행서비스 API가 클라이언트로부터 개발 요구 데이터를 수신하여 데이터 컴포넌트부로 메소드 실행 요청을 전송하는 단계(S202)와; 상기 데이터 컴포넌트부의 메소드 실행 엔진이 수신된 입력 파라미터를 메모리에 적재시키는 단계(S203)와; 상기 메소드 실행엔진이 API를 사용하여 데이터 컴포넌트의 메소드 소스를 리포지토리로 요청하는 단계(S204)와; 상기 리포지토리가 데이터 컴포넌트의 메소드 소스를 데이터 컴포넌트부의 메소드 실행엔진으로 전송하는 단계(S205)와; 상기 메소드 실행엔진이 상기 메소드 소스의 파싱 및 캐싱을 수행하는 단계(S206)와; 상기 메소드 실행엔진이 해당 메소드를 실행시키는 단계(S207)와; 상기 메소드 실행엔진이 메소드 실행 결과인 출력 파라미터를 인코딩하는 단계(S208)와; 상기 메소드 실행엔진이 메소드 실행결과를 데이터 컴포넌트 실행서비스 API로 반환하는 단계(S209)를 포함하는 구성이다. 6 is a flowchart illustrating another embodiment of a method of executing a server-side data component according to the present invention. As shown in FIG. 6, the method for executing a server-side data component of the present invention includes the step of storing at least one method of a data component developed in a development tool in a repository (S200); Storing the method of the data component transmitted from the repository from the development tool (S201); Receiving, by the data component execution service API, development request data from the client and transmitting a method execution request to the data component unit (S202); A step (S203) of loading the received input parameter into a memory by the method execution engine of the data component unit; The method execution engine requesting a method source of a data component to a repository using an API (S204); Transmitting, by the repository, a method source of a data component to a method execution engine of a data component unit (S205); The method execution engine parsing and caching the method source (S206); The method execution engine executing the method (S207); Encoding an output parameter resulting from the method execution by the method execution engine (S208); It is a configuration including the step (S209) of the method execution engine returning the method execution result to the data component execution service API.
도 7은 본 발명의 서버 사이드 데이터컴포넌트의 실행 방법의 실시예의 주요부인 메소드 개발 방법의 실시예를 설명하기 위한 흐름도이다. 도 7에 도시한 바와 같이, 자바(JAVA) 또는 닷넷(.NET) 환경의 다양한 공개 API 적재소에 접속하는 단계(S300)와: 필요 개발 요소에 따라 상기 공개 API 적재소에서 적어도 하나의 API를 추출하여 적어도 하나의 개발 API를 생성시키는 단계(S301)와; 상기 적어도 하나의 개발 API의 적재소에 접속하여 필요 개발 요소에 따라 상기 적어도 하나의 개발 API를 추출하여 적어도 하나의 메소드를 생성시키는 단계(S302)를 포함하는 구성이다.7 is a flowchart illustrating an embodiment of a method development method, which is a main part of an embodiment of a method of executing a server-side data component of the present invention. As shown in FIG. 7, the step of accessing various public API loading stations in a Java (JAVA) or .NET environment (S300), and: at least one API in the public API loading station according to a necessary development factor. Extracting and generating at least one development API (S301); The configuration includes a step (S302) of generating at least one method by accessing the loading place of the at least one development API and extracting the at least one development API according to a necessary development element.
이상에서 설명한 본 발명의 실시예는 본 발명의 다양한 실시예의 일부에 불과하다. 본 발명의 멀티 데이터 컴포넌트를 이용하여 다양한 개발 환경 및 사용환경에 적응시키고, 간략한 단계를 거쳐 빠르게 다양한 메소드를 개발하여, 개발, 유지보수 및 사용에 빠르게 대응할 수 있는 기술적 사상에 포함하는 다양한 실시예가 본 발명의 보호범위에 포함되는 것은 당연하다.The embodiments of the present invention described above are only some of the various embodiments of the present invention. Various embodiments included in the technical idea capable of rapidly responding to development, maintenance, and use by adapting to various development and use environments using the multi-data component of the present invention and rapidly developing various methods through simple steps. It is natural to be included in the scope of protection of the invention.
10: 데이터컴포넌트 실행서비스 API
20: API부
100: 제1 데이터컴포넌트부
200: 제2 데이터컴포넌트부
300: 데이터베이스부10: Data component execution service API
20: API part
100: first data component unit
200: second data component unit
300: database unit
Claims (10)
상기 API부를 매개로 데이터를 제공하거나 저장시키기 위한 데이터베이스부를 더 포함하는 것을 특징으로 하는 서버 사이드 데이터 컴포넌트.The method according to claim 1 or 2,
And a database unit for providing or storing data through the API unit.
상기 데이터베이스부는 클라이언트의 유저단말에 데이터를 제공하기 위한 트랜잭션 DB와; 클라이언트의 개발자단말에 데이터를 제공하거나 저장시키기 위한 리포지토리를 포함하는 것을 특징으로 하는 서버 사이드 데이터 컴포넌트.The method of claim 3,
The database unit includes a transaction DB for providing data to a user terminal of a client; A server-side data component comprising a repository for providing or storing data to a developer terminal of a client.
상기 제1 데이터컴포넌트부는 닷넷(.NET) 환경의 메소드 실행을 위한 구성이고, 상기 제2 데이터컴포넌트부는 자바(JAVA) 환경의 메소드 실행을 위한 구성인 것을 특징으로 하는 서버 사이드 데이터 컴포넌트.The method according to claim 2,
The first data component is a component for executing a method in a .NET environment, and the second data component is a component for executing a method in a Java (JAVA) environment.
상기 메소드부의 다양한 메소드는 자바스크립트로 구성된 것을 특징으로 하는 서버 사이드 데이터 컴포넌트.The method according to claim 1 or 2,
Server-side data component, characterized in that the various methods of the method unit are composed of JavaScript.
상기 메소드 실행은 코드 캐싱을 이용하여 수행되는 것을 특징으로 하는 서버 사이드 데이터 컴포넌트.The method according to claim 1 or 2,
Server-side data component, characterized in that the method execution is performed using code caching.
상기 적어도 하나의 메소드는,
자바(JAVA) 또는 닷넷(.NET) 환경의 다양한 공개 API 적재소에 접속하는 단계와: 필요 개발 요소에 따라 상기 공개 API 적재소에서 적어도 하나의 API를 추출하여 적어도 하나의 개발 API를 생성시키는 단계와; 상기 적어도 하나의 개발 API의 적재소에 접속하여 필요 개발 요소에 따라 상기 적어도 하나의 개발 API를 추출하여 적어도 하나의 메소드를 생성시키는 단계를 포함하는 것을 특징으로 하는 서버 사이드 데이터 컴포넌트의 실행 방법.The method of claim 9,
The at least one method,
A step of accessing various public API loading stations in a Java (JAVA) or .NET environment, and: generating at least one development API by extracting at least one API from the public API loading station according to required development factors Wow; And generating at least one method by accessing the loading place of the at least one development API and extracting the at least one development API according to a necessary development element.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190147297A KR102258241B1 (en) | 2019-11-18 | 2019-11-18 | Server side data component for support of development and management and method for perform the data component |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190147297A KR102258241B1 (en) | 2019-11-18 | 2019-11-18 | Server side data component for support of development and management and method for perform the data component |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210060689A true KR20210060689A (en) | 2021-05-27 |
KR102258241B1 KR102258241B1 (en) | 2021-06-01 |
Family
ID=76135480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190147297A KR102258241B1 (en) | 2019-11-18 | 2019-11-18 | Server side data component for support of development and management and method for perform the data component |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102258241B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040050463A (en) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | Appratus and Method for Enterprise JavaBean Component Testing |
KR20050065638A (en) * | 2002-10-28 | 2005-06-29 | 제이지알 어퀴지션 인코퍼레이티드 | Transparent ejb support and horizontal data partitioning |
US20080168037A1 (en) * | 2007-01-10 | 2008-07-10 | Microsoft Corporation | Integrating enterprise search systems with custom access control application programming interfaces |
KR100884435B1 (en) * | 2007-12-05 | 2009-02-19 | 정안모 | A Method for Decoupling Service Components from Application-Specific Business Entities |
KR20120076836A (en) | 2010-12-30 | 2012-07-10 | (주)이지피티테크 | Method for matching packet data with method in server/client communication in electronic document control conference |
-
2019
- 2019-11-18 KR KR1020190147297A patent/KR102258241B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050065638A (en) * | 2002-10-28 | 2005-06-29 | 제이지알 어퀴지션 인코퍼레이티드 | Transparent ejb support and horizontal data partitioning |
KR20040050463A (en) * | 2002-12-10 | 2004-06-16 | 한국전자통신연구원 | Appratus and Method for Enterprise JavaBean Component Testing |
US20080168037A1 (en) * | 2007-01-10 | 2008-07-10 | Microsoft Corporation | Integrating enterprise search systems with custom access control application programming interfaces |
KR100884435B1 (en) * | 2007-12-05 | 2009-02-19 | 정안모 | A Method for Decoupling Service Components from Application-Specific Business Entities |
KR20120076836A (en) | 2010-12-30 | 2012-07-10 | (주)이지피티테크 | Method for matching packet data with method in server/client communication in electronic document control conference |
Also Published As
Publication number | Publication date |
---|---|
KR102258241B1 (en) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840429B (en) | Intelligent contract deployment and calling method and device | |
CN110351325B (en) | Data processing method and related equipment | |
US20100205475A1 (en) | Meta-data driven, service-oriented architecture (soa)-enabled, application independent interface gateway | |
CN111274045B (en) | Multi-platform docking method and device, computer equipment and readable storage medium | |
CN111460506A (en) | Data access control method and device | |
US10754628B2 (en) | Extracting web API endpoint data from source code to identify potential security threats | |
CN110647316B (en) | Method and device for generating universal business object, computer equipment and storage medium | |
US6766350B1 (en) | Shared management of data objects in a communication network | |
CN111443901B (en) | Java reflection-based service expansion method and device | |
CN111143446A (en) | Data structure conversion processing method and device of data object and electronic equipment | |
CN111460241A (en) | Data query method and device, electronic equipment and storage medium | |
CN105094787B (en) | Method and device for processing enterprise internet application | |
CN113282591A (en) | Authority filtering method and device, computer equipment and storage medium | |
CN108595160B (en) | Method and storage medium for calling native object by JS | |
KR102258241B1 (en) | Server side data component for support of development and management and method for perform the data component | |
CN111488286B (en) | Method and device for independently developing Android modules | |
CN115150392A (en) | Remote file copying method, system, computing equipment and storage medium | |
CN114969215A (en) | Method for automatically loading data in batches on data warehouse source layer and related equipment | |
CN113468446A (en) | Method, system and equipment for supporting identification of third-party two-dimensional code data | |
CN111881220A (en) | Data operation method and device under list storage, electronic equipment and storage medium | |
CN112130860A (en) | JSON object analysis method and device, electronic device and storage medium | |
CN111177183B (en) | Method and device for generating database access statement | |
RU2385532C2 (en) | Wireless communication device | |
CN112860309B (en) | Static library calling method, device, equipment and storage medium based on iOS | |
CN100512136C (en) | Command processing in a telecommunications network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |