사용자 삽입 이미지

Java™ 기술은 오랜 시간 발전되어 왔다. 최초에 디지털 TV 개발을 위해 만들어진 이래 데스크탑, Webtop과 그 후 서버를 거쳐 현재 다시 이런 장치들로 되돌아오게 되었다. 디바이스와 서비스들의 이동성의 증가함에 따라 무선 기술은 어느 곳, 어느 장치에서든 사용할 수 있는 다양한 서비스들을 가능하게 만드는 더욱더 새로운 솔루션들을 계속해서 만들어내면서 발전해가고 있다. 오늘날 이런 디바이스들은 지난 수년동안의 실험용 디바이스에서 실제로 유용한 툴로 발전하여, 스마트카드에서 디지털 TV 셋톱 박스, 개인용 디바이스에 이르기까지 우리 삶의 전반에 걸쳐 그 영향력을 미치고 있다. 이러한 모든 임베디드 디바이스들과 데스크탑, 또 엔터프라이즈들을 통합하는 것이 바로 Java 기술이며, 이 Java는 애플리케이션을 개발하기 위해 개발자들이 선택하는 플랫폼으로써도 기능한다.

오늘날 Java 기술은 JCP(Java Community Process)에 속해 있는 회원들과 협력하여 개발된 표준들을 기반으로 정의되고 있다. 이 표준들을 통해 디바이스 벤더들과 소프트웨어 은 Java 기술의 로드맵을 예측하고 미리 준비할 수 있다. 그럼으로써 개발자들은 고객의 투자를 보호하고 수직적으로 통합되고 호환성 있는 애플리케이션을 공급할 수 있다.

이 글에서는 디지털 TV에서의 Java 테크놀로지라는 아주 집약적인 애플리케이션 분야에 대해서 자세히 살펴보도록 하자.


오늘날의 디지털TV

디지털 TV 기술의 발전과 함께, 방송사와 컨텐츠 제공자들은 시청 내용을 다양화할 수 있는 기회를 갖게 되었다. Digital Video Broadcasting's Multimedia Home Platform (MHP), Open Cable Application Platform (OCAP) 같은 쌍방향 TV (iTV) 표준을 개발하고 채택하는 것은 컨텐츠 제공자로 하여금 다양한 벤더와 셋톱 박스 간에 상호 작용할 수 있는 애플리케이션과 프로그램을 개발할 수 있게 하는 초석이 된다. 이번 글에서도 뒷부분에서 다루겠지만, Java 기술은 이 다양하고 인터렉티브한 컨텐츠를 개발, 배포, 실행하는 데에 중요한 역할을 한다.

데이터 방송은 어플리케이션 데이터를 방송 audio/video 신호에 섞어 송출한다. 이 애플리케이션 데이터는 동기화를 위해 방송 신호와 긴밀히 엮여 있다. 또한 데이터와 방송 신호가 컨텐츠로 연결되어있긴 하지만 동기화가 필요하지는 않는 곳에도 느슨하게 연결 되어있다. 따라서 어떤 데이터는 running tickers나 게임처럼 방송 신호와 무관할 수도 있다.

DTV의 이점은 다음과 같은 때에 데이터 대역폭을 사용할 수 있다는 데에 있다.

  • 느슨하게 연결된 프로그램이나 긴밀하게 연결된 프로그램 컨텐츠를 강화하고자 할 때
     - 광고주를 위해 프로그램의 질을 높여 시청률을 늘리거나 유지하는데 도움을 준다.
  • 주식이나 뉴스 수신기, 이메일, 채팅, 게임 등과 같이 비디오 데이터와 관련 없는 서비스를 제공할 때
     - 질적으로 향상된 서비스들은 다른 방송사, 다중 서비스 운영자, 컨텐츠 운영자들과 차별되는 점이 된다.

JavaTV 애플리케이션을 프로그래밍하기 위해선 개발자는 Profile APIs에 기반한 Java 2 Micro Edition (J2ME) platform's Connected Device Configuration을 사용해야한다. 다음 섹션에서 J2ME이 플랫폼에 대한 좀 더 자세한 설명을 하겠다.


디지털 TV 표준화 기구:

전세계의 표준화 기구들은 디지털TV에 Java 테크놀로지를 채택하여 다양한 특징들을 디자인해으며, 업계의 광범위한 후원자들과 추종자들은 이 기구들로 하여금 Java 테크놀로지에 자신들이 개발한 특징을 기반으로 삼을 것을 요구해왔다. 다음은 몇 개의 디지털 TV 표준화 기구들이다.

  • Advanced Television Systems Committee (ATSC)
  • Cable Television Laboratories (CableLabs)
  • Digital Television Industrial Alliance (DTVIA)
  • Digital Video Broadcasting (DVB)
  • Home Audio/Video Interoperability (HAVi)
  • Open Services Gateway Initiative (OSGi

특히 디지털TV에서는 CableLab's Open Cable Applications Platform (OCAP), DVB's Multimedia Home Platform (MHP), ATSC;s Digital Television Application Software Environment (DASE)가 JavaTV 기술에 기반을 두어 디지털TV 컨텐츠의 전세계적 표준의 유망한 후보가 되고 있다.


디지털TV에서의 J2ME와 Java 기술

디지털TV를 위한 JavaTV 기술은 Java 플랫폼이 엔터프라이즈, 데스크탑, 디바이스 등에서 구현되는 것과 아주 비슷하다. 아래의 다이어그램에서는 J2ME 플랫폼의 아키텍처를 보여준다.

가전 기기, TV, 무선 전화기, PDA, 셋톱박스를 대상으로 하는 Java 플랫폼은 J2ME 플랫폼이다. 이 제품들의 카테고리는 벤더들이 새로운 기능을 추가하고 새로운 제품 시장을 형성하면서 지속적으로 발전하고 있다. 그 결과로 Java 기술은 언제나 변화할 수 있어야하며 JCP 표준은 Java 기술이 이러한 변화에 맞춰 성장하고 적응할 수 있는 매커니즘을 제공하고 있다. J2ME를 유용하게 만드는 첫번째 단계는 수많은 제품 카테고리를 엮어 컨피규레이션으로 분류하는 것이다.

  • Connected Device Configuration (CDC) : 디지털TV 셋톱박스, PDA, 스마트폰, 네트워크 루터(router), 현관잠금장치 등 대상
  • Connected Limited Device Configuration (CLDC) : 모바일폰, PDA 대상

CLDC

CLDC에서의 디지털TV 애플리케이션 구축에의 응용성의 측면대신 완전성 측면에 대해 잠시 살펴보도록 하자. CLDC는 모바일폰의 정밀한 통신범위 요구사항에 부합하기 위해 디자인되었다. 이 요구사항에 부합하기 위해 CLDC는 가상 머신과 핵심 클래스 라이브러리로 구성되어 있다. CLDC 1.1에는 첫번째 CLDC 1.0에서 생략되었던 부동 소수점 등의 몇가지 기능이 추가되었다. 한편, CLDC 클래스 라이브러리는 J2SE 클래스 라이브러리와 인터페이스나 디자인 측면에서 직접적으로 연결되어있지는 않다. 클래스 리플렉션, 쓰레드 그룹, 애플리케이션 정의 클래스 로딩 등은 J2SE core 라이브러리에서 지원되나 CLDC 클래스 라이브러리에는 없는 아이템들이다. 이들 중 몇 가지는 대상 디바이스가 static과 dynamic 메모리 요구사항을 처리하지 못하여 CLDC 클래스 라이브러리에서는 지원되지 않는다.
이러한 차이점들에서 오는 이익은 중요하다. 초기 CLDC 구현의 메모리 통신범위는 모바일폰 메모리 예산 내에서 128-256KB의 타겟 메모리를 획득했으며, 최신버전의 CMDC에서는 CLDC 클래스 라이브러리에 기능들을 추가할 때 일부 가상 머신 기능들을 가져옴으로써 좀 더 완화된 통신범위를 이용하였다.

CDC

CDC는 J2SE 호환성과 리소스 포함 디바이스에 대한 지원이라는 두가지 목적으로 디자인되었다. J2SE와의 호환성은 개발자로 하여금 라이브러리, 툴, 스킬을 포함한 J2SE 기술에 대한 그들의 노력을 활용할 수 있게 한다. 리소스를 포함하는 디바이스 지원을 통해서는 디바이스 벤더들이 보안을 유지하면서 모바일 엔터프라이즈 애플리케이션을 지원할 수 있는, 기능이 풍부한 Java 애플리케이션 환경을 제공할 수 있게 된다.
CDC는 모든 Java 2 가상 머신 기능들을 지원하며, 여기에는 부동 소수점 지원과 풀(full) 클래스 로딩, 쓰레드 지원, 보안 등과 같은 코어 라이브러리 기능이 포함된다. 클래스 라이브러리 레벨에서 CDC는 소형 메모리 환경에 최적화되어 구현되는 J2SE 클래스 라이브러리를 사용한다. 리소스의 보존을 위해, 몇몇 J2SE 기반 클래스 라이브러리들은 변형된 인터페이스를 가지며 다른 라이브러리들은 완전히 삭제된다. 그 결과로 2MB RAM과 2MB ROM의 메모리 안에서 충분이 이용할 수 있는 유동성 있는 java 애플리케이션 환경이 만들어진다.

CDC profile APIs

CDC 기술은 Foundation Profile (FP), Personal Basis Profile (PBP), Personal Profile (PP) 이라는 3가지 중요한 프로파일의 기초과 RMI 옵션 패키지, JDBC 옵션 패키지 등의 옵션 API를 제공한다. 이 프로파일들은 compatible java 애플리케이션 환경에서 개인 모바일 디바이스들의 각기 다른 클래스들을 지원할 때 융통성을 부여해준다. J2ME에서 디자이너는 하나의 단일 API를 정의하는 대신 각기 다른 디바이스 카테고리를 선택할 수 있다.

  • Foundation Profile
    JSR-46에 어드레스 지정된 Foundation Profile은 가장 기본적인 CDC 프로파일이다. CDC에서 제공된 클래스 라이브러리와 결합하면 Foundation Profile은 네트워크 지원이나 I/O 지원 등과 같은 기본 애플리케이션-지원 클래스를 제공한다. 특별히, 그래픽이나 GUI 서비스에 대해서는 지원하는 것이 없다.
  • Personal Basis Profile
    JSR-129에 어드레스 지정되어 있는 Personal Basis Profile은 간단한 컴포넌트 툴킷을 구축하는 스트럭처를 제공하며 Xlet 애플리케이션 프로그래밍 모델을 지원한다. Xlet 프로그래밍 모델은 Java Tv API에서의 Xlet 프로그램밍 모델을 기초로 삼는다. 덧붙여 Personal Basis Profile은 모든 Foundation Profile API를 포함하고 있다.
  • Personal Profile
    JSR-62에 어드레스 지정된 Personal profile은 full AWT 지원, 애플릿 지원, 한정된 빈 서포트 지원을 제공하며 덧붙여 모든 Personal Basis Profiles를 포함한다. Personal Profile이 PersonalJava 기술의 이동 경로를 나타내고 있다는 것 또한 알아둬야한다.


"에반젤리스트로부터" 카테고리의 다른 글

2006/01/01 20:28 2006/01/01 20:28

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/21

  1. Java Technology for Digital Television - Part 1

    Tracked from deuk79님의 블로그  삭제

    Java Technology for Digital Television - Part 1 썬특집기사/에반젤리스트로부터 Java™ 기술은 오랜 시간 발전되어 왔다. 최초에 디지털 TV 개발을 위해 만들어진 이래 데스크탑, Webtop과 그 후 서버를 거쳐 현재 다시 이런 장치들로 되돌아오게 되었다. 디바이스와 서비스들의 이동성의 증가함에 따라 무선 기

    2007/09/18 20:18

댓글을 달아 주세요

  1. 이우철  수정/삭제  댓글쓰기

    자바의 기능은 무궁무진하네요
    과연 자바 입니다 WEB 2.0에서도 JAVA의 활약 기대합니다!!

    2007/09/07 20:13
  2. 조재후  수정/삭제  댓글쓰기

    흐미.. 어렵네요.. 자바를 배워보려는데, 막막..

    2007/09/13 11:22
  3. 김태훈  수정/삭제  댓글쓰기

    자바의 바다에 뛰어 든지 2년. 새로운 기술의 쫓기 보다는 기본기의 내공을 쌓고 있는 중입니다. 하루하루 열심히 달려가면 큰 요트 하나 타면서 항해하고 있지 않을까요.

    2007/09/14 08:55
  4. 권미자  수정/삭제  댓글쓰기

    썬특집기사가 유용하네요..

    2007/09/14 19:15
  5. 김문경  수정/삭제  댓글쓰기

    제 수준에선 한 번 봐선 안되고 몇번 집중해서 읽어야 겠네요

    2007/09/17 21:54
  6. 황종생  수정/삭제  댓글쓰기

    자바를 이용한 디지털TV기술까지 하나하나 많은 공부가 되네요.
    자바의 이용범위가 상당히 넓네요...

    2007/09/18 20:21
  7. 박정숙  수정/삭제  댓글쓰기

    좋은 정보 감사해요~

    2007/09/19 04:52
[로그인][오픈아이디란?]

◀ Prev 1  ... 449 450 451 452 453 454 455 456 457  ... 626  Next ▶