Presentation is loading. Please wait.

Presentation is loading. Please wait.

J2ME(Java 2 Micro Edition)

Similar presentations


Presentation on theme: "J2ME(Java 2 Micro Edition)"— Presentation transcript:

1 J2ME(Java 2 Micro Edition)

2 Wireless Application 기술(1)
WAP(Wireless Application Protocol) 1995년 처음으로 선보임 휴대폰이나 PDA같은 무선 단말기를 이용해 인터넷에 접속할 방법을 해결 무선 단말기와 network server, WAP 프로그래밍 모델, WAP 프로토콜, WML(Wireless Markup Language), WMLScript, microbrowser 등의 커뮤니케이션을 가능하게 하는 표준을 정의

3 Wireless Application 기술(2)
i-Mode 일본의 NTT DoCoMo가 발표 Packet-switched network를 통해 무선 장치들이 인터넷에 접속하도록 하는 방식 cHTML(compact HTML)이라는 자체 markup language를 갖고 있음 cHTML이 HTML의 한 부분이므로 i-Mode 페이지들은 일반적인 웹 브라우저에서도 볼 수 있음

4 J2ME의 등장 WAP과 i-Mode의 한계 J2ME
보안성 취약, 불편한 사용자 인터페이스, 지속적으로 연결이 되어 있어야 하는 문제 J2ME 사용자들은 더욱 안전한 wireless application, 게임같이 interactive한 application, 클라이언트/서버용 application같이 복잡한 application들을 요구 이러한 문제점을 해결하기 위해 설계

5 J2ME의 특징(1) 플랫폼 독립성 Write Once, Run Anywhere의 기본 개념을 무선 단말기로 확장
자바를 이용해 개발된 무선 애플리케이션은 각기 다른 제조사의 다른 제품에서도 실행 프로그램의 이식성을 크게 향상

6 J2ME의 특징(2) 쉬운 프로그래밍 언어 풍부한 network 기능
자바를 사용하면 개발 시간과 비용을 절감할 수 있고 따라서 생산성을 상당히 증대할 수 있음 풍부한 network 기능 network을 염두에 두고 설계 네트워크 프로그램을 훨씬 쉽게 만들 수 있는 풍부한 네트워크 라이브러리 제공

7 J2ME의 특징(3) 내장된 보안 모델 동적 프로그램 배포
Class loader, Bytecode verifier로부터 Security Manager에 이르기까지 몇 단계의 보안을 제공 동적 프로그램 배포 현존하는 대부분의 무선 단말기용 애플리케이션들은 장치에 내장되어 고정된 것이 특징 J2ME는 무선 network을 통해 단말기에 애플리케이션을 다운로드하고 설치할 수 있는 동적 배포 메커니즘을 제공 웹 브라우저에서 애플릿을 실행하는 것과 비슷함

8 J2ME의 특징(4) 분산 컴퓨팅 J2ME를 사용해 개발된 애플리케이션들은 기업용 무선 애플리케이션을 사용할 때 Back End를 지원해 주는 J2EE와 쉽게 통합될 수 있다 GUI 단말기의 제한된 디스플레이 영역을 최대한 활용할 수 있는 UI와 이벤트 핸들링 라이브러리들을 풍부하게 제공 이러한 UI를 이용해 무선 단말기에서 더욱 정교한 비디오 게임이나 복잡한 오락용 애플리케이션을 만들 수 있음

9 J2ME의 특징(5) 휴대전화, PDA, 스크린폰, 디지털 TV 셋탑 박스, 자동차용 네비게이션 시스템, network 스위치, 홈 오토메이션 등에 사용되는 애플리케이션을 겨냥한 플랫폼 다양한 종류의 장치를 지원하기 위해 이식성과 확장성을 지닌 구조를 채택

10 Java 2의 Edition Java 2 Enterprise Edition(J2EE)
비즈니스 서버용 애플리케이션용 Java 2 Standard Edition(J2SE) 일반적인 데스크탑 애플리케이션용 Java 2 Micro Edition(J2ME) 가전 기기와 임베디드 장치를 위한 차세대 애플리케이션용

11 Java 2의 플랫폼 Profile Foundation Profile Personal Profile RMI Profile
PDA Profile MID Profile J2EE J2SE CDC CLDC Configuration Edition J2ME Hot Spot VM JVM CVM KVM Vritual Machine Memory: 10MB MB KB KB CVM은 256KB의 메모리를 차지. ROM에 탑재된느 CDC의 크기는 약 1MB KVM(K는 킬로라는 말)는 수백 KB정도의 메모리가 탑재된 16비트나 32비트의 RISC/CISC 마이크로프로세서에 적합하다 KVM의 크기는 40KB에서 80KB

12 J2ME의 Layer(1) 기기의 OS위에 3계층을 정의 Java Virtual Machine Layer
특정 J2ME의 사양을 지원하고 특정 장치의 OS에 맞춰져 있는 버추얼 머신을 구현 CVM과 KVM Configuration Layer 사용 메모리와 사용 전력이 비슷한 장치들을 수평적인 그룹으로 나누고 그에 대한 클리스 라이브러리들을 정의 Profile Layer 특정한 수직적인 시장의 요구를 충족하기 위한 클래스 라이브러리들을 정의

