1 / 29

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

Java 2 Micro Edition 관련 전반적인 기술 개요. ㈜모코코 모바일 솔루션 사업부 김종원 부장. 순서. Java 2 플랫폼 J2ME CDC CLDC MIDP 관련 사이트 J2ME 의 미래. Java 2 플랫폼. 자바 기술을 세 가지 영역으로 분리 Micro - J2ME technology Standard - J2SE technology Enterprise - J2EE technology 분리 기준 동작하는 시스템의 성능에 맞춘 Java VM

corby
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java 2 Micro Edition 관련 전반적인 기술 개요 ㈜모코코 모바일 솔루션 사업부 김종원 부장

  2. 순서 • Java 2 플랫폼 • J2ME • CDC • CLDC • MIDP • 관련 사이트 • J2ME의 미래 Java2 Micro edition Introduction

  3. Java 2 플랫폼 • 자바 기술을 세 가지 영역으로 분리 • Micro - J2ME technology • Standard - J2SE technology • Enterprise - J2EE technology • 분리 기준 • 동작하는 시스템의 성능에 맞춘 Java VM • 장치 특성에 맞춘 API 라이브러리 • 장치 설정에 맞는 도구들 • 프로파일 – 최소의 API 세트의 스펙 Java2 Micro edition Introduction

  4. J2ME(Java2 Micro Edition) • 가전제품이나 임베디드 장치를 타겟으로 설계된 자바2 플랫폼 • 자바 VM과 디바이스에 맞추어진 실행환경 API 세트로 이루어짐 • 컨피규레이션(configuration)과 프로파일(profile)로 구성 • 컨피규레이션은 대분류 프로파일은 소분류로 볼 수 있음 Java2 Micro edition Introduction

  5. 컨피규레이션(Configuration) • 자바 버추얼 머신과 코어 API 들에 대한 명세 • 두 개의 디자인 핵심 개념으로 시스템을 분리 • 손에 들고 다닐 수 있는 것(CLDC) • 고정된 위치에 설치되는 것(CDC) • 시스템 사양에 따라 두 세트의 저 수준 API 세트와 버추얼 머신으로 나뉨. • 분리 기준 • 128~512 KB의 메모리 사양 • 512 KB 이상 • 독립된 실행 환경으로 볼 수 없음 • 요구사항이 동일한 장치들의 집합을 하나로 묶음 Java2 Micro edition Introduction

  6. 프로파일(Profile) • 컨피규레이션 위에서 동작하는 자바 테크놀로지 API 세트의 명세서 • API 세트와 컨피규레이션을 기술 • 특정 장치의 완벽한 실행 환경 제공을 목적 • 추가 클래스 라이브러리 없이 장치 위에서 동작 가능한 API 세트를 제공하는 것이 목적 • 업계의 요구들을 충족시키기 위한 결과 • 하드웨어 시스템 마다 각각의 프로파일이 존재 Java2 Micro edition Introduction

  7. 프로파일(Profile) (2) • Sun's Java Community ProcessSM Program 을 이용한 워킹 그룹에서 정의 • 제품을 생산하는 업체들 스스로가 필요한 구성 요소 스펙을 결정 http://java.sun.com/aboutjava/communityprocess/ Java2 Micro edition Introduction

  8. J2ME 구성도 Profile : 장치별 요구에 맞는 클래스 및 메소드 추가 J2ME Profile J2ME Library Configuration : 장치별 분류에 따른 기본 API 및 자바 버추얼 머신 Java VM Java2 Micro edition Introduction

  9. CDC • Connected Device Configuration • CLDC보다 많은 리소스를 가진 시스템을 대상으로 설정 • 32-bit CPU System • 2MByte 이상의 메모리 (RAM 과 ROM 포함) • 낮은 네트웍 전송률(9600 bps 보다 낮을 수 있음) • 유저인터페이스는 장치마다 다르거나 없음 • PDA, 가전 기기, 디지털 셑탑 박스 등 Java2 Micro edition Introduction

  10. CLDC • Connected Limited Device Configuration • 성능이 제한된 CPU와 메모리 리소스를 가진 시스템을 대상으로 설정 • 16-bit, 32-bit CPU • 160에서 512 KByte 의 메모리(RAM과 ROM포함) • 제한된 전력 공급, 배터리 파워 공급 • 낮은 네트웍 전송률 • 유저 인터페이스는 장치마다 다르거나 없음 • 핸드폰, 양방향 삐삐, PDA 등 Java2 Micro edition Introduction

  11. 컨피규레이션 구성 Handheld Profile MID Profile Personal Profile (Personal Java) Profiles J2ME CDC Libs. J2ME CLDC Libs. Edition C virtual machine K virtual machine CDC CLDC Java2 Micro edition Introduction

  12. PersonalJava, EmbeddedJava • PersonalJava (version 3.1) • JDK 1.1 코드를 기반으로 개발 • 퍼스널 자바 애플리케이션 개발 환경이 J2ME의 CDC 컨피규레이션이 됨 • Java 2 플랫폼 코드 기반으로 바뀔예정 • EmbeddedJava • 플랫폼 기반의 라이센스가 아닌 별도의 라이센스. 업체 요구에 맞추어 자바 기술을 제공 • J2ME 프로파일을 사용할 수 있지만 API를 제공 하지 않는 블랙박스 방식으로 진행 Java2 Micro edition Introduction

  13. CLDC 요구사항 • 하드웨어 요구사항 • 메모리 요구사항 이외에는 하드웨어 제한 없음 • Java VM을 위한 128KB의 ROM • Java 실행환경과 오브젝트를 위한 32KB 이상의 RAM • 소프트웨어 요구사항 • 최소한의 운영체제 또는 커널이 장치 제어 • 독립된 주소공간, 실시간 스케줄링 필요 없음 Java2 Micro edition Introduction

  14. CLCD 범위 • CLDC 스펙이 정의하는 것 • 자바 언어와 버추얼 머신의 특성 • 코어 자바 라이브러리 • 입출력 • 네트워킹 • 보안 • CLDC 스펙에 포함 안된 것 • 응용프로그램의 life cycle 관리(설치, 실행, 삭제) • 유저 인터페이스 • 이벤트 처리 • High-level 응용프로그램 모델(사용자와 응용 프로그램 간의 상호 작용 Java2 Micro edition Introduction

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

  16. CLDC 보안 모델 • 자바 클래스 파일은 유효한 것임 검증되고 보장되어야 한다 • 응용프로그래머는 사전에 미리 정의된 API 만을 사용하여야 한다 • 클래스 다운로드와 시스템 클래스는 네이티브 코드 수준에서만 가능 • 클래스 로딩 메커니즘과 VM 시스템 클래스를 오버라이딩 할 수 없다 • 네이티브 함수를 호출하는 새로운 라이브러리를 사용해 애플리케이션을 작성할 수 없다 Java2 Micro edition Introduction

  17. CLDC 클래스 파일 형식 및 로딩 • 사전검증기(preverifier)를 통한 자바 클래스의 검증 • JAR 파일 형식으로 네트웍 전송 • Preloading/prelinking –파일 시스템이 없기 때문에 Romize를 한 상태로 동작 • 사전 검증 –VM의 검증 모듈 제거 및 속도 향상 • 보안상의 이유와 프로그램 관리 S/W의 존재로 인해 클래스 파일의 참조 순서가 다름 Java2 Micro edition Introduction

  18. CLDC API Library • java.io • Data stream을 통해 시스템 입출력 • java.lang • 자바 언어의 가장 기본적인 클래스 제공 • java.util • 컬렉션, 날짜 시간 등의 부가 클래스 제공 • javax.microedition.io • 커넥션을 위한 일반화된 클래스 제공 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 Java2 Micro edition Introduction

  20. MIDP 구조 (MIDlet) Native 응용 MIDP 응용 OEM 응용 OEM class MIDP CLDC Native System Software Mobile Information Device Java2 Micro edition Introduction

  21. JAM과 응용프로그램 모델 • Java Application Manager • MIDP 프로그램(MIDlet)을 다운로드 및 설치, 업그레이드, 실행, 삭제하는 기능 • MIDlet은 JAR 형태로 배포 • 컨텐츠에 대한 설명을 담고 있는 선적 목록 • MIDlet 클래스를 상속한 클래스와 다른 공유 클래스 • 리소스 파일 – 아이콘, 이미지 등 Java2 Micro edition Introduction

  22. 선적 목록(Manifest) • MIDlet을 담고 있는 JAR 컨텐츠에 대한 설명 • JAM이 응용프로그램의 설치나 수행에 대한 정보로서 사용 • JAD(java application descripter)에도 설치나 수행에 대한 정보가 기술 될 수 있으며 동시에 정의되는 경우 JAD가 우선한다 • MIDlet은 javax.microedition.midlet.MIDlet 클래스를 반드시 상속하여야 한다 • 하나의 JAR 안에는 여러 개의 MIDlet이 존재 가능 • 같은 JAR 파일에 포함된 MIDlet은 리소스와 실행 환경을 공유 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)를 제공함으로써 그래픽을 지원 Java2 Micro edition Introduction

  24. MIDP 라이브러리 • CLDC의 모든 패키지를 포함하여 확장한 형태 • 확장된 패키지 • Javax.microedition.midlet • Javax.microedition.io • Javax.microeditoin.rms • Javax.microedition.lcdui Java2 Micro edition Introduction

  25. J2ME Wireless Toolkit • MIDP API와 데모 파일들 • 개발 도구 –JAD 제작 및 컴파일, 실행 및 에뮬레이터를 통한 디버깅 등을 쉽게 해주는 도구 • Win98se, Windows NT, Windows 2000 • Java2 Standard Edition, 1.3.0 이상 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 Java2 Micro edition Introduction

  27. J2ME의 미래 • 프로세스 성능의 향상으로 자바 환경 주목 • C 또는 어셈블리 언어에 비해 여전히 많은 시스템 리소스를 요구. 가격에 민감한 시스템 생산자측에게는 고민 거리 • 무선 통신 사업자의 컨텐츠 형식으로 주목 • LG Telecom, NTT • 통신 사업자 보다는 단말기 생산자 측의 선택 사항. 낮은 단말기 판매 수익률이 문제 • PDA 및 IMT-2000 단말기 상에서의 시스템 실행 환경 가능성 Java2 Micro edition Introduction

  28. 국내 모바일 자바 관련 사이트 • XCE의 알라딘 개발자 지원 사이트 • http://developer.xce.co.kr • LG 텔레콤의 자바 개발자 지원 사이트 • http://java.ez-I.co.kr • 모바일 자바 사이트 • http://www.mobilejava.co.kr Java2 Micro edition Introduction

  29. 질문 • mailto://freefish@mococo.com Java2 Micro edition Introduction

More Related