자동차에도 서비스 플랫폼이 필요하다.


며칠 전 운좋케도 ”소프트웨어 아키텍쳐"에 대한 강의를 들을 기회가 있었다. 무엇보다도 “Software Architecture in Practice”라는 책을 집필한 Rick Kazman 이 직접 발표를 하기 때문에 다른 일을 제쳐두고 강의에 참가 하였다. 아이러니컬 하게도 이번 강의를 통해 S/W 아키텍쳐에 대한 기존 생각을 다시 한번 정리할 수 있었을 뿐만 아니라 쇼셜 네트웍, 오픈 소스, 서비스 지향 개발 등 최근의 사회적, 기술적 트렌드가 소프트웨어 아키텍쳐에 이르기까지 많은 영향을 주고 있다라는 것을 확인할 수 있는 자리가 되었다.

곰곰히 생각해 보면 이러한 급격한 변화속에서도 변화 주체들이 공통적으로 노력하고 있는 하나의 흐름이 있는 것 같다. 바로 플랫폼이다. 각 분야에서 주체들은 플랫폼을 만들고 그 플랫폼의 주인이 되기 위해 노력하고 있는 것이다.

플랫폼이란 과연 무엇일까? 위키에 보면 플랫폼을 다음과 같이 설명해 주고 있다.

소프트웨어가 작동될 수 있게 해주는 일련의 소프트웨어 프레임웍이나 하드웨어 아키텍쳐를 말함( In computing, a platform describes some sort of hardware architecture or software framework that allows software to run. )

아마 서버 개발자 입장에서는 자바 플랫폼이나 닷넷 플랫폼 등 개발 플랫폼에 대한 이야기를 주로 들었을 것이고, 모바일 개발자 입장에서는 안드로이드 플랫폼과 아이폰 플랫폼, 나아가 바다 플랫폼 에 대한 이야기를 들었을 것이다. 또한 기획이나 경영진 , 특히 모바일 기획자의 경우 구글의 구글 마켓 , 노키아의 OVI , 애플의 애플스토아 같은 마켓플레이스 플랫폼에 대해 한마디씩 하지 못하는 사람은 없을 듯 하다.

이처럼 수많은 분야에서 수많은 변화 주체들이 플랫폼을 구축하고자 한다. 이러한 플랫폼을 이해하고 구축하기 위한 기본은 무엇일까? 바로 플랫폼적 사고가 아닐까 싶다.

플랫폼적 사고에 대한 키워드를 찾아보니 켈로드 대학의 Mohanbir Sawhney 교수가 플랫폼적 사고란 비용 효과적인 방법으로 사용자의 요구사항을 만족시키기 위한 전략의 핵심이 바로 플랫폼적 사고다 라고 정의한 바 있다 ( Sawhney, Mohanbir S. (1998), “Leveraged High-Variety Strategies: From Portfolio Thinking to Platform Thinking”, Journal of the Academy of Marketing Science, Vol. 26, No. 1, 54-61. ).

좀 더 풀어서 이해해 보면 플랫폼적 사고란 한 기업의 보유한 모든 것 ( 제품 , 브랜드 , 시장 , 고객 , 경쟁자 등)에서 공통 분모를 찾고 이를 기반으로 하여 모든 제품들을 하나의 전략으로 묶어내는 것을 말한다. 가령, 기존의 다양한 전자 제품을 만들어 팔던 A사가 자신의 공통 분모로 모든 전자 제품을 언제 어디서나 접근하여 조작할 수 있는 것에 두고 이를 통해 모든 제품을 묶어 내는 것을 플랫폼적 사고라 할 수 있다.

이러한 플랫폼적 사고에 기반하여 개발되는 모든 제품은 하나의 일관된 전략으로 수렴할 수 있고 이를 통해 보다 신속한 개발이 가능하다. 또한 이들 제품은 하나의 일관적 마케팅과 영업 전략하에 판매되기 때문에 이 과정에서 적은 비용으로 큰 효과를 누릴 수 있다.

