23
J2ME(Java 2 Micro Edition)

J2ME(Java 2 Micro Edition)

  • Upload
    dakota

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: J2ME(Java 2 Micro Edition)

J2ME(Java 2 Micro Edition)

Page 2: 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 등의 커뮤니케이션을 가능하게 하는 표준을 정의

Page 3: J2ME(Java 2 Micro Edition)

3

Wireless Application 기술(2)

i-Mode– 일본의 NTT DoCoMo 가 발표– Packet-switched network 를 통해 무선

장치들이 인터넷에 접속하도록 하는 방식– cHTML(compact HTML) 이라는 자체 marku

p language 를 갖고 있음– cHTML 이 HTML 의 한 부분이므로 i-Mode

페이지들은 일반적인 웹 브라우저에서도 볼 수 있음

Page 4: J2ME(Java 2 Micro Edition)

4

J2ME 의 등장 WAP 과 i-Mode 의 한계

– 보안성 취약 , 불편한 사용자 인터페이스 , 지속적으로 연결이 되어 있어야 하는 문제

J2ME– 사용자들은 더욱 안전한 wireless application,

게임같이 interactive 한 application, 클라이언트/ 서버용 application 같이 복잡한 application 들을 요구

– 이러한 문제점을 해결하기 위해 설계

Page 5: J2ME(Java 2 Micro Edition)

5

J2ME 의 특징 (1)

플랫폼 독립성– Write Once, Run Anywhere 의 기본 개념을

무선 단말기로 확장– 자바를 이용해 개발된 무선 애플리케이션은

각기 다른 제조사의 다른 제품에서도 실행– 프로그램의 이식성을 크게 향상

Page 6: J2ME(Java 2 Micro Edition)

6

J2ME 의 특징 (2)

쉬운 프로그래밍 언어– 자바를 사용하면 개발 시간과 비용을 절감할 수

있고 따라서 생산성을 상당히 증대할 수 있음 풍부한 network 기능

– network 을 염두에 두고 설계– 네트워크 프로그램을 훨씬 쉽게 만들 수 있는

풍부한 네트워크 라이브러리 제공

Page 7: J2ME(Java 2 Micro Edition)

7

J2ME 의 특징 (3)

내장된 보안 모델– Class loader, Bytecode verifier 로부터 Security Ma

nager 에 이르기까지 몇 단계의 보안을 제공 동적 프로그램 배포

– 현존하는 대부분의 무선 단말기용 애플리케이션들은 장치에 내장되어 고정된 것이 특징

– J2ME 는 무선 network 을 통해 단말기에 애플리케이션을 다운로드하고 설치할 수 있는 동적 배포 메커니즘을 제공

– 웹 브라우저에서 애플릿을 실행하는 것과 비슷함

Page 8: J2ME(Java 2 Micro Edition)

8

J2ME 의 특징 (4)

분산 컴퓨팅– J2ME 를 사용해 개발된 애플리케이션들은 기업용

무선 애플리케이션을 사용할 때 Back End 를 지원해 주는 J2EE 와 쉽게 통합될 수 있다

GUI– 단말기의 제한된 디스플레이 영역을 최대한

활용할 수 있는 UI 와 이벤트 핸들링 라이브러리들을 풍부하게 제공

– 이러한 UI 를 이용해 무선 단말기에서 더욱 정교한 비디오 게임이나 복잡한 오락용 애플리케이션을 만들 수 있음

Page 9: J2ME(Java 2 Micro Edition)

9

J2ME 의 특징 (5)

휴대전화 , PDA, 스크린폰 , 디지털 TV 셋탑 박스 , 자동차용 네비게이션 시스템 , network 스위치 , 홈 오토메이션 등에 사용되는 애플리케이션을 겨냥한 플랫폼

다양한 종류의 장치를 지원하기 위해 이식성과 확장성을 지닌 구조를 채택

Page 10: J2ME(Java 2 Micro Edition)

10

Java 2 의 Edition

Java 2 Enterprise Edition(J2EE)– 비즈니스 서버용 애플리케이션용

Java 2 Standard Edition(J2SE)– 일반적인 데스크탑 애플리케이션용

Java 2 Micro Edition(J2ME)– 가전 기기와 임베디드 장치를 위한 차세대

애플리케이션용

Page 11: J2ME(Java 2 Micro Edition)

11

Java 2 의 플랫폼Profi

leProfi

leFoundatio

n Profil

e

Personal

Profile

RMI Profi

le

PDA

Profile

MID Profile

Profile

J2EE J2SE CDC CLDC Configuration

EditionJ2ME

HotSpot VM

JVM CVM KVM Vritual Machine

Memory: 10MB 1MB 512KB 32KB

Page 12: J2ME(Java 2 Micro Edition)

