T store 서비스 기술 소개

T store는 2009년 9월 위피 기반의 폰을 대상으로 서비스를 시작하여 현재 1,200만 명 이상의 고객이 이용하고, 하루 평균 방문자 수가 300만 명 이상에 이르는 한국 토종 브랜드로의 최대 앱스토어로 자리매김 하게 되었습니다. 초기에는 SK텔레콤 가입자만을 대상으로 서비스를 시작했으나, 작년 하반기부터는 타 통신사 고객들도 T store를 이용할 수 있도록 서비스를 제공하여 현재 약 100만명 이상의 타 통신사(KT, LGU+) 고객이 사용하고 있습니다.

이번 포스팅에서는 SK플래닛의 대표 서비스인  T store서비스가 어떻게 발전해 오고, 현재는 어떤 시스템과 어떤 기능적인 요소로 이루어져 있는지 살펴 보도록 하겠습니다.

T store의 발전

  • 2009년 윈도우모바일 단말과 WIPI단말을 대상으로 T store 서비스를 최초로 시작하였습니다.
  • 2010년에는 안드로이드 스마트폰이 시장에 출현하면서 T store 서비스를 다양한 단말(안드로이드, 삼성 바다플랫폼)에 제공하면서 시장이 활성화되는 계기가 된 해였습니다. 제공하는 컨텐츠의 종류도 다양해지고 어플리케이션 내에서 결제를 할 수 있는 In-app billing서비스 등 차별화된 서비스를 제공하게 되었습니다.
  • 2011년부터는 안드로이드 단말을 중심으로 새로운 부가 서비스를 제공하게 되었습니다. Smart push(원격으로 웹에서 폰으로 어플리케이션 다운로드/설치), VOD 스트리밍 서비스, 벨/링/쇼핑/쿠폰과 같이 서비스 종류가 확대되어 사용자들이 좀 더 다양한 컨텐츠를 사용할 수 있게 되었습니다.

            2009년                       2010년                      2011년                    2012년(ing)     

< T store 모습의 변화>

T store 서비스 접근 방법

 T store 서비스의 고객은 컨텐츠를 구매하는 소비자와 T store에 컨텐츠를 제공하는 개발자, 이렇게 크게 두 그룹으로 생각해 볼 수 있습니다. 그럼 이 고객들이 T store 서비스와 접할 수 있는 채널은 어떤것들이 있을까요? T store 컨텐츠의 편리한 구매와 개발을 위해 T store 시스템에서 제공하는 방법을 소개해 드리겠습니다.