이러한 것을 가장 잘 수행한 업체가 바로 애플이고 구글이다. 애플은 “Think Different” 라는 광고 슬로건으로 대표되는 플랫폼적 사고를 바탕으로 애플스토어와 아이튠, 아이팟, 아이폰으로 이어지는 전략적 플랫폼을 구축하여 MP3와 스마트폰 시장을 질주하고 있다. 애플이 만든 제품은 다르다. 그 제품은 모두 애플 플랫폼에 연동되어 보다 편하게 사용할 수 있다. 바로 이 점이 애플 사용자가 애플 제품을 계속해서 구매하는 원인중의 하나이다.

구글은 “모든 데이타는 구글에” 라는 플랫폼적 사고에 기반하여 Open API를 기반으로 한 웹 플랫폼을 만들었고 이를 모바일 플랫폼으로 확대해 나가고 있다. 이러한 플랫폼 전략을 바탕으로 애플은 애플 TV를 비롯해 신규 IT 가전 시장으로의 진출을 노리고 있고 구글 역시 안드로이드 플랫폼을 통해 기존의 웹 플랫폼을 다양한 시장으로 넓혀가고 있다.

과거 필자가 몸담고 있던 웹 오피스 개발 업체인 씽크프리에서도 자바 오피스와 웹이라는 공통 분모를 기반으로 하여 ”Any where,Any time access”라는 플랫폼적 사고를 하였다. 이를 기반으로 웹과 데스크탑, 모바일이 하나로 통합된 통합 오피스 플랫폼을 개발하고 이를 오픈 API를 통해 다양한 생태계에 접목하려는 노력을 하였다. 그 결과 다양한 웹2.0 업체들과의 제휴들을 통해 사업 기회를 늘릴 수가 있었다. 실제 , 네이버 메일에서 오피스 첨부 문서는 씽크프리의 오픈 API를 사용하여 실시간에 HTML로 변환하여 MS오피스 프로그램이 설치되어 있지 않아도 문서를 볼 수 있었다. 아쉽게도 현재에는 다른 서비스로 교체되었다.

플랫폼적 사고를 다른 분야로 확장해 보자. 필자가 현재 가장 관심을 두는 있는 분야는 자동차이다. 왜냐하면 자동차는 스마트폰 만큼이나 사용자에게는 떨어질 수 없는 휴대용 장치이기 때문이며, 더 나아가서는 휴대용 공간이기 때문이다. 이 때문에 자동차 분야의 경우에도 서비스 플랫폼은 아주 중요한 경쟁 요소이다.

초기 자동차 산업이 기계 장치 산업의 대표주자 였을 시기에는 자동차의 생산 라인과 프로세스를 표준화하여 플랫폼을 구축하는 데 주력하였다. 이를 통해 대량 생산이 가능해 지고 , 보다 저렴한 가격에 자동차를 공급하여 대중화를 할 수 있었다.

그러나 점차 자동차가 단순 기계 장치 산업의 결과물이 아니라 복잡한 전자 제어 장치와 이를 운영하기 위한 운영 소프트웨어로 구성되는 첨단 결과물로 거듭난 현재에는 새로운 플랫폼 전략이 필요하게 되었다. 자동차는 사용자를 위한 단순한 이동수단이 아니라 음악, 영화, 게임 등 다양한 컨텐트를 소비하는 공간이자 다른 사람과의 쇼셜 네트웍과 메세징 교환을 위한 공간이기도 하다.

사용자 삽입 이미지


