Transcript
Page 1: Java 2 Micro Edition  관련 전반적인 기술 개요

Java 2 Micro Edition 관련 전반적인 기술 개요

㈜모코코 모바일 솔루션 사업부김종원 부장

Page 2: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 2

순서 Java 2 플랫폼 J2ME CDC CLDC MIDP 관련 사이트 J2ME 의 미래

Page 3: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 3

Java 2 플랫폼 자바 기술을 세 가지 영역으로 분리

Micro - J2ME technology Standard - J2SE technology Enterprise - J2EE technology

분리 기준 동작하는 시스템의 성능에 맞춘 Java VM 장치 특성에 맞춘 API 라이브러리 장치 설정에 맞는 도구들 프로파일 – 최소의 API 세트의 스펙

Page 4: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 4

J2ME(Java2 Micro Edition) 가전제품이나 임베디드 장치를 타겟으로

설계된 자바 2 플랫폼 자바 VM 과 디바이스에 맞추어진 실행환경

API 세트로 이루어짐 컨피규레이션 (configuration) 과 프로파일

(profile) 로 구성 컨피규레이션은 대분류 프로파일은 소분류로

볼 수 있음

Page 5: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 5

컨피규레이션 (Configuration) 자바 버추얼 머신과 코어 API 들에 대한 명세 두 개의 디자인 핵심 개념으로 시스템을 분리

손에 들고 다닐 수 있는 것 (CLDC) 고정된 위치에 설치되는 것 (CDC)

시스템 사양에 따라 두 세트의 저 수준 API 세트와 버추얼 머신으로 나뉨 .

분리 기준 128~512 KB 의 메모리 사양 512 KB 이상

독립된 실행 환경으로 볼 수 없음 요구사항이 동일한 장치들의 집합을 하나로 묶음

Page 6: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 6

프로파일 (Profile) 컨피규레이션 위에서 동작하는 자바

테크놀로지 API 세트의 명세서 API 세트와 컨피규레이션을 기술 특정 장치의 완벽한 실행 환경 제공을 목적 추가 클래스 라이브러리 없이 장치 위에서

동작 가능한 API 세트를 제공하는 것이 목적 업계의 요구들을 충족시키기 위한 결과 하드웨어 시스템 마다 각각의 프로파일이

존재

Page 7: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 7

프로파일 (Profile) (2) Sun's Java Community ProcessSM

Program 을 이용한 워킹 그룹에서 정의 제품을 생산하는 업체들 스스로가 필요한

구성 요소 스펙을 결정http://java.sun.com/aboutjava/

communityprocess/

Page 8: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 8

J2ME 구성도

J2ME LibraryJ2ME Library

Java VMJava VM

J2ME ProfileJ2ME Profile

Configuration :장치별 분류에 따른 기본 API 및 자바 버추얼 머신

Profile :장치별 요구에 맞는 클래스및 메소드 추가

Page 9: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 9

CDC Connected Device Configuration CLDC 보다 많은 리소스를 가진 시스템을

대상으로 설정 32-bit CPU System 2MByte 이상의 메모리 (RAM 과 ROM 포함 ) 낮은 네트웍 전송률 (9600 bps 보다 낮을 수

있음 ) 유저인터페이스는 장치마다 다르거나 없음 PDA, 가전 기기 , 디지털 셑탑 박스 등

Page 10: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 10

CLDC Connected Limited Device Configuration 성능이 제한된 CPU 와 메모리 리소스를 가진

시스템을 대상으로 설정 16-bit, 32-bit CPU 160 에서 512 KByte 의 메모리 (RAM 과 ROM 포함 ) 제한된 전력 공급 , 배터리 파워 공급 낮은 네트웍 전송률 유저 인터페이스는 장치마다 다르거나 없음 핸드폰 , 양방향 삐삐 , PDA 등

Page 11: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 11

컨피규레이션 구성

Profiles

Edition

CDC CLDC

Personal Profile(Personal Java)

Handheld Profile

MID Profile

J2ME CDC Libs. J2ME CLDC Libs.

C virtual machine K virtual machine

Page 12: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 12

PersonalJava, EmbeddedJava PersonalJava (version 3.1)

JDK 1.1 코드를 기반으로 개발 퍼스널 자바 애플리케이션 개발 환경이 J2ME 의 CDC

컨피규레이션이 됨 Java 2 플랫폼 코드 기반으로 바뀔예정

EmbeddedJava 플랫폼 기반의 라이센스가 아닌 별도의 라이센스 .

업체 요구에 맞추어 자바 기술을 제공 J2ME 프로파일을 사용할 수 있지만 API 를 제공 하지

않는 블랙박스 방식으로 진행

Page 13: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 13

CLDC 요구사항 하드웨어 요구사항

메모리 요구사항 이외에는 하드웨어 제한 없음 Java VM 을 위한 128KB 의 ROM Java 실행환경과 오브젝트를 위한 32KB

이상의 RAM 소프트웨어 요구사항

최소한의 운영체제 또는 커널이 장치 제어 독립된 주소공간 , 실시간 스케줄링 필요 없음

Page 14: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 14

CLCD 범위 CLDC 스펙이 정의하는 것

자바 언어와 버추얼 머신의 특성 코어 자바 라이브러리 입출력 네트워킹 보안

