Wireless Java Programming Sookmyung Women’s Univ. PSLAB Ohe, hee jeong
1. J2ME
Java Programming Language 1.1 Big Picture Profile Profile Foun- dation Profile Personal Profile RMI Profile PDA Profile MID Profile profile J2EE J2SE CDC CLDC Configuration J2ME Edition Java Programming Language Virtual Machine JAVA HotSpot VM JVM CVM KVM
1.2 Java 2 Platform “One size doesn’t fit all” Profile, Configuration 하나의 Java -> J2EE, J2SE, J2ME Profile, Configuration Personal Java environment 네트웍에 연결할 수 있는 소형기기 ClassicVM 기반 J2ME CDC의 모체 Embedded java environment 작은 자원을 가진 소형 device를 위한 환경 Embedded java와 Personal Java로 모든 device와 OS를 지원하는데 있어서의 한계 -> Platform의 분할, profile과 configuration을 통해 다양한 device에서의 이식성을 최대한 확보
1.3 J2ME 3계층… Java Virtual Machine Layer Configuration Layer 특정 J2ME의 사양과 특정 장치의 OS지원 CVM, KVM Configuration Layer 메모리와 사용 전력이 비슷한 장치들을 수평적인 그룹으로 나누고 해당 클래스 라이브러리 정의 CDC (Connected Device Configuration) CLDC (Connected Limited Device Configuration) Profile Layer 특정 수직적인 시장의 요구를 충족하기 위한 클래스 라이브러리 정의 PDAP, MIDP, Foundation Profile, Personal Profile…
1.3.1 J2ME Virtual Machine CVM (C Virtual Machine) 고사양의 장치를 위해 특별히 설계된 JAVA 2 Blue Print Virtual Machine의 모든 특징을 가지고 있다. 256KB의 메모리, ROM 에 탑재되는 CDC의 크기는 약 1MB KVM (K Virtual Machine) 작지만 기능이 뛰어나고 리소스가 제한적인 장치를 위한 VM 수백 KB정도의 메모리가 탑재된 16비트나 32비트의 RISC/CISC 마이크로 프로세서에 적합 현재 KVM 크기는 40KB~ 80KB JavaCodeCompact Utility 지원 (class prelinker, preloader, ROMizer)
1.3.2 J2ME Configuration CDC CLDC 목적 Virtual Machine과 Class Library를 특정한 장치 그룹에서 최적화 Java Virtual Machine의 minimum set과 특정 부류 장치들에서 사용 가능하도록 정의 CDC CLDC - 공용의 고정된 단말기 - 다양한 UI - 2~16MB 메모리 - 32비트 이상의 CPU TCP/IP를 이용한 고 대역폭의 네트워크에 지속 연결 개인용 이동 단말기 간단한 UI 128KB ~ 1MB 메모리 16비트~32비트 CPU 저 대역폭의 비지속적인 네트워크 J2SE CDC CLDC
1.3.3 J2ME Profile 목적 Configuration을 기반으로 해서 특정한 수직적 시장을 위한 추가적인 API들과 특징들을 정의 Foundation profile J2SE API의 기능을 완전히 구현한 JVM을 필요로 하는 장치 RMI profile Personal profile PersonalJava 환경에서 확장된 CDC프로파일 PDAP 리소스가 작고 제한적인 휴대 장치를 위한 사용자 인터페이스와 데이터 스토리지를 제공 MIDP 사용자 인터페이스, persistence storage, 네트워크, 애플리케이션 모델 API제공
2. 무선 장치용 J2ME
2.1 MIDP/CLDC/KVM MIDP Architecture
2.1 MIDP/CLDC/KVM MID Hardware Layer Native system software layer 휴대전화나 양방향 무선 호출기 Native system software layer 장치 제조업체가 제공하는 native 운영체제와 시스템 라이브러리 KVM layer 어플리케이션을 위한 Runtime Env 제공 CLDC layer 무선 어플리케이션을 위한 순수 자바 API MIDP layer GUI 라이브러리, persistent storage 라이브러리, 네트워크 라이브러리, 타이머 클래스 등을 제공