따라서 자동차에는 이러한 컨텐트 및 서비스, 그리고 다양한 게임 등의 어플리케이션을 공급하고 소비하기 위한 플랫폼이 필요하다고 할 수 있다. 이러한 플랫폼을 가장 앞서 진행하고 있는 자동차 업체는 포드사이다. 포드는 마이크로소트사와 싱크(Sync)라는 서비스를 개발하여 공급하고 있다. 싱크 서비스는 마이크로소스트 오토 라는 임베디드 윈도우 OS를 기반으로 하는 서비스로서 음성 인식, MP3 검색 등 각종 편의 서비스를 제공한다. 또한 포트는 싱크 앱링크(SYNC AppLink) 라는 싱크의 업그레이드된 서비스 플랫폼을 개발하고 이를 2011년 부터 전 차종에 공급할 예정이다. 싱크 앱링크는 기존 싱크 기능외에 음성 인식이나 운전대의 조작 장치를 통해 안드로이드와 블랙베드 같은 스마트폰의 어플리케이션을 활용할 수 있게 해준다. 이를 통해 사용자는 기존에 사용하던 스마트폰의 어플리케이션을 자동차에서도 사용할 수 있으며 , 자동차 운행에 필요한 어플리케이션을 언제든지 다운로드 받아 사용할 수 있다. 또한 포드는 싱크 모바일 어플리케이션 디벨로퍼 네트웍 이라는 개발자를 위한 사이트를 통해 싱크 API를 제공함으로써 싱크 API를 사용한 모바일 어플리케이션 개발하고 이를 기존의 앱스토아를 통해 확산시키길 장려하고 있다.

만일 싱크 API 뿐만 아니라 자동차 자체에 대한 API를 제공한다면 더욱 창조적인 모바일 어플리케이션을 개발할 수 있을 것이다. 가령, 자동차의 엔진 및 냉각수 등 내부 상태를 알 수 있는 센서 API를 제공한다면 원격지에서도 해당 자동차의 상태를 조회하고 조정할 수 있는 AP를 개발할 수 있을 것이다.

항상 시간이 지나면서 느끼는 것이지만 플랫폼을 만드는 것도 중요하지만 플랫폼적 사고와 이를 기반으로 한 수행(doing)이 더욱 중요하다는 생각을 한다. 제품과 서비스의 개발이 플랫폼과 무관하게 진행된다면 비극적인 결과를 낳을 것이기 때문이다. 이런 결과를 낳지 않기 위해서는 플랫폼적 사고에 의한 전략과 수행능력을 항상 염두해 두어야 할 것이다.

2010/05/26 - [ZDnet 컬럼] - 웹의 관점에서 본 TV 시장의 미래
2010/05/13 - [Conference] - 클라우드 문제와 해결방안으로의 새로운 Personal Cloud Computing 패러다임과 현재기술
2010/04/10 - [ZDnet 컬럼] - 왜 개인용 클라우드를 주목하는 가?
2010/03/20 - [ZDnet 컬럼] - 디바이스와의 대화

[ 본 글은 ZDNet 컬럼에 기고한 글 입니다. ]


Posted by 박재현
,


무엇인가를 예측하는 것은 쉽지 않은 일이다. 특히, 현재처럼 급변하는 모바일 인터넷 환경을 둘러싼 여러가지 시장과 기술을 예측하는 것은 더욱 어려운 일인 것 같다. 그럼에도 불구하고 2010년을 예상하면서 스마트폰에 대한 고민을 하지 않을 없다. 왜냐하면 스마트폰이야 말로 무선인터넷의 현재와 미래를 예상할 수 있는 가장 첨예한 척도이기 때문이다.

먼저, 스마트폰에 대한 새로운 정의가 필요해 보인다. 초기 스마트폰은 개인 정보를 관리하는 장비에 CDMA 핸드폰 기능을 추가한 폰으로서 일반 무선 전화 기능과 일정관리, 주소록, 메일 등 개인 정보 관리 기능 등을 제공하는 폰으로 인식되어 왔다.  그러나 노키아 심비안이나 애플 아이폰, 구글의 안드로이드 등으로 대표되는 현재 스마트폰은 완벽한 운영체제 기반하에서 표준화된 인터페이스와 개발 플랫폼을 제공한다. 개발자는 모바일 플랫폼을 통해서 다양한 응용 프로그램을 개발할 수 있으며, 사용자는 이를 다운로드 받아 이용할 수 있다.