CLDC 스펙에 포함 안된 것 응용프로그램의 life cycle 관리 ( 설치 , 실행 , 삭제 ) 유저 인터페이스 이벤트 처리 High-level 응용프로그램 모델 ( 사용자와 응용

프로그램 간의 상호 작용

Page 15: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 15

CLDC 상의 자바의 변경 사항 부동소숫점 지원 없음 Finalize 함수 없음 에러 처리 제한 JNI(Java Native Interface) 지원하지 않음 리플렉션 (reflection) 없음 보안 모델

Page 16: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 16

CLDC 보안 모델 자바 클래스 파일은 유효한 것임 검증되고

보장되어야 한다 응용프로그래머는 사전에 미리 정의된 API 만을

사용하여야 한다 클래스 다운로드와 시스템 클래스는 네이티브 코드

수준에서만 가능 클래스 로딩 메커니즘과 VM 시스템 클래스를

오버라이딩 할 수 없다 네이티브 함수를 호출하는 새로운 라이브러리를

사용해 애플리케이션을 작성할 수 없다

Page 17: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 17

CLDC 클래스 파일 형식 및 로딩 사전검증기 (preverifier) 를 통한 자바

클래스의 검증 JAR 파일 형식으로 네트웍 전송 Preloading/prelinking – 파일 시스템이

없기 때문에 Romize 를 한 상태로 동작 사전 검증 – VM 의 검증 모듈 제거 및 속도

향상 보안상의 이유와 프로그램 관리 S/W 의

존재로 인해 클래스 파일의 참조 순서가 다름

Page 18: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 18

CLDC API Library java.io

Data stream 을 통해 시스템 입출력 java.lang

자바 언어의 가장 기본적인 클래스 제공 java.util

컬렉션 , 날짜 시간 등의 부가 클래스 제공 javax.microedition.io

커넥션을 위한 일반화된 클래스 제공

Page 19: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 19

MID 프로파일 Mobile Information Device Profile 모바일 정보 기기에서의 응용 개발 환경 CLDC 를 바탕으로 클래스 추가 최소 하드웨어 요구 사항

Display : 96x54 Color depth : 1 bit Input : 키보드 또는 터치 스크린 Memory : 128KB ROM, 32KB RAM, 8KB

Persistent Storage

Page 20: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 20

MIDP 구조

Mobile Information Device

Native System Software

CLDC

(MIDlet)

MIDP

OEM 응용

OEM class

Native 응용MIDP 응용

Page 21: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 21

JAM 과 응용프로그램 모델 Java Application Manager

MIDP 프로그램 (MIDlet) 을 다운로드 및 설치 , 업그레이드 , 실행 , 삭제하는 기능

MIDlet 은 JAR 형태로 배포 컨텐츠에 대한 설명을 담고 있는 선적 목록 MIDlet 클래스를 상속한 클래스와 다른 공유

클래스 리소스 파일 – 아이콘 , 이미지 등

Page 22: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 22

선적 목록 (Manifest) MIDlet 을 담고 있는 JAR 컨텐츠에 대한 설명 JAM 이 응용프로그램의 설치나 수행에 대한 정보로서

사용 JAD(java application descripter) 에도 설치나

수행에 대한 정보가 기술 될 수 있으며 동시에 정의되는 경우 JAD 가 우선한다

MIDlet 은 javax.microedition.midlet.MIDlet 클래스를 반드시 상속하여야 한다

하나의 JAR 안에는 여러 개의 MIDlet 이 존재 가능 같은 JAR 파일에 포함된 MIDlet 은 리소스와 실행

환경을 공유

Page 23: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 23

MIDP 의 유저 인터페이스 CLDC 에서는 AWT(abstract window toolkit) 을

지원하지 않음 대신 lcdui API 라는 새로운 유저 인터페이스 제공 lcdui API 는 두 가지 레벨로 나뉨

High-level API : 높은 수준의 이식성을 요구하는 응용을 위한 API

Low-level API : 세부적인 그래픽을 표현하거나 입력 장치를 제어하는 등의 기능 제공 API

Screen 클래스 (High-level) 와 Canvas 클래스(Low-level) 를 제공함으로써 그래픽을 지원

Page 24: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 24

MIDP 라이브러리 CLDC 의 모든 패키지를 포함하여 확장한 형태

확장된 패키지 Javax.microedition.midlet Javax.microedition.io Javax.microeditoin.rms Javax.microedition.lcdui

Page 25: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 25

J2ME Wireless Toolkit

MIDP API 와 데모 파일들 개발 도구 – JAD 제작 및 컴파일 ,

실행 및 에뮬레이터를 통한 디버깅 등을 쉽게 해주는 도구

Win98se, Windows NT, Windows 2000

Java2 Standard Edition, 1.3.0 이상

Page 26: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 26

MIDP 개발 단계 Step 1: 코딩 Step 2: 컴파일 및 사전 검증

javac –d .\ -bootclasspath c:\classes myMIDlet.java preverify –classpath c:\classes;c:\work\

myMIDlet.class myMIDlet.class Step 3: 테스트 및 실행

midp myMIDlet Step 4: 패키징 및 jad 생성

jar cf mypack.jar myMIDlet.class Step 5: 테스트

midp –descriptor mypack.jad

Page 27: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 27

J2ME 의 미래 프로세스 성능의 향상으로 자바 환경 주목 C 또는 어셈블리 언어에 비해 여전히 많은 시스템

리소스를 요구 . 가격에 민감한 시스템 생산자측에게는 고민 거리

무선 통신 사업자의 컨텐츠 형식으로 주목 LG Telecom, NTT

통신 사업자 보다는 단말기 생산자 측의 선택 사항 . 낮은 단말기 판매 수익률이 문제

PDA 및 IMT-2000 단말기 상에서의 시스템 실행 환경 가능성

Page 28: Java 2 Micro Edition  관련 전반적인 기술 개요

2001 5 26년 월 일 Java2 Micro edition Introduction 28

국내 모바일 자바 관련 사이트 XCE 의 알라딘 개발자 지원 사이트

http://developer.xce.co.kr LG 텔레콤의 자바 개발자 지원 사이트

http://java.ez-I.co.kr 모바일 자바 사이트

http://www.mobilejava.co.kr


Recommended