첫째, 사용자들이 휴대폰에서 T store서비스에 접근할 수 있는 방법은 T store 단말 클라이언트를 통한 방법과 모바일 웹 사이트(http://m.tstore.co.kr)를 통한 2가지 방법이 있고, PC에서는 PC매니저와 인터넷 웹페이지(http://www.tstore.co.kr)를 이용하는 2가지 방법을 제공하고 있습니다.

 둘째, 개발자를 위한 서비스는 T store developer center(http://dev.tstore.co.kr)라는 개발자용 웹사이트가 있습니다. 이 사이트를 통하여 상품 등록 및 검증, 판매에 이르기 까지 개발자들이 보다 편리하게 이용할 수 있도록 개발/판매 지원 시스템을 제공하고 있습니다. 여기에 더하여, T store에서 유통되는 컨텐츠의 안전성과 신뢰성을 보장하기 위하여 별도로 컨텐츠 검증과 보호를 위한 시스템인 검증시스템(바이러스 및 어플리케이션 위험도 검증 등)과 SignedSystem도 운영하고 있습니다.

T store시스템  아키텍쳐

 현재 T store의 다양한 서비스를 고객에게 제공하기 위해서 실제로 T store는 어떤 시스템과 기능요소로 구성되어 있는지 한번 살펴보도록 하겠습니다.

  그림과 같이 T store는 서버와 단말, 그리고 각 서비스 애플리케이션으로 구분이 될 수 있는데, 각 구성 요소들이 기능별로 구분되어 있어, 보다 dynamic하게 시장의 요구사항에 맞게 운영되고 있습니다.

 단말정보와 사용자 회원정보 등의 정보 관리 시스템, 애플리케이션과 멀티미디어 등의 컨텐츠 관리 시스템, 결제 및 다운로드 등의 구매 시스템, ARM과 DRM, OTP 등의 보안관련 시스템 등 많은 서버 시스템들이 단말의 주요 구성 모듈과 유기적인 동작으로 다양한 종류의 서비스를 관리하고 있습니다.

그리고 서버와 단말 클라이언트 사이에 개별 서비스 app(위 그림에서 widget player, VOD보관함, 이북뷰어, 쿠폰 보관함 등)이 존재하는데, 이 애플리케이션은 특정 서비스만을 위한 애플리케이션으로 해당 서비스를 위한 컨텐츠 보호(DRM, ARM등)과 재생기능, 보관함 기능 등을 제공하고 있습니다. 사용자가 이러한 특정 서비스에 해당되는 컨텐츠(VOD, 이북/코믹, 쿠폰, 게임 등)을 다운로드할 때 T store 단말 클라이언트에서는 단말에 설치되어 있는 해당 서비스애플리케이션의 설치 유무와 버전 등을 자동 detect하여 서비스 애플리케이션의 자동 설치 및 업그레이드 등의 기능을 수행하게 됩니다.

T store 단말 클라이언트의 주요 기능 모듈을 보시면 애플리케이션 저작권을 위한 ARM, 상품 설치를 위한 utility, 3rd party app에서의 SK플래닛 서비스를 사용하기 위한 T API, 컨텐츠 다운로드를 위한 upgrader, 원격으로 컨텐츠를 설치할 수 있는 smart push, PC USB를 통하여 컨텐츠 설치를 위한 sideloading등의 구성 요소들이 있습니다.

이중에서 특히 단말의 utility라는 요소는 T store서비스를 더 편리하게 고객에게 제공하기 위하여 개발된  기능입니다. 안드로이드폰에서 애플리케이션을 설치할 때에는 매번 사용자가 ‘확인’ 버튼을 눌러야만 설치가 진행 됩니다. 이렇게 일일이 고객이 직접 ‘확인’ 버튼을 수 차례 눌러야만 애플리케이션을 설치할 수 있다면 고객이 아주 불편해 할 겁니다. Utility라는 요소는 이러한 불편함을 제거하고 편리하게 T store에서 받은 애플리케이션을 설치해주는 역할을 합니다.

사용자가 T store에서 상품을 구매하면, 사용자의 추가적인 interaction없이 utility에서 자동으로 다운로드하여 설치까지 완료하게 됩니다. 이 기능은 안드로이드 PackageManager의 Install API를 이용하여 개발하였으며, 이 API는 안드로이드 SDK에서 제공되지 않는 안드로이드 “시스템 애플리케이션”으로 개발이 되어야 접근이 가능한 기능입니다. 개발자에게 Open된 API가 아니라서 일반인들이 사용할 수 없는 기능이죠. T store에서는 각 단말 제조사와의 협력을 통해 이런 편리한 기능을 고객들에게 제공할 수 있게 되었습니다.

참고로, 안드로이드 App은 “시스템 애플리케이션”과 “User 애플리케이션”으로 구분될 수 있는데요. 시스템 애플리케이션은 일반적으로 디바이스에 접근하기 위한 PDK(Platform Development Kit) 및 관련 소스를 구글로 부터 제공받는 제조사에서 개발을 하게 됩니다.

 이외에도 T store의 기능 중 하나인 provisioning이라는 인터페이스가 있습니다. 이 역시 T store만의 차별화된 기능이라고 볼 수 있는데요, 이 인터페이스를 통하여 개발자가 자신의 컨텐츠에 대한 판매대상 단말(모델, OS, 해상도 등)을 지정하고, 또한 서비스(VOD, 이북, 뮤직, ARM, 부분유료화 등)을 지정하면, T store 시스템에서는 이 설정 정보를 기준으로 사용자에게 컨텐츠를 제공하는 기능입니다.  예를 들어, 이북컨텐츠를 WVGA 대상 단말로 제한하여 판매하고 싶은 개발자가, 해당 컨텐츠 판매대상으로 WVGA해상도의 특정 단말모델, 그리고 서비스형태로 이북을 등록하면,  T store에서는 Provisioning 인터페이스를 이용하여 사용자의 단말 정보를 획득하며, 서비스 대상 단말로만 이북컨텐츠를 노출시켜주게 됩니다. 그리고 해당 이북컨텐츠를 사용자가 구매시, 자동으로 이북뷰어(서비스 어플리케이션)를 동시에 다운로드해주게 됩니다.

 다음 포스팅에서는 T store 성능개선을 위한 기술과 주요 구성 요소들의 기능 등을 좀 더 자세히 다뤄보도록 하겠습니다.

박덕현 T store기술개발팀

현재 SK플래닛에서 T store 단말 기반 서비스를 개발하고 있습니다. 지금까지 경험한 다양한 이동통신 분야의 지식과 경험을 바탕으로 최고 수준의 T store 서비스를 여러분께 제공하도록 하겠습니다.

공유하기