1 / 30

1 장 위피 입문

1 장 위피 입문 . 개요. 모바일 시스템 위피의 정의 위피 C, 위피 JAVA 플랫폼 상세 구조 Jlet API 둘러 보기 모바일 프로그래밍 Jlet 과 Midlet 용어 정의 표준 플랫폼의 주요 기능 규격. 모바일 시스템. 응용프로그램은 휴대폰의 어디에 위치하며 어떻게 실행되는가 ?. 휴대폰 추상화 계층. 휴대폰 추상화 1 계층. 1 계층 Handset 하드웨어 계층 - 일반 PC 와 크게 다를 바 없다 . 출력장치 - LCD 입력장치 - 키패드 처리담당 - CPU

arlais
Download Presentation

1 장 위피 입문

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. 1장 위피 입문

  2. 개요 • 모바일 시스템 • 위피의 정의 • 위피 C, 위피 JAVA • 플랫폼 상세 구조 • Jlet API둘러 보기 • 모바일 프로그래밍 • Jlet과 Midlet • 용어 정의 • 표준 플랫폼의 주요 기능 규격

  3. 모바일 시스템 • 응용프로그램은 휴대폰의 어디에 위치하며 어떻게 실행되는가?

  4. 휴대폰 추상화 계층

  5. 휴대폰 추상화 1계층 • 1계층 Handset 하드웨어 계층 -일반 PC와 크게 다를 바 없다. • 출력장치- LCD • 입력장치- 키패드 • 처리담당- CPU • 저장장치- 메모리 • 통신장치 등.

  6. 휴대폰 추상화 2계층 • 2계층- Handset Basic 소프트웨어 계층. • 하드웨어를 제어하는 소프트웨어. • 시스템 소프트웨어 • 응용 프로그램- 특정한 문제를 해결하기 위해 개발된 소프트웨어 • 시스템 소프트웨어는 하드웨어 자원의 할당과 응용을 제어하여 응용 소프트가 실행 될 수 있게 한다. • 디바이스 드라이버, 음성 통신기능 ,OS(운영체제).

  7. 휴대폰 추상화 3계층 • 3계층- 무선 인터넷 플랫폼 계층. • 무선 Application들의 실행 환경 역할. • 응용프로그램 다운로드 서비스를 가능하게 해 주는 환경. • 기본 소프트웨어와 응용 소프트웨어 사이에 위치한 Middleware. • 개발자 입장에서 바라본 무선 인터넷 플랫폼의 필요성. • 첫째 응용프로그램에 공통의 프로그래밍 인터페이스를 제공. • 둘째 응용프로그램에 편리한 개발 환경을 지원. • 셋째 Upgrade의 편리성과 소프트웨어 Download 지원.

  8. 휴대폰 추상화 4계층 • 4계층- 응용 프로그램 또는 컨텐츠 계층 • 프로그램이 이 계층에서 수행.

  9. 위피의 정의 • 위피(WIPI)란 -Wireless Internet Platform for Interoperability -상호 운용을 위한 무선 인터넷 플랫폼

  10. 국내 플랫폼 현황

  11. 모바일 표준 플랫폼의 필요성 • For Contents Provider -CP has to produce many versions of the same contents. -Too many man power is wasted for managing version issues. -Thus, less human resource for service planning -> low quality contents • For OEM/ODM -many platform must be ported for each phone model produce. -MO-wise, Platform-wise diversion of man power. • For User -More expensive contents -Less freedom of choosing contents (since usually contents is not available for all the platforms)

  12. 위피 역사 • 2001.7 KWISF의 모바일 표준 플랫폼 그룹 출발 • 2001.9 모바일 플랫폼을 위한 공통 요구사항 정의 • 2001.11 모바일 플랫폼 개발 프로젝트 주창 • 2002.2 WIPI 1.0 release • 2002.5 TTA 표준으로 채택 • 2003.3 WIPI 1.1 release • 2003.4 WIPI 1.2 release • 2004.2 WIPI 2.0 release • 2004.7 WIPI 2.0.1 release • 2006. WIPI 3.0 발표 예정

  13. 위피 C와 위피 JAVA 휴대폰 추상화(2)

  14. Clet, Jlet, Midlet • Clet • 모바일 표준 플랫폼 규격에 따라 작성된 C언어 응용프로그램. • Jlet • 모바일 표준 플랫폼 규격에 따라 작성된 Java언어 응용프로그램. • Midlet • MIDP 규격에 따라 작성된 Java언어 응용 프로그램 • 참고: Midlet은 위피 버전 2.0부터 포함 • Midlet과 Jlet은 JAVA언어를 모태로 하기 때문에 혼용 시 문제가 될 수 있다.

  15. -let의 의미 Clet은 C언어 Jlet의 JAVA –let은 응용 프로그램이 적은 양의 코드로 이루어졌다는 것을 나타낸다.

  16. Clet vs Jlet • Clet과 Jlet은 기능면에서는 동일 • 플랫폼에서는 어떤 언어로 작성하던 상관 없이 바이너리로 수행 • 개발자는 선호하는 언어를 사용하여 개발가능 • Jlet이 강력한 이유 • 대부분의 응용프로그램을 쉽게 작성 • 포인터를 사용하지 않기 때문에 잘못된 포인터 사용으로 • 시스템 전체를 망치는 것으로부터 보호 할 수 있다. • 개발자의 기반이 넓다. • 보안성이 우수 • 이동통신사와 CP업체에서도 Jlet을 선호 • 많은 커뮤니티

  17. HAL 계층 • HAL은 Handset Hardware & Native System Software 계층과 WIPI플랫폼 사이에서 하드웨어 독립성을 지원하기 위한 계층이다. • 플랫폼의 하드웨어 독립성을 유지한다는 것은 추상화했다는 것이며 플랫폼의 상위 계층들은 HAL API만을 호출해서 하드웨어 자원에 접근하게 된다. 이를 통해 단말기의 네이티브 시스템에 대한 추상화가 이루어지고 하드웨어 독립적으로 플랫폼을 구성할 수 있다. HAL의 목적은 O/S에 대한 이식성 향상에 있으며, 각 단말기 시스템에 근거하여 HAL API만 구현하면 플랫폼 내부의 프로그램 코드를 변경하지 않고도 플랫폼 전체의 이식이 가능하다. • 즉, 개발자들은 세부적인 시스템에 상관 없이 프로그래밍을 쉽게 할 수 있는 것이다.

  18. 플랫폼 상세 구조(계속) • Basic API -사용하는 플랫폼에서 지원하는 필수 API 모음 -C는 기본 API에 정의된 C 언어용 API와 ANSI C 언어 문맥을 지원. -JAVA는 필수 API에 정의된 Java 언어용 API와 JAVA Programming Language 2nd edition 문맥을 지원. • Dynamic Component는 App Manager를 통해 추가되거나 갱신할 수 있는 API및 Component • 플랫폼은 API를 무선망을 통해서 추가 또는 갱신할 수 있으며, 이는Dynamic Linking Library라고 불리는 DLL을 통해 이루어져야 한다.

  19. 플랫폼 상세 구조(계속) • DLL은 플랫폼에서 새로운 API를 추가하거나, 기존 API를 갱신하는데 있어서 수단이 된다. • DLL은 구현과 인터페이스로 분리. • DLL 구현물의 관리를 위해 플랫폼은 API 추가/갱신에 따른 버전 관리 및 설치, 삭제 기능을 가져야 함. • DLL사용자(응용 프로그램 개발자)는 인터페이스를 통해 DLL의 특정 기능(라이브러리)을 사용 할 수 있다. • DLL, 인터페이스는 단말기 기본 내장으로 탑재될 수도 있고, 어플리케이션 관리자나 사용자의 지정에 의해 다운로드 될 수도 있다.

  20. Jlet API둘러 보기 java 패키지는 java.lang, java.io, java.util 패키지로 구성 org.kwis 패키지는 msf와 msp패키지로 구성. JAVA API 구성도

  21. JAVA API 패키지 • java 패키지 • java.io • java.lang • java.util • Msf패키지 • org.kwisf.msf.core • org.kwisf.msf.io • Msp패키지 • org.kwisf.msp.db • org.kwisf.msp.handset • org.kwisf.msp.io • org.kwisf.msp.lcdui • org.kwisf.msp.lwc • org.kwisf.msp.media

  22. msf와 msp패키지 • MSF -Mobile Standard Foundation - Mobile용 디바이스를 위한 기반이 되는 API. • 입출력 기능, 네트워크, 보안, 국제화등을 지원. • MSP Mobile Standard Profile - 모바일용 디바이스를 위한 Profile

  23. 단말기 최소 권장 사항 • 디스플레이: 스크린 크기: 96x54 이상 • 색 상: 회색조 4가지 이상 또는 천연색 256가지 이상 • 입력 장치: 키 패드 • 사운드 장치: 진동 및 비프 음 • 네트워크: 무선 및 시리얼을 통한 전송 • 비휘발성(Non-Volatile) 메모리 • 플랫폼 라이브러리가 사용할 수 있는 비휘발성 메모리 1MB 이상 • 응용프로그램 관리자 및 기본 응용프로그램에서 사용할 수 있는 비휘발성 메모리 400KB 이상 • 응용프로그램이 사용 가능한 파일 시스템 공간 500KB 이상 • 휘발성(Volatile) 메모리 • 응용프로그램에서 사용 가능한 HEAP 영역 300KB 이상 • 플랫폼 라이브러리에서 사용 가능한 영역 20KB 이상

  24. Jlet과 Midlet • WIPI2.0 • MSF/MSP와 CLDC/MIDP API 중에는 같은 기능을 하는 것들이 중복. • 구현된 플랫폼에 따라 혼용 시 문제가 될 수 있음. • 플랫폼은 호환성이 보장 되어야 한다. • 첫째, 동일한 패키지 이름을 가지는 부분으로 플랫폼은 동일한 기능을 제공해야 한다. (책 28페이지 참조)

  25. Jlet과 Midlet(계속) • 둘째, 같은 기능을 가지지만, 구현된 내용이 달라 독립적으로 사용되어야 하는 부분. 이 경우 플랫폼은 동일 패키지 그룹에 속하는 MSF/MSP와 CLDC/MIDP 패키지(하위 패키지 포함)들을 혼용하지 않고 각기 독립적으로 사용한 경우에 호환성을 보장해야 한다. (책 28페이지 참조)

  26. Jlet과 Midlet(계속) • 셋째, 기능이 어느 한 프로파일에만 존재하여 타 프로파일의 기능을 불러 사용할 수 있는 경우. 이 경우 서로 대응하는 패키지가 없으므로 플랫폼은 상호 참조하여 사용할 수 있도록 호환성을 보장해야 한다. (책 29페이지 참조)

  27. 용어 정의 • 모바일 플랫폼 • 모바일 표준 플랫폼 규격에 따라 작성된 응용프로그램을 실행 시킬 수 있는 단말기의 실행 환경을 모바일 플랫폼이라 하며, 이 플랫폼은 응용프로그램 관리와 API 관리 기능을 포함해야 한다. • Clet • 모바일 표준 플랫폼 규격에 따라 작성된 C언어 응용프로그램이다. 이 응용프로그램은 응용프로그램 생명주기를 따라야 한다. • Jlet • 모바일 표준 플랫폼 규격에 따라 작성된 Java 언어 응용프로그램이다. 이 응용프로그램은 MSP(Mobile Standard Profile)의 응용프로그램 생명주기를 따라야 한다.

  28. 용어 정의(계속) • 단말기 기본 소프트웨어 • 플랫폼이 탑재되는 기반 소프트웨어이다. HAL은 하단의 단말기 기본 소프트웨어와 플랫폼을 연결 해 주는 역할을 한다. • 태스크 • 단말기 기본 소프트 상에서 정의되는 독립적 수행 단위이다. 각 태스크는 별도의 프로그램 스택을 가지고 독립적으로 실행된다. • 다중 응용프로그램 수행 • Clet, Jlet들이 모바일 표준 플랫폼 위에서 서로 독립된 메모리 공간을 가지고 동시에 수행되는 것을 말한다.

  29. 용어 정의(계속) • AOTC (Ahead-Of-Time Compiler) • Java를 컴파일하여 생성되는 중간코드(byte code)를 플랫폼에서 실행 가능한 머신 코드로 변환해주는 컴파일러이다. • HAL(Handset Adaptation Layer) • Handset을 추상화 하기 위한 계층으로 단말기 제조사들이 구현해야 할 API 계층이다. • MSF(Mobile Standard Foundation) • Mobile용 디바이스를 위한 기반이 되는 API이다. 입출력 기능, 네트워크, 보안, 국제화 등을 지원한다. • MSP (Mobile Standard Profile) • MSF기반의 Mobile Device를 위한 Profile이다.

  30. 용어 정의(계속) • CLDC (Connected Limited Device Configuration) • 가상 머신 기반의 모바일용 디바이스를 위한 Configuration 이다. CLDC는 가상 머신과 핵심 API로 이루어져 있고, 입출력 기능, 네트워크, 보안, 국제화 등을 지원한다. • MIDP (Mobile Information Device Profile) • CLDC기반의 단말기를 위한 Profile 이다. • MIDlet • MIDP 규격에 따라 작성된 Java 언어 응용프로그램이다. 이 응용프로그램은 MIDP의 응용프로그램 생명주기를 따른다.

More Related