E D R , A S I H C RSS

Java2 Micro Edition

Java 2 Micro Edition (J2ME) 은 휴대전화나 PDA 같은 이동통신 기기등의 가전제품을 목표로 하고 있다. 그래서 초소형 장치에서 작은 장치에 이르는 이른바 소형 디바이스 들이 Java 를 사용할 수 있도록 지원하는 플랫폼이다.



1. 구성

  • J2ME는 Configuration과 Profile로 구성되어 있다. (아래 "Configuration과 Profile" 참고)
  • PDA 등에서 사용되는...
    • Configuration : Connected Device Configuration (CDC)
    • Profile : Foundation Profile
  • 휴대전화와 같은 매우 제적이 하드웨어에서 사용되는...
    • Configuration : Connected Limited Device Configuration (CLDC)
    • Profile : Mobile Information Device Profile (MIDP)

  • 실재로 CLDC와 MIDP가 포팅되어 있는 최신 휴대전화는 다음과 같은 구조를 이루고 있다.



    그림을 보면 맨 아래에 MID, 즉 휴대전화의 하드웨어 부분이 있고 그 위에는 Native System Software가 존재하며 그 상위에 CLDC가, 그리고 MIDP에 대 부분이 나오는데 이 부분을 살펴보면, MIDP Application과 OEM-Specific Classes로 나뉘어 있는 것을 알 수 있다. 여기서의 OEM-Specific Classes라는 것은 말 그대로 OEM(Original Equipment Manufacturing) 주문자의 상표로 상품을 제공하는 것이다. 즉, 다른 휴대전화에서는 사용할 수 없고, 자신의(같은 통신 회사의) 휴대전화에서만 독립적으로 수행될 수 있도록 제작된 Java또는 Native로 작성된 API이다. 이는 자신의(같은 통신 회사의) 휴대전화의 특성을 잘 나타내거나 또는 MIDP에서 제공하지 않는 특성화된 클래스 들로 이루어져 있다. 지금까지 나와있는 많은 MIDP API들에도 이런 예는 많이 보이고 있으며, 우리나라의 SK Telecom에서 제공하는 SK-VM에도 이런 SPEC을 가지고 휴대전화의 특성에 맞는 기능, 예를 들어 진동 기능이나, SMS를 컨트롤하는 기능 들을 구현하고 있다. 그림에서 보듯이 CLDC는 MIDP와 OEM-Specific Classes의 기본이 되고 있다.

2. Configuration과 Profile

퍼스널 자바와 임베디드 자바는 J2ME 플랫폼이 등장하기 이전부터 임베디드 시장을 목표로 자바 플랫폼이었다. 인터넷 셋탑 박스와 같은 나름대로의 성과도 있었지만, pJava와 eJava는 별로 시장의 주목을 받을 만 사건을 기록 적이 없었다. 그것은 기본적으로 선 마이크로시스템즈가 하드웨어 설계 및 제조와 관련해서는 그다지 내세울 만 무기가 없었기 때문이었다고 해도 별 무리가 없을 것이다. 즉, 하드웨어 업체의 적극적인 지지 없이는 자바의 임베디드 시장 진출은 요원 과제였다.

그리고, 수많은 소비자/임베디드 디바이스들에 공통적으로 적용할 수 있는 플랫폼을 개발다는 것도 자체적으로 계가 있었다. 다양 하드웨어, 다양 운영체제, 그리고 전혀 호환성 없는 유저 인터페이스까지, 이 모든 차이점을 극복하면서 기존의 J2SE 기반의 자바와의 호환성까지 유지할 수 있는 솔루션은 불가능하다는 문제인식이 있었다. 그래서 등장 개념이 컨피규레이션과 프로파일로의 플랫폼 분할이다.

컨피규레이션이란 자바 가상머신과 코어 API들에 대 명세를 의미하고, 프로파일은 그 상위의 클래스 라이브러리, 즉 표준 API 집합에 대 명세를 의미다. 이러 개념적인 분할이 필요 이유는 메모리와 CPU등의 크기와 성능이라는 측면에서의 요구사항이 동일 디바이스들의 집합을 하나로 묶어서 컨피규레이션을 정의하고, 이러 컨피규레이션을 바탕으로 각 디바이스들의 기능, 혹은 버티컬 시장의 요구사항에 맞추어 프로파일을 정의함으로써, 플랫폼의 통일성과 다양성을 동시에 만족시킬 수 있기 때문이다.

3. 개발

  • J2ME를 지원하는 하드웨어 개발

    java.sun.com/j2me 에 가면 CDC, CLDC, MIDP 등을 다운받을 수 있다. 다운받으면 소스코드까지 포함되어 있고, 개발하려는 하드웨어에 포팅하면 된다. (자세건 잘 모르겠음...ㅡ.ㅡ)
  • J2ME를 기반으로 하는 에플리케이션 개발

    java.sun.com/j2me 에 가면 J2ME Wireless Toolkit 을 다운받을 수 있다. J2ME Wireless Toolkit 에 에뮬레이터가 포함되어 있어서 직접 테스트 해볼 수 있다.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:29
Processing time 0.0161 sec