2. 모바일 프로그래밍에 대한 이해
목차 2.1 모바일 인터넷 2.2 무선 인터넷 기술 동향 2.3 무선 인터넷 플랫폼 (WAP) 2.4 WAP 시스템의 프로토콜 2.6 ME (Mobile Explorer) 2.7 GVM (General Virtual Machine) 2.8 KVM (Kilo Virtual Machine) 2.9 Java 2.10 WIPI 개요 2.11 WIPI 표준 플랫폼
2.1 모바일 인터넷 모바일 인터넷이란? 무선인터넷 서비스를 제공하기 위한 조건 무선 프로토콜 휴대폰으로 언제 어디서나 자유롭게 원하는 정보에 접근 무선인터넷 서비스를 제공하기 위한 조건 물리적인 무선 접속 단말기와 기지국 간에 데이터 전송을 위한 프로토콜 무선 프로토콜 WAP (Wireless Application Protocol) IP (Internet Protocol)
2.1 모바일 인터넷 무선통신의 진화 비동기식 UMTS와 동기식 CDMA 2000 IMT 2000 Japan 2001 Europe/Asia(partly) 2002 Americas 2003/2004 UMTS CDMA 2000-3x W-CDMA UTRA-FDD (=W-CDMA) UTRA-TDD TD-SCDMA CDMA 2000-3x FDD? 3G EDGE classic EDGE compact 2.5G (introduces Packet Service) GPRS GPRS IS-95 Rev.B HSCSD CDMAone PDC CDMAone (IS-95) TDMA (IS-136, D-AMPS) GSM 1900 2G GSM 900 and 1800
2.2 무선 인터넷 기술 동향 국내 무선 데이터 무선인터넷 3가지 인터넷 프로토콜 (브라우저) WAP(Wireless Application Protocol) 유럽 i-mode 일본 SK텔레콤 LG텔레콤 신세기텔레콤 ME KTF, W3C, 마이크로소프트 (단위 : 조원)
2.3 무선 인터넷 플랫폼 (WAP) 가장 많이 사용하는 무선 인터넷 WAP application i-mode application WAP, i-mode application은 반드시 gateway를 거쳐야 한다 서버에서 실행 서블릿 프로그래밍 java application 애플릿 프로그래밍 IP/HTTP 방식, 바로 서버로 연결 휴대폰 자체에서 실행 가장 선호하는 방식
2.3 무선 인터넷 플랫폼 (WAP) WAP(Wireless Application Protocol) WAP 시스템 구조 무선 인터넷을 위한 프로토콜 WAP gateway가 인터넷망 연결 담당 WAP에서는 HTTP 대신에 WSP 방법을 사용 WAP 시스템 구조 무선 네트워크 인터넷 인트라넷 WAP gateway 기업 애플리케이션 웹 호스팅 서비스 일반 웹 서비스 캐리어(Carrier) WAP 서비스 WAP 브라우저 WAP 무선 최적화 프로토콜 표준 인터넷 프로토콜 (IP)
2.3 무선 인터넷 플랫폼 (WAP) WAP 시스템의 프로토콜 Internet Wireless Application Protocol Internet Wireless Application Environment (WAE) HTML JavaScript Other Services and Applications Session Layer (WSP) HTTP Transaction Layer (WTP) Security Layer (WTLS) TLS - SSL Transport Layer (WDP) WCMP User Datagram Protocol(UDP) TCP/IP UDP/IP Bearers: SMS USSD CSD GPRS CDMA CDPD PDC-P Etc..
2.4 WAP 시스템의 프로토콜 WAE (Wireless Application Environment) 일반적, 다목적 응용을 개발하기 위한 응용 환경의 규격 정의 WML (Wireless Markup Language), WMLScript 등 정의 휴대 단말기에 적용될 수 있는 소규모 브라우저 개발용 WSP (Wireless Session Protocol) HTTP/1.1에 상응하는 기능을 정의 장시간 활용의 세션을 정의하고, 세션 관리 suspend/resume 프로토콜 기능에 대한 협상 가능 WTP (Wireless Transaction Protocol) 트랜잭션 형태의 데이터 전송 기능을 제공 신뢰성 및 비신뢰성 전송 기능을 제공 오류복구를 위한 재전송 기능
2.4 WAP 시스템의 프로토콜 WTLS (Wireless Transport Layer Security) 인증(Authentication), 부인봉쇄(Non-Repudiation), 무결성(Constraint), 기밀성(Security) 등 보안 서비스 제공 WDP (Wireless Datagram Protocol) End-To-End 전송을 위해 port 어드레싱을 제공 인터넷의 UDP와 같은 전송 기능을 담당
2.5 WAP 시스템 WAP application layer란? WAE (Wireless Application Environment)의 기능을 의미 WAE 구성요소 Addressing model WML (Wireless Markup Language) WMLScript WTA (Wireless Telephony Application) WTAI(WTA Interface) Etc 문서형식의 정의, 이동전화 호 처리 및 망 요소와 관련된 부분
2.5 WAP 시스템 WAP Application Server 단말기에서 요구하는 정보를 실제 저장하고 있는 server WAP gate와 Origin server가 합쳐진 형태 컴파일러 필요 WML 문서형태로 만드는 WML encoder와 WML-Script를 생성 protocol adapter WAP에 맞게 프로토콜을 변환 단말기(client) 문서형식을 해석하는 부분 WTA를 처리하는 WTAI
2.5 WAP 시스템 WAP Application Server
2.6 ME (Mobile Explorer) WAP과 HTML 기반의 콘텐츠 모두 지원 OS에 독립적인 최초 유일한 브라우저 소형 단말기에 효율적으로 사용 가능한 소프트웨어 현재 MS가 지원하고 있는 ME
2.6 ME (Mobile Explorer) 특징 포터블 : OS에 독립적, 쉽게 porting 가능 크기가 작음 인터넷 표준 기반 : 기존의 인터넷 표준인 HTML 3.2을 부분적으로 지원 소형 기기에 최적화 한정된 자원 : 느린 CPU와 한정된 메모리 고려, 가벼운 API들을 사용 WAP, HDML 등과는 달리 기존의 HTML 콘텐츠들을 사용가능, 호환성이 우수 XML 지원
2.6 ME (Mobile Explorer) 기능 V.1 V.2 HTML 문자 표시 (기존 HTML을 그대로 서비스) Web server 직접 연결(게이트웨이가 필요 없음) 북마크 기능 Cookies, vCard V.2 HTML/WAP 동시 지원 SSL을 통한 보안기능 JScript, GIF 지원
2.7 GVM (General Virtual Machine) 제한된 LCD사이즈, 메모리, 낮은 CPU파워를 갖는 이동 단말기용으로 개발된 프로그램을 단말기에 Download 하여 실행시키는 솔루션 이동 단말기용 게임 콘텐츠 서비스를 목적으로 개발 네트워크 기능과 제어기능 등이 추가되면서 다양한 응용분야에 적용할 수 있도록 확장
2.7 GVM (General Virtual Machine) 응용분야 다이나믹 게임서비스 Stand-Alone(Off-line), PTP(Phone-To-Phone), Network Game 멀티미디어 서비스 실시간 서비스 주식정보 서비스, 어학 교육용 컨텐츠 서비스 외부 기기 제어 서비스 ( RS-232C) 지리정보 시스템으로 활용 가능
2.7 GVM (General Virtual Machine) 특징 이동단말기의 OS나 하드웨어의 종류에 관계없이 동작 SWAP 모듈을 이용 최소한의 CPU메모리, LCD등을 극복 계층 구조 : 이동 단말기에서의 포팅을 용이 20-30Kbytes의 적은 메모리를 사용 MiniC 이용 범용적인 ANSI C를 이동형 단말기가 갖는 구조에 맞게 개발 C언어를 복잡하게 만드는 일련의 요소를 제거 포인터가 없음 데이터 타입 : 기본적인 2바이트 정수(byte integer) 타입 만 허용 이동 단말기에 적합한 이미지, 오디오, 네트워크 라이브러리의 사용 미디어 타입을 추가하여 String , Image, Sound, Vocoder를 용이하게 처리
2.7 GVM (General Virtual Machine) 특징 기능위주 설계 구조가 간단 프로그램의 크기가 작음 실행 성능 우수 GVM 실행 중에도 네트워크가 끊긴 상태에서는 통화 가능 멀티미디어 기능 확장
2.8 KVM (Kilo Virtual Machine) 자바기술을 낮은 사양의 네트워크 기기에 적용할 수 있도록 최적화한 JVM의 일종 선이 내놓은 자바2 플랫폼 KVM이란? 세계적으로 널리 사용되는 JAVA 언어 솔루션 선마이크로시스템 사에서 개발 자바 언어를 위한 Virtual Machine으로 kilo란 말처럼 이것은 이동통신 단말기 등의 무선 통신 시스템을 위한 컴팩트(Compact)자바
2.8 KVM (Kilo Virtual Machine) 응용분야 게임, 동영상 등의 엔터테인먼트 서비스 모빌 오피스, 증권 등의 트레이딩 서비스 모빌 브라우저의 제한적이고 보안의 취약성 때문에 서비스되지 못하고 있는 분야에서의 적용 확대 가능 특징 Classes File(애플리케이션)을 다운로드하여 실행 가능 낮은 전송속도의 무선환경에서도 최적의 성능을 구현 서비스 제공시 프로그램 제공 및 업그레이드가 용이 국내 환경에 있어서는 에뮬레이터나 사운드의 지원, 관련툴의 지원등에 있어서 GVM에 비해 열악 자바 C언어에 비해 상대적으로 느림
2.8 KVM (Kilo Virtual Machine) 그 외 특징 애플리케이션 개발업체 : 편리한 개발환경 단말기 제조업체 : 제3의 애플리케이션 개발자 지원 이동통신 사업자 : 다양한 서비스 제공
2.9 Java 자바를 보는 두 가지 시각 자바의 장점 자바의 소유권 자바가 무선인터넷에서 중요한 이유 범용 프로그래밍 언어 : C/C++와의 관계 컴퓨팅 환경을 위한 플랫폼 : Windows/Linux와의 관계 자바의 장점 Write Once, Run Anywhere ! 플랫폼 독립성, 아키텍처 중립성 자바의 소유권 License : SCSL(Sun Community Source License) Standardization : JCP (Java Community Process) 자바가 무선인터넷에서 중요한 이유 서버측 서비스 통합기술로서의 유용성 클라이언트측 임베디드 솔루션으로서의 유용성
2.9 Java 자바 응용 프로그램 처리 흐름
2.10 WIPI 개요 WIPI(Wireless Internet Platform for Interoperability) 이동통신 단말기용 응용프로그램 실행 환경을 표준화한 규격 한국무선인터넷 표준화 포럼(KWISF : Korea Wireless Internet Electronics and Telecommunications Research Institute)의 활동에 의해 개발 각 이동통신사는 다른 방식의 무선인터넷 플랫폼 사용 각각의 통신사에 맞는 콘텐츠 제작 [ 각 이동통신사 현황 ] 통신사 개발언어 수행방식 SK Java/C, C++ 인터프리터(VM) KTF C/C++ 바이너리(네이티브) LG Java
2.10 WIPI 개요 발전 1999년 5월 2000년 9월 LGT와 UP(Unwire Planet)사가 공동 최초 실시 마크업 Language 기반의 브라우징 서비스 2000년 9월 세계 최초로 KVM과 ez-java를 상용화 SKT : GVM 서비스 시작 KTF : MAP을 사용, 2001년 8월 Brew 채택
2.10 WIPI 개요 설계 플랫폼, 애플리케이션 모두 하드웨어에 대해 독립적으로 운영 다양한 종류의 단말기, 애플리케이션의 호환성 단말기 구동 시점부터 플랫폼 구동 플랫폼의 UI(사용자 인터페이스)가 디스플레이를 관장 씬 클라이언트 API포함 VM 대신 애플리케이션을 입출력 할 수 있고 모듈의 읽기 가능
2.11 WIPI 표준 플랫폼 WIPI 표준 플랫폼 구조