1 / 22

위피 모바일 프로그래밍

위피 모바일 프로그래밍. 임베디드 모바일 프로그래밍. 이동 통신사마다 서로 다른 디바이스 문제로 개발한 프로그램 수정 요구. WIPI 란 무엇인가 ?. WIPI 의 탄생과 배경 WIPI(Wireless Internet Platform for Interoperability ) 한국 무선인터넷 표준화 포럼의 무선인터넷 플랫폼 표준 한국 정보통신 기술협회에 의해 TTA 단체 표준 TTA.KO-06.0036 으로 채택된 이동통신 단말기용 응용 프로그램의 실행 환경에 대한 표준 규격 각 이통사 현황.

sasha
Download Presentation

위피 모바일 프로그래밍

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. 위피 모바일 프로그래밍 임베디드 모바일 프로그래밍 임베디드 모바일 프로그래밍

  2. 이동 통신사마다 서로 다른 디바이스 문제로 개발한 프로그램 수정 요구 WIPI란 무엇인가? • WIPI의 탄생과 배경 • WIPI(Wireless Internet Platform for Interoperability) • 한국 무선인터넷 표준화 포럼의 무선인터넷 플랫폼 표준 • 한국 정보통신 기술협회에 의해 TTA 단체 표준 TTA.KO-06.0036으로 채택된 이동통신 단말기용 응용 프로그램의 실행 환경에 대한 표준 규격 • 각 이통사 현황 임베디드 모바일 프로그래밍

  3. WIPI의 탄생 배경 • 이동업체들 간에 각기 다른 방식으로 무선 플랫폼 개발 • 컨텐츠 제공업체들도 같은 컨텐츠를 여러 개의 플랫폼으로 만듦 • 결론 ; 컨텐츠와 서비스에 대한 여러 가지 불필요한 낭비 요소가 발생함으로 이러한 낭비 요소를 줄이기 위함 • 이동통신사의 합의 내용 • 플랫폼과 애플리케이션 모두 하드웨어에 대해 독립적으로 운영 • 다양한 종류의 단말기와 애플리케이션의 호환성을 가져야 함 • 단말기 구동 시점부터 플랫폼이 구동 • 플랫폼의 UI (User Interface)가 디스플레이를 관장 • 서버에서 대부분을 처리하는 ‘씬 클라이언트’로 함 임베디드 모바일 프로그래밍

  4. 2. WIPI 규격/구조 • WIPI 표준화 일정 • WIPI 표준화 일정 • - 이동통신사들의 단말기에 탑재되어 응용프로그램을 수행할 수 있 • 는 환경을 제공하는 모바일 플랫폼 규격을 정의 임베디드 모바일 프로그래밍

  5. 출력(LCD), 입력(키패드), 처리(CPU), 저장(메모리), 통신장치 등 • 플랫폼 구조 WIPI • 단말기 기본 소프트웨어: 플랫폼에 탑재되는 기본 소프트웨어 • (운영체제, 통신 기본 기능, 각종 디바이스 드라이브) • 모바일 표준 플랫폼 : 응용프로그램 다운로드 서비스를 가능하게 해주는 환경 • HAL: 플랫폼 이식에 있어서 하드웨어 독립성을 지원하기 위한 계층. 이를 통해 단말기에 대한 추상화가 이루어지고, 하드웨어 독립적으로 플랫폼이 구성된다. • 기본 API: 응용 프로그램 개발자가 사용하는 플랫폼에서 지원하는 기본 API 모음. Java, C API를 제공한다. 임베디드 모바일 프로그래밍

  6. - let; 응용 프로그램이 적은 양의 코드로 이루어짐 • WIPI C, WIPI Java 임베디드 모바일 프로그래밍

  7. HAL (Handset Adaptation Layer) • - Handset Hardware & Native System Software 계층과 WIPI 플랫폼 • 사이에서 하드웨어 독립성을 지원하기 위한 계층 (추상화) • - 플랫폼의 상위 계층들은 HAL API만을 호출해서 하드웨어 자원에 접근 • - 목적 • ; OS에 대한 이식성 향상 • 즉, 각 단말기 시스템에 근거하여 HAL API만 구현하면 플랫폼 내부의 • 프로그램 코드를 변경하지 않고도 플랫폼 전체를 이식 • (개발자는 프로그램이 용이) 임베디드 모바일 프로그래밍

  8. 플랫폼 상세구조 • App Manager: 응용 프로그램의 다운로드, 설치, 삭제 등의 응용 프로그램 관리, API 및 Component들의 추가/갱신-Dynamic Linking Library로서 WIPI의 일부 • Basic API : 프로그램 개발자가 사용하는 플랫폼에서 지원하는 필수 API 모음 • OEM SPEC 확장 API: App Manager를 통하여 추가/갱신된 API 및 Component • (Dynamic Linking Library (DLL)을 통해 무선망으로 추가 or 갱신) 임베디드 모바일 프로그래밍

  9. Jlet API java 패키지는 java.lang, java.io, java.util 패키지로 구성 프로파일인 org.kwis 패키지는 msf와 msp패키지로 구성. 임베디드 모바일 프로그래밍

  10. 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 임베디드 모바일 프로그래밍

  11. MSF & MSP 패키지 • MSF (Mobile Standard Foundation) - Mobile용 디바이스를 위한 기반이 되는 API. - 입출력 기능, 네트워크, 보안, 국제화 등을 지원. • MSP (Mobile Standard Profile) - 모바일용 디바이스를 위한 Profile 임베디드 모바일 프로그래밍

  12. MSF (Mobile Standard Foundation) 패키지 • org.kwis.msf.core - 시스템의 핵심 부분 (프로그램의 정보, 실행, 종료, 메모리 등)을 처리 하는 클래스 - 이 패키지는 핵심 부분과 관련된 Kernel과 Shared 클래스만 존재 (Kernel ; 프로그램 정보를 획득, 프로그램의 실행 및 종료 기능 담당) • org.kwis.msf.io - 프로토콜, IP, 소켓 등 상당히 많은 부분을 프로그래머가 직접 제어하는 저수준 입출력 기능을 담당하는 패키지 - 클래스의 구성 ; Message, Network, URL의 네트워크와 관련된 클래스 임베디드 모바일 프로그래밍

  13. MSP (Mobile Standard Profile) 패키지 • org.kwis.msp.db - 데이터베이스와 관련된 클래스들로 구성 • org.kwis.msp.handset - handset hardware와 관련된 클래스 제공 예) BlackLight 클래스 ; LCD 창의 화면 밝기와 관련된 클래스 Call 클래스 ; 전화 통화와 관련된 클래스 • org.kwis.msp.io - org.kwis.msf.io와는 다른 기능 제공 - 휴대폰에서 파일과 디렉터리의 읽기, 쓰기, 삭제 등의 기능을 담당 • org.kwis.msp.lcdui - LCD의 UI (User Interface)부분을 담당 즉, 유저 인터페이스 기능을 제공 • org.kwis.msp.lwc - 가장 많은 클래스들이 들어있는 패키지로서 경량 컴포넌트들을 제공 예) CheckboxGroup, ButtonComponent, CheckboxComponent, Command, DataFieldComponent, DialogComponent, ImageComponent 등 • org.kwis.msp.media - media 관련 클래스 제공 (비디오, 플레이어 등의 재생을 구현하기 위한 기능) 임베디드 모바일 프로그래밍

  14. 단말기 최소 권장사양 • 단말기는 적은 양의 메모리를 사용하기 때문에 불필요한 코드가 없어야 함 • (메모리, 배터리를 이용한 파워, 제한된 폰트와 색상 등을 고려하여 프로그래밍) 임베디드 모바일 프로그래밍

  15. Jlet & Midlet • Midlet는 MIDP규격에 따라 작성된 Java 응용 프로그램 • Jlet는 Java 언어를 모태로 함 • 즉, 혼용 시 문제가 될 수 있음 • CLDC (Connected Limited Device Configuration) • - 제약된 환경에서 디바이스들이 가져야 할 최소한의 요구사항을 정의한 일종의 스팩 • MIDP (Mobile Information Device Profile) • - 실제 구현과 확장을 담당 (CLDC를 확장, 구체화 및 변경) • - CLDC를 기반으로 설계된 자바 클래스 라이브러리에 대한 명세 • MSF (Mobile Standard Foundation)은 CDLC의 역할을 한다고 보면 됨 • MSP (Mobile Standard Profile)은 MSF 기반의 프로파일이다. • - MIDP와 같은 기능을 함 임베디드 모바일 프로그래밍

  16. WIPI 2.0에서는 MSF/MSP와 CDLC/MIDP API 중에서 다음 사항을 준수하는 • 수준에서 호환성을 보장 • (1) 동일한 패키지 이름을 가지는 부분에 대해 플랫폼은 동일한 기능을 제공 (2) 같은 기능을 가지지만 구현된 내용이 달라서 독립적으로 사용되어야 하는 부분에 대해 플랫폼은 동일 패키지 그룹에 속하는 MSF/MSP와 CLDC/MIDP 패키지(하위 패키지 포함)들을 혼용하지 않고 각기 독립적으로 사용한 경우 에는 호환성을 보장 예) org.kwis.msp.lcdui, javax.microedition.rms, org.kwis.msp.media, javax.microedition.io를 동시에 사용하는 것은 동일한 패키지 그룹에 속하는 것 을 혼용하지 않았으므로 사용 가능 임베디드 모바일 프로그래밍

  17. MSF/MSP와 CDLC/MIDP 간의 동일한 그룹별 대응 패키지 (3) 기능이 어느 한 프로파일에만 존재하여 타 프로파일의 기능을 불러 사용해 야 하는 경우 서로 대응하는 패키지가 없으므로 플랫폼은 상호 참조하여 사용할 수 있도록 호환성을 보장 • MSF/MSP와 CDLC/MIDP 간의 각각의 고유 패키지 임베디드 모바일 프로그래밍

  18. 3. WIPI 용어정리, 주요기능, 특징 • 용어정리 • 모바일 플랫폼: 모바일 응용 프로그램을 실행시킬 수 있는 단말기의 실행 환경. 이 플랫폼은 응용 프로그램과 API 관리 기능을 포함해야 한다. • Clet: 모바일 표준 플랫폼 규격에 따라 작성된 C 언어 응용 프로그램 • Jlet: 모바일 표준 플랫폼 규칙에 따라 작성된 Java 언어 응용 프로그램 • ATOC(Ahead-Of-Time Compiler): Java를 컴파일하여 생성되는 중간코드를 플랫폼에서 실행 가능한 머신 코드로 변환해 주는 컴파일러 • MSF(Mobile Standard Foundation):모바일 장치를 위한 기반이 되는 API. 입출력 기능, 네트워크 보안, 국제화 등을 지원 • MSP(Mobile Standard Profile): MSF 기반의 모바일 장치를 위한 프로파일 • CLDC(Connected Limited Device Configuration):가상 머신 기반의 모바일 장치를 위한 구성. 가상 머신과 핵심 API로 이루어져 있음. • MIDP(Mobile Information Device Profile): CLDC 기반의 단말기를 위한 프로파일 • MIDlet: MIDP 규격에 따라 작성된 Java 언어 응용 프로그램 임베디드 모바일 프로그래밍

  19. 응용 프로그램 머신 코드 규격 • Java의 바이트 코드를 안전한 서버를 통해 머신 코드(바이트 코드)로 바꾼 뒤 다운로드 받는다. (머신코드는 ATOC를 통해 생성) • 다중 응용 프로그램 수행 • 다중 응용 프로그램의 동시 실행 환경(응용 프로그램간 실행 우선순위)을 제공하며, 다중 프로그램간 통신 기능(공유 메모리, 이벤트)을 제공한다. • 플랫폼 보안 • 한 응용 프로그램이 플랫폼의 자원을 통해 다른 엔티티에 동작에 영향을 끼치거나, 다른 엔티티가 소유하고 있는 정보에 접근하는 경우에 대한 정책적, 기술적 대책 • 일반(public) 수준: 보안 레벨 중 가장 신뢰할 수 없는 수준. (제약사항 多) • 플랫폼은 응용 프로그램이 실행될 때, 단말기 시스템에 영향을 줄 수 있거나 개인 정보에 접근하는 등, 보안 문제를 야기할 소지가 있는 플랫폼 자원에 대한 접근을 허용하지 않음. • 컨텐츠 개발자(CP) 수준: 단말기에 심각한 영향을 주지 않는 범위에서 신뢰가 가는 CP 업체에게 접근 허용 • 시스템 수준: CP 보안 수준의 부분집합으로 응용 프로그램을 완전히 신뢰 가능한 것으로 간주하고 모든 자원에 대한 접근을 자동 허용 임베디드 모바일 프로그래밍

  20. WIPI 규격과 MIDP의 보안 관계 임베디드 모바일 프로그래밍

  21. API 보안: 특정 API 그룹을 보안 대상 그룹으로 지정하여 해당 그룹별로 보안 수준을 지정 • - 접근 수준: NO ACCESS, READ ONLY, WRITE ONLY, READ/WRITE • 디렉토리 보안 • - 개인 디렉토리: 응용 프로그램 관리자를 제외하고는 해당 응용 프로그램 자신만이 접근 • 할 수 있는 디렉토리 • - 응용 프로그램 공유 디렉토리: 서로 합의된 응용 프로그램 간에 공유하기 위한 디렉토리 • - 시스템 공유 디렉토리: 응용 프로그램에 관계없이 공유되는 디렉토리 • 서비스 보안: 신뢰할 수 있는 모든 응용 프로그램은 응용 프로그램 명세 파일과 실행 코드에 서명을 받도록 하는 방법 • API 추가/갱신 지원 • 플랫폼은 API를 무선망을 통해 추가/갱신할 수 있다. (Dynamic Linking Library) • 메모리 관리 • 자동 메모리 해제 ; 응용프로그램이 종료되면 모든 자원을 플랫폼에 반환 • 메모리 컴팩션 ; 동적 메모리 할당/해제할 때 메모리 단편화를 줄이기 위함 • 자바 가비지 컬렉션 • 자바 스택 ; 각 응용프로그램 별 스택의 크기를 동적으로 변화시킬 수 있어야 함 • 공유 메모리 지원 임베디드 모바일 프로그래밍

  22. 응용 프로그램 관리 (APM) • 플랫폼에서 응용 프로그램 수행 시 날짜 제한, 회수 제한 등 실행 여부를 판단 • 응용 프로그램의 강제 종료를 지원 • API 추가/갱신 기능을 제공 • 응용 프로그램 다운로드 기능을 지원 • 다국어 지원 • 유니코드와 로케일 설정을 지원하며 지역에 적합한 언어와 기호를 표시할 수 있다. • CLDC (Sun CLDC 1.1) / MIDP (Sun MIDP 2.0) • CLDC 규격에서 정의하는 가상머신의 기능을 플랫폼 엔진에서 수용 • 필수 API와의 상호 운용성 • CLDC/MIDP는 필수 Java API와 상호 보완적으로 사용되어야 한다. • 같은 기능을 하는 API는 혼용하지 말아야 함 • 한 쪽에서만 지원되는 API는 보완적으로 서로 사용 임베디드 모바일 프로그래밍

More Related