13 J2ME의 Layer(2) Configuration과 Profile은 J2ME의 핵심적인 요소
Configuration과 Profile의 목적은 virtual machine과 클래스 라이브러리를 특정한 장치 그룹에서 최적화

14 CDC와 CDLC CDC(Connected Limited Device Configuration) CDLC
일반적으로 다양한 사용자 인터페이스, 2~16MB의 메모리, 32 비트 이상의 CPU를 가지고 있고, 대부분 TCP/IP를 이용하는 고대역폭의 network에 지속적으로 연결 TV 셋탑 박스, 인터넷 TV, 인터넷 스크린폰, 고급 통신 장비, 자용차용 네비게이션 시스템 CDLC 개인용 이동 단말기 장치에 쓰임 간단한 사용자 인터페이스, 128KB에서 1MB의 메모리, 16비트나 32비트 CPU를 가지며, 일반적으로 TCP/IP를 이용하지 않는 저대역폭의 비지속적인 network을 사용 일반적인 휴대폰, 양방향 무선 호출기, Palm OS를 사용하는 PDA

15 J2SE, CDC, CLDC 클래스 라이브러리의 관계

16 J2ME Profile Foundation Profile RMI Profile Personal Profile
J2SE의 API를 완전히 구현한 JVM을 필요로 하는 장치를 위한 Profile RMI Profile J2SE 1.3의 RMI API의 최소 부분을 정의한 CDC 기반의 Profile Personal Profile Personal Java 환경에서 확장된 CDC Profile PDAP Profile 리소스가 작고 제한적인 휴대 장치(PDA)를 위한 사용자 인터페이스와 데이터 스토리지를 제공하는 CLDC Profile MIDP(Mobile Information Device Profile) 휴대폰, 양방향 무선 호출기와 같은 장치에 필요한 사용자 인터페이스, persistence storage, network, 애플리케이션 모델 API들을 제공하는 Profile

17 MIDP/CLDC/KVM MID : Mobile Information Device의 하드웨어
Native System Software : Device에서 사용되는 OS와 각종 라이브러리들 MIDP Applications : CLDC와 MIDP에서 정의한 클래스만을 사용하여 개발된 자바 응용프로그램 OEM-Specific Applications : CLDC와 MIDP에 명시되지 않은 개발업체 및 서비스 사업자가 정의한 클래스를(OEM-specific Classes 또는 OEM-specific service API) 사용하여 개발된 자바 응용프로그램 Native Applications : J2ME와는 별도로 휴대폰 단말기 상에서 직접 개발된 응용프로그램으로 음성 관련 또는 이미지 decode 등이 포함 MID

18 CLDC 라이브러리 javax.microedition.io.* 패키지에 정의
java.io, java.net 패키지의 네트워크 관련 클래스들을 일반화한 것 기본적인 데이터 타입 byte, short, int, long, char, boolean CLDC용 장치가 부동 소수점을 지원하지 않고, 부동 소수점을 지원하는 소프트웨어 비용이 엄청나기 때문에 float와 double은 지원하지 않는다

19 MIDP 라이브러리(1) CLDC 라이브러리들이 장치에 독립적인 기능을 제공하는 반면, MIDP 라이브러리들은 장치에 한정적인 기능을 제공 javax.microedition.midlet 패키지에 정의 모든 MIDP 애플리케이션들은 이 패키지의 MIDlet 클래스를 상속하고, startApp(), pauseApp(), destroyApp()의 3가지 추상 메소드를 구현해야 함

20 MIDP 라이브러리(2) GUI 장치의 이식성에 초점을 맞춘 상위 레벨의 API
GUI와 이벤트 핸들링에 관련된 클래스들은 javax.microedition.lcdui 패키지에 정의

21 MIDP 라이브러리(3) Persistent Storage Network 데이터를 저장하고 삭제하고 업데이트할 수 있도록 해줌
javax.microedition.rms 패키지에 정의 Network HttpConnection 인터페이스는 모든 MIDP 상에서 필수적으로 구현. 즉, 모든 MIDP용 장치에서 HTTP 통신이 가능 javax.microedition.io 패키지에 정의

22 MIDlet MIDP용 장치에서 사용한 애플리케이션
애플릿과 유사. main() 이 없는 대신 javax.microedition.MIDlet 클래스를 상속받아 startApp(), pauseApp(), destroyApp()를 구현해야 함 MIDlet의 라이프 사이클

23 AMS(Application Management Software)
사용자의 무선 장치에 시리얼 케이블이나 인터넷을 통해 MIDlet을 설치하거나 제거하는 기능을 제공 MIDlet의 실행 환경을 제공. MIDlet이 초기화되면 AMS는 CLDC클래스나 MIDP 클래스, KVM 등 MIDlet에서 사용할 수 있는 시스템 자원을 확보함 애플리케이션을 설치하고 실행할 때 발생할 수 있는 모든 오류들을 시스템 충돌없이 처리


Download ppt "J2ME(Java 2 Micro Edition)"

Similar presentations


Ads by Google