1 / 23

J2ME(Java 2 Micro Edition)

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

dakota
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 • 사용자들은 더욱 안전한 wireless application, 게임같이 interactive한 application, 클라이언트/서버용 application같이 복잡한 application들을 요구 • 이러한 문제점을 해결하기 위해 설계

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

  6. J2ME의 특징(2) • 쉬운 프로그래밍 언어 • 자바를 사용하면 개발 시간과 비용을 절감할 수 있고 따라서 생산성을 상당히 증대할 수 있음 • 풍부한 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의 플랫폼

  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) • 일반적으로 다양한 사용자 인터페이스, 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 • 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 등이 포함

  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 • 특정 장치에서 작동하는 그래픽 요소와 저수준의 입력 이벤트들에 초점을 맞춘 하위 레벨의 API • GUI와 이벤트 핸들링에 관련된 클래스들은 javax.microedition.lcdui 패키지에 정의

  21. MIDP 라이브러리(3) • Persistent Storage • 데이터를 저장하고 삭제하고 업데이트할 수 있도록 해줌 • 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에서 사용할 수 있는 시스템 자원을 확보함 • 애플리케이션을 설치하고 실행할 때 발생할 수 있는 모든 오류들을 시스템 충돌없이 처리

More Related