토요일, 1월 17, 2015

[B급 프로그래머] IOTivity(OIC) vs AllJoyn(AllSeen Alliance)

2015년 CES에 출품된 제품들을 보면 알겠지만, IoT(Internet of Things)가 대세로 자리잡은 듯이 보인다. 범람하는 IoT 기술이 오히려 시장에 혼란을 주기 때문에 OIC(Open Interconnection Consortium)AllSeen Alliance가 결성되어 IoT 표준화 작업을 진행 중이다.

단순히 표준 문서만 작성하는 데서 벗어나, 올신 얼라이언스가 먼저 AllJoyn을 공개했고, 이어서 OIC도 IOTivity라는 프레임워크를 공개했다.

간략하게 두 프레임워크의 특성을 소개하겠다.

IOTivity는 개발자가 IoT 애플리케이션을 개발하는 과정에서 필요한 여러 가지 API를 제공하며, 다양한 운영체제(현재 리눅스, 아두이노, 타이젠)를 지원한다. API는 RESTful 방식으로 되어 있으며, 다음 네 가지 빌딩 블록을 제공한다.

  1. 발견: 근접해 있거나 원격에 있는 장비와 자원을 탐색하는 여러 메커니즘을 지원
  2. 데이터 전송: 메시지와 스트림 모델 기반으로 정보 교환과 컨트롤 지원
  3. 데이터 관리: 다양한 자원으로부터 얻은 데이터를 수집하고 저장하고 분석하는 기능 지원
  4. 장비 관리: 구성, 권한 설정, 진단 지원

AllJoyn은 근처에 있는 장비를 발견하고, 브랜드/범주/전송/운영체제와 무관하게 각각에 대한 통신이 가능한 애플리케이션을 개발하는 과정을 쉽게 해주는 프레임워크다. 물리적인 전송의 세부 사항을 추상화하며, 사용하기 쉬운 API를 제공한다. 임베디드 RTOS 운영체제부터 상용 운영체제에 이르기까지 다양한 플랫폼 위에서 동작하며, 여러 언어를 제공한다.

AllJoyn은 전송(네트워크)을 담당하는 코어 프레임워크(Core Framework)와 실제 장비의 서비스를 개발하는 기본 서비스(Base Service) 또는 데이터 주도 API(Data-Driven API)로 구성된다. 애플리케이션 개발자 입장에서는 코어 프레임워크 위에 구성된 서비스 프레임워크를 사용하거나 데이터 주도 API를 사용할 수 있다. 서비스 프레임워크가 제공하는 기본 서비스는 다음과 같다.

  • 연결: 새 장비를 와이파이 네트워크에 붙이는 일관성 있는 방식 제공
  • 구성: 애플리케이션/장비의 특정 속성을 구성
  • 통지: AllJoyn 네트워크 상에서 장비가 텍스트 기반 통지를 송수신하게 허용. 또한 URL을 사용한 오디오와 이미지 지원
  • 제어판: 원격에서 제어되는 가상 제어판을 지원
  • 오디오 스트리밍: 동기화된 오디오 재생 기능 지원

IOTivity와 AllJoyn은 IoT의 표준화를 위해 추구하는 방향은 유사하지만 실제 설계 사상(그리고 지원하는 기능)은 많이 다르기 때문에 완전히 중원을 평정할만큼 강력한 위력을 발휘하기는 어려워 보인다. 이와 관련해 IoT 단체 춘추전국시대··· 통일 조짐은 2016년에나를 읽어보면 현재 IoT 표준화 단체의 전투 상황을 머리 속에 그릴 수 있을 것이다.

EOB

댓글 없음:

댓글 쓰기