CNU SyncML 통합개발환경(SDE)

img2.gif

 


 

SyncML

  무선 인터넷이 발전함에 따라 PDA(Personal Data Assistant) 이동 전화기 같은 단말기에서 네트웍 서버의 개인 정보 관리 서비스(PIMS: Personal Information Management Service) 사용함으로써 자신의 일정을 관리하거나 전자 메일을 교환하는 것이 개인적인 용도뿐만 아니라 엔터프라이즈용으로, 비즈니스의 새로운 수단으로 발전하고 있다. 또한, 개인이 여러 개의 디바이스를 소유하는 경우도 증가하였다. 그러나, 현재 휴대형 단말기는 물리적 크기의 제한으로 인하여 소량의 메모리, 소형 프로세서를 탑재하기 때문에 서버에 비해서 상대적으로 자원이 제한적이며, 성능이 떨어진다. 따라서, 사용자는 개인 주소록, 일정 등의 정보를 포함하여 디바이스의 중요한 정보를 안전하게 보관하기 위해 신뢰성 있는 서버에 정보를 백업(backup)하기도 하며, 다른 디바이스에 존재하는 정보를 서로 교환하기도 한다. 이러한 경우, 데이터 동기화(data synchronization) 기능이 필요한데, 이는 갱신된 데이터를 변경하고 데이터간의 버전 차이를 해결하여 가장 최신 값으로 일치시키는 중재 동작을 의미한다.기존의 PDA 메이커별 데이터 동기화 솔루션은 이기종 디바이스간 상호 운용성을 보장하지 못하기 때문에, 모바일 관련 업체들을 중심으로 SyncML (Synchronization Markup Language) 그룹이 구성되었고 데이터 동기화를 위한 표준 프로토콜인 SyncML 제정하였다.

CNU SyncLibrary

  전세계적으로 SyncML 프로토콜 개발이 활발하게 진행되고는 있지만, 프로그램 개발 (tool)이나 테스트 기술, 표준 API(Application Program Interface) 정의, 데이터 충돌 해결 솔루션 등과 같은 기반 기술은 미약한 실정이다. SyncML 이용하여 동일한 방법으로 데이터 변경 정보를 표현하고 전달할 있는 기반이 마련되지만, 응용 서비스마다 필요한 동기 시나리오와 (rule) 따라 표준 언어를 사용하여 동기 정보를 기술하는 것은 응용 서비스 개발자가 담당해야 한다. 결국 개발자 입장에서는 하위 계층이 표준화되어도 응용 개발을 위한 프로그래밍 환경이 지원되지 않으면 응용 개발에 많은 시간이 소요되며, 개발된 응용 서비스 정보의 호환성이 보장되지 않을 가능성이 있다.

  이러한 제약을 완화하는데 기여하기 위하여 SyncML 서버 개발자들이 응용 서비스를 신속 정확하게 구현할 있도록 SDE(Service Development Environment)라는 통합 개발 환경을 설계하고 구현하였다. 구현된 통합 개발 환경에는 여러 응용 서비스에서 공통적으로 이용되는 데이터 동기 기능을 라이브러리 형태로 제공하고, 응용 서비스의 확장 시에 필요한 많은 작업들을 자동 생성하는 기능의 툴을 제공한다.  또한 다른 응용 서비스에도 공통적으로 이용되는 부분을 Sync Library 설계하였으며, 응용 서비스 확장 수반되는 많은 일련의 작업들을 정리하고 체계화하여 자동 생성하는 SEG(Sync Engine Generator) 툴을 설계하고 구현하였다.  


 

 

CNU SyncML Server 3.1

  SyncML 일정 관리나 주소록 서비스 이외에도 전자 메일, 메시지, 텍스트 메모장 여러 가지 응용 서비스에 적용할 있다. CNU SyncML Server 3.1 vCard 포맷의 주소록 서비스와 vCalendar 포맷의 일정 관리 서비스에 대하여 동기화를 지원하며, 새로운 응용 서비스를 추가하려 , 응용 서비스 종속적인 부분을 Sync Engine 프레임의 Service Dependent Handler 모듈에 추가하면 되도록 설계되었다. SyncML 프로토콜을 구현한 Sync Agent 프레임과는 무관하다. 이는 응용 서비스의 확장성을 고려한 것이며, 적은 비용으로 신속하게 서비스를 적용할 있도록 설계된 것이다.

  이 구조가 응용 서비스에 대하여 최대한으로 확장성은 고려되어 있지만, 개발자는 서비스를 확장할 때마다 반복적인 일련의 작업을 거쳐야 한다. 예를 들면, 응용 서비스에 대한 데이터베이스 테이블 추가, Sync Engine 프레임과 데이터베이스와 인터페이스하기 위한 API 추가, Sync Agent 프레임과 Sync Engine 프레임의 인터페이스를 위한 API 추가 등이다. 응용 서비스와 관련된 인터페이스 API들은 서비스 종류에 따라 구체적으로 ·출력 파라미터, 데이터 구조체, 데이터베이스 테이블의 속성(attribute)들은 다르지만, 궁극적으로 응용 서비스마다 필요한 API들의 기능과 결과는 동일하다. 따라서 API들을 기능별로 분류하고 다른 응용 서비스에도 이용 가능하도록 일반화하여 공통적인 기능을 라이브러리화 것이 바로 Sync Library이다. 

 

SyncML 응용서비스를 위한 통합 개발환경

  SyncML 응용 서비스를 위한 통합 개발 환경은 SDE(Service Development Environment)라고 하며, 여러 응용 서비스에 공통적으로 이용 가능한 라이브러리인 Sync Library 개발자의 많은 작업 부분을 자동 생성하는 SEG(Sync Engine Generator)라는 툴로 구성된다.

SDE를 이용한 Sync Engine 개발 예

  


SEG

SyncLibrary


적용과정

게시판


문의사항

Main