J2me java 2 micro edition
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

J2ME(Java 2 Micro Edition) PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

J2ME(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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


J2me java 2 micro edition

J2ME(Java 2 Micro Edition)


Wireless application 1

Wireless Application 기술(1)

  • WAP(Wireless Application Protocol)

    • 1995년 처음으로 선보임

    • 휴대폰이나 PDA같은 무선 단말기를 이용해 인터넷에 접속할 방법을 해결

    • 무선 단말기와 network server, WAP 프로그래밍 모델, WAP 프로토콜, WML(Wireless Markup Language), WMLScript, microbrowser 등의 커뮤니케이션을 가능하게 하는 표준을 정의


Wireless application 2

Wireless Application 기술(2)

  • i-Mode

    • 일본의 NTT DoCoMo가 발표

    • Packet-switched network를 통해 무선 장치들이 인터넷에 접속하도록 하는 방식

    • cHTML(compact HTML)이라는 자체 markup language를 갖고 있음

    • cHTML이 HTML의 한 부분이므로 i-Mode 페이지들은 일반적인 웹 브라우저에서도 볼 수 있음


J2me java 2 micro edition

J2ME의 등장

  • WAP과 i-Mode의 한계

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

  • J2ME

    • 사용자들은 더욱 안전한 wireless application, 게임같이 interactive한 application, 클라이언트/서버용 application같이 복잡한 application들을 요구

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


J2me 1

J2ME의 특징(1)

  • 플랫폼 독립성

    • Write Once, Run Anywhere의 기본 개념을 무선 단말기로 확장

    • 자바를 이용해 개발된 무선 애플리케이션은 각기 다른 제조사의 다른 제품에서도 실행

    • 프로그램의 이식성을 크게 향상


J2me 2

J2ME의 특징(2)

  • 쉬운 프로그래밍 언어

    • 자바를 사용하면 개발 시간과 비용을 절감할 수 있고 따라서 생산성을 상당히 증대할 수 있음

  • 풍부한 network 기능

    • network을 염두에 두고 설계

    • 네트워크 프로그램을 훨씬 쉽게 만들 수 있는 풍부한 네트워크 라이브러리 제공


J2me 3

J2ME의 특징(3)

  • 내장된 보안 모델

    • Class loader, Bytecode verifier로부터 Security Manager에 이르기까지 몇 단계의 보안을 제공

  • 동적 프로그램 배포

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

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

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


J2me 4

J2ME의 특징(4)

  • 분산 컴퓨팅

    • J2ME를 사용해 개발된 애플리케이션들은 기업용 무선 애플리케이션을 사용할 때 Back End를 지원해 주는 J2EE와 쉽게 통합될 수 있다

  • GUI

    • 단말기의 제한된 디스플레이 영역을 최대한 활용할 수 있는 UI와 이벤트 핸들링 라이브러리들을 풍부하게 제공

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


J2me 5

J2ME의 특징(5)

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

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


Java 2 edition

Java 2의 Edition

  • Java 2 Enterprise Edition(J2EE)

    • 비즈니스 서버용 애플리케이션용

  • Java 2 Standard Edition(J2SE)

    • 일반적인 데스크탑 애플리케이션용

  • Java 2 Micro Edition(J2ME)

    • 가전 기기와 임베디드 장치를 위한 차세대 애플리케이션용


Java 2

Java 2의 플랫폼


J2me layer 1

J2ME의 Layer(1)

  • 기기의 OS위에 3계층을 정의

    • Java Virtual Machine Layer

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

      • CVM과 KVM

    • Configuration Layer

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

    • Profile Layer

      • 특정한 수직적인 시장의 요구를 충족하기 위한 클래스 라이브러리들을 정의


J2me layer 2

J2ME의 Layer(2)

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

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


Cdc cdlc

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


J2se cdc cldc

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


J2me profile

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


Midp cldc kvm

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


J2me java 2 micro edition

CLDC 라이브러리

  • javax.microedition.io.* 패키지에 정의

  • java.io, java.net 패키지의 네트워크 관련 클래스들을 일반화한 것

  • 기본적인 데이터 타입

    • byte, short, int, long, char, boolean

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


Midp 1

MIDP 라이브러리(1)

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

  • javax.microedition.midlet 패키지에 정의

  • 모든 MIDP 애플리케이션들은 이 패키지의 MIDlet 클래스를 상속하고, startApp(), pauseApp(), destroyApp()의 3가지 추상 메소드를 구현해야 함


Midp 2

MIDP 라이브러리(2)

  • GUI

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

    • 특정 장치에서 작동하는 그래픽 요소와 저수준의 입력 이벤트들에 초점을 맞춘 하위 레벨의 API

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


Midp 3

MIDP 라이브러리(3)

  • Persistent Storage

    • 데이터를 저장하고 삭제하고 업데이트할 수 있도록 해줌

    • javax.microedition.rms 패키지에 정의

  • Network

    • HttpConnection 인터페이스는 모든 MIDP 상에서 필수적으로 구현. 즉, 모든 MIDP용 장치에서 HTTP 통신이 가능

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


Midlet

MIDlet

  • MIDP용 장치에서 사용한 애플리케이션

  • 애플릿과 유사. main() 이 없는 대신 javax.microedition.MIDlet 클래스를 상속받아 startApp(), pauseApp(), destroyApp()를 구현해야 함

  • MIDlet의 라이프 사이클


Ams application management software

AMS(Application Management Software)

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

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

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


  • Login