KR100622131B1 - 연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 - Google Patents

연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 Download PDF

Info

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
Application number
KR1020050060182A
Other languages
English (en)
Other versions
KR20060067126A (ko
Inventor
박재홍
이훈순
최현화
원종호
이미영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20060067126A publication Critical patent/KR20060067126A/ko
Application granted granted Critical
Publication of KR100622131B1 publication Critical patent/KR100622131B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/83Querying
    • G06F16/835Query 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

연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법{METHOD FOR CONNECTING XML FILE STREAM TO SERVICE CALL PERIODICALLY}
도 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)

  1. 컨텍스트-서비스 관리자를 구비한 센서 데이터 처리기와, XML 스트림 데이터 처리기를 포함하는 센서 데이터 처리엔진에서, 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법에 있어서,
    상기 센서 데이터 처리기가 다양한 센서로부터 입력되는 센서 데이터를 입력 받고, 상기 센서 데이터를 공통된 XML 형태의 문서로 변환하여 상기 XML 데이터 스트림 처리기에 입력하는 단계;
    상기 센서 데이터 처리기가 상기 센서 데이터를 입력받아 상기 XML 데이터 스트림 처리기에 입력하는 상황에서, 사용자가 상기 컨텍스트-서비스 관리자에게 특정 컨텍스트와 서비스의 연계정보를 등록하면, 상기 컨텍스트-서비스 관리자가 상기 사용자가 입력한 컨텍스트 정보를 추출하여 상기 XML 데이터 스트림 처리기에 연속질의로 등록하는 단계; 및
    상기 XML 데이터 스트림 처리기가 연속질의를 수행하는 단계를 포함하며,
    상기 연속질의 수행의 결과로서 생성된 XML 문서들은 상기 컨텍스트-서비스 관리자에게 XML 문서 스트림으로 전달되고, 상기 컨텍스트-서비스 관리자는 상기 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 변환하여 서비스로 전달하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  2. 유비쿼터스 컴퓨팅 환경의 XML 데이터 스트림 처리기에서 XML 문서 스트림에 대한 연속질의의 결과로 생성되는 XML 문서 스트림을 주기적으로 서비스(웹서비스, JMS) 호출로 연계하는 방법에 있어서,
    (a) 사용자로부터 컨텍스트와 서비스 연계정보가 들어있는 XML문서가 입력되면, 상기 입력된 XML 문서를 파싱하는 단계;
    (b) 상기 파싱된 정보를 이용하여 컨텍스트의 정보를 추출하고, 이를 XML 데이터 스트림 처리기에 등록하는 단계;
    (c) 상기 파싱된 정보를 이용하여 컨텍스트를 웹서비스로 연계할 것인지, JMS로 연계할 것인지를 검사하는 단계
    를 포함하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  3. 제 2 항에 있어서,
    상기 (c) 단계에서 컨텍스트와 웹서비스의 연계를 위한 표현 형식은 서비스가 수행되어야 하는 컨텍스트를 설정하는 부분(Context), 컨텍스트 만족시 수행할 서비스를 설정하는 부분(Service), 서비스의 수행 권한 정보를 설정하는 부분(AuthInfo), 및 컨텍스트의 결과를 서비스 호출의 입력 인자로 대응하는 규칙을 정의하는 대응규칙정보 부분(MappingRuleInfo)으로 구성되는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  4. 제 3 항에 있어서,
    상기 대응규칙정보 부분(MappingRuleInfo)은 한 XML 문서의 부분들을 한 서비스가 하나 이상의 인자들로 대응하는 규칙(MappingRule)을 정의하는 형태와 하나 이상의 XML 문서들을 한 서비스의 한 인자로 대응하는 규칙(MergeMappingRule)을 정의하는 형태로 되며, 이러한 대응규칙은 서비스 인자에 입력할 내용에 대한 정보를 담고 있는 부분(Source)과 그 내용을 실제 서비스의 인자로 변환할 수 있는 정보(Destination)로 구성되어 있는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  5. 제 4 항에 있어서,
    상기 서비스 인자에 입력할 내용에 대한 정보에 대해, 이를 정의하는 방식에는 고정된 임의의 값을 넣어 두는 방식, 또는 XML문서에서 동적으로 추출하도록 Xpath 형태로 표현하는 방식이 있으며, 상기 서비스 인자에 입력할 내용을 실제 서비스의 인자로 변환 할 수 있기 위한 정보로는 서비스 인자의 이름과 타입이 있는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  6. 제 4 항에 있어서,
    상기 XML문서에 대해, 상기 XML문서의 특정부분들을 한 서비스의 한 인자 형태로 변환하는 위하여, 시간(Time)또는 개수(Count)로 표현되는 변환주기와 구분자를 정의하며, 상기 구분자를 이용하여 변환할 내용의 단위를 구분할 수 있도록 표현하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  7. 제 2 항에 있어서, 상기 (c)단계에서, 연계할 서비스가 웹서비스일 경우에,
    (c-1) 상기 파싱된 정보를 이용하여 웹서비스의 구동정보 및 인증정보를 추출하고, 변환 및 대응규칙 정보를 추출하며, 변환주기 설정여부를 검사하는 단계;
    (c-2) 상기 변환주기 설정여부 검사시, 변환주기가 설정되어 있을 경우에는 서비스의 변환 주기를 검사하여 서비스 변환 요청 기능을 수행할 쓰레드를 생성하는 단계; 및
    (c-3) 상기 (c-1), (c-2) 단계들을 통하여 추출된 웹서비스 연계정보를 이용하여 연속질의의 결과를 입력받아 웹서비스 호출로 변환하는 기능을 수행할 객체를 생성하고, 실제 웹서비스 호출을 수행할 객체를 생성하는 단계
    를 수행하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  8. 제 7 항에 있어서,
    상기 (c-3) 단계에서의 상기 웹서비스 호출로 변환하는 기능을 수행하는 객체는 XML 데이터 스트림 처리기에서 연속질의가 수행되는 동안 지속적으로 연속질 의의 결과인 XML 문서를 입력받아 웹서비스 호출로 변환하고, 상기 변환된 웹서비스 호출을 상기 실제 웹서비스 호출을 수행할 객체를 이용하여 호출하도록 요청하며, 이때 호출 주기가 설정되어 있으면 상기 서비스 변환 요청 기능을 수행할 쓰레드로부터 웹서비스 호출 요청을 받는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  9. 삭제
  10. 제 2 항에 있어서, 상기 (c)단계에서, 연계할 서비스가 JMS일 경우에,
    (c-4) 상기 파싱된 정보를 이용하여 JMS의 구동정보 및 인증정보를 추출하 고, 변환 및 대응규칙 정보를 추출하며, 변환주기 설정여부를 검사하는 단계;
    (c-5) 상기 변환주기 설정여부 검사시, 변환주기가 설정되어 있을 경우, 서비스의 변환 주기를 검사하여 서비스 변환 요청 기능을 수행할 쓰레드를 생성하는 단계; 및
    (c-6) 상기 (c-4), (c-5) 단계를 통하여 추출된 JMS 연계정보를 이용하여 연속질의의 결과를 입력받아 JMS 호출로 변환하는 기능을 수행할 객체를 생성하고, 실제 JMS를 호출을 수행할 객체를 생성하는 단계
    를 수행하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  11. 제 10 항에 있어서,
    상기 (c-6) 단계에서의 상기 JMS 호출로 변환하는 기능을 수행하는 객체는 XML 데이터 스트림 처리기에서 연속질의가 수행되는 동안 지속적으로 연속질의의 결과인 XML 문서를 입력받아 JMS 호출로 변환하고, 상기 변환된 JMS 호출을 상기 실제 JMS 호출을 수행할 객체를 이용하여 호출하도록 요청하며, 이때 호출 주기가 설정되어 있으면 상기 서비스 변환 요청 기능을 수행할 쓰레드로부터 JMS 호출 요청을 받는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  12. 제 8 항 또는 제 11 항에 있어서,
    연속질의의 결과를 입력받아 변환 및 대응규칙을 이용하여 서비스 호출(웹서비스, JMS)로 변환을 수행하는 객체의 실행은,
    (c-7) XML문서가 입력되면, 입력된 문서를 파싱하는 단계;
    (c-8) 상기 파싱된 정보를 이용하여 변환규칙에 서비스 호출 주기가 설정되어 있는지를 검사하는 단계;
    (c-9) 상기 변환규칙에 서비스 호출 주기가 설정되어 있지 않으면, 상기 파싱된 정보에 대하여 서비스의 입력인자 추출을 위한 XPath 질의를 수행하는 단계;
    (c-10) 상기 XPath 질의 결과를 상기 변환 규칙에 의해 서비스 입력 형식으로 변환하는 단계;
    (c-11) 서비스의 입력 인자 개수를 검사하여 변환할 입력인자 개수를 모두 변환하지 않았을 경우에는 상기 (c-9), (c-10) 단계를 반복하는 단계; 및
    (c-12) 서비스의 입력 인자 개수만큼 모두 변환 했을 경우에는 이들을 웹서비스의 입력으로 할 것인지 JMS의 입력으로 할 것인지를 상기 변환 규칙을 이용하여 판별하는 단계
    를 수행함으로써 이루어지는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  13. 제 12 항에 있어서, 상기 (c-9) 단계에서,
    상기 서비스의 입력 인자로 사용될 내용을‘정적’ 또는‘동적’으로 구분하여 정의함으로써,‘정적’일 때는 특정 문자열을,‘동적’일 때는 XML문서의 일부분을 XPath 질의로 추출하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  14. 제 12 항에 있어서, 상기 (c-10) 단계에서,
    상기 서비스의 입력 인자로 변환할 데이터를 변환규칙에 표현된 데이터 타입으로 변환 가능한지 검사하여, 만약 변환 불가능하다면 변환오류에 대한 정보를 제공하기 위해 특정 문자열 또는 XML 문서의 일부분을 변환규칙에 표현된 데이터 타입으로 변환하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
  15. 제 12 항에 있어서, 상기 (c-12) 단계에서,
    서비스 종류가 웹서비스일 경우에는 변환된 서비스 인자를 웹서비스의 입력 인자로 사용하며, 서비스 종류가 JMS일 경우에는 변환된 서비스 인자를 JMS의 입력 인자로 사용하는 것을 특징으로 하는 연속되어 입력되는 XML 문서 스트림을 주기적으로 서비스 호출로 연계하는 방법.
KR1020050060182A 2004-12-14 2005-07-05 연속되어 입력되는 xml 문서 스트림을 주기적으로서비스 호출로 연계하는 방법 KR100622131B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813000B1 (ko) 2005-12-01 2008-03-13 한국전자통신연구원 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법
KR100783679B1 (ko) * 2006-05-11 2007-12-07 한국과학기술원 데이터 스트림에 기반하는 서비스의 개발, 배치, 제공을용이하게 하는 미들웨어 시스템

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