모바일 자바 프로그래밍 J2ME 개발 살펴보기 Ps lab 오민경
자바 플랫폼 항 목 J2ME J2SE J2EE 대상기기 특 성 가상머신 원래 자바는 어느 플랫폼에서나 하나의 애플리케이션이 사용 가능하도록 하는 것이 목표 => 그러나 각 기기별 특성과 한계 때문에 플랫폼을 세 분화 시킴 항 목 J2ME J2SE J2EE 대상기기 PDA, 핸드폰 등 PC 서버 특 성 간단한 GUI애플리케이션 및 프론트-앤드 애플리케이션 개발에 적합 복잡한 GUI 애플리케이션 및 멀티미디어 애플리케이션 개발에 적합 웹 애플리케이션 등 서버 애플리케이션 개발에 적합 가상머신 KVM, Classic JVM HotSpot JVM
자바 플랫폼(cont.)
J2ME란? J2ME J2ME가 포스트-PC 시대의 기기들에 적합한 플랫폼으로 등장한 이유 소형기기에서 사용가능한 자바 애플리케이션을 위해 제안된 플랫폼 J2ME가 포스트-PC 시대의 기기들에 적합한 플랫폼으로 등장한 이유 자바는 설계당시부터 임베디드 환경을 고려 코드 이식성이 높음 자바 개발자들이 쉽게 익힐 수 있음 보안 모델 및 네트워크 전송이 안전하게 설계됨 개발된 제품을 J2SE, J2EE로 확장하기 용이함
Configuration & Profile 프로그램을 실행할 JVM을 다시 정의 Profile 실제 자바 응용 프로그램이 사용할 수 있는 API를 새로 정의 어떤 기기라도 해당하는 Configuration과 Profile만 있다면 어떤 제품군과도 호환가능 => portability 유지
Configuration & Profile (cont.) 기기의 특성을 반영한 기반환경 정의. 기반 라이브러리와 가상 머신으로 구성. Profile 각각의 기기 유형에 따라 필요한 특수한 API를 정의 Profile은 그 Profile을 지원하기 위한 Configuration을 지정한다.
J2ME Application 실행 J2ME Application의 실행 과정 Java 소스 작성 자바 컴파일러에 의해 컴파일 클래스 파일 생성 검증과정의 부담을 줄이기위해 미리 할 수 있는 것은 미리 검증 (Pre-verification) 꼭 필요한 것만 KVM에서 검증 KVM의 인터프리터에 의해 실행
J2ME Application 실행 (cont.)
J2ME 실행 MIDLet JAR 파일 JAD 파일 JAM KVM/CLDC/MIDP 위에 올라가는 자바 응용 프로그램 무선 기기에서 동작하는 자바 응용 프로그램 JAR 파일과 JAD 파일이 제공됨 JAR 파일 MANIFEST 파일 (파일의 구성에 대한 정보) 클래스파일 Resource JAD 파일 애플리케이션 관리자에서 사용하기 위한 프로그램 정보 JAM Java Application Manager MIDLet의 설치, 삭제, 실행과 같은 동작을 하는 프로그램
J2ME 실행 (cont.) J2ME 실행과정 WAP 브라우저가 서버에 접속해서 WML 파일을 읽어옴. WAP 브라우저는 선택된 서비스의 URL을 JAM에게 넘김. JAM은 넘겨받은 URL로 서버에 접속해서 JAR, JAD 파일 다운. 바로 JAR 파일은 플래시 메모리에 저장. JAM은 KVM을 실행하면서, JAD 파일을 이용해서 필요한 정보 세팅. KVM은 JAD파일에서 지시 받은 바와 같이, 플래시 메모리에서 JAR 클래스 파일을 메모리로 로딩, 그리고 실행을 시작. 이동통신사에 과금을 위해 CGI나 자바 서블릿 프로그램을 이용해 정보들을 서버로 넘겨줌.
J2ME 실행 (cont.)