12

J2ME 의 Layer(1)

기기의 OS 위에 3 계층을 정의– Java Virtual Machine Layer

• 특정 J2ME 의 사양을 지원하고 특정 장치의 OS 에 맞춰져 있는 버추얼 머신을 구현

• CVM 과 KVM– Configuration Layer

• 사용 메모리와 사용 전력이 비슷한 장치들을 수평적인 그룹으로 나누고 그에 대한 클리스 라이브러리들을 정의

– Profile Layer• 특정한 수직적인 시장의 요구를 충족하기 위한 클래스

라이브러리들을 정의

Page 13: J2ME(Java 2 Micro Edition)

13

J2ME 의 Layer(2)

Configuration 과 Profile 은 J2ME 의 핵심적인 요소

Configuration 과 Profile 의 목적은 virtual machine 과 클래스 라이브러리를 특정한 장치 그룹에서 최적화

Page 14: J2ME(Java 2 Micro Edition)

14

CDC 와 CDLC

CDC(Connected Limited Device Configuration)– 일반적으로 다양한 사용자 인터페이스 , 2~16MB 의 메모리 ,

32 비트 이상의 CPU 를 가지고 있고 , 대부분 TCP/IP 를 이용하는 고대역폭의 network 에 지속적으로 연결

– TV 셋탑 박스 , 인터넷 TV, 인터넷 스크린폰 , 고급 통신 장비 , 자용차용 네비게이션 시스템

CDLC– 개인용 이동 단말기 장치에 쓰임– 간단한 사용자 인터페이스 , 128KB 에서 1MB 의 메모리 , 16

비트나 32 비트 CPU 를 가지며 , 일반적으로 TCP/IP 를 이용하지 않는 저대역폭의 비지속적인 network 을 사용

– 일반적인 휴대폰 , 양방향 무선 호출기 , Palm OS 를 사용하는 PDA

Page 15: J2ME(Java 2 Micro Edition)

15

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

Page 16: J2ME(Java 2 Micro Edition)

16

J2ME Profile Foundation 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

Page 17: J2ME(Java 2 Micro Edition)

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 등이 포함

Page 18: J2ME(Java 2 Micro Edition)

18

CLDC 라이브러리 javax.microedition.io.* 패키지에 정의 java.io, java.net 패키지의 네트워크 관련 클래스들을 일반화한 것

기본적인 데이터 타입– byte, short, int, long, char, boolean– CLDC 용 장치가 부동 소수점을 지원하지 않고 ,

부동 소수점을 지원하는 소프트웨어 비용이 엄청나기 때문에 float 와 double 은 지원하지 않는다

Page 19: J2ME(Java 2 Micro Edition)

19

MIDP 라이브러리 (1)

CLDC 라이브러리들이 장치에 독립적인 기능을 제공하는 반면 , MIDP 라이브러리들은 장치에 한정적인 기능을 제공

javax.microedition.midlet 패키지에 정의 모든 MIDP 애플리케이션들은 이 패키지의

MIDlet 클래스를 상속하고 , startApp(), pauseApp(), destroyApp() 의 3 가지 추상 메소드를 구현해야 함

Page 20: J2ME(Java 2 Micro Edition)

20

MIDP 라이브러리 (2)

GUI– 장치의 이식성에 초점을 맞춘 상위 레벨의

API– 특정 장치에서 작동하는 그래픽 요소와

저수준의 입력 이벤트들에 초점을 맞춘 하위 레벨의 API

– GUI 와 이벤트 핸들링에 관련된 클래스들은 javax.microedition.lcdui 패키지에 정의

Page 21: J2ME(Java 2 Micro Edition)

21

MIDP 라이브러리 (3)

Persistent Storage– 데이터를 저장하고 삭제하고 업데이트할 수

있도록 해줌– javax.microedition.rms 패키지에 정의

Network – HttpConnection 인터페이스는 모든 MIDP

상에서 필수적으로 구현 . 즉 , 모든 MIDP용 장치에서 HTTP 통신이 가능

– javax.microedition.io 패키지에 정의

Page 22: J2ME(Java 2 Micro Edition)

22

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

MIDlet 의 라이프 사이클

Page 23: J2ME(Java 2 Micro Edition)

23

AMS(Application Management Software)

사용자의 무선 장치에 시리얼 케이블이나 인터넷을 통해 MIDlet 을 설치하거나 제거하는 기능을 제공

MIDlet 의 실행 환경을 제공 . MIDlet 이 초기화되면 AMS 는 CLDC클래스나 MIDP 클래스 , KVM 등 MIDlet 에서 사용할 수 있는 시스템 자원을 확보함

애플리케이션을 설치하고 실행할 때 발생할 수 있는 모든 오류들을 시스템 충돌없이 처리