'OMA DS'에 해당되는 글 1건

  1. 2009.04.16 웹 노드간 동기화 서비스에 대한 생각 1

사용자 삽입 이미지
최근에는 여러 이슈들이 있는 것 같습니다. 오라클의 선 인수, 한컴의 공개 매각 진행 , IBM의 클라우드 사업에 대한 본격적 참여, 안드로이드 1.5 등등... 특히, 제가 과거 한컴 씽크프리의 CTO를 했던 전력때문인지 여러 곳에서 한컴 인수에 대한 의견을 많이들 묻고 합니다. 물론 대답하기가 당연히 곤란하기에 그냥 웃고 말았습니다. ^-^

하여간 어차피 중요한 것은 대세가 아닐 까 싶습니다. 이미 우리가 살고 있는 이 세상은 웹이란 거대한 흐름에 의해서 많은 변화를 가져오고 있기 때문입니다. 이러한 거래한 흐름을 한 단어로 표현한다면 연결(Link)라고 표현할 수 있습니다. 웹의 링크에 대한 과학적이자 철학적 분석은 바라바시의 링크 라는 책을 참조하시면 좋을 것 같습니다. 바라바시는 웹 상에서 노드와 노트간의 연결에 대해 많은 이해를 도와주고 있습니다.  결국 웹은 모든 것을 빨아드리며 연결시켜 나가고 있습니다. 아마 이것을 더욱 가속화하는 것이 바로 스마트폰 같은 모바일 디바이스(이하 디바이스)일 것 입니다.

이렇듯 디바이스와 웹간의 상호연결성은 계속해서 확장될 것이며 디바이스는 보다 많은 서비스를 웹과의 상호작용을 통해 제공할 것이며 궁극적으로는 디바이스 자신 또한 웹 컨텐트를 생성해 내는 노드가 될 것 입니다. 실제 이미 안드로이드 OS는 웹 서버처럼 서비스를 감지하고 제공할 수 있는 모델을 제공하고 있으며 이러한 기능들을 통해 디바이스가 서로 상호작용하게 될 것입니다.

이러한 환경에서는 웹상의 노드에 위치하고 있는 서비스간의 데이타 동기화가 중요한 부분으로 대두됩니다. 가령, 중앙의 웹에 자신의 데이타와 프로그램을 모두 올려놓고 디바이스를 통해 필요한 데이타와 프로그램을 부분적으로 이용하고 동기화시키는 것이 필요합니다. 마찬가지로 집에 있는 PC 에서도 동일한 데이타와 프로그램이 필요해집니다.

다소 미흡하지만 이러한 동기화에 대한 기능 명세에 대한 표준화가 있습니다. 바로 OMA DS 표준 또는 Sync ML 입니다. 이 표준은 디바이스간 데이타 동기화에 대한 표준으로 Sync ML 과 6가지 동기화 모델을 제시하고 있습니다. - Fast Sync , Slow Sync , One way Sync from Server , One way Sync from Client , ㅊ , Refresh Sync from Server.

간략히 보면 Fast Sync가 client가 server에게 변경된 데이타만을 동기화하도록 요청하는 데 반해 Slow Sync는 모든 데이타를 동기화한다는 면에서 다릅니다. 또한  One way Sync from Server는 서버가 클라이언트에게 변경된 데이타에 대한 동기화를 요청합니다. 반대로 One way Sync from Client는 클라이언트가 서버에게 동기화를 요청합니다. 마지막으로 Referesh Sync from Server는 서버가 클라이언트에게 모든 데이타의 동기화를 요청하고 반대로 One way Sync from Client는 클라이언트가 모든 데이타의 동기화를 서버에 요청합니다.

실제 OMA DS 표준은 디바이스와 다른 디바이스간의 2 Way 방식의 동기화만을 명시하고 있다는 점에서 제약을 가지고 있습니다. 다시 말해, 실제 수 십대에서 수 백대의 디바이스상에서 다양한 서비스들이 데이타를 동기화하기 어렵습니다. 이를 위해서는 약간의 확장이 필요합니다. ^-^

이러한 동기화 기능을 이용하기 위해서는 기본적으로 Device에 OMA DS 모듈이 탑재되거나 OMA DS 서버에서 제공하는 OpenAPI를 디바이스에서 이용해야 합니다. 실제 디바이스 분야에서는 이미 OMA DS나 독자 싱크 방법을 사용하여 오래전 부터 디바이스상의 데이타를 동기화하는 기능들을 지원하고 있습니다. 가령,  심비안 , 블랙베리 , 안드로이드(현재 개발중) 등은 OMA DS를 사용하고 있으며 MS Windows CE의 ActiveSync를 사용하여 디바이스상의 데이타를 동기화하고 있습니다.

디바이스간의 2 Way 기능을 인트라넷까지 확장하여 기업의 리거시 데이타를 쉽게 모바일 웹으로 개발하기 위한 프레임웍으로 최근 오라클에 팔린 선은  GlassFish Mobile Framework 1.0을 릴리이즈 하였습니다. 이 플랫폼에는 서버측의 GlassFish와 JavaME상의 디바이스 응용 프로그램을 SyncML을 통해 동기화시켜 주는 서비스를 제공해 주고 있습니다. 특히, 재미난 기능으로는 Device상에서 Rest기반의 API를 호출할 수 있게 해주는 JerseyME 라이브러리를 내장하고 있습니다. 디바이스상의 개발자들은 JersyME를 사용하여 Rest API를 직접 호출하여 사용할 수 있습니다. 또한 JerseyME는 Device상에서 Cache 기능을 제공하기 때문에 서버와 연결이 되지 않은 오프라인 상태에서도  디비이스 응용 프로그램을 구동시킬 수 있는 기능을 제공하고 있습니다.

모바일 디바이스의 성장과 더불어 웹 노드간의 동기화는 보다 중요한 요소로 자리잡을 것 입니다. 조만간 국내에서도 멋진 플랫폼이 나올 예정이니 한번 기대해보세요. ^-^

Posted by 박재현
,