현재의 스마트폰은 분명 과거에 비해 사용자와 개발자의 자유의지에 의해 원하는 기능을 개발,추가할 수 있도록 진화되었다. 이러한 스마트폰의 자유의지에 대한 진화는 많은 변화를 가져왔다.

- 오픈 모바일 어플리케이션 마켓이 형성되었다.
 
초 기 스마트폰 상에 구동되는 어플리케이션은 해당 공급업체에서 제공하는 것이 전부였다. 사용자는 이들 어플리케이션외에 다른 어플리케이션을 이용하는 데 제약을 받았고 개발자 역시 자유롭게 어플리케이션을 개발하고 공급하는 것에 제약을 받았다. 그러나 현재에는 이러한 제약없이 개발자(공급자)와 사용자가 오픈 어플리케이션 마켓을 통해 자유롭게 어플리케이션을 공급하고 구매하는 것이 가능해 졌다.

- 다양한 모바일 어플리케이션이 출현하였다.

스마트폰에 GPS 등 다양한 센서들이 장착되고 인터넷이라는 거대한 컨텐트에 상시 연결이 가능해 지면서 다양하고 놀라운 어플리케이션이 개발되었다. 이미 애플 앱 스토아에 5만개 , 구글 안드로이드 마켓에 2만개 이상의 어플리케이션이 개발.등록되었다. 이러한 어플리케이션에는 구글 맵에서 제공받은 지도 컨텐트와 스마트폰의 GPS를 응용한 실시간 네비게이션을 비롯하여 트위터, 페이스 북 등 다양한 쇼셜 웹 어플리케이션 , 심지어 카메라를 통해 인식된 현실(사진)에 다양한 정보를 입힌 증강현실 어플리케이션 등 인터넷상의 클라우드와 결합된 다양한 어플리케이션이 창조되고 있다.

이렇듯 항상 스마트폰이 인터넷에 연결되어 있으면서 사용자는 자신의 목적에 맞는 다양한 어플리케이션을 취사 선택할 수 있게 되었다. 이처럼 사용자는 휴대하는 스마트폰을 통해 언제 어디서나 원하는 정보와 서비스를 이용할 수 있게 된 것이다. 이러한 스마트폰의 서비스는 분명 사용자 입장에서는 무척 유용하다. 그러나 스마트폰이 보다 유용해 지기 위해서는 더욱 스마트해져야 한다.

이 러한 스마트 폰의 스마트화는 바로 실시간 서비스를 의미한다. 초기 스마트폰 시대를 열었던 RIM의 블랙베리는 실시간 푸쉬 메일 서비스를 통해 사용자들의 메일을 실시간에 전달해 주었다. 이를 통해, 사용자는 새로 배달된 전자우편을 실시간에 받아 볼 수 있게 되었다. 더 이상, 새로운 메일이 전달되었는지 사용자가 스마트폰에서 직접 확인해야 하는 불편함을 해결한 것이다. 이러한 스마트폰의 실시간 서비스 지원은 더 이상 피할 수 없는 상황이 되었다. 필자가 지난 해 "실시간 쇼셜 검색을 주목해야 할 이유" 라는 컬럼에서 언급했던 것처럼 이미 성공한 많은 웹 서비스들이 바로 이러한 실시간 서비스를 기반으로 하고 있다. 현재 쇼셜 웹의 강자인 페이스북과 트위터 등이 이러한 실시간 웹을 주도하고 있는 실정이다. 이러한 추세를 반영하듯 최근 들어 "pushme.to" 처럼 실시간 기반의 스마트폰 어플리케이션들이 나타나고 있는 상황이다.

이 러한 실시간 서비스를 구현하기 위해서는 여러 접근 방법이 있다. 가장 전형적인 방법으로는 Push 기반 Sync 솔루션을 들 수 있다.  푸쉬 메일로 성공한 RIM은 자체적으로 구현한 Push Sync 엔진을 사용하고 있으며  , Funambol은 표준 Sync M/L을 기반으로 한 오픈 소스 Sync 엔진을 제공하고 있다. 또한  Visto/Good , Seven 역시 자체 개발한 Sync 엔진을 공급하고 있다. 많은 스마트폰 공급업체과 서비스 업체들이 이들 솔루션을 기반으로 하여 실시간 푸쉬 메일, 실시간 메세징 , 실시간 쇼셜 어플리케이션 등 다양한 실시간 서비스를 개발, 제공하고 있다.

이러한 전통적인 Sync 기반외에도 웹 기반의 실시간 서비스도 가능하다. 페이스북이 공개한 실시간 웹 프레임웍인 Tornado는 대용량의 웹 기반 서비스를 실시간에 서비스할 수 있게 해준다. Tornado는 트위터의 실시간 서비스에 자극받은 페이스북이 트위터처럼 실시간 서비스를 제공해주는 FrindFeed를 인수한 후 공개한 오픈소스이다. ( Tornado의 성능에 대해 궁금한 독자를 이곳을 방문해 보기 바란다. )

Push 기반의 Sync 솔루션이 서버에서 클라이언트로 관련 서비스와 컨텐트를 실시간에 전달하는 Push 기반의 서비스라면 Tornado의 방법은 클라이언트에서 서버로 관련 서비스와 컨텐트를 요청하는 Pull 방법의 서비스라고 할 수 있다. Push 방법이 서버에서 발생한 관련 서비스와 컨텐트만을 제공하기 때문에 스마트폰 환경에서는 보다 유리한 아키텍쳐라 할 수 있으나 이를 위해서는 스마트폰에 특정한 Push 이벤트를 전달받어야 하는 컴포넌트를 탑재해야 한다. 그러나 Pull 방식은 별도의 추가 모듈없이 직접 스마트폰상의 어플리케이션이 RESTful 기반의 OpenAPI 호출처럼 표준 웹 방식으로 수행할 수 있다.

이 러한 실시간 서비스 플랫폼은 스마트폰을 똑똑하게 만들기 위해 필수적이다. 스마트폰용 트위터 어플리케이션 사용자가 실시간에 메세지를 전달받듯이 전자 메일 , 인스턴스 메세징, 각종 쇼셜 네트웍, SMS ,뉴스 및 주요 관심사 등을 실시간에 스마트폰을 통해 전달받게 되는 것이다. 실시간 서비스를 통해 비로서 스마트폰은 사용자가 원하는 것을 전달해주는 똑똑한 비서가 되는 것이다.

트 랜스포터 시리즈로 유명한 제이슨 스테이섬 주연의 아드레날린 이라는 영화를 본 적이 있었다. 주인공은 살기 위해 질주를 해야 만 한다. 질주를 통해 끊임없이 아드레날린을 분비해야 만 심장이 멎지 않고 생명을 유지할 수 있다. 아마 올해도 스마트폰은 실시간 웹을 통해 멈추지않고 계속뛸 것이다. 마찬가지로 우리도 아드레날린의 영화 주인공 처럼 뛸 것이다. 그러나 뛰기에 앞서 냉정하게 무엇을 준비해야 할 지  고민이 먼저 필요하지 않을 까 싶다. 영화와 현실은 다르기 때문이다.

이 글은 ZDnet 컬럼에 기고한 글 입니다.

2009/06/30 - [Mobile Service] - 실시간 쇼셜 검색을 주목해야 할 이유
2009/12/04 - [ZDnet 컬럼] - 미래는 컨버전스 시대다
2009/06/10 - [Mobile Service] - 모바일 디바이스-클라우드간 데이타 동기화 서비스에 대한 고찰


Posted by 박재현
,

사용자 삽입 이미지
최근에는 여러 이슈들이 있는 것 같습니다. 오라클의 선 인수, 한컴의 공개 매각 진행 , 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 박재현
,