IT 기획시리즈 임베디드 소프트웨어 4 IT 기획시리즈 임베디드 소프트웨어 4 구글 안드로이드 플랫폼 분석 김석우 삼성전자 선행개발팀 Suhgoo.kim@samsung.com 1. 서론 2. 구글의 모바일 전략 3. 안드로이드 아키텍처 4. 파일 시스템 구성 5. Java SE 와 호환성 6. 결론: 모바일 사업자로의 구글 성공 가능성 1. 서 론 2007 년 11 월 5 일, 전세계 모바일 업계와 개발자 그리고 아이폰의 충실한 고객들까지 모두 구글로 눈이 쏠렸다. 바로 소문만 무성했던 구글폰의 실체가 밝혀지는 날이기 때문이었다. 그러 나 뜻밖에도 구글이 공개한 것은 아이폰을 능가하는 휴대폰 하드웨어가 아닌 Android 라는 이 름의 모바일 플랫폼 소프트웨어였다. 그것도 오픈소스로 완전히 일반 사용자들에게 공개한다고 하였다. 휴대폰용 소프트웨어 일체를 무상으로 일반에게 공개하고 자유롭게 이용할 수 있도록 한 것이다. 역시 반응은 가지각색이었다. 일부는 휴대폰의 개발비용이 더욱 저렴해질 것이다 감당할 수 없을 정도로 복잡해진 소프트웨어를 효율성 있게 만들 수 있을지도 모른다, 애플 아이폰 SDK 를 능가하는 재미있는 장남감 이라며 기뻐하였다. 하지만 모바일 업체 특히 제조업 체들은 구글이 자기들의 서비스를 잠식해 버리는 것은 아닌가, 오픈소스 뒤에 감추어진 구글 의 전략이 무엇인가 라며 당황하는 기색을 감추지 않는다. 마이크로소프트, 심비안을 위시로 하 는 모바일 S/W 업체들도 평온을 가장하면서도 우리의 소프트웨어 비즈니스를 뺏기는 것은 아 닌가 라며 꺼림직한 속내를 드러냈다. 지금까지 모바일 사업자나 단말기 메이커는 굳이 말하자면 오픈되어 있으면서도 철저하게 닫힌 세계에서 지내 왔다. 당분간은 인터넷 접속이 가능한 휴대폰을 저가로 개발하고자 하는 * 본 컬럼은 삼성전자 선행개발팀에서 작성한 내용입니다. 본 내용과 관련된 사항은 삼성전자 선행개발팀 김석우 연구원 ( 010-3299-9131)에게 문의하시기 바랍니다. ** 본 내용은 필자의 주관적인 의견이며 IITA 의 공식적인 입장이 아님을 밝힙니다. 23
주간기술동향 통권 1347 호 2008. 5. 21. 모바일 업계의 의도와 합치하여 서서히 침투할 전망이다. 그것은 닫힌 세계를 지켜 온 두꺼운 벽에 조그만 구멍을 뚫는다. 그 구멍을 들여다보면 보이는 것은 안드로이드를 탄생시킨 구글이 활약하는 인터넷이라는 이름의 광대한 세계이다. 동일한 기반 위에서 누구나가 평등하게 새로운 기능과 서비스를 겨루는 인터넷 문화는 안드로이드가 뚫은 구멍을 통해 서서히 유입될 것이다. 모바일 서비스업체나 제조업체는 이러한 흐름에 휩쓸리지 않고 자신들의 무기로 삼기 위해 지금 부터 오픈 모바일 플랫폼 에 대한 준비를 하는 편이 시대에 뒤쳐지지 않는 길임을 곧 알게 될 것이다. 2. 구글의 모바일 전략 인터넷에 접속할 수 있는 휴대폰 개발에 필요한 OS 등을 무상으로 모두에게 제공한다. 모바 일 사업자나 단말기 메이커, 반도체기업이나 소프트웨어 개발자 등은 대체로 환영의 뜻을 비춘 다. 무상일 뿐만 아니라 서비스와의 친화성이나 오픈 소스 방식의 개발방법 등의 매력이 있기 때문이다. 그러나 양날의 검이다. 서비스 제공과 기기개발에 진출한 제 3 자에게 주도권을 빼앗 기기 쉽다. 이는 휴대폰에 국한되지 않고 인터넷으로 연결되는 모든 디지털 기기로 확산될 가능 성이 있다. 안드로이드 개발에 얼만큼 투자했는지는 말할 수 없다. 그러나 이것만큼은 확실히 밝혔다. 안드로이드는 구글의 매우 중요한 프로젝트이다. 당연히 막대한 금액을 투입했다 (구글 동영상 콘텐츠 웹사이트 검색 1998 년 9 월 미국 캘로니아주 에서 창업 블로그 2003 년 2 월 Blogger 개발. Pyra Labs 사 인수 발표 전자메일 2004 년 4 월 Gmail 서비스 일부에서 개시 지도정보 콘텐츠 2005 년 2 월 Google Maps 일부에서 개시 2006년 10월 YouTube 사를 인수 무선 LAN 서비스 2006 년 8 월 미국 캘리포니아주 마운틴뷰에서 무료 무선 LAN 서비스 개시 워드 프로세서/ 표계산 소프트웨어 휴대전화 개발 소프트웨어 2007 년 11 월 휴대전화기 소프트웨어 기반 안드로이드 (Android) 발표 추진단체 OHA 설립 디지털 가전 관련 소프트웨어 미래 각종 서비스를 무상화 한다 2006년 10월 Google Docs & Spreadsheets 개시 OHA: Open Handset Alliance (그림 1) 구글의 무상화 솔루션 서비스 행보 24
IT 기획시리즈 임베디드 소프트웨어 4 Mobile Platform Director, Andy Rubin). 구글이 모바일 비즈니스에 진출하였다. 휴대폰의 소프트웨어 플랫폼인 안드로이드 를 무상 으로 모두에게 제공할 것임을 2007 년 11 월에 발표 하였고, 안드로이드를 이용하는 휴대폰은 이르면 2008 년 후반에 공개될 것이라고 한다. 대만 HTC(High Tech Computer), 한국 LG Electronics, 미국 Motorola, 그리고 한국 Samsung Electronics Co., Ltd. 4 군데 회사가 시작할 예정이다. 이러한 제품을 시작으로 안드로이드는 업계표준의 자리를 노린다. 인터넷에서 무상화 솔루션 서비스로 돌풍을 일으킨 거침없는 구글의 행보 앞에 무수한 업체 들이 백기를 들었지만, 과연 모바일 업계에서 그러한 일이 재연될 수 있을지는 의문이다. 또한 완전 오픈된 무한경쟁의 인터넷과 몇몇 단말 제조업체와 국가별 이동통신 서비스업체에 의해서 좌지우지되는 폐쇄적인 모바일에서도 구글의 무상화 솔루션 서비스가 통할지에 대해 아직은 확 답을 내리기가 곤란하다. 그러나 우리는 구글의 의도는 쉽게 추측할 수 있다. 그렇다면 구글의 모바일 사업 전략은 무엇인지 지금부터 살펴보기로 한다. 가. 구글 모바일 전략(1) - 휴대 인터넷을 확장하라 구글의 가장 큰 수입원은 역시 무한대의 인터넷 플랫폼이다. 모든 것이 구글로 통하고 구글 로 연결이 된다고 해도 과언이 아니다. 그러나 그러한 인터넷은 아직까지는 PC, 노트북으로 연 결되는 사무실과 각 가정에 국한되어 있다. 지구상의 모든 사람들에게 쥐어질 휴대폰에는 아직 시기상조이다. 우선 접속 비용이 만만치가 않고, 풀브라우징 등 기술적인 문제도 여전히 존재한 다. 그러나 역시 가장 큰 문제는 여전히 비싼 인터넷 접속비용이다. 구글은 이러한 문제점을 정 확하게 견지하였다. 만약 구글의 안드로이드를 사용하면 인터넷에 접속하여 각종 서비스를 이용 할 수 있는 휴대폰을 저가로 개발할 수 있게 된다. 인터넷으로 연결되는 단말기가 늘어나면 구 글이 제공하는 서비스의 잠재적인 유저가 증가한다. 무상 서비스를 통해 유저를 확보하고, 광고 를 통해 수익을 올리는 구글 입장에서 이는 사업 확대로 직결된다. 예를 들면 BRICs 를 비롯한 신흥시장에서 인터넷 접속이 가능한 휴대폰이 대량으로 유통되 면 그 효과는 예측할 수 없다. 전세계 사람들의 인터넷 접속을 더욱 증가시키고자 한다. 그러기 위해서는 휴대폰을 활용하는 것이 최선이다. 신흥국에서 인터넷 접속 수단은 PC 보다도 휴대폰 이 주류가 되어가고 있다. 이러한 구상을 실현하기 위해서 구글은 휴대폰 시장에서 큰 영향력을 가진 기존의 기업을 파트너로 만드는 구조를 안드로이드에 도입하였다. 소프트웨어를 무상으로 제공하는 것은 그러한 작업의 일환이다. 안드로이드 발표와 동시에 구글이 발족한 보급촉진단체 OHA(Open Handset Alliance) 의 멤버를 보면 구글의 의도와 맞아 떨어진다. Motorola 나 미국 25
주간기술동향 통권 1347 호 2008. 5. 21. Qualcomm, 독일 T-Mobile International AG 등 모바일업계의 대기업 34 개 회사로 나란히 구 성되어 있다. 그러나 구글의 의도와 이들 기업의 예상은 어차피 괴리될 가능성이 있다. 구글이 지향하는 것은 유저가 네트워크 상에서의 서비스에 접속하는 데에 필요한 비용을 최소한으로 낮 추는 것으로 보인다. 기기와 서비스 자체에서 이익을 내려고 하는 기업과는 맞지 않을지도 모른 다. 자사만의 특색있는 기기와 서비스를 실현하기 위해 안드로이드를 활용하는 힘이 없는 기업 은 구글이 열어 나가는 세계 속에서 설 자리를 잃게 되고 말 것이다. 나. 구글 모바일 전략(2) - 무료의 그러나 강력한 모바일 플랫폼 구글의 구상이 현시점에서 많은 유력기업을 끌어들일 수 있는 것은 그만큼의 매력이 있기 때 문이다. 소프트웨어 플랫폼을 무상으로 제공하는 것과 네트워크 상에서의 서비스와의 친화성이 높다는 점, 오픈 소스 방식을 통해 개발 효율을 높일 수 있다는 점 등이다. 그 중에서도 직접적 인 것이 소프트웨어의 무상 제공이다. 안드로이드는 OS 나 미들웨어, 유저 인터페이스, 웹브라우 저나 전화번호부 등의 표준적인 애플리케이션 소프트웨어를 포함하고 있다. 극단적으로 말하면 그것을 탑재하는 것만으로 인터넷에 접속할 수 있는 휴대폰이 생겨난다. 지금까지도 비슷한 소프트웨어 플랫폼을 제공했던 기업이 있다. 마이크로소프트의 Windows Mobile 이나 영국 심비안의 Symbian OS 이다. 이것들은 모두 유상이었다. 예를 들면 Symbian OS 를 사용할 경우, 단말기 한 대당 약 5 달러의 라이센스료를 내야 한다. 안드로이드를 사용하 면 이러한 요금은 필요 없게 된다. 안드로이드를 적용하면 휴대폰 비용은 10% 정도 인하된다. 안드로이드는 개발의 용이함까지 배려하고 있다. 먼저 대응하는 하드웨어의 종류가 풍부해질 전 망이다. 안드로이드의 보급단체인 OHA 에는 미국 TI, 퀄컴과 같은 휴대폰용 반도체 대기업이 일제히 등록되어 있다. 각 사의 시스템 반도체(LSI-SoC)와 조합하여 사용할 수 있는 것은 확실 하다. 안드로이드의 커널은 업계표준이라 할 수 있는 리눅스이기 때문에 OHA 에 참가하지 않은 하드웨어 메이커도 디바이스 드라이버를 개발하기 쉽다. 안드로이드를 구성하는 소프트웨어군도 많은 개발자가 이용하기 쉽다는 점을 전제로 선택한 듯하다. 휴대폰용 소프트웨어 개발에 종사하는 한 기술자는 안드로이드의 강점은 과거의 굴레를 끊 고 현시점에서 생각할 수 있는 최선의 구성을 채택했다는 점에 있다 고 지적한다. 그러나 기존 의 휴대폰 메이커가 축적해 온 소프트웨어 자산은 그대로 활용하지 못할 가능성이 크다. 때문에 신흥국 등의 새로운 시장용이나 지금까지와는 다른 특징을 내세우는 기종 등 처음부터 시작하는 제품에 적합할 듯 하다. 기존제품의 영향을 받지 않는 신흥 메이커가 유리해질 가능성이 있다. 26
IT 기획시리즈 임베디드 소프트웨어 4 다. 구글 모바일 전략(3) - 진정한 유니버셜 모바일 플랫폼 안드로이드의 매력은 단말기를 저가로 개발하기 쉽다는 것만은 아니다. 앞에서 이야기 했듯 이 모바일 업계는 인터넷과 다르게 휴대 단말 제조업체와 통신 서비스 업체에 의해서 운영되고 상호공존 관계를 갖기에 지역에 따른 국가별 표준과 콘텐츠 등의 내용이 매우 상이하다. 미국와 유럽의 플랫폼과 서비스 방식이 다르고, 아시아권에서도 한국과 일본 그리고 중국이 다르고 다 양한 서비스 방식들과 규격들이 혼재되어 사용된다. 우리 나라를 보더라도 국가 표준인 모바일 미들웨어 플랫폼 위피 때문에 해외 메이저 단말업체들이 쉽게 국내에 들어오기가 쉽지 않다. 이웃 나라인 일본의 경우는 더욱 심한데, 대표적인 모바일 업체 NTT 도코모와 KDDI 는 이 러한 폐쇄적인 구조를 과감히 탈피하고자 OHA 에 참가하였다. 두 회사가 기대하는 것은 최근 들어 일본시장에 감도는 경직된 시장의 침체를 타파하는 것이다. 세계에서 가장 다기능화가 진 행되었다고 자부하고 있는 일본의 휴대폰 업체들은 최근 1~2 년간 일대국면을 맞이하였다. 그 국면을 단적으로 표현한 것이 NTT 도코모의 최신기종인 905i 시리즈 이다. 이 기종에서는 원 세그 수신이 표준으로 되어 있어 지금까지 제안된 거의 모든 기능을 갖춘 멀티 단말기가 되었 다. 그러나 그 미래가 보이지 않는다. NTT 도코모와 KDDI 모두 유저를 확실하게 잡아두는 콘 텐츠 솔루션과 서비스에 목말라하며 지쳐 있는 상태이다. 안드로이드는 그들의 고민에 한 가지 답을 줄 수 있다. 인터넷 상의 서비스와의 긴밀한 연계 이다. 이른바 풀브라우저 탑재가 당연시 되는 일본의 휴대폰의 경우는 인터넷 상의 서비스를 브 라우저를 통해 사용할 수는 있다. 그러나 그것만으로는 휴대폰 유저의 요망에 충분히 대응할 수 없을 가능성이 있다. 휴대폰 유저의 대부분이 꼭 브라우저 사용에 익숙하지 만은 않은 데다가 휴대폰의 작은 화면으로는 PC 와 동일한 사용의 편리함을 실현하는 것이 어렵기 때문이다. 이 문 제를 해결할 지침을 가르쳐 줄 것은 Apple 의 iphone 일 것이다. 이 제품은 풀브라우저를 탑재하 고 있음에도 불구하고 구글 Maps 나 YouTube 등 구글의 서비스에 직접 액세스하여 휴대폰 으로도 사용하기 쉽게 하는 애플리케이션 소프트웨어를 내장하고 있다. 구글이 안드로이드 상에 서 이러한 소프트웨어를 제공하는 것은 피할 수 없다. 구글의 시야는 자사에서 제공하는 서비스 와의 연계를 초월하였다. 안드로이드는 서버 상에서 동작하는 소프트웨어 개발자가 휴대폰용 애 플리케이션 소프트웨어를 작성하기 쉬운 환경을 만들어 냈다. 예를 들면 Dalvik VM 이라 부르 는 자바 가상머신으로 이용할 수 있는 클래스 라이브러리는 서버 등에서 사용되는 Java 데스크 탑 기반의 Java SE 와 유사하다. 인터넷 상의 많은 서비스 사업자가 연계하여 동작하는 소프트 웨어를 안드로이드 상에서 개발하는 것은 거의 확실하다. 27
주간기술동향 통권 1347 호 2008. 5. 21. 라. 구글 모바일 전략(4) - 오픈 소스 진영을 끌어들이다 구글 안드로이드의 마지막 전략이자 특징은 오픈 소스에 의한 소프트웨어 개발이다. 이것은 전세계의 소프트웨어 개발자를 불러 모으는 효과가 있을 것으로 보인다. Linux 자체가 그런 것 처럼 오픈 소스의 소프트웨어는 자신의 기술에 자신있는 많은 기술자를 끌어당긴다. 자기 자신 의 기여가 직접 반영되기 때문일 것이다. 구글은 안드로이드의 소스 코드를 2008 년 후반에는 모두 공개하고 외부 개발자에게 문호를 개방할 예정이다. 현시점에서는 안드로이드의 대부분을 구글이 개발 중이지만 앞으로는 구글을 포함한 OHA 참가기업의 제안을 통해 계속 진화한다. 개발자가 수시로 제안하고 그 제안을 어드바이저가 채택해 나가는 일반적인 오픈 소스 프로젝트 와 동일한 형식으로 할 계획이다. 구글뿐 아니라 여러 OHA 참가기업이 어드바이저 역할을 할 것이다 라 밝히고 있다. 이미 Media Framework 라 부르는 멀티미디어 프로세싱 미들웨어는 PacketVideo 가 개발한 것임을 발표하였다. 안드로이드와 경쟁하는 기존의 OS 는 지금까지 과 감한 방법을 사용하지 않았다. 안드로이드와 마찬가지로 Linux 를 커널에 이용한 소프트웨어 플 랫폼을 개발하는 LiMo Foundation 의 경우, 유상으로 참가하는 회원기업만이 새로운 소스 코드 를 제안하고, 회원기업에게만 공개하는 형태를 취했다. 또한 Symbian OS 나 Windows Mobile, BREW 등은 허가받은 기업에게만 소스 코드를 공개하거나 처음부터 소스 코드를 공개하지 않 는 형태이다. 모두 소스 코드의 수정을 희망할 때에는 개발기업에 의존할 필요가 있었다. 구글은 소프트웨어 개발자를 고무시킬 다른 방법도 준비하고 있다. 총상금액 1,000 만 달러 (950 억 원)의 애플리케이션 소프트웨어 개발 콘테스트이다. 소프트웨어 개발 킷(SDK)의 공개 와 동시에 이를 발표함으로써 2008 년 말 또는 2009 년에는 안드로이드가 탑재된 단말기가 나 올 때까지 애플리케이션 소프트웨어의 제품 구성을 풍부하게 갖출 계획일 것이다. 3. 안드로이드 아키텍처 휴대폰의 소프트웨어는 하루아침에 만들 수 없다. 이르면 2008 년에 등장하는 안드로이드도 현시점에서 공개된 것은 아직 극히 일부이다. 그러나 그 구성이나 설계사상은 공개된 범위에서 표면화되고 있다. 커널은 리눅스지만 그 이외의 부분은 리눅스와는 상당히 다르다. 독자적인 가 상머신을 중시한 설계이지만, 한편으로 기존의 Java 프로그램과의 호환성을 활용하려고 하는 등 장점만을 취사선택 하려고 한다. 2007 년 12 월 1 일 시점에서 공개된 정보를 바탕으로 안드로이드가 어떤 소프트웨어인지를 분해 하였다. 정리하면 안드로이드는 2 년 후에 전세계 표준이 될 가능성이 있는 휴대폰을 염두 28
IT 기획시리즈 임베디드 소프트웨어 4 에 두고, 현시점에서 적절한 기술을 적절히 조합한 것이라 할 수 있다. 기존의 오픈 소스 기술이나 Java 개발자들의 경험 등을 충분히 살릴 수 있게 아키텍처를 디 자인하여 새로운 기술을 담아 완벽하게 정리하였다. 이번 플랫폼 분석에서는 크게 두 가지 관점 에서 접근했는데, 안드로이드의 컴포넌트 아키텍처 구성과 API(Application Programming Interface)이다. 전자는 안드로이드의 이식성과 안드로이드의 아키텍처에 대한 평가와 관련된다. 휴대폰에 안드로이드 플랫폼을 탑재할 경우에 중요하다. 플랫폼 구성 형태를 상세하게 조사한 결과, 전체적으로는 과거와의 계승성 등을 고려하지 않고 새로운 OS 를 하나부터 다시 만든다고 하는 의욕이 나타났다. 예를 들면 리눅스를 커널에 사용하면서도 라이브러리 군에 보통의 리눅 스와는 다른 소프트웨어를 이용하고 있다. 휴대폰 개발 업체의 요망을 배려하여 자유롭게 사용 할 수 있는 오픈 소스 라이센스의 소프트웨어를 모은 결과이다. 후자인 API 의 평가는 애플리케 이션 프로그램 개발/배포의 용이성 등 앞으로 플랫폼으로써 보급할 소지를 가지고 있는가가 포 인트가 된다. 분석 결과, 소프트웨어 개발자가 이미 가지고 있는 지식을 유효하게 활용할 방침이 엿보인다. 그러나 프로그래밍 스타일은 기존의 휴대폰보다도 서버기나 PC 용 프로그램 개발자에 게 익숙해지기 쉽다. 가. 안드로이드의 구조 - 애플리케이션은 자바 VM 으로 실행 안드로이드의 아키텍처는 리눅스 커널 상에 네이티브 코드로 동작하는 라이브러리군, Dalvik 가상머신(Dalvik VM) 이라 부르는 독자 실행 환경과 그 위에서 동작하는 애플리케이션 프레임워크로 구성되어 있다. 프레임워크에 근거하여 애플리케이션 프로그램을 기술함으로써 개 발의 부하를 경감할 수 있다. 애플리케이션 프로그램은 원칙적으로 Dalvik VM 으로 실행한다. 프로그램의 기술언어는 Java 이다. 제일 먼저 눈에 띄는 것은 가상머신을 전면적으로 채택했다 는 점이다. 이는 복수의 하드웨어 아키텍처가 혼재된 내장용도인데다가 마이크로 프로세서의 성 능이 향상된 현재는 필연적인 선택이라고 할 수 있을 것이다. 가상머신을 설치함으로써 다른 기 기에서 프로그램을 공통화할 수 있으며, 개발 효율을 향상시킬 수 있다. 가상머신은 성능 면에서 오버헤드가 크지만 2008 년 이후에 등장할 기기라면 내장용도로도 충분히 이용할 수 있다고 판 단한 것으로 보인다. 또 하나의 특징은 리눅스를 커널에 채택했다는 점이다. 그렇게 함으로써 새로운 하드웨어나 주변기기에 대응하기 쉬어진다. 리눅스에는 하드웨어 메이커가 직접 디바이스 드라이버를 제공 한다. 리눅스를 커널에 채택한 것은 모든 하드웨어가 이식되기 때문이며 이는 독자적인 커널로 는 바랄 여지도 없는 부분이다. 한편 커널 이외에는 리눅스 관련 소프트웨어는 사용하지 않는다. 29
주간기술동향 통권 1347 호 2008. 5. 21. 예를 들면 Google 은 표준 C 라이브러리 libc 는 BSD UNIX 의 것임을 분명히 밝히고 있다. Google 이 공개한 오버뷰를 통해 판단할 수 있는 것은 이 정도이다. 그 이상은 내부구조로 더 들어가지 않으면 알 수 없다. 그러나 현상황에서는 안드로이드의 소스 코드 공개 범위는 너무 좁다. 개발 툴을 제외하면 커널과 HTML 의 렌더링 엔진(Webkit)뿐으로 구성요소의 극히 일부 에 지나지 않는다. 그러나 실제로 동작하는 안드로이드 SDK 를 통해 꽤 많은 사실이 표면화 되 었다. 4. 파일 시스템 구성 에뮬레이션 환경에서는 PC 에서 동작하는 ADB(Android Debug Bridge) 라는 툴을 사용하 여 리눅스의 쉘(Shell)을 조작할 수 있다. 에뮬레이터 상에서 동작하는 adbd 라는 프로세스와 통신함으로써 실현하고 있다. 이 쉘을 통해 디렉토리나 파일 구성을 들여다보면 지극히 평범한 리눅스에 가까운 것처럼 보인다. 예를 들면 구동 시에 실행되는 스크립트는 etc 디렉토리에 저 장되어 있다. 그러나 자세히 보면 안드로이드에서 특징적인 파일은 표준 리눅스에서는 그다지 볼 수 없는 system, data 등의 디렉토리에 있다. 또한 안드로이드의 Dalvik VM 의 본체는 system 디렉토리 하위인 bin 디렉토리에 들어 있다. 쉘 조작으로 이용하는 ls 나 mv 등의 코 멘드는 안드로이드에서는 toolbox 라 부르는 하나의 프로그램이 통합하여 관리하고 있다. 내장 리눅스의 경우는 동종 기종을 제공하는 BusyBox 를 사용하는 경우가 많다. 여기에서도 평범한 리눅스와의 차이가 보인다. 가. 안드로이드의 API 안드로이드의 애플리케이션 프로그램에는 Activity, Service, Content Provider, Intent Receiver 라고 하는 4 가지 실장 형태가 있다. 유저 인터페이스(UI)를 가진 안드로이드의 애플 리케이션 프로그램은 Activity 로써 실장된다. 서비스는 UI 를 가지고 있지 않으며 연속적으로 정보를 제공하는 프로그램이다. SDK 의 경우는, 예를 들면 플레이리스트에 근거하여 복수의 악 곡을 연속적으로 재생하는 것을 서비스로써 실장한다고 설명하고 있다. Content Provider 는 데 이터베이스 등 특정 조건 하에서 데이터를 제공하는 것이다. Intent Receiver 는 외부의 이벤트 에 대해 어떠한 반응을 할 때에 사용한다. 예를 들면 전화가 착신되었을 때에 어떤 처리를 하는 프로그램은 Intent Receiver 로써 실장된다. 그러나 UI 를 표시할 수 없기 때문에 유저에게 제시 하는 것은 별도의 Activity 를 호출하는 등의 연구가 필요하게 된다. 이러한 형태로 실장하게 되며 애플리케이션 프로그램을 OS 가 통일적으로 취급할 수 있도록 30
IT 기획시리즈 임베디드 소프트웨어 4 하고 있다. 이러한 실장 형태는 Java 애플릿이나.NET Framework 를 이용하여 GUI 프로그래 밍을 할 경우 등 거의 공통적이며 개념으로써 새로운 점은 느낄 수 없다. 프레임워크가 호출하 는 것이 메써드라는 것이나 메써드명이 on 으로 시작되는 것은 Java 보다도 미 Microsoft Corp. 의 프레임워크에 가깝다. 예를 들면 Java 애플릿의 경우, 초기화 때에는 init 메써드가 호출되 며, 그림이 필요할 때에는 paint 메써드가 호출된다. 안드로이드의 경우는 oncreate 등의 메 써드명이 주어진다. 5. Java SE 와 호환성 안드로이드의 경우는 java.io 나 java.net 등 Java 의 표준적인 패키지 중 이용할 수 있는 것이 적지 않다. 커다란 차이는 UI 부분이며 MVC 모델 등에 근거하여 프로그램을 만들면 의외 로 간단하게 Java 프로그램을 안드로이드용으로 변환할 수 있다는 지적이 있다. 그러나 심비안 OS 의 사양이나 MIDP 등에 근거하여 휴대폰용으로 개발한 Java 프로그램 이식은 어려운 면이 있다. 예를 들면 서버기측과 통신하는 시스템 등은 안드로이드와 휴대폰용 Java 의 규약인 CLDC 의 경우는 크게 차이가 있기 때문이다. 안드로이드가 채택한 Java 클래스를 보면 휴대폰 용 소프트웨어보다도 서버기에서 동작하는 서비스를 기술해 온 프로그래머를 흡수하기 위한 것 이라는 해석이 성립된다. 안드로이드의 네트워크 기능은 서버판의 Java 와 크게 다르지 않다. 저 장할 수 있는 데이터 양에 차이는 있지만 서버 사이드에서 실장해 온 서비스 아이디어를 그대로 휴대폰의 애플리케이션으로써 실장할 수 있다. 6. 결론; 모바일 사업자로의 구글 성공 가능성 구글의 의도가 성공할 지는 알 수 없다. OS 나 미들웨어 등 안드로이드와 직접 경쟁하는 사 업영역의 메이커는 하루아침에 무너뜨릴 수 있을 정도로 휴대폰 시장이 간단하지는 않다고 주장 한다. OHA 에 가입한 기업 중에는 반신반의 하는 곳도 적지 않다. 구글이 호언장담 하는 구상이 순조롭게 진행되면 거기에 잘 편승하여 자사의 이익으로 연결시키고자 하는 의도가 엿보인다. 가령 구글이 실패하더라도 손실은 크지 않다. 실은 구글이 예상한대로 일이 진행되면 모바일 사 업자나 휴대폰 메이커에게도 결단코 희망적이지 않은 미래가 도래할 수도 있다. 지금까지 구글 의 강점은 각 업체들의 전략을 뛰어넘는 앞선 미래의 전략을 주도해 온 것이다. 무상화에 따른 광고나 인터넷 솔루션 서비스(이메일, 검색 등) 역시 이미 시행을 해오고 있었던 전략과 솔루션 이었다. 그러나 구글은 그것을 다른 업체들과 같은 레벨에서 시행하지 않고, 미래를 내다보며 과 감하게 투자하고 계속해서 판도라의 상자들을 남들보다 더 빨리 열어서 유저들에게 고객들에게 31
주간기술동향 통권 1347 호 2008. 5. 21. 소비자 (스마트폰 등 고기능 단말기 가격이 저렴해질 가능성) (단말기용 애플리케이션 소프트웨어나 서비스가 만족스러울 가능성) 단말기 메이커 (단말기 제조비용을 절감할 수 있는 가능성) (PC 시장처럼 되어 부가가치를 낼 수 없는 메이커가 시장에서 철수할 가능성) 휴대전화 사업자 (단말기 조달비용을 절감할 수 있는 가능성) (콘텐츠ㆍ서비스 사업 등에서 주도권을 잃을 가능성) 소프트웨어ㆍ메이커 (경합을 벌일 경우, 비즈니스 모델 재검토도) (무상 OS 와 SDK 만 살아남을 가능성) OHA 설립 초기 미래 시기 : 이점이 있다, : 일부에서 불리한 점이 있다, : 많은 부분에서 불리해진다, OHA: Open Handset Alliance (그림 2) 모바일 사업자로서의 구글 성공 가능성 다가갔다. 이번 안드로이드 플랫폼도 같은 연장선상에 있다. LiMO 를 통해서 오픈 소스의 플랫 폼 단체가 있었지만, 진정한 유니버셜 플랫폼과 무상화 솔루션으로 경쟁자보다 먼저 치고 나가 기 시작하였다. 물론 아직 출발선상에서 한 두 발자국을 간신히 내딛었을 뿐이다. 구글이 안드로이드를 통해 실현하고자 하는 것은 지금까지 기기 메이커나 모바일 사업자가 중심이 되어 진행해 온 기기개발이나 서비스 제공에 제 3 자의 대폭적인 개입을 용납하는 것이 라고 간주할 수 있다. 이른바 휴대폰의 PC 화이다. 이에 따라 구글은 인터넷 상의 서비스에 접 속하는 비용을 대폭 낮추려는 목표를 달성할 수 있다. 그러나 모바일 사업자나 휴대폰 메이커는 불이익을 당할 수도 있다. 모바일 사업자는 현재 자사 경유로 제공 중인 콘텐츠 관련 서비스의 주도권을 타사에 뺏길 수도 있다. 휴대폰은 PC 와 마찬가지로 누구라도 만들 수 있는 기기가 될 가능성이 있다. 가. 모든 연결과 정보는 구글을 통한다 구글이 이러한 모바일 세계를 실현하려고 하는 것은 미래 핵심 사업 전략이다. 안드로이드 개발에는 향후 10 년이라고 하는 장기간에 걸친 투자를 계속한다 는 말에서 알 수 있듯이 구글 이 시간을 가지고 차분히 준비하는 것은 모바일사업에 흥미를 나타내고 있는 것을 보더라도 알 수 있다. 구글이 노리는 열린 세계 구축을 가로막는 커다란 벽이 모바일 사업자라는 것은 쉽게 32
IT 기획시리즈 임베디드 소프트웨어 4 상상할 수 있다. 음성이나 데이터 통신만으로는 수익에 한계가 있는 모바일 사업자 입장에서 콘 텐츠 관련 서비스의 주도권을 뺏기는 것은 도저히 간과할 수 없는 사태이다. 이를 회피하기 위 해서 모바일 사업자는 여러 가지 방법을 취할 것이다. 예를 들면 서비스 품질 이나 안전성 보 증 이라는 명목으로 모바일에서 이용할 수 있는 서비스에 일정한 제한을 둘 가능성이 있다. 자사 에서 이용하는 휴대폰 사양을 결정하는 특권을 행사하면 쉽게 제한할 수 있다. 구글은 이러한 저항을 미연에 방지할 대책을 강구하고 있다. 그 전략의 일부는 미국의 700MHz 대의 주파수 경 매에서 공개했다. 경매에서 구글은 주파수를 관할하는 미 FCC(연방통신위원회)에 몇 가지 조건 을 제안하였다. 요약하면 주파수대의 획득자는 소비자가 자유롭게 서비스나 단말기를 선택하여 이용할 권리를 보증하는 것 이다. FCC 는 이에 대해 경매에 부치는 주파수 대역의 일부를 옥션 플랫폼 이라 하고, 구글의 요구에 부합한 형태의 제한을 담았다. FCC 의 결정은 미국의 모바일 사업자에게 벌써 영향을 미치고 있다. 미국에서 제 2 위 사업자인 Verizon Wireless 사는 2008 년 후반을 목표로 자사가 소유한 모바일망을 다른 서비스나 콘텐츠 사업자에게 개방할 방침을 발표하였다. 자사가 소유한 네트워크나 주파수를 사용하여 다른 사업자가 서비스나 콘텐츠를 제 공하거나 단말기를 판매하는 것을 인정한다. 그러나 기존의 사업자에 의한 노력은 그림의 떡이 될 가능성이 있다. 자사 경유의 서비스 밖에 받을 수 없는 단말기를 저가로 계속 판매하여 오픈 된 단말기 효력을 떨어뜨릴지도 모른다. 구글은 거기까지 꿰뚫고 있는 듯하다. 구글은 700MHz 대의 경매에 직접 참가할 의향을 2007 년 11 월 말에 발표하였다. 자신이 주파수대를 억제함으 로써 오픈된 서비스의 도화선 역할을 하려는 것이다. 나. 구글, 모바일까지 승자가 될 것인가 모바일 사업자의 폐쇄적인 사업 규제 장치가 작동하지 않게 되면 서비스나 단말 기기 개발의 오픈화는 단숨에 진행될 것이다. 그 때 단말기 메이커는 PC 시장과 마찬가지로 격렬한 가격 경 쟁에 휩쓸리게 될 것이다. 구글의 목적은 휴대폰에 그치지 않는다. 네트워크로 연결되는 모든 기 기가 대상이 될 수 있다. 당분간은 휴대폰의 얼굴인 안드로이드의 궁극적인 목표는 장래에는 PC 에 가까워질 것이다. 우리는 카네비게이션이나 셋탑박스에도 흥미가 있다 는 것이다. 물론 구글의 구상이 실패할 가능성은 있다. 그러나 구글이 연 기기와 서비스의 오픈화라고 하는 판도 라의 상자가 닫힐 일은 없을 것이다. 기술은 탁월하지만, 독자적인 기술을 고집한 가까운 일본 모바일 시장의 폐색감을 보면 알 수 있듯이 소프트웨어의 자사 개발을 고집하더라도 새로운 것 을 만들 수 없게 되어 있다. 만들면 팔린다는 행복한 시대는 끝났다. 더 이상 모든 것을 단독 개 발하려고 하는 메이커는 없을 것이다. 완성된 것을 최대한 이용하여 유저에게 보이는 부분의 차 33
주간기술동향 통권 1347 호 2008. 5. 21. 별화에 추력하는 것이 메이커의 역할이다. 하지만 여전히 PC 시장에서 살아남아 있는 메이커가 많이 있는 것처럼 오픈된 세계에서도 생존하는 방법은 있다. 중요한 것은 타사에는 없는 독자적 인 특징이다. 특징을 표출시키는 방법은 여러 가지가 있을 수 있다. 사용의 편리함, 디자인, 견고 함, 가격 등 일일이 열거할 수 없다. 각각의 방법으로 타사와의 간격을 벌이는 특징을 만들어 낼 수 있는 기업이 오픈된 시대의 승자가 될 것이다. <참 고 문 헌> [1] 구글 안드로이드 플랫폼, 아키텍처, http://code.google.com/android/ [2] 구글 모바일 전략, http://blog.washingtonpost.com/fasterforward/2007/11/analyzing_googles_android_1.html [3] 구글 Mobile User Experience, http://www.informationweek.com/blog/main/archives/2007/04/google_lays_out.html [4] 구글 애플리케이션 아키텍처: Android & OSGi, http://www.osgi.org/blog/2007/11/android-andosgi.html [5] 마이크로소프트 08 년도 5 월호, 임베디드 플랫폼 구글 안드로이드 전략 34