KR100521415B1 - XML-based message switching apparatus and method for distributed application data - Google Patents
XML-based message switching apparatus and method for distributed application data Download PDFInfo
- Publication number
- KR100521415B1 KR100521415B1 KR10-2003-0097676A KR20030097676A KR100521415B1 KR 100521415 B1 KR100521415 B1 KR 100521415B1 KR 20030097676 A KR20030097676 A KR 20030097676A KR 100521415 B1 KR100521415 B1 KR 100521415B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- xml
- information
- interworking
- web service
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION
본 발명은 분산애플리케이션 데이터 연동을 위한 엑스엠엘 기반 메시지 스위칭 장치 및 그 방법에 관한 것임.The present invention relates to an XML-based message switching device and method for distributed application data interworking.
2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention
본 발명은, 기업 환경을 위한 분산애플리케이션 개발에 있어, 상호 연동하는 여러 시스템 간의 주고받는 XML 기반 데이터들의 스위칭을 담당함으로써 XML 데이터를 보다 편리하게 정의, 갱신, 삭제하고 이러한 정보의 수신/수신해지를 용이하게 하는 XML 기반 메시지 스위칭 장치 및 그 방법을 제공하고자 함.The present invention, in the development of distributed applications for the corporate environment, is responsible for the switching of XML-based data exchanged between the interoperable systems to more easily define, update, delete XML data and receive / receive such information An object of the present invention is to provide an XML-based message switching device and a method thereof.
3. 발명의 해결방법의 요지 3. Summary of Solution to Invention
본 발명은, 분산애플리케이션 데이터 연동을 위한 메시지 스위칭 장치에 있어서, 정보 공유 관리시스템 및 웹서비스를 통한 연동시스템과의 엑스엠엘(XML) 기반의 메시지 정의 및 구독, 메시지 호출을 위한 웹서비스 인터페이싱수단; 상기 연동시스템으로부터 메시지큐에 XML 메시지가 수신되었는지를 감시하기 위한 메시지큐 감시수단; 상기 관리시스템으로부터 수신된 XML 메시지의 정의 및 구독에 관한 정보를 저장하고 있는 저장수단; 상기 XML 메시지 정의 정보(XPath 결정키 값)를 바탕으로, 상기 연동시스템으로부터 웹서비스를 통해 혹은 상기 메시지큐에 수신된 XML 메시지를 식별하기 위한 메시지 식별수단; 상기 식별된 XML 메시지에 메시지 정의가 되어 있는 경우, 헤더 존재 유무를 판단하여 헤더정보로서 메시지 흐름을 추적하기 위한 메시지 추적 처리수단; 상기 XML 메시지 구독 정보를 바탕으로, 상기 식별된 XML 메시지를 구독하고자 등록된 목적지를 탐색하기 위한 메시지 구독 식별수단; 상기 XML 메시지의 처리 이력을 기록하기 위한 메시지 로깅 처리수단; 목적지가 구별된 XML 메시지를 해당 목적지로 전달하기 위한 메시지 전달 처리수단을 포함함.The present invention provides a message switching device for distributed application data interworking, comprising: an XML-based message definition and subscription with an information sharing management system and an interworking system via a web service, and a web service interfacing means for calling a message; Message queue monitoring means for monitoring whether an XML message has been received in the message queue from the companion system; Storage means for storing information on definitions and subscriptions of XML messages received from the management system; Message identification means for identifying an XML message received from the companion system via a web service or in the message queue based on the XML message definition information (XPath decision key value); Message tracking processing means for determining whether a header exists and tracking a message flow as header information when the identified XML message has a message definition; Message subscription identifying means for searching for a destination registered to subscribe to the identified XML message based on the XML message subscription information; Message logging processing means for recording a processing history of the XML message; Includes message delivery processing means for delivering an XML message with a distinct destination to that destination.
4. 발명의 중요한 용도4. Important uses of the invention
본 발명은 XML 기반 메시지 스위칭 장치 등에 이용됨.The present invention is used for XML-based message switching device.
Description
본 발명은 분산애플리케이션 데이터 연동을 위한 엑스엠엘(XML : eXtensible Markup Language) 기반 메시지 스위칭 장치 및 그 방법에 관한 것으로, 특히 기업 환경을 위한 분산애플리케이션 개발에 있어, 상호 연동하는 여러 시스템 간의 주고받는 XML 기반 데이터들의 스위칭을 담당함으로써 XML 데이터를 보다 편리하게 정의, 갱신, 삭제하고 이러한 정보의 수신/수신해지를 용이하게 하는 XML 기반 메시지 스위칭 장치 및 그 방법에 관한 것이다. The present invention relates to a message switching device and method based on XML (XML: eXtensible Markup Language) for distributed application data interworking. In particular, in the development of distributed applications for an enterprise environment, XML-based communication between various systems interworking with each other is provided. The present invention relates to an XML-based message switching device and method for easily defining, updating, and deleting XML data and facilitating reception / reception of such information by in charge of switching data.
기존의 통신 미들웨어는 클라이언트와 서버를 구현함에 있어, 이들이 서로 밀접하게 연관되어 있으므로 이들을 함께 컴파일해야 한다. 또한, 기존의 통신 미들웨어는 설계시에 인터페이스를 설계하고, 이를 코바나 DCOM(Distributed Component Object Model) 등의 방식으로 구현해야 한다. 따라서, 이렇게 구현된 통신모듈은 관련된 연동 모듈과 밀접한 연관성을 가지고 있으므로, 정보를 전송하는 컴포넌트/시스템과 수신하는 컴포넌트/시스템을 설계함에 있어 자유롭게 시스템간의 연동을 만들어 낼 수 없는 문제점이 있다.Traditional communication middleware implements clients and servers, and since they are closely related to each other, they must be compiled together. In addition, the existing communication middleware must design the interface at the time of design, and implement it in a manner such as Kovar or Distributed Component Object Model (DCOM). Therefore, the communication module implemented as described above has a close relationship with the associated interworking module, and thus there is a problem in that the design of the component / system for transmitting information and the receiving component / system cannot freely create interworking between systems.
종래 기술과 관련하여 "데이터베이스 질의어와 밀결합된 XML 질의어를 지원하는 XML 문서 검색 장치 및 그 방법"(대한민국 공개특허공보 10-0054605, 공개일자 2003.7.2)을 살펴보면 다음과 같다.Regarding the related art, an "XML document retrieval apparatus and method for supporting XML query words tightly coupled with a database query word" (Republic of Korea Patent Publication No. 10-0054605, published date 2003.7.2) are as follows.
이 특허는 외부 장치를 통해 데이터베이스 질의어와 XML 질의어가 밀결합된 형태의 통합질의어를 입력받고, 상기 통합질의어를 분석하여 그 통합질의어에 대한 구문트리를 생성하는 구문분석모듈과, 상기 구문분석모듈에서 생성된 구문트리를 이용하여 통한 XML 질의어에서 요구하는 질의를 수행하는 질의처리모듈과, 상기 질의처리모듈의 질의 수행결과를 데이터베이스 엔진에서 요구하는 질의를 수행하는 질의처리모듈과, 상기 질의처리모듈의 질의 수행결과를 데이터베이스 엔진에서 처리하기에 적합한 형태로 변환하는 결과처리모듈과, 상기 구문분석모듈, 질의처리모듈 및 결과처리모듈을 제어하고, 데이터베이스 엔진과의 인터페이스를 수행하는 검색관리모듈을 포함하는 XML 문서 검색장치에 의해 XML 문서를 검색함으로써, 대량의 XML 데이터와 기존 데이터를 용이하게 연동하여 사용할 수 있고, XML 질의 처리 성능을 최적화할 수 있다는 특징이 있다.This patent is a syntax analysis module for receiving an integrated query in which a database query word and an XML query word are tightly coupled through an external device, and analyzing the integrated query to generate a syntax tree for the integrated query. A query processing module which executes a query required by an XML query word using the generated syntax tree, a query processing module which performs a query requesting a result of the query processing by the database engine, and a query processing module of the query processing module. A result processing module for converting a query execution result into a form suitable for processing by a database engine, and a search management module for controlling the syntax analysis module, the query processing module, and the result processing module, and performing an interface with a database engine. XML documents can be retrieved by the XML document retrieval device Existing data can be easily interlocked and XML query processing performance can be optimized.
그러나, 이는 대량의 XML 데이터에 대한 질의를 목적으로 DB를 사용하였으므로, XML 문서 식별능력을 향상시킨 것일 뿐, 서로 다른 XML 문서에 대해서 XPath 기술을 이용해서 식별을 보다 간편하게 해결해 줄 수는 없는 문제점이 있다.However, this is because the DB is used to query a large amount of XML data. Therefore, it only improves the XML document identification and cannot solve the identification easily using XPath technology for different XML documents. have.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 기업 환경을 위한 분산애플리케이션 개발에 있어, 상호 연동하는 여러 시스템 간의 주고받는 XML 기반 데이터들의 스위칭을 담당함으로써 XML 데이터를 보다 편리하게 정의, 갱신, 삭제하고 이러한 정보의 수신/수신해지를 용이하게 하는 XML 기반 메시지 스위칭 장치 및 그 방법을 제공하는데 그 목적이 있다. The present invention has been proposed to solve the above problems, and in the development of distributed applications for the corporate environment, it is more convenient to define the XML data by taking care of switching the XML-based data exchanged between the interoperable systems An object of the present invention is to provide an XML-based message switching device and a method for easily updating, deleting, and receiving / receiving such information.
상기 목적을 달성하기 위한 본 발명은, 분산애플리케이션 데이터 연동을 위한 메시지 스위칭 장치에 있어서, 정보 공유 관리시스템 및 웹서비스를 통한 연동시스템과의 엑스엠엘(XML) 기반의 메시지 정의 및 구독, 메시지 호출을 위한 웹서비스 인터페이싱수단; 상기 연동시스템으로부터 메시지큐에 XML 메시지가 수신되었는지를 감시하기 위한 메시지큐 감시수단; 상기 관리시스템으로부터 수신된 XML 메시지의 정의 및 구독에 관한 정보를 저장하고 있는 저장수단; 상기 XML 메시지 정의 정보(XPath 결정키 값)를 바탕으로, 상기 연동시스템으로부터 웹서비스를 통해 혹은 상기 메시지큐에 수신된 XML 메시지를 식별하기 위한 메시지 식별수단; 상기 식별된 XML 메시지에 메시지 정의가 되어 있는 경우, 헤더 존재 유무를 판단하여 헤더정보로서 메시지 흐름을 추적하기 위한 메시지 추적 처리수단; 상기 XML 메시지 구독 정보를 바탕으로, 상기 식별된 XML 메시지를 구독하고자 등록된 목적지를 탐색하기 위한 메시지 구독 식별수단; 상기 XML 메시지의 처리 이력을 기록하기 위한 메시지 로깅 처리수단; 목적지가 구별된 XML 메시지를 해당 목적지로 전달하기 위한 메시지 전달 처리수단을 포함하여 이루어진 것을 특징으로 한다.The present invention for achieving the above object, in the message switching device for distributed application data interworking, XM (XML) -based message definition and subscription with the information sharing management system and the interworking system through a web service, message calling Web service interfacing means for; Message queue monitoring means for monitoring whether an XML message has been received in the message queue from the companion system; Storage means for storing information on definitions and subscriptions of XML messages received from the management system; Message identification means for identifying an XML message received from the companion system via a web service or in the message queue based on the XML message definition information (XPath decision key value); Message tracking processing means for determining whether a header exists and tracking a message flow as header information when the identified XML message has a message definition; Message subscription identifying means for searching for a destination registered to subscribe to the identified XML message based on the XML message subscription information; Message logging processing means for recording a processing history of the XML message; Characterized in that it comprises a message delivery processing means for delivering a distinguished XML message to the destination.
또한, 본 발명은, 분산애플리케이션 데이터 연동을 위한 메시지 스위칭 방법에 있어서, 연동시스템간에 주고 받을 데이터의 구조를 결정하여, 주요 데이터 구조를 뽑아 XML 메시지 정의 정보 및 XML 메시지 구독 정보를 등록하는 메시지정보 등록단계; 상기 XML 메시지 정의 정보(XPath 결정키 값)를 바탕으로, 상기 연동시스템으로부터 웹서비스를 통해 혹은 메시지큐에 수신된 XML 메시지를 식별하는 메시지 식별단계; 상기 식별된 XML 메시지에 메시지 정의가 되어 있는 경우, 헤더 존재 유무를 판단하여 헤더정보로서 메시지 흐름을 추적하는 메시지 추적단계; XML 메시지 구독 정보를 바탕으로, 상기 식별된 XML 메시지를 구독하고자 등록된 목적지를 탐색하기 위한 메시지 구독 식별단계; 및 목적지가 구별된 XML 메시지를 해당 목적지로 전달하는 메시지 전달단계를 포함하여 이루어진 것을 특징으로 한다.In addition, the present invention, in the message switching method for the distributed application data interworking, determining the structure of the data to be exchanged between the interworking system, extracting the main data structure to register the message information registration information and XML message subscription information XML registration step; A message identification step of identifying an XML message received from the companion system through a web service or a message queue based on the XML message definition information (XPath decision key value); A message tracking step of determining whether a header exists and tracking a message flow as header information when the identified XML message has a message definition; A message subscription identification step for searching for a destination registered to subscribe to the identified XML message based on XML message subscription information; And a message delivery step of delivering the XML message distinguished from the destination to the corresponding destination.
따라서, 본 발명은 분산 응용 프로그램 개발 시에 메시지 기반 상호 정보 연동에 있어서, 정보의정의 및 갱신과 이를 전송 및 수신하는 시스템들간의 개발을 용이하게 하는데 그 목적이 있다. 기존의 통신 미들웨어는 클라이언트와 서버의 구현에 있어서 밀접하게 연관되어 함께 컴파일해야 하는 반면, 본 발명은 완전히 독립적으로 상호 연동 컴포넌트 혹은 시스템간에 정보를 스위칭하는 시스템이 구현되고 운용된다. 따라서, 정보를 전송하는 컴포넌트/시스템과 수신하는 컴포넌트/시스템이 독립적으로 설계 및 구현될 수 있으므로 보다 더 자유롭게 시스템간의 연동을 만들어낼 수 있다.Accordingly, an object of the present invention is to facilitate the development of information definition and update and systems for transmitting and receiving information in message-based mutual information interworking when developing distributed applications. Existing communication middleware has to be closely related to the implementation of the client and server, and compiled together, whereas the present invention implements and operates a system for switching information between interworking components or systems completely independently. Therefore, since the component / system for transmitting information and the component / system for receiving information can be designed and implemented independently, it is possible to create interworking between systems more freely.
이와 같이, 본 발명은 기존의 코바나 DCOM과 같은 기술들로 대표되는 통신 미들웨어와 밀접한 관련성이 있다. 따라서, 본 발명은 연동 모듈과 무관하게 메시지를 정의하고 메시지 구독을 정할 수 있다. 또한, XML 웹서비스를 기반으로 XMSS가 구현되므로, XMSS를 통해 연동하게 되는 모든 시스템들은 XML이라는 유연한 데이터 표준 형식을 사용할 수 있고, 웹이라는 확장성 많은 구조를 이용하여 비교적 가볍게 구현될 수 있다. 종래의 XML 문서 식별 방법은 XSD(XML Schema Definition)에 기반하여 이루어지나, 본 발명은 메시지 정의에 포함된 "XPath 결정키"를 이용하여 XPath구문에 의해 리턴되는 XML요소가 있을 경우에 해당 메시지로 식별하도록 하는 구조를 가지고 있으로 이는 XSD보다 더 간단하고, 편리하게 구현될 수 있는 특징이 있다.As such, the present invention is closely related to communication middleware represented by technologies such as existing COVA or DCOM. Therefore, the present invention can define a message and subscribe to a message regardless of the interworking module. In addition, since XMSS is implemented based on XML web service, all systems interworking through XMSS can use a flexible data standard format called XML and can be implemented relatively lightly using a scalable structure of web. Conventional XML document identification method is based on the XML Schema Definition (XSD), but the present invention uses the "XPath decision key" included in the message definition, if there is an XML element returned by the XPath statement to the message It has a structure to identify it, which is simpler than XSD and has a feature that can be conveniently implemented.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1 은 본 발명에 따른 XML 기반 메시지 스위칭 장치가 외부 시스템과 연동된 환경을 보여주는 일예시도이다. 1 is an exemplary view illustrating an environment in which an XML-based message switching device is interworked with an external system according to the present invention.
XML 기반 메시지 스위칭 장치(XMSS)(20)는 연동시스템(12)간에 주고 받을 데이터의 구조를 결정하여 주요 데이터 구조를 뽑아 XPath 구문으로 XML 문서의 식별기준을 정하고, 각 연동 정보마다 XPath 식별기준을 정의한 후 이를 기준으로 연동정보를 식별하여, 연동 정보로 정의된 정보들을 수신하고자 하는 시스템에서 해당 정보 수신을 등록해 둔 경우, 식별된 연동 정보를 원하는 연동시스템(12)에 전달한다. 이에 대한 보다 상세한 설명은 도 2 및 도 3에서 후술하기로 한다. The XML-based message switching device (XMSS) 20 determines the structure of the data to be exchanged between the interworking system 12, extracts the main data structure, sets the XML document identification criteria using XPath syntax, and sets the XPath identification criteria for each interworking information. After defining and identifying the interlocking information on the basis of this, if the reception of the corresponding information is registered in the system to receive the information defined as the interlocking information, it transmits the identified interlocking information to the desired interlocking system 12. A more detailed description thereof will be described later with reference to FIGS. 2 and 3.
관리시스템(11)은 여러 시스템간의 정보 공유를 관리하며, 일반적으로 사용자 인터페이스(UI : User Interface) 시스템의 형태로 구현되며, 이 시스템을 통해서 상호 주고 받을 데이터를 정의하게 된다. 이때, 데이터는 XML 문서형태로 정의되며, 메시지 정의시에 XML XSD를 이용한 Validation 확인을 옵션으로 둘 수 있다.The management system 11 manages information sharing among various systems, and is generally implemented in the form of a user interface (UI) system, and defines data to be transmitted and received through this system. At this time, the data is defined in the form of an XML document, and when defining a message, validation confirmation using XML XSD may be an option.
관리시스템(11)은 메시지 정의의 등록/변경/삭제/조회를 웹서비스 인터페이스부(21)를 통해 구현한다. The management system 11 implements the registration / change / delete / query of the message definition through the web service interface unit 21.
웹서비스 인터페이스부(21)는 여러 웹서비스 인터페이스들 중의 하나로, 메시지 정의의 등록/변경/삭제/조회 기능을 가지며, 이렇게 정의된 메시지들을 수신할 메시지 구독의 등록/변경/삭제/조회 기능을 갖는다.The web service interface unit 21 is one of several web service interfaces, and has a function of registering / modifying / deleting / looking up a message definition and having a function of registering / modifying / deleting / looking up a message subscription to receive the defined messages. .
XMSS 웹서비스 처리부(23)는 웹서비스 인터페이스의 구현체 모듈로서, 본 모듈에서는 관리시스템(11)에서 전달한 메시지 정의 및 구독에 관한 정보를 해석하여 메시지 정의 정보 저장부(24) 및 메시지 구독 정보 저장부(25)에 적절한 형태로 저장/변경/삭제하는 기능을 수행한다. 이 메시지 정의 정보 저장부(24) 및 메시지 구독 정보 저장부(25)는 분리 구성될 수 있을 뿐만 아니라, 일체형으로 구현 가능하다. The XMSS web service processing unit 23 is an implementation module of the web service interface. In this module, the message definition information storage unit 24 and the message subscription information storage unit interpret the information related to the message definition and subscription delivered from the management system 11. Perform the function of saving / modifying / deleting in the appropriate form in (25). The message definition information storage unit 24 and the message subscription information storage unit 25 may be separately configured, and may be integrally implemented.
메시지 정의 정보 저장부(24)는 메시지 정의를 담고 있는 객체로서, 데이터베이스, 메모리, 일반 파일의 형태로 메시지가 저장될 수 있다. 이때, 메시지 정의에 포함되는 내용은 다음과 같다.The message definition information storage unit 24 is an object containing a message definition and may store a message in the form of a database, a memory, or a general file. At this time, the contents included in the message definition are as follows.
(1) 메시지 송신자명: 메시지를 발생시키는 시스템명 (선택적 입력)(1) Message sender name: Name of the system that generates the message (optional input)
(2) 메시지 유형: 메시지를 분류하는 유형(선택적 입력)(2) Message type: The type of message classification (optional input)
(3) 메시지 식별자: 메시지를 유일하게 구별하는 식별자(필수 입력)(3) Message identifier: An identifier that uniquely identifies the message (mandatory input)
(4) 메시지 설명: 메시지의 설명(선택적 입력)(4) Message description: description of the message (optional input)
(5) 메시지 구별을 위한 XPath 결정키: 메시지를 식별하기 위한 XPath 구문. 본 결정키값을 XML데이터에 적용하여 추출되는 요소가 있을 경우에 해당 메시지로 인식함. (필수 입력)(5) XPath decision key for distinguishing messages: XPath syntax for identifying messages. If there is an element extracted by applying this decision key value to XML data, it is recognized as a relevant message. (Required)
<XPath 결정키값 예><Example of XPath decision key value>
① 두 XML 요소와 값을 기준으로 메시지를 식별하고자 할 경우:① If you want to identify a message based on two XML elements and values:
//serviceOrderNo[. = '1' and ../ContractType[. = '1234']] // serviceOrderNo [. = '1' and ../ ContractType [. = '1234']]
② 하나의 XML 요소만으로 메시지를 식별하고자 할 경우② If you want to identify message with only one XML element
//ClaimRequestForm // ClaimRequestForm
③ 여러 복잡한 구조의 XML요소 및 속상값을 기준으로 식별하고자 할 경우③ When trying to identify based on XML elements and upset values of complex structure
//root[ ../sub and ../sub2 and ../cost[@value and @date]] // root [../sub and ../sub2 and ../cost[@value and @date]]
(6) 메시지 schema: 해당 메시지의 XSD. 메시지의 validation을 위해 입력함. (선택적 입력)(6) Message schema: XSD of the message. Input for validation of message. (Optional input)
메시지 구독 정보 저장부(25)는 메시지 구독정보를 담고 있는 객체로서, 데이터베이스, 메모리, 일반 파일의 형태로 메시지가 저장될 수 있다. 이때, 메시지 구독 정보는 다음과 같다.The message subscription information storage unit 25 is an object containing message subscription information and may store a message in the form of a database, a memory, or a general file. At this time, the message subscription information is as follows.
(1) 메시지 구독 시스템명 : 메시지를 구독(수신)하고자 하는 시스템명(필수 입력)(1) Message subscription system name: System name to subscribe (receive) the message (required)
(2) 메시지 구독 리스트 : 구독(수신)하고자하는 메시지 식별자의 리스트(필수 입력)(2) Message subscription list: list of message identifiers to subscribe (receive) (mandatory input)
(3) 메시지 수신 방법 : 큐를 이용할지, 웹서비스를 이용할 지 여부. 웹서비스 이용의 경우에 해당 웹서비스의 참조경로를 반드시 입력해야 한다(필수 입력).(3) How to receive messages: Whether to use queue or web service. In the case of using a web service, the reference path of the web service must be entered (mandatory).
연동시스템(12)은 상호 연관성이 있는 시스템들로 메시지를 발생시키기도 하고, 자신이 원하는 메시지를 수신하기도 한다. 이때, 메시지큐(13)를 통해서 수신할 경우에는 메시지큐(13)를 모니터링하는 구조(메시지큐(13) 감시 모듈)를 포함하고, 웹서비스를 통해 수신받을 경우에는 해당 웹서비스를 수신받기 위한 웹서비스 수신부(16)를 구비한다. 그러나, 기본은 메시지큐를 이용하는 방식이다. 이는 메시지 기반 통신이 주는 장점을 이용하기 위함이다. The interworking system 12 may generate a message to interrelated systems, or may receive a desired message. At this time, when receiving through the message queue 13 includes a structure for monitoring the message queue 13 (message queue 13 monitoring module), when receiving through the web service for receiving the corresponding web service A web service receiving unit 16 is provided. However, the basic is to use the message queue. This is to take advantage of the message-based communication.
웹서비스 인터페이스부(22)는 XMSS(20)가 제공하는 웹서비스 중에서 데이터를 수신을 위한 것이다. 연동시스템(12)은 XMSS의 웹서비스 인터페이스부(22)에 전달하고자 하는 XML 데이터를 담아 호출한다.The web service interface unit 22 is for receiving data among web services provided by the XMSS 20. The interworking system 12 calls the XML data to be delivered to the web service interface unit 22 of the XMSS.
메시지큐(14)는 연동시스템(12)이 XML 데이터 전송을 위해서 웹서비스 대신 메시지큐를 이용할 때 사용된다. 이 메시지큐(14)를 통해서 전송하기 위해서는 다음과 같은 정보를 입력해야 한다.The message queue 14 is used when the interworking system 12 uses the message queue instead of the web service for XML data transmission. In order to transmit through this message queue 14, the following information should be input.
(1) 메시지 제공 시스템명 : 메시지를 전송하고자 하는 시스템명. 본 이름에 대응하는 메시지큐를 XMSS가 자동으로 생성하고 감시한다(필수 입력).(1) Message providing system name: System name to which the message is to be sent. The message queue corresponding to this name is automatically created and monitored by XMSS (mandatory input).
XMSS 웹서비스 처리부(23)의 큐 감시부(231)는 해당 메시지큐(14)에 메시지가 수신되었는지를 감시하고, 메시지가 있을 경우에는 상기 웹서비스 인터페이스부(22)를 통해 수신된 XML 데이터와 같은 흐름으로 처리한다.The queue monitoring unit 231 of the XMSS web service processing unit 23 monitors whether a message has been received in the corresponding message queue 14, and, if there is a message, the XML data received through the web service interface unit 22. Process in the same flow.
데이터베이스(15)는 XMSS 웹서비스 처리부(23)를 통해 분류되고 XML 데이터의 목적지가 구별된 메시지를 전송하기 전에 로그 처리하는 곳이다. The database 15 is a place where a log is processed before transmitting a message classified through the XMSS web service processing unit 23 and the destination of XML data is distinguished.
메시지큐(13)는 XMSS 웹서비스 처리부(23)를 통해 목적지가 구별된 XML 데이터를 저장하는 곳이다. 따라서, 이 메시지큐(13)를 통해, 메시지 구독을 등록한 연동시스템(12)은 자신의 메시지큐(13)를 감시하고, 메시지가 있을 경우에는 수신하여 처리한다. 또한, 연동시스템(12)은 웹서비스 수신부(16)를 통해 웹서비스 메시지를 수신할 수 있다. The message queue 13 is a place for storing XML data of which destinations are distinguished through the XMSS web service processor 23. Accordingly, through this message queue 13, the interworking system 12 that has registered a message subscription monitors its own message queue 13 and, if there is a message, receives and processes it. In addition, the interworking system 12 may receive a web service message through the web service receiving unit 16.
도 2 는 본 발명에 따른 XML 기반 메시지 스위칭 장치의 일실시예 구성도이다.2 is a block diagram of an embodiment of an XML-based message switching device according to the present invention.
도 2에 도시된 바와 같이, 본 발명에 따른 XML 기반 메시지 스위칭 장치(XMSS)(20)는 관리시스템(11) 및 웹서비스를 통한 연동시스템(12)과의 엑스엠엘(XML) 기반의 메시지 정의 및 구독, 메시지 호출을 위한 XMSS 웹서비스 인터페이스부(21,22)와, 연동시스템(12)으로부터 메시지큐(14)에 XML 메시지가 수신되었는지를 감시하기 위한 큐 감시부(231)와, 관리시스템(11)으로부터 수신된 XML 메시지의 정의 및 구독에 관한 정보를 저장하고 있는 메시지 정의 정보 저장부(24) 및 메시지 구독 정보 저장부(25)와, XML 메시지 정의 정보(XPath 결정키 값)를 바탕으로, 연동시스템(12)으로부터 웹서비스를 통해 혹은 메시지큐(14)에 수신된 XML 메시지를 식별하기 위한 메시지 식별부(232)와, 식별된 XML 메시지에 메시지 정의가 되어 있는 경우, 헤더 존재 유무를 판단하여 헤더정보로서 메시지 흐름을 추적하기 위한 메시지 추적 처리부(233)와, XML 메시지 구독 정보를 바탕으로, 식별된 XML 메시지를 구독하고자 등록된 목적지를 탐색하기 위한 메시지 구독 식별부(234)와, XML 메시지의 처리 이력을 데이터베이스(15)에 기록하기 위한 메시지 로깅 처리부(235)와, 목적지가 구별된 XML 메시지를 해당 목적지(메시지큐(13) 또는 웹서비스 수신부(16))로 전달하기 위한 메시지 전달 처리부(236)를 포함한다. As shown in FIG. 2, the XML-based message switching device (XMSS) 20 according to the present invention defines an XML-based message with the management system 11 and the interworking system 12 through the web service. And an XMSS web service interface unit 21 and 22 for subscription and message invocation, a queue monitoring unit 231 for monitoring whether an XML message is received from the interworking system 12 to the message queue 14, and a management system. On the basis of the message definition information storage unit 24 and the message subscription information storage unit 25, which store information on the definition and subscription of the XML message received from (11), and the XML message definition information (XPath decision key value). For example, the message identification unit 232 for identifying the XML message received through the web service or the message queue 14 from the interworking system 12 and, if the message definition is defined in the identified XML message, presence or absence of a header Is determined as header information. A message tracking processor 233 for tracking the flow of the message, a message subscription identifier 234 for searching for a destination registered to subscribe to the identified XML message based on the XML message subscription information, and a processing history of the XML message. A message logging processing unit 235 for recording the data into a database 15, and a message delivery processing unit 236 for delivering an XML message distinguished from a destination to a corresponding destination (the message queue 13 or the web service receiving unit 16). It includes.
상기와 같은 구성을 갖는 본 발명에 따른 XML 기반 메시지 스위칭 장치(XMSS)의 동작을 도 3을 참조하여 보다 상세하게 살펴보기로 한다. An operation of the XML-based message switching device (XMSS) according to the present invention having the above configuration will be described in more detail with reference to FIG. 3.
먼저, 관리시스템(11)에서는 웹서비스 인터페이스부(21)를 통해 메시지 정의 정보(메시지 송신자명, 메시지 유형, 메시지 식별자, 메시지 설명, XPath 결정키 등) 및 구독에 관한 정보(즉, 메시지 구독 시스템명, 메시지 구독 리스트, 메시지 수신방법(웹서비스 호출 또는 메시지큐))를 메시지 정의 정보 저장부(24) 및 메시지 구독 정보 저장부(25)에 등록해둔다(301). 물론, 관리시스템(11)에서는 메시지 정의 정보 저장부(24) 및 메시지 구독 정보 저장부(25)에 저장된 정보의 변경, 삭제, 조회가 가능하다. First, the management system 11, through the web service interface unit 21, message definition information (message sender name, message type, message identifier, message description, XPath decision key, etc.) and information about subscription (i.e., message subscription system). The name, message subscription list, and message receiving method (web service call or message queue) are registered in the message definition information storage unit 24 and the message subscription information storage unit 25 (301). Of course, the management system 11 is capable of changing, deleting, and inquiring information stored in the message definition information storage unit 24 and the message subscription information storage unit 25.
이후, 웹서비스 인터페이스부(22)를 통해 메시지를 호출하면, 메시지 식별부(232)에서는 메시지 정의 정보 저장부(24)에 저장된 메시지 정의 정보 중에서 XPath 결정키값에 기반하여 메시지를 분석(식별)한다(302).Subsequently, when the message is called through the web service interface unit 22, the message identification unit 232 analyzes (identifies) the message based on the XPath decision key value among the message definition information stored in the message definition information storage unit 24. (302).
분석 결과, 식별된 XML 메시지에 메시지 정의가 되어 있는 경우, 메시지 추적 처리부(233)에서는 XMSS(20)에 입력된 메시지의 XMSS 헤더 존재 유무를 판단하고, 메시지 추적을 위한 처리 기능을 수행한다(303). As a result of the analysis, when the identified XML message has a message definition, the message tracking processing unit 233 determines the existence of the XMSS header of the message input to the XMSS 20, and performs a processing function for message tracking (303). ).
즉, 최초 입력된 메시지의 경우에는 헤더가 존재하지 않고, 연동시스템(12)에 입력된 뒤에 또 다시 다음 후속 처리를 위해 다른 연동시스템으로 보내지려고 XMSS(20)에 다시 입력되었을 경우에는 헤더가 붙어서 입력되게 된다(연동시스템 선택사항). 따라서, XMSS(20)는 기본적으로 헤더가 없는 XML 메시지에 대하여 다음과 같은 정보를 생성하고, 그렇게 생성된 헤더정보는 데이터베이스(15)에 저장되어 메시지의 흐름을 추적할 수 있는 기능을 제공한다.That is, the header does not exist in the case of the first input message, and if the header is input again to the XMSS 20 to be sent to another interworking system for subsequent processing after being inputted to the interlocking system 12, the header is attached. Will be entered (interlocking system optional). Accordingly, the XMSS 20 basically generates the following information on the headerless XML message, and the generated header information is stored in the database 15 to provide a function of tracking the flow of the message.
(1) 메시지 식별자 : 메시지의 식별자. 식별자가 식별되지 않는 메시지는 폐기되고, 데이터베이스에 기록만 남는다. 식별자가 없는 경우는 "Not Matched"와 같은 형태로 따로 표시한다(필수).(1) Message Identifier: Identifier of the message. Messages whose identifiers are not identified are discarded, leaving only the record in the database. If there is no identifier, it is indicated separately as "Not Matched" (mandatory).
(2) 전송 시스템명 : 메시지를 전달한 연동시스템명(메시지 정의에 기반하여 입력됨)(2) Transmission system name: name of the interlocking system that delivered the message (input based on the message definition)
(3) 전송 일시 : XMSS 시스템에 메시지가 입력된 시점(필수)(3) Date and time of transmission: The point of time when a message is entered in the XMSS system (required)
(4) 메시지 고유번호 : 메시지 식별자와는 무관하게 최초 입력된(즉, XMSS헤더가 없는) 메시지 당 하나씩 순차적으로 증가하는 일련번호로 메시지의 처리를 추적하기 위해 쓰인다.(4) Message Unique Number: A serial number that is sequentially incremented by one per message initially entered (ie, without an XMSS header), regardless of the message identifier, to track the processing of the message.
(5) 부가 정보 : 필요시에 정의한다(선택적).(5) Additional Information: Defined when necessary (optional).
분석 결과, 식별된 XML 메시지에 메시지 정의가 되어 있지 않은 경우, 메시지 분석결과를 메시지 로깅 처리부(235)로 전달하여 데이터베이스(15)에 기록만 남긴다(305).As a result of the analysis, when the message definition is not defined in the identified XML message, the message analysis result is transmitted to the message logging processing unit 235, and only the record is left in the database 15 (305).
한편, 메시지 구독 식별부(234)에서는 식별된 XML 메시지를 메시지 구독 정보 저장부(25)를 바탕으로 구독하고자 등록된 연동시스템(12)을 찾아낸다(304). 이때, 해당 구독 정보가 있을 경우에는 메시지 구독이 식별된 대로 메시지를 실제 메시지큐(13)(이때, 메시지큐(13)은 메시지 구독 등록 단계에서 이미 생성된 것임) 혹은 웹서비스 호출 등의 방식(메시지 구독을 웹서비스로 등록한 경우에, 연동시스템(12)의 웹서비스 수신부(16)가 됨)으로 메시지 전달 처리부(236)를 통해 전달 처리한다(306). 이때, XMSS(20)의 모든 XML 메시지 처리 기록을 메시지 로깅 처리부(235)로 전달하여 데이터베이스(15)에 기록할 수 있다(307).Meanwhile, the message subscription identification unit 234 finds the linked system 12 registered to subscribe to the identified XML message based on the message subscription information storage unit 25 (304). At this time, if there is the corresponding subscription information, as the message subscription is identified, the message is sent to the actual message queue 13 (in this case, the message queue 13 is already generated at the message subscription registration step) or a web service call method ( When the message subscription is registered as a web service, the message is processed through the message delivery processing unit 236 to the web service receiving unit 16 of the interworking system 12 (306). At this time, all of the XML message processing records of the XMSS 20 may be transferred to the message logging processing unit 235 and recorded in the database 15 (307).
상기 데이터베이스(15)에는 XMSS(20)의 모든 처리 기록이 보관되며, 메시지 고유번호와 시간 등으로 메시지의 흐름을 추적할 수 있다.The database 15 stores all the processing records of the XMSS 20, and can track the flow of the message by the message unique number and time.
상기한 바와 같이, 본 발명은 메시지 정의 및 메시지 구독 정보를 입력/수정하기 위한 XML 웹서비스와 XMSS의 모든 동작을 기록하는 데이터베이스, XMSS가 이용하는 메시지큐 기반구조로 구성된다. XML 웹서비스는 국제적으로 표준화된 XML과 SOAP(Simple Object Access Protocol) 프로토콜을 이용해서 웹을 통해 데이터를 주고 받는 방식이며, 메시지큐 기반구조는 MS사의 MSMQ(MicroSoft Message Queuing)를 예로 들 수가 있다. 메시지 기반 구조를 통한 메시지 전달과 수신은 메시지를 각 연동시스템들의 이상 작동 시에도 데이터를 보존하고 느슨하게 연동될 수 있도록 하는 장점이 있다.As described above, the present invention is composed of an XML web service for inputting / modifying message definition and message subscription information, a database for recording all operations of the XMSS, and a message queue infrastructure used by the XMSS. XML web service is a method of sending and receiving data through the web using internationally standardized XML and SOAP (Simple Object Access Protocol) protocol. For example, Microsoft's MSMQ (MicroSoft Message Queuing) is the message queue infrastructure. Message delivery and reception through the message infrastructure has the advantage of preserving data and loosely interworking messages even in the abnormal operation of each interworking system.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.). Since this process can be easily implemented by those skilled in the art will not be described in more detail.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.
상기한 바와 같은 본 발명은, 분산 응용 프로그램 개발시에 메시지 기반 상호 정보 연동에 있어서, 정보의 갱신 및 갱신과 이를 전송 및 수신하는 시스템들간의 개발을 용이하게 하는 것으로, 다음과 같은 효과를 얻을 수 있다. The present invention as described above, in the message-based mutual information interworking in the development of distributed applications, to facilitate the update and update of information and the development between systems that transmit and receive it, the following effects can be obtained .
첫째, 필요 시마다 메시지를 XML 형태로 자유롭게 정의하고, 이를 XMSS에 등록만 하면 되며, 특별히 XSD를 정의하지 않아도 메시지 식별이 가능하다. First, you can freely define a message in XML format whenever necessary and register it in XMSS, and you can identify the message without defining an XSD.
둘째, XPath를 통한 메시지 식별 방법은 메시지 식별 기준을 XML 요소(XML element), XML 속성(XML Attribute), 및 해당 값(XML element/attribute value)에 이르기까지 다양하게 지정할 수 있어 복잡하게는 XSD에 준하는 수준으로 메시지를 식별할 수도 있으며, 매우 간단하게 정의할 수도 있다.Second, the message identification method through XPath can specify a variety of message identification criteria ranging from XML element, XML attribute, and corresponding value (XML element / attribute value). You can identify the message at a comparable level, or you can define it very simply.
셋째, 메시지큐의 장점과 웹서비스를 이용하므로 연동시스템들이 편리하게 구현할 수 있다.Third, interworking systems can be conveniently implemented because of the advantages of Message Queuing and Web services.
또한, 본 발명은, 정보를 전송하는 컴포넌트/시스템과 수신하는 컴포넌트/시스템이 독립적으로 설계 및 구현될 수 있으므로 보다 더 자유롭게 시스템간의 연동을 만들어 낼 수 있는 효과가 있다.In addition, the present invention, since the component / system for transmitting information and the component / system for receiving can be designed and implemented independently, there is an effect that can create a linkage between systems more freely.
도 1 은 본 발명에 따른 XML 기반 메시지 스위칭 장치가 외부 시스템과 연동된 환경을 보여주는 일예시도.1 is an exemplary view illustrating an environment in which an XML-based message switching device according to the present invention is linked to an external system.
도 2 는 본 발명에 따른 XML 기반 메시지 스위칭 장치의 일실시예 구성도.2 is a block diagram of an embodiment of an XML-based message switching device according to the present invention;
도 3 은 본 발명에 따른 XML 기반 메시지 스위칭 방법에 대한 일실시예 흐름도.3 is a flowchart of an embodiment of an XML-based message switching method according to the present invention;
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
21,22 : XMSS 웹서비스 인터페이스부 23 : XMSS 웹서비스 처리부21,22: XMSS web service interface unit 23: XMSS web service processing unit
24 : 메시지 정의 정보 저장부 25 : 메시지 구독 정보 저장부24: message definition information storage unit 25: message subscription information storage unit
231 : 큐 감시부 232 : 메시지 식별부231: queue monitoring unit 232: message identification unit
233 : 메시지 추적 처리부 234 : 메시지 구독 식별부233: message tracking processor 234: message subscription identification unit
235 : 메시지 로깅 처리부 236 : 메시지 전달 처리부235: message logging processing unit 236: message delivery processing unit
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0097676A KR100521415B1 (en) | 2003-12-26 | 2003-12-26 | XML-based message switching apparatus and method for distributed application data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0097676A KR100521415B1 (en) | 2003-12-26 | 2003-12-26 | XML-based message switching apparatus and method for distributed application data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050066394A KR20050066394A (en) | 2005-06-30 |
KR100521415B1 true KR100521415B1 (en) | 2005-10-17 |
Family
ID=37257474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0097676A KR100521415B1 (en) | 2003-12-26 | 2003-12-26 | XML-based message switching apparatus and method for distributed application data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100521415B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7015944B1 (en) * | 2020-12-24 | 2022-02-03 | クーパン コーポレイション | Data processing system using distributed messaging system and its information processing method |
-
2003
- 2003-12-26 KR KR10-2003-0097676A patent/KR100521415B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7015944B1 (en) * | 2020-12-24 | 2022-02-03 | クーパン コーポレイション | Data processing system using distributed messaging system and its information processing method |
US11297156B1 (en) | 2020-12-24 | 2022-04-05 | Coupang Corp. | System for processing data using distributed messaging system and data processing method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20050066394A (en) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7428597B2 (en) | Content-based routing system and method | |
US6954934B2 (en) | Management of links to data embedded in blocks of data | |
US7391735B2 (en) | Parsing messages with multiple data formats | |
US7376670B2 (en) | System and method for provisioning presence application services | |
KR101079570B1 (en) | Discovery Web Service | |
US8453159B2 (en) | Workspace system and method for monitoring information events | |
US6847974B2 (en) | Method and apparatus for intelligent data assimilation | |
US8195757B2 (en) | Method, apparatus and computer program for controlling retention of publications | |
US7287093B2 (en) | E-business mobility platform | |
KR101004576B1 (en) | Concatenation discovery web service | |
US20040167986A1 (en) | Dynamic data-driven application integration adapters | |
US20060080120A1 (en) | Publish/subscribe mechanism for web services | |
US20080196016A1 (en) | Processing of Expressions | |
US20040187095A1 (en) | Installation of data-driven business integration adapters | |
US20080082614A1 (en) | Deferred handling of a message | |
US20090125803A1 (en) | Method, system, client and server for managing xml document | |
Garshol | TMRAP–Topic Maps Remote Access Protocol | |
KR100521415B1 (en) | XML-based message switching apparatus and method for distributed application data | |
KR100860498B1 (en) | Biological integration retrieval systmem and method thereof | |
Blumbergs et al. | Wsrf usage for BPM and CEP systems integration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120928 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20131001 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20151001 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |