제공 :
한빛 네트워크저자 : Brian Foster
역자 : 함동기
원문 :
Embracing Java for the Internet of Things하드웨어와 소프트웨어는 새롭고 흥미로운 방향으로 함께 나아가고 있다. 이에 대해 더 나은 이해를 얻기 위해 연결된 디바이스와 관련 기술이 처음에 어떻게 발생했는지 살펴볼 필요는 없다. 하지만 이런 새로운 패러다임에 대한 개발을 어떤 방법으로 할 것인지, 그리고 자바와 같은 성숙한 언어를 어떻게 이용할 것인지 고민해야 한다.
나는 이클립스 재단의 이사 마이크 밀린코비치와 이야기했다. 마이크와 그의 팀은 지금 자바를 포함한 다양한 언어를 넘나들며 오픈 소스 IoT 프로토콜, 런타임, 프레임웍, SDK를 활성화시키려 노력하고 있다. 이미 필립스, 삼성, eQ-3 같은 회사들이 이클립스의 자바를 위한 IoT 스택을 이용하고 있다. 여기서 마이크는 이 새로운 시장에서 자바가 차지하는 위치와 IoT 개발에 있어 오픈 소스 커뮤니티의 영향력에 대해 이야기한다.
어떻게 오픈 소스 기술에 관심을 가지게 됐나?마이크 밀린코비치: 이클립스는 내가 처음으로 큰 흥미를 느낀 오픈 소스 기술이었다. 왜냐하면 핵심 기술 팀에 내 오랜 친구와 동료들이 있었기 때문이다. 2001년 11월에 이클립스가 나왔는데 그때 나는 WebGain에서 일하고 있었다. WebGain은 자바 툴 시장에서 이클립스와 직접적인 경쟁 상대였다. WebGain은 오픈 소스가 고유한 비지니스 모델이 돼 가는 초창기 회사였는데 2002년에 사업을 접었다. 2004년에 이클립스 재단에 합류할 기회가 찾아왔고 나는 망설임 없이 그 기회를 잡았다.
수많은 프로그래밍 언어 중 자바가 IoT 분야에서 유일무이한 언어가 된 중요한 요소는 무엇인가?마이크 밀린코비치: "사물 인터넷"이란 용어는 매우 넓은 영역을 아우른다. 그리고 서로 성격이 다른 것들이 혼재한다. 사물 인터넷 분야는 크게 소비자 IoT와 산업 인터넷(industrial Internet)으로 구분 지을 수 있다. 소비자 IoT 영역에서 자바는 다른 수많은 언어와 플랫폼과 경쟁해야 한다. 반면 산업 인터넷 영역에서 자바는 엄청난 기회를 만났다고 생각한다. 산업 인터넷의 핵심은 임베디드 소프트웨어와 엔터프라이즈의 결합이다. 이 영역에서 자바는 몇 가지 이점이 있다. 첫 번째 이점은 기술자의 수다. 알다시피 수많은 자바 개발자들이 있으며 이는 기술을 선택하는 데 있어 중요한 요소다. 두 번째 이점은 성숙도와 안정성이다. 당신이 원격으로 관리되고 십 년 이상 유지되는 디바이스를 갖고 있다고 하자. 그렇다면 자바의 안정성과 이전 기종과의 호환성이 매우 중요해진다. 세 번째 이점은 자바 생태계의 규모다. SIM 카드에 JavaCard를 사용하는 Gemalto부터 가장 규모가 큰 엔터프라이즈 소프트웨어 업체까지 수 천 개의 회사가 이미 자바 기반의 사업을 하고 있다.
기술적인 얘기를 하자면 내 생각에 자바의 가장 큰 이점은 OSGI다. 물론 OSGi를 좋아하지 않는 사람도 있다. 하지만 대부분의 산업 인터넷 디바이스 게이트웨이의 중요한 부분을 구성하는 디바이스 게이트웨이는 원래 OSGi를 위해 설계된 것이다. 디바이스 게이트웨이에서 확장성, 서비스 기반의 아키텍처, 원격 관리, 생명주기 관리 등의 기능이 매우 중요하다. OSGi는 이를 위한 성숙한 플랫폼을 제공한다.
이클립스의 자바를 위한 IoT 스택을 사용하는 하드웨어, 디바이스, 프로젝트는 무엇이 있는가?마이크 밀린코비치: Deutsche Telekom의 Qivicon 홈 자동화 플랫폼이 이클립스 Smarthome 기반이다. Qivicon은 필립스, 삼성, eQ-3 등의 업체를 포함하는 넓은 영역의 디바이스들을 통합하는 홈 자동화 게이트웨이를 제공한다. Solair는 윈도우즈 애저에서 구동되는 IoT 솔루션을 만들기 위해 이클립스 Kura 디바이스 게이트웨이 프레임워크을 사용하는 이탈리아의 스타트업이다. Eurotech는 디바이스 게이트웨이를 만들기 위한 디바이스 애플리케이션 프레임워크인 Everyware 소프트웨어 프레임워크 내부에서 Kura를 사용한다.
MQTT는 그들이 가진 모든 것들에 대해 특별한 찬사를 받을 만하다. MQTT 기반의 솔루션을 사용하는 매우 많은 회사들, 또는 MQTT로부터 AMQP, RabbitMQ 등과 같은 다른 메시징 시스템으로의 브리지가 이클립스 "Paho" MQTT 클라이언트를 사용한다. 이클립스 Mosquitto MQTT 브로커 또한 널리 사용된다.
이클립스의 자바를 위한 IoT 스택을 사용하는 회사나 산업군에 대해서도 알려달라.마이크 밀린코비치: 우리는 주로 IoT 플랫폼과 솔루션을 만드는 업체들이 이를 채택하는 것을 확인하고 있다. 사실 이클립스 IoT는 IoT 프로토콜(CoAP, LWM2M, MQTT), 디바이스 게이트웨이(Kura, Mihini), 홈 그리고 산업 자동화 솔루션(Smarthome, SCADA) 등을 구현하기 위한 빌딩 블럭 세트를 제공한다. 해당 업체들은 이 컴포넌트를 사용하거나 조합해서 제품을 만든다.
이클립스 재단이 IoT 관련 프레임워크와 서비스를 개발하기 시작한 계기는 무엇인가?마이크 밀린코비치: 모든 것은 우리가 2011년 11월에 그 당시 "M2M 산업 작업 그룹"이라 부른 Eurotech, IBM, Sierra Wireless 등의 기업들에 의해 시작됐다. Eurotech와 IBM은 테이블에 MQTT를 가지고 왔고, 이클립스 Paho 프로젝트를 시작했다. Sierra Wireless는 그들의 루아 기반 Mihini 디바이스 게이트웨이와 이클립스를 위한 루아 개발 툴을 기부했다. 이 기부 덕분에 이클립스에 Iot 커뮤니티가 탄생했고, 우리는 그 어느 때보다 크게 성장했다. 2014년에 Wakaama (LWM2M 클라이언트), Leshan (LWM2M 서버), Californium (CoAP), Mosquitto (MQTT 브로커), Smarthome, Kura, Krikkit, OM2M 같은 새로운 프로젝트가 더해지면서 프로젝트 커뮤니티가 엄청나게 커졌다.
향후 IoT 개발에 있어 오픈 소스는 얼마나 중요한 위치를 차지할 것인가?마이크 밀린코비치: 오픈 소스는 IoT의 성공에 있어 가장 중요한 요소다. 인터넷과 웹의 성공이 아주 훌륭한 예다. TCP/IP, HTTP와 HTML 같은 인터넷과 웹의 기반이 되는 모든 빌딩 블럭은 무료 오픈 소스다. 하지만 거기에 더해 일명 LAMP 스택이라 불린 리눅스, 아파치 웹 서버, MySQL, 파이썬/펄/PHP 같은 FLOSS 기술의 유용성이 인터넷을 크게 확장시켰다. 이 오픈 소스 컴포넌트들의 유용성이 없었다면 우리는 결코 오늘날과 같은 세계에서 살 수 없었을 것이다.
IoT도 정확하게 같다. 우리는 앞으로 몇 년 안에 LAMP 스택과 동등한 공통 IoT 설계 패턴 관련 수많은 무료 오픈 소스 스택이 만들어질 것이라 믿는다. 만약 오픈 소스에 개발 규모를 키우기 위한 목표를 이뤄줄 모델이 없다는 이유가 아니라면, 이 스택은 반드시 오픈 소스여야 한다.
이클립스는 미래에 어떤 역할을 할 것인가?마이크 밀린코비치: 우리는 이클립스 IoT가 사물 인터넷을 의한 오픈 소스 커뮤니티 되기를 원한다. 우리는 이미 16개의 완성된 프로젝트를 보유하고 있고 더 많은 프로젝트가 진행 중이다. 자바, C/C++, 루아, 자바스크립트와 그 밖의 더 많은 언어를 이용해서 프로젝트를 만들었거나 진행하고 있다. 무엇보다 중요한 사실은 우리가 프로젝트를 성공으로 이끌기 위해 열심히 노력하는 몇몇 대단한 사람들이 참여하는 역동적이고 활기 찬 커뮤니티를 갖고 있다는 점이다. 토론, 네트워킹, 협업 등을 통해 커뮤니티가 꾸준히 성장하는 모습을 지켜보는 것은 정말 즐거운 일이다. 그래서 당신이 IoT 오픈 소스 개발자고 기부할 프로젝트를 갖고 있거나 프로젝트에 공헌하고 싶다면 망설이지 말고 참여하길 바란다. 예를 들어 우리는 얼마 전에 tinydtls 프로젝트에 이클립스 IoT 커뮤니티에 참여하기를 제안했다. 이 프로젝트는 아주 작은 데이터그램 전송 레이어 보안 엔진(DTLS)이다. 그들은 결국 이 프로젝트를 이클립스에 가져왔다. 왜냐하면 IoT 솔루션에 보안 기능을 제공하기 위해 CoAP, LWM2M 프로젝트를 사용하는 프로젝트이기 때문이다. 이것은 오픈 소스 환경에서 어떤 방식으로 유기적인 성장이 더 완전한 솔루션이나 스택을 발전시키고 만들어 가는지 보여주는 멋진 예다.
마지막으로 IoT가 앞으로 어떤 방향으로 나아갈 것이라고 생각하는가?마이크 밀린코비치: 당신이 읽는 대부분의 사물 인터넷 관련 글은 기술이나 사업 기회의 확대(엄청나게 큰 돈과 동일시 되는)에 초점을 맞춘다. 개발 도전 과제라든지 사물 인터넷을 실체로 만들 수 있는 능력을 갖춘, 채용을 희망하고 훈련돼서 실무에 투입될 수 있는 개발자의 순수한 수에 대해서 충분히 듣지 못한다. 사물 인터넷을 구현하는 것은 이벤트가 아닌 프로세스가 될 것이다. 여기에는 다음 10년이나 그 이상을 넘어 계속되어야만 할 보안, 개인 정보 보호, 확장성, 상호운용성 같은 주요한 도전 과제들이 있다. 사물 인터넷은 이제 막 가능성이 열렸다. 성공에 대해서는 신경쓰지 않아도 된다. 우리는 개발자들이 솔루션을 만드는 데에만 집중할 수 있도록 오픈 소스 소프트웨어 컴포넌트, SDK, API, 툴을 제공함으로써 복잡성을 줄여나갈 것이다.
*****
역자 함동기 소개: 대학에서 컴퓨터과학과 사회학을 전공했다. 현재 넥슨 코리아에서 게임 프로그래머로 일하고 있다. 게임 프로그래밍 책을 한 권 냈고, IT잡지에 몇 차례 글을 기고한 경험도 있다. 읽고 쓰는 재미에 푹 빠져 살고 있고, 앞으로도 그렇게 살고 싶다.