KR100622131B1 - 연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 - Google Patents
연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 Download PDFInfo
- Publication number
- KR100622131B1 KR100622131B1 KR1020050060182A KR20050060182A KR100622131B1 KR 100622131 B1 KR100622131 B1 KR 100622131B1 KR 1020050060182 A KR1020050060182 A KR 1020050060182A KR 20050060182 A KR20050060182 A KR 20050060182A KR 100622131 B1 KR100622131 B1 KR 100622131B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- call
- input
- xml document
- xml
- Prior art date
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- 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
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)
- Computational Linguistics (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 연계하는 방법에 관한 것으로, 유비쿼터스 컴퓨팅 환경의 XML 데이터 스트림 처리기에서 XML 문서에 대한 연속질의(Continuous Query)의 결과로 생성되는 XML 문서를 서비스(웹서비스, JMS) 호출로 변환시킴으로써, 연속질의를 이용하여 정의한 컨텍스트(상황, 狀況)와 이에 대한 서비스(웹서비스, JMS)를 자동으로 연계할 수 있도록 하는 효과가 있다.
XML 문서, 웹서비스, JMS, 유비쿼터스, 연속질의, 컨텍스트
Description
도 1은 본 발명이 적용되어 운영될 환경의 한 예를 나타낸 구성도,
도 2는 본 발명에 따른 컨텍스트와 서비스 연계정보를 등록하는 순서도,
도 3은 본 발명에 따른 변환 및 연계를 하는 순서도,
도 4는 본 발명에 따른 컨텍스트(상황, 狀況)와 서비스를 연계할 수 있는 방법을 제공하는 XML 스키마의 구조도,
도 5는 본 발명에 따른 변환 규칙을 표현할 수 있는 XML 스키마의 구조도,
도 6은 본 발명에 따른 입력으로 사용되는 XML문서가 3개일 경우에 대한 실시예,
도 7은 본 발명에 따른 변환규칙의 실시예,
도 8은 본 발명에 따른 도 7의 변환규칙을 이용하여 만들어진 서비스 인자값의 실시예이다.
<도면의 주요부분에 대한 부호의 설명>
100 : 센서
200 : 센서 데이터 처리 엔진
202 : 센서 데이터 처리기
202a : 컨텍스트-서비스 관리자
204 : XML 스트림 데이터 처리기
본 발명은 XML 문서 처리 기법에 관한 것으로서, 보다 상세하게는 고속으로 연속되어 입력되는 XML 문서를 주기적으로 서비스(웹서비스, JMS)호출로 연계하는 방법에 관한 것이다.
최근 활발히 거론되고 있는 유비쿼터스 컴퓨팅 환경에서, 다양한 센서를 통해 입력되는 대용량 실시간 XML 정보들을 처리하는 XML 데이터 스트림 처리기는 연속질의(Continuous Query)형태로 XML 문서 스트림을 처리하며, 이의 결과로 연속질의를 만족하는 XML 문서 스트림을 생성한다. 위와 같은 환경에서 연속질의의 결과를 위치기반 서비스, 자동화된 상품 관리, 자동화된 의료 서비스, 재해 및 재난 방지 서비스, 안락한 주거 환경 조성 서비스 등과 같은 고품질 서비스로 연계하여 자동으로 호출하기 위해서는 연속되어 입력되는 XML 문서를 관련된 서비스호출로 전달해야 할 필요성이 크다 할 것이다.
웹서비스는 이기종간 객체기반 컴포넌트 통합기술로써, 서로 다른 컴퓨팅 환 경에서 사용되는 모든 애플리케이션들이 사람의 손을 거치지 않고 직접 의사소통을 할 수 있는 동적인 시스템 환경을 제공한다. 그러므로, 웹서비스는 시간과 장소에 구애받지 않고 인터넷을 통해 원하는 서비스를 제공하거나 제공받을 수 있는 장점을 제공한다. 이러한 웹서비스의 장점으로 인하여, 많은 소프트웨어 개발도구 업체들은 웹서비스관련 제품을 앞다투어 발표하고 있다.
JMS(Java Messaging Service)는 자바 애플리케이션이 광범위한 다양한 메시지 큐 서버에 표준화된 인터페이스를 통해 접근할 수 있도록 하는 API이다. JDBC가 공통 인터페이스를 통해 프로그램들이 여러 다른 데이터베이스에 접근하도록 하는 것과 흡사하다고 할 수 있다. 현재 대부분의 J2EE 컨테이너는 JMS 제공자(provider)를 포함하고 있으며, 앞으로는 모든 J2EE 컨테이너가 그러할 것이다. JMS는 또한 J2EE 컨테이너 없이도 사용될 수 있으며, 몇 개의 독립형 JMS 제공자 구현 제품이 시장에 나와 있다. 또한 EJB 2.0 사양은 새로운 유형의 EJB(메시지 구동 방식의 빈(Beans))를 소개하는데, 이는 엔터티와 세션 빈을 이용하는 메시지 구동 방식의 컴포넌트를 아주 쉽게 만들 수 있도록 해준다.
위에서 설명한 바와 같이 웹서비스와 JMS는 많은 장점을 가지고 급격히 발전하고 있으며, 이러한 상황으로 볼 때 미래의 개발환경은 이들에 대한 사용이 매우 일반적인 환경이 될 것이다. 그러므로, 연속되어 입력되는 XML 문서를 관련된 서비스로 호출하기 위해서는 웹서비스와 JMS에 대한 호출을 지원해야 할 필요성이 크다 할 수 있다.
앞에서 설명한 웹서비스가 많은 장점을 가지고 있지만, 현재는 개발 및 운영 환경의 차이로 인하여 발생 할 수 있는 문제점이 있는 것이 사실이다. 이는, 개발 및 운영환경 독립적으로 서비스를 제공하고, 서비스를 제공 받을 수 있는 환경제공을 목적으로 하는 웹서비스가 실제 개발되는 환경은 일반적으로 Java환경과 .NET환경이며, 이와 같은 상황에서는 각각의 개발환경 차이로 인하여 웹서비스가 운영환경 독립적으로 수행될 수 없는 문제를 발생 할 수 있다. 발생 될 수 있는 문제점으로는 각각 개발환경의 데이터 타입의 차이로 인한 타입 변환 오류이며, 그 예로는, .NET의 Date 타입은 타임 존(Time Zone) 정보를 가지고 있지 않지만, Java Calendar는 타임 존 정보를 가지고 있으므로, .NET과 Java사이에 Date 데이터 타입이 변환되면 +/- 24 시간의 오류가 발생 할 수 있다는 것이다. 또 다른 한 예로는, .NET환경과 XML스키마의 데이터 타입 차이로 인하여 발생하는 문제로써, .NET에서는 BigDecimal에서 정밀도(precision)를 29자리까지 지원하지만, 이것이 대응되는 XML 스키마의 decimal에서는 정밀도를 최소 18자리 이상으로 지원한다. 그러므로, 만약 XML 스키마의 decimal에서 40자리의 정밀도를 사용할 경우, 이것이 .NET 데이터 타입으로 변환되면 11자리(40-29)의 절단(truncation)을 발생시킬 수 있다. 이와 같이 데이터 타입 변환으로 인한 문제가 발생 할 수 있는 상황에서 웹서비스를 자동으로 연계하기 위해서는 데이터 타입 변환으로 인한 오류가 발생하지 않도록 하는 변환기술 개발의 필요성이 크다 할 것이다.
따라서, 본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명의 목적은, 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 연계하는 방법을 제공하며, 이때 서비스 개발환경 차이로 인하여 발생할 수 있는 데이터 타입 변환 문제를 제거할 수 있는 방법을 제공할 수 있는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 컨텍스트-서비스 관리자를 구비한 센서 데이터 처리기와, XML 스트림 데이터 처리기를 포함하는 센서 데이터 처리엔진에서, 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법에 있어서, 상기 센서 데이터 처리기가 다양한 센서로부터 입력되는 센서 데이터를 입력 받고, 상기 센서 데이터를 공통된 XML 형태의 문서로 변환하여 상기 XML 데이터 스트림 처리기에 입력하는 단계; 상기 센서 데이터 처리기가 상기 센서 데이터를 입력받아 상기 XML 데이터 스트림 처리기에 입력하는 상황에서, 사용자가 상기 컨텍스트-서비스 관리자에게 특정 컨텍스트와 서비스의 연계정보를 등록하면, 상기 컨텍스트-서비스 관리자가 상기 사용자가 입력한 컨텍스트 정보를 추출하여 상기 XML 데이터 스트림 처리기에 연속질의로 등록하는 단계; 및 상기 XML 데이터 스트림 처리기가 연속질의를 수행하는 단계를 포함하며, 상기 연속 질의 수행의 결과로서 생성된 XML 문서들은 상기 컨텍스트-서비스 관리자에게 XML 문서 스트림으로 전달되고, 상기 컨텍스트-서비스 관리자는 상기 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 변환하여 서비스로 전달하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법에 의해 달성된다.
또한, 본 발명에 따른 유비쿼터스 컴퓨팅 환경의 XML 데이터 스트림 처리기에서 XML 문서 스트림에 대한 연속질의의 결과로 생성되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 연계하는 방법에 있어서, (a) 사용자로부터 컨텍스트와 서비스 연계정보가 들어있는 XML문서가 입력되면, 상기 입력된 XML 문서를 파싱하는 단계; (b) 상기 파싱된 정보를 이용하여 컨텍스트의 정보를 추출하고, 이를 XML 데이터 스트림 처리기에 등록하는 단계; (c) 상기 파싱된 정보를 이용하여 컨텍스트를 웹서비스로 연계할 것인지, JMS로 연계할 것인지를 검사하는 단계를 포함하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법에 의해 달성된다.
상기 컨텍스트와 서비스의 연계를 의한 표현 형식은 서비스가 수행되어야 하는 컨텍스트를 설정하는 부분(Context), 컨텍스트 만족시 수행할 서비스를 설정하는 부분(Service), 서비스의 수행 권한 정보를 설정하는 부분(AuthInfo), 및 컨텍스트의 결과를 서비스 호출의 입력 인자로 대응하는 규칙을 정의하는 대응규칙정보 부분(MappingRuleInfo)으로 구성되는 것을 특징으로 한다.
상기 대응규칙정보 부분(MappingRuleInfo)은 한 XML 문서의 부분들을 한 서 비스가 가진 하나 이상의 인자들로 대응하는 규칙(MappingRule)을 정의하는 형태와 하나 이상의 XML 문서들을 한 서비스의 한 인자로 대응하는 규칙(MergeMappingRule)을 정의하는 형태로 되며, 이러한 대응규칙은 서비스 인자에 입력할 내용에 대한 정보를 담고 있는 부분(Source)과 그 내용을 실제 서비스의 인자로 변환할 수 있는 정보(Destination)로 구성되어 있는 것을 특징으로 한다.
상기 서비스 인자에 입력할 내용에 대한 정보를 정의하는 방식에는 고정된 임의의 값을 넣어 두는 방식과, XML문서에서 동적으로 추출하도록 Xpath 형태로 표현하는 방식이 있으며, 상기 서비스 인자에 입력할 내용을 실제 서비스의 인자로 변환 할 수 있기 위한 정보로는 서비스 인자의 이름과 타입이 있는 것을 특징으로 한다.
또한, 하나 이상의 XML문서의 특정 부분들을 한 서비스의 한 인자 형태로 변환하는 위하여, 시간(Time)또는 개수(Count)로 표현되는 변환주기와 구분자를 정의하며, 상기 구분자를 이용하여 변환할 내용의 단위를 구분할 수 있도록 표현하는 것을 특징으로 한다.
이하, 본 발명의 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명이 적용되어 운영될 환경의 한 예로써, 센서 데이터 처리엔진에 적용되어 운영되는 모습을 나타낸 구성도이다.
센서 데이터 처리 엔진(200)은 크게 센서 데이터 처리기(202)와 XML 스트림 데이터 처리기(204)로 구성되어 있다.
센서 데이터 처리기(202)는 다양한 센서(100)로부터 입력되는 센서 데이터를 입력 받고(1), 그 데이터를 공통된 XML 형태의 문서로 변환하여, XML 데이터 스트림 처리기(204)에 입력한다(2).
(1)과 (2)가 동작하는 상황에서, 사용자는 본 발명이 적용되어 있는 센서 데이터 처리기(202)의 컨텍스트-서비스 관리자(202a)에게 특정 컨텍스트(상황, 狀況)와 서비스의 연계정보를 등록한다(3).
컨텍스트-서비스 관리자(202a)는 사용자가 입력한 컨텍스트 정보를 추출하여 XML 데이터 스트림 처리기(204)에 연속질의로 등록한다(4).
XML 데이터 스트림 처리기(204)는 연속질의를 수행하며, 그 결과로써 생성된 XML 문서들을 컨텍스트-서비스 관리자(202a)에게 XML 문서 스트림으로 전달하며(5), 컨텍스트-서비스 관리자(202a)는 XML 데이터 스트림 처리기(204)로부터 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS)호출로 변환하여 서비스로 전달한다(6).
도 2는 본 발명에 따른 컨텍스트와 서비스 연계정보를 등록하는 순서도이다.
사용자로부터 컨텍스트와 서비스 연계정보가 들어있는 XML문서가 입력되면(10), 입력된 문서를 파싱(Parsing)한다(11).
파싱된 정보를 이용하여 컨텍스트의 정보를 추출하고, 이를 XML 데이터 스트림 처리기에 등록한다(12).
파싱된 정보를 이용하여 컨텍스트를 웹서비스로 연계할 것인지, JMS로 연계할 것인지를 검사한다(13).
연계할 서비스가 웹서비스일 경우, 파싱된 정보를 이용하여 웹서비스의 구동정보 및 인증정보를 추출하고(14), 변환 및 대응규칙 정보를 추출하며(15), 변환주기 설정여부를 검사한다(16).
(16)과정의 결과에서 변환주기가 설정되어 있을 경우, 서비스의 변환 주기를 검사하여 서비스 변환 요청 기능을 수행할 쓰레드를 생성한다(17).
상기 과정을 통하여 추출된 웹서비스 연계정보를 이용하여 연속질의의 결과를 입력받아 웹서비스 호출로 변환하는 기능을 수행할 객체를 생성하고(18), 실제 웹서비스 호출을 수행할 객체를 생성한다(19).
(18)과정으로 만들어진 연속질의의 결과를 웹서비스 호출로 변환하는 기능을 수행하는 객체는 XML 데이터 스트림 처리기에서 연속질의가 수행되는 동안 지속적으로 연속질의의 결과인 XML 문서를 입력받아 웹서비스 호출로 변환하고, 변환된 웹서비스 호출을 (19)과정에 의해 만들어진 실제 웹서비스 호출을 수행할 객체를 이용하여 호출하도록 요청한다. 이때, 호출 주기가 설정되어 있으면, (17)과정에서 생성된 쓰레드로부터 웹서비스 호출 요청을 받아야만 호출한다.
한편, 연계할 서비스가 JMS일 경우, 파싱된 정보를 이용하여 JMS의 구동정보 및 인증정보를 추출하고(20), 변환 및 대응규칙 정보를 추출하며(21), 변환주기 설 정여부를 검사한다(22).
(22)과정의 결과에서 변환주기가 설정되어 있을 경우, 서비스의 변환 주기를 검사하여 서비스 변환 요청 기능을 수행할 쓰레드를 생성한다(23).
상기 과정을 통하여 추출된 JMS 연계정보를 이용하여 연속질의의 결과를 입력받아 JMS 호출로 변환하는 기능을 수행할 객체를 생성하고(24), 실제 JMS를 호출을 수행할 객체를 생성한다(25).
(24)과정으로 만들어진 연속질의의 결과를 JMS 호출로 변환하는 기능을 수행하는 객체는 XML 데이터 스트림 처리기에서 연속질의가 수행되는 동안 지속적으로 연속질의의 결과인 XML 문서를 입력받아 JMS 호출로 변환하고, 변환된 JMS 호출을 (25)과정에 의해 만들어진 실제 JMS 호출을 수행할 객체를 이용하여 호출하도록 요청한다. 이때, 호출 주기가 설정되어 있으면, (23)과정에서 생성된 쓰레드로부터 JMS 호출 요청을 받아야만 호출한다.
도 3은 본 발명에 따른 변환 및 연계를 하는 순서도이며, 이는 도 2에서 설명한 연속질의의 결과를 입력받아 변환 및 대응규칙을 이용하여 서비스 호출로 변환을 수행하는 객체의 실행에 대한 상세한 설명이다.
XML문서가 입력되면(30), 입력된 문서를 파싱한다(31). 그리고, 변환규칙에 서비스 호출 주기가 설정되어 있는지를 검사한다(32).
서비스 호출 주기가 설정되어 있지 않으면, (31)의 결과에 대하여 서비스 입력인자 추출을 위한 XPath질의(33)를 하고, 그 결과를 변환 규칙에 의해 서비스 입 력 형식으로 변환(34)한다.
서비스의 입력인자는 한 개 이상 설정될 수 있으므로, 서비스 입력 인자 개수를 검사(35)하여 변환할 입력인자 개수를 모두 변환 하지 않았을 경우에는 (33), (34), (35)의 과정을 반복한다.
서비스 입력 인자 개수만큼 모두 변환 했을 경우, 이들을 웹서비스의 입력으로 할 것인지 JMS의 입력으로 할 것인지를 변환 규칙을 이용하여 판별한다(39).
서비스 종류가 웹서비스일 경우, 변환된 서비스 인자를 웹서비스의 입력 인자로 사용(40)하며, 서비스 종류가 JMS일 경우, 변환된 서비스 인자를 JMS의 입력 인자로 사용(41)한다.
위의 (32)의 과정에서 서비스 호출 주기가 설정되어 있을 경우에는 (31)의 결과에 대하여 서비스 입력 인자 추출을 위한 XPath 질의를 하고, 그 결과를 변환 규칙에 의하여 서비스 입력 인자 형식으로 변환(37)한다. 이 과정에서 기존의 결과가 있을 경우, 그 결과와 조합하여 하나의 서비스 입력 인자 형식으로 변환한다.
그리고, 서비스 호출 주기를 검사(38)하여 호출 주기를 만족하는지 여부를 검사한다. 호출 주기를 만족 안 할 경우, (30), (31), (32), (36), (37), (38) 과정을 반복한다. 호출 주기를 만족 할 경우, 위에서 설명한 (39), (40), (41) 과정을 수행한다.
마지막으로, 위의 모든 과정을 수행한 후에는 시작 단계로 이동하여, 위의 과정을 다시 수행한다.
도 4는 본 발명에 따른 컨텍스트와 서비스를 연계할 수 있는 방법을 제공하는 XML 스키마의 구조도이다.
컨텍스트와 서비스의 연계를 의한 표현 형식은 서비스가 수행되어야 하는 컨텍스트를 설정하는 부분(Context), 컨텍스트 만족 시 수행할 서비스를 설정하는 부분(Service), 서비스의 수행 권한 정보를 설정하는 부분(AuthInfo), 그리고 컨텍스트의 결과를 서비스 호출의 입력 인자로 대응하는 규칙을 정의하는 부분(MappingRuleInfo)으로 구성되어 있다.
도 5는 본 발명에 따른 변환 규칙을 표현할 수 있는 XML 스키마의 구조도이며, 도 4의 대응규칙정보(MappingRuleInfo)의 상세 구조도이다.
대응규칙정보는 한 XML 문서의 부분들을 한 서비스가 가진 하나 이상의 인자들로 대응하는 규칙(MappingRule)을 정의하는 형태와 하나 이상의 XML 문서들을 한 서비스의 한 인자로 대응하는 규칙(MergeMappingRule)을 정의하는 형태로 되어있다. 이러한 대응규칙은 서비스 인자에 입력할 내용에 대한 정보를 담고 있는 부분(Source)과 그 내용을 실제 서비스의 인자로 변환할 수 있는 정보(Destination)로 구성되어 있다.
서비스 인자에 입력할 내용에 대한 정보를 정의하는 방법에는 고정된 임의의 값을 넣어 두는 방식과, XML문서에서 동적으로 추출하도록 Xpath형태로 표현 하는 방식이 있으며, 서비스 인자에 입력할 내용을 실제 서비스의 인자로 변환 할 수 있기 위한 정보로는 서비스 인자의 이름과 타입이 있다.
- 정적 변환규칙의 예)
Source(value = “abc@etri.re.kr” kind=“static”)
Destination(name=“param1” type=“string”)
- 동적 변환규칙의 예)
Source(value=“/RESULT/STOCK[@name=‘CompanyA’]/PRICE”) kind=“dynamic”)
Destination(name=“param1” type=“integer”)
하나 이상의 XML 문서들을 한 서비스의 한 인자로 대응하기 위한 규칙을 정의 하기 위하여 시간(Time)또는 개수(Count)로 표현되는 변환주기와 구분자를 정의한다.
변환 주기가 설정되면 매번 XML 문서가 입력될 때 마다 이를 서비스의 인자로 변환하여 서비스로 전달하지 않고, 설정된 주기 동안에 입력된 XML 문서들을 하나의 서비스의 인자로 묶어서 변환하여 서비스로 전달한다. 이때, 실제 서비스의 인자를 전달 받을 서비스에서는 몇 개의 XML문서에서 어느 부분들이 묶여 전달되었는지를 알아야 할 필요가 있으며, 이를 위해 구분자를 이용하여 변환한 내용의 단위를 구분할 수 있도록 표현한다.
이와 같이 변환 주기와 구분자를 설정할 수 있는 기능은 연속적으로 서비스를 호출함으로써 발생할 수 있는 네트웍 부하와 서비스처리 부하를 감소 시킬 수 있는 기능제공을 목적으로 한다.
도 6은 본 발명에 따른 입력으로 사용되는 XML문서가 3개일 경우에 대한 실시예이며, 도 7은 본 발명에 따른 변환규칙의 실시예로서, 변환규칙은 하나 이상의 XML 문서를 한 서비스의 한 인자값으로 변환하는 규칙을 나타내며, 도 5에 나타낸 3개의 XML 문서에서 변환 규칙의 소스(Source)가 가진 값(Value)의 XPath 질의를 사용하여 결과값을 추출하며, 이들을 세퍼레이터(Separator)로 구분하여 하나의 스트링(string) 타입의 서비스 인자로 변환한다.
도 8은 본 발명에 따른 도 7의 변환규칙을 이용하여 만들어진 서비스 인자값의 실시예이다.
상술한 바와 같이, 본 발명에 따른 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS)호출로 연계하는 방법은, 최근 활발히 연구되고 있는 유비쿼터스 컴퓨팅 환경의 XML 데이터 스트림 처리기에서 XML 문서 스트림에 대한 연속질의(Continuous Query)의 결과로 생성되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS)호출로 변환하는 방법을 제공함으로써, 연속질의(Continuous Query)를 이용하여 정의된 컨텍스트(상황, 狀況)와 이에 대한 서비스(웹서비스, JMS)를 자동으로 연계할 수 있도록 하는 효과가 있다.
Claims (15)
- 컨텍스트-서비스 관리자를 구비한 센서 데이터 처리기와, XML 스트림 데이터 처리기를 포함하는 센서 데이터 처리엔진에서, 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법에 있어서,상기 센서 데이터 처리기가 다양한 센서로부터 입력되는 센서 데이터를 입력 받고, 상기 센서 데이터를 공통된 XML 형태의 문서로 변환하여 상기 XML 데이터 스트림 처리기에 입력하는 단계;상기 센서 데이터 처리기가 상기 센서 데이터를 입력받아 상기 XML 데이터 스트림 처리기에 입력하는 상황에서, 사용자가 상기 컨텍스트-서비스 관리자에게 특정 컨텍스트와 서비스의 연계정보를 등록하면, 상기 컨텍스트-서비스 관리자가 상기 사용자가 입력한 컨텍스트 정보를 추출하여 상기 XML 데이터 스트림 처리기에 연속질의로 등록하는 단계; 및상기 XML 데이터 스트림 처리기가 연속질의를 수행하는 단계를 포함하며,상기 연속질의 수행의 결과로서 생성된 XML 문서들은 상기 컨텍스트-서비스 관리자에게 XML 문서 스트림으로 전달되고, 상기 컨텍스트-서비스 관리자는 상기 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 변환하여 서비스로 전달하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 유비쿼터스 컴퓨팅 환경의 XML 데이터 스트림 처리기에서 XML 문서 스트림에 대한 연속질의의 결과로 생성되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 연계하는 방법에 있어서,(a) 사용자로부터 컨텍스트와 서비스 연계정보가 들어있는 XML문서가 입력되면, 상기 입력된 XML 문서를 파싱하는 단계;(b) 상기 파싱된 정보를 이용하여 컨텍스트의 정보를 추출하고, 이를 XML 데이터 스트림 처리기에 등록하는 단계;(c) 상기 파싱된 정보를 이용하여 컨텍스트를 웹서비스로 연계할 것인지, JMS로 연계할 것인지를 검사하는 단계를 포함하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 2 항에 있어서,상기 (c) 단계에서 컨텍스트와 웹서비스의 연계를 위한 표현 형식은 서비스가 수행되어야 하는 컨텍스트를 설정하는 부분(Context), 컨텍스트 만족시 수행할 서비스를 설정하는 부분(Service), 서비스의 수행 권한 정보를 설정하는 부분(AuthInfo), 및 컨텍스트의 결과를 서비스 호출의 입력 인자로 대응하는 규칙을 정의하는 대응규칙정보 부분(MappingRuleInfo)으로 구성되는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 3 항에 있어서,상기 대응규칙정보 부분(MappingRuleInfo)은 한 XML 문서의 부분들을 한 서비스가 하나 이상의 인자들로 대응하는 규칙(MappingRule)을 정의하는 형태와 하나 이상의 XML 문서들을 한 서비스의 한 인자로 대응하는 규칙(MergeMappingRule)을 정의하는 형태로 되며, 이러한 대응규칙은 서비스 인자에 입력할 내용에 대한 정보를 담고 있는 부분(Source)과 그 내용을 실제 서비스의 인자로 변환할 수 있는 정보(Destination)로 구성되어 있는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 4 항에 있어서,상기 서비스 인자에 입력할 내용에 대한 정보에 대해, 이를 정의하는 방식에는 고정된 임의의 값을 넣어 두는 방식, 또는 XML문서에서 동적으로 추출하도록 Xpath 형태로 표현하는 방식이 있으며, 상기 서비스 인자에 입력할 내용을 실제 서비스의 인자로 변환 할 수 있기 위한 정보로는 서비스 인자의 이름과 타입이 있는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 4 항에 있어서,상기 XML문서에 대해, 상기 XML문서의 특정부분들을 한 서비스의 한 인자 형태로 변환하는 위하여, 시간(Time)또는 개수(Count)로 표현되는 변환주기와 구분자를 정의하며, 상기 구분자를 이용하여 변환할 내용의 단위를 구분할 수 있도록 표현하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 2 항에 있어서, 상기 (c)단계에서, 연계할 서비스가 웹서비스일 경우에,(c-1) 상기 파싱된 정보를 이용하여 웹서비스의 구동정보 및 인증정보를 추출하고, 변환 및 대응규칙 정보를 추출하며, 변환주기 설정여부를 검사하는 단계;(c-2) 상기 변환주기 설정여부 검사시, 변환주기가 설정되어 있을 경우에는 서비스의 변환 주기를 검사하여 서비스 변환 요청 기능을 수행할 쓰레드를 생성하는 단계; 및(c-3) 상기 (c-1), (c-2) 단계들을 통하여 추출된 웹서비스 연계정보를 이용하여 연속질의의 결과를 입력받아 웹서비스 호출로 변환하는 기능을 수행할 객체를 생성하고, 실제 웹서비스 호출을 수행할 객체를 생성하는 단계를 수행하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 7 항에 있어서,상기 (c-3) 단계에서의 상기 웹서비스 호출로 변환하는 기능을 수행하는 객체는 XML 데이터 스트림 처리기에서 연속질의가 수행되는 동안 지속적으로 연속질 의의 결과인 XML 문서를 입력받아 웹서비스 호출로 변환하고, 상기 변환된 웹서비스 호출을 상기 실제 웹서비스 호출을 수행할 객체를 이용하여 호출하도록 요청하며, 이때 호출 주기가 설정되어 있으면 상기 서비스 변환 요청 기능을 수행할 쓰레드로부터 웹서비스 호출 요청을 받는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 삭제
- 제 2 항에 있어서, 상기 (c)단계에서, 연계할 서비스가 JMS일 경우에,(c-4) 상기 파싱된 정보를 이용하여 JMS의 구동정보 및 인증정보를 추출하 고, 변환 및 대응규칙 정보를 추출하며, 변환주기 설정여부를 검사하는 단계;(c-5) 상기 변환주기 설정여부 검사시, 변환주기가 설정되어 있을 경우, 서비스의 변환 주기를 검사하여 서비스 변환 요청 기능을 수행할 쓰레드를 생성하는 단계; 및(c-6) 상기 (c-4), (c-5) 단계를 통하여 추출된 JMS 연계정보를 이용하여 연속질의의 결과를 입력받아 JMS 호출로 변환하는 기능을 수행할 객체를 생성하고, 실제 JMS를 호출을 수행할 객체를 생성하는 단계를 수행하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 10 항에 있어서,상기 (c-6) 단계에서의 상기 JMS 호출로 변환하는 기능을 수행하는 객체는 XML 데이터 스트림 처리기에서 연속질의가 수행되는 동안 지속적으로 연속질의의 결과인 XML 문서를 입력받아 JMS 호출로 변환하고, 상기 변환된 JMS 호출을 상기 실제 JMS 호출을 수행할 객체를 이용하여 호출하도록 요청하며, 이때 호출 주기가 설정되어 있으면 상기 서비스 변환 요청 기능을 수행할 쓰레드로부터 JMS 호출 요청을 받는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 8 항 또는 제 11 항에 있어서,연속질의의 결과를 입력받아 변환 및 대응규칙을 이용하여 서비스 호출(웹서비스, JMS)로 변환을 수행하는 객체의 실행은,(c-7) XML문서가 입력되면, 입력된 문서를 파싱하는 단계;(c-8) 상기 파싱된 정보를 이용하여 변환규칙에 서비스 호출 주기가 설정되어 있는지를 검사하는 단계;(c-9) 상기 변환규칙에 서비스 호출 주기가 설정되어 있지 않으면, 상기 파싱된 정보에 대하여 서비스의 입력인자 추출을 위한 XPath 질의를 수행하는 단계;(c-10) 상기 XPath 질의 결과를 상기 변환 규칙에 의해 서비스 입력 형식으로 변환하는 단계;(c-11) 서비스의 입력 인자 개수를 검사하여 변환할 입력인자 개수를 모두 변환하지 않았을 경우에는 상기 (c-9), (c-10) 단계를 반복하는 단계; 및(c-12) 서비스의 입력 인자 개수만큼 모두 변환 했을 경우에는 이들을 웹서비스의 입력으로 할 것인지 JMS의 입력으로 할 것인지를 상기 변환 규칙을 이용하여 판별하는 단계를 수행함으로써 이루어지는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 12 항에 있어서, 상기 (c-9) 단계에서,상기 서비스의 입력 인자로 사용될 내용을‘정적’ 또는‘동적’으로 구분하여 정의함으로써,‘정적’일 때는 특정 문자열을,‘동적’일 때는 XML문서의 일부분을 XPath 질의로 추출하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 12 항에 있어서, 상기 (c-10) 단계에서,상기 서비스의 입력 인자로 변환할 데이터를 변환규칙에 표현된 데이터 타입으로 변환 가능한지 검사하여, 만약 변환 불가능하다면 변환오류에 대한 정보를 제공하기 위해 특정 문자열 또는 XML 문서의 일부분을 변환규칙에 표현된 데이터 타입으로 변환하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
- 제 12 항에 있어서, 상기 (c-12) 단계에서,서비스 종류가 웹서비스일 경우에는 변환된 서비스 인자를 웹서비스의 입력 인자로 사용하며, 서비스 종류가 JMS일 경우에는 변환된 서비스 인자를 JMS의 입력 인자로 사용하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040105517 | 2004-12-14 | ||
KR1020040105517 | 2004-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060067126A KR20060067126A (ko) | 2006-06-19 |
KR100622131B1 true KR100622131B1 (ko) | 2006-09-11 |
Family
ID=37161741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050060182A KR100622131B1 (ko) | 2004-12-14 | 2005-07-05 | 연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100622131B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100813000B1 (ko) | 2005-12-01 | 2008-03-13 | 한국전자통신연구원 | 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법 |
KR100783679B1 (ko) * | 2006-05-11 | 2007-12-07 | 한국과학기술원 | 데이터 스트림에 기반하는 서비스의 개발, 배치, 제공을용이하게 하는 미들웨어 시스템 |
-
2005
- 2005-07-05 KR KR1020050060182A patent/KR100622131B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20060067126A (ko) | 2006-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8326856B2 (en) | Method and apparatus of automatic method signature adaptation for dynamic web service invocation | |
US9116762B2 (en) | XML remote procedure call (XML-RPC) | |
US8387030B2 (en) | Service adaptation definition language | |
US8205007B2 (en) | Native format tunneling | |
US8726229B2 (en) | Multi-language support for service adaptation | |
US7058645B2 (en) | Mapping between native data type instances | |
US7526490B2 (en) | Method of and system for providing positional based object to XML mapping | |
US20020099738A1 (en) | Automated web access for back-end enterprise systems | |
US20020038335A1 (en) | PL/I metamodel | |
US20040111533A1 (en) | Transformations as web services | |
US11029925B2 (en) | System and method for serving multiple data objects and formatting functions in a single request | |
EP1605374A1 (en) | Techniques for serializing events | |
JP2007508602A (ja) | 汎用アプリケーションネットワークアーキテクチャ | |
US7685114B2 (en) | Systems and methods for mapping text | |
US20060294076A1 (en) | System and method for query planning and execution | |
US7640238B2 (en) | Query planning for execution using conditional operators | |
WO2001033356A1 (en) | Method for evaluating and selecting middleware | |
KR100622131B1 (ko) | 연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 | |
AU2004201343B2 (en) | A rendering independent persistence of information | |
Weinreich et al. | Enhancing presentation level integration of remote applications and services in web portals | |
Yusuf | Enterprise messaging using JMS and IBM websphere | |
US20060010423A1 (en) | Variable namespaces and scoping for variables in an object model | |
Alencar et al. | A framework for community information systems | |
Grimson et al. | Specifying an open clinical laboratory information system | |
Strang et al. | Integration Issues of an ontology based context modelling approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120831 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130829 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140827 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |