Microsoft Word _ doc

Similar documents
Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

PCServerMgmt7

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Chap7.PDF

¨ìÃÊÁ¡2

Voice Portal using Oracle 9i AS Wireless

1

JavaGeneralProgramming.PDF

01-OOPConcepts(2).PDF

APOGEE Insight_KR_Base_3P11

Gartner Day


Intro to Servlet, EJB, JSP, WS

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례


이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

thesis

슬라이드 제목 없음

목차 I II III IV V J2ME 개요 JCP 개요 JTWI J2ME 응용플랫폼맺음말 J2ME and its Applications - 2

Windows Live Hotmail Custom Domains Korea

PowerPoint 프레젠테이션

서현수

°í¼®ÁÖ Ãâ·Â


rmi_박준용_final.PDF


歯김한석.PDF

untitled

Integ

The Self-Managing Database : Automatic Health Monitoring and Alerting

02 C h a p t e r Java

J2EE & Web Services iSeminar

PowerPoint 프레젠테이션

그림 2. 5G 연구 단체 현황 앞으로 다가올 미래에는 고품질 멀 티미디어 서비스의 본격화, IoT 서 비스 확산 등의 변화로 인해 기하 급수적인 무선 데이터 트래픽 발생 및 스마트 기기가 폭발적으로 증대 할 것으로 예상된다 앞으로 다가올 미래에는 고품질 멀티미디어 서

, N-. N- DLNA(Digital Living Network Alliance).,. DLNA DLNA. DLNA,, UPnP, IPv4, HTTP DLNA. DLNA, DLNA [1]. DLNA DLNA DLNA., [2]. DLNA UPnP. DLNA DLNA.

Microsoft PowerPoint - XP Style

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

기초에서 활용까지 윈도우즈 임베디드 CE 프로그래밍

1. PVR Overview PVR (Personal Video Recorder), CPU, OS, ( 320 GB) 100 TV,,, Source: MindBranch , /, (Ad skip) Setop BoxDVD Combo

vm-웨어-01장

歯I-3_무선통신기반차세대망-조동호.PDF

歯이시홍).PDF

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx


슬라이드 1

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

산업백서2010표지

보안공학연구회

Microsoft PowerPoint - 발표_090513_IBM세미나_IPTV_디디오넷_완료.ppt


<3031B0ADB9CEB1B82E687770>

ESP1ºÎ-04

Microsoft PowerPoint - eSlim SV [080116]

08SW

이제는 쓸모없는 질문들 1. 스마트폰 열기가 과연 계속될까? 2. 언제 스마트폰이 일반 휴대폰을 앞지를까? (2010년 10%, 2012년 33% 예상) 3. 삼성의 스마트폰 OS 바다는 과연 성공할 수 있을까? 지금부터 기업들이 관심 가져야 할 질문들 1. 스마트폰은

Microsoft PowerPoint - eSlim SV [ ]

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

Microsoft Word - s.doc

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

DE1-SoC Board

untitled

JVM 메모리구조

±èÇö¿í Ãâ·Â

초보자를 위한 자바 2 21일 완성 - 최신개정판

SchoolNet튜토리얼.PDF

歯CRM개괄_허순영.PDF

6주차.key

<3132BFF93136C0CFC0DA2E687770>

<4D F736F F D20C1A4BAB8C5EBBDC5C1F8C8EFC7F9C8B8BFF8B0ED5FBDBAB8B6C6AEBDC3B4EBBAF22E727466>

Á¶Áø¼º Ãâ·Â-1

PowerPoint 프레젠테이션

Analyst Briefing

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

MasoJava4_Dongbin.PDF

THE TITLE

PowerPoint 프레젠테이션

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

Solaris Express Developer Edition

Corporate PPT Template

Portal_9iAS.ppt [읽기 전용]

4S 1차년도 평가 발표자료

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

歯Cablexpert제안서.PDF

DBPIA-NURIMEDIA

untitled

歯목차45호.PDF

歯이혜경.PDF

당사의 명칭은 "주식회사 다우기술"로 표기하며 영문으로는 "Daou Tech Inc." 로 표기합니다. 또한, 약식으로는 "(주)다우기술"로 표기합니다. 나. 설립일자 및 존속기간 당사는 1986년 1월 9일 설립되었으며, 1997년 8월 27일 유가증권시장에 상장되

歯Phone

¼º¿øÁø Ãâ·Â-1

10X56_NWG_KOR.indd

Microsoft Word - KSR2014S042

Assign an IP Address and Access the Video Stream - Installation Guide

PowerPoint Presentation

DBPIA-NURIMEDIA

No Slide Title

Information Memorandum Danam Communications Inc

Transcription:

Java Technology for Consumer Electronics and Embedded Devices 하영국 (Y.G. Ha) 임신영 (S.Y. Lim) 함호상 (H.S. Ham) 전자지불연구팀선임연구원전자지불연구팀책임연구원, 팀장전자상거래연구부책임연구원, 부장 최근휴대전화및인터넷이대중화되면서실생활에서무선네트워크서비스를이용하는사용자가급속히증가하고있으며가전업체를중심으로인터넷 TV, 디지털백색가전등과같은정보가전제품들이개발되고있다. 이와같은내장형장치들은기존의 PC 와는다른제한된운영환경을제공하며, 이를위한경량의 Java 플랫폼으로서 EJAE, PJAE, J2ME 등이등장하였다. 이러한내장형 Java 플랫폼들은기존의 Java 가가지고있던객체지향성, 분산성, 플랫폼독립성, 보안성등과같은주요특징들을대부분수용하면서제한적인자원및연산능력을갖는내장형장치에적합하도록설계되어있다. 본논문에서는내장형 Java 플랫폼의기술동향에대하여살펴보기로한다. I. 서론 최근들어이동통신업자및 ISP를중심으로무선인터넷서비스경쟁이심화되고있는가운데인터넷브라우저 (WAP 또는 ME) 를탑재한휴대전화및웹패드와같은무선단말기의보급이급속도로증가하고있다. 또한일반가정에도인터넷사용이보편화됨에따라홈네트워크및정보가전에대한관심이날로증대되고있다. 이미일부가전업체들을중심으로디지털셋탑박스, 인터넷 TV, 인터넷냉장고, 웹폰등이개발되고있으며가까운미래에는거의모든가전제품및각종전자제품 ( 포스트 PC 및 Navigation/Automotive 장치 ) 등이인터넷과연결되어질것으로예상된다. 이러한내장형장치 (Embedded Device) 들은기존의 PC와는다르게제한적인시스템리소스및연산능력을제공하므로여기에적합한어플리케이션운영환경을필요로하게된 다. 이와같은내장형시스템을위한 Java 플랫폼으로서 EJAE(EmbeddedJava TM Application Environment), PJAE(PersonalJava TM Application Environment) 및 J2ME TM (Java 2 Micro Edition) 등이등장하게되었으며이들은객체지향성, 분산성, 플랫폼독립성, 보안성등과같은기존 Java 의주요특징들을대부분수용하면서제한적인내장형환경에적합하도록설계되었다. 본논문에서는우선내장형시스템을위한 Java 플랫폼기술의개요에대하여살펴보고, EJAE, PJAE 및내장형어플리케이션을위한 Extension에대하여설명한다. 그리고 J2ME 플랫폼의구조및 J2ME 플랫폼을구성하는 (Connected Device Configuration) 와 (Connected Limited Device Configuration) 및어플리케이션을위한 에대하여살펴보고결론을맺기로한다. 31

전자통신동향분석제 16 권제 2 호 2001 년 4 월 II. 내장형 Java 플랫폼개요 내장형시스템을위한 Java 플랫폼으로서는 EJAE, PJAE 및최근에 Java 2가발표되면서등장한 Java 2 Micro Edition 등이있다. ( 그림 1) 은각각의플랫폼의구성및상호관계를나타낸다. Code Base Device Mobile Handheld Devices (128K~512K) Connected Consumer Devices (512K~) JDK 1.1 EmbeddedJava EmbeddedJava API PersonalJava PersonalJava API Extensions Java TV API JavaPhone API JES Java 2 Java 2 ME API MID PDA API Foundation Personal RMI ( 그림 1) 내장형 Java 플랫폼의구성 그림에서보듯이 EmbeddedJava 및 Personal- Java는 JDK 1.1 명세를기반으로하고있다. 따라서 EmbeddedJava와 PersonalJava API 는 JDK 1.1 API를 Code Base로하여구성되며, Person- al- Java의경우는 Core API 외에도 Java TV API, JavaPhone API, JES(Java Embedded Server) 와같은 Extension 패키지를추가할수있다. Java 2 ME는 Java 2 명세를기반으로하고있는데다시대상 H/W 플랫폼에따라 및 로나뉘어진다. 는주로 PDA나이동전화및무선단말기등과같은휴대용장치에적합하며, 는셋탑박스, 인터넷 TV, 디지털냉장고등의내장형가전장치를주요적용대상으로설계되었다. 의경우 PersonalJava가 Java 2 플랫폼에맞추어진화한형태이기는하나기존 JDK 1.1 기반의 PersonalJava와공존하며함께내장형 Java 솔루션으로서사용되고있다. III. EJAE 와 PJAE 앞서설명한바와같이 EmbeddedJava 및 Pers-onalJava는 JDK 1.1을기반으로개발되었으나 Java 2 ME 플랫폼이발표된이후에도내장형장치를위한 Java 개발환경으로독자적인위치를차지하고있다. 이장에서는 Embedded- Java 및 PersonalJava에대하여살펴보고내장형 Application 개발을위한 PersonalJava 기반의 Extension 패키지에대해서설명한다. 1. EmbeddedJava EmbeddedJava 응용환경 (EJAE) 은전용의기능 (Dedicated Function) 을갖는장치를위한내장형어플리케이션개발환경을제공한다 [1]. 다시말해서 EmbeddedJava는 Core API의개념을제공하지않으며이를탑재한장치는한가지목적의기능을위한 API만을내장하고있게된다. 따라서다른종류의장치를위한 EmbeddedJava의구현은기능에따라모두달라질수있는데이러한방식의장점은 PersonalJava에비해서적은양의 Memory Footprint(256K~512K) 를요구한다는점이다. 유사한장치들을대상으로하는 J2ME 의 및 MIDP 명세가발표된이후에도 EmbeddedJava 는독자적인내장형프레임워크로서그위치를지키고있는데플랫폼기반의 Java 환경을필요로하지않는내장형시스템개발을위한 Black-box 솔루션 (API를노출하지않는 ) 으로서그역할을수행하고있다. 가. ` EJAE 명세 EmbeddedJava 응용환경은 Java 언어명세 (The Java Language Specification[2]) 에서정의하고있는모든사양을지원하며, Java VM 명세 (The Java Virtual Machine Specification[3]) 중 Class 로딩및 Verification 기능을선택사항으로한것외에모든사양을지원한다. 단이두가지선택사양은개별적으로구현될수없고함께구현되거나모두제외되어야한다 [1]. 32

나. EJAE API EJAE API 명세는 JDK 1.1 API로부터도출되었다. < 표 1> 은 EmbeddedJava API 의패키지목록을보여주는데이들중지원하지않는 (unsupported) 패키지를제외한모든패키지가구현될수도있으며, 선택 (configurable) 패키지중불필요한 Class, Method, Field 혹은해당패키지전체는구현시생략될수있다 [1]. 하는 JCP(Java Community Process) 프로그램을통하여공개적으로개발된다. 현재 PersonalJava 플랫폼의차기버전은 J2ME 가등장하면서 명세에흡수통합되었으나기존의 JDK 1.1 을 Code Base로하는 PersonalJava Application과의호환성을제공하기위한 기반의 Personal 이제공된다. ( 그림 2) 는 PJAE 및 J2ME 간의매핑을나타낸다. < 표 1> EmbeddedJava API 패키지명 java.applet java.awt.* java.beans java.io java.lang.* java.math java.net java.rmi.* java.security.* java.sql java.text.* java.util.* 지원수준 unsupported Current PersonalJava Application Environment 가. PJAE 명세 PAWT+ Non-graphics libraries Core classes JVM ( 그림 2) PJAE 와 J2ME Personal J2ME Connected Device Configuration 2. PersonalJava PersonalJava 응용환경 (PJAE) 은네트워크와연결된디지털가전제품과같은내장형장치를위한 Java 플랫폼으로서 EmbeddedJava와는다르게범용의기능 (General-purpose Function) 을제공하기위한 Core API 가모든장치에내장되어야한다. 이와같은특징은 PersonalJava의실행환경이 EmbeddedJava에비해보다많은 Memory Footprint(512K~) 를요구하는반면인터넷을통해다운로드한 Application(Java Applet) 을실행가능한내장형시스템을구현할수있도록한다는장점을제공한다 [4]. Core API 이외에 PJAE 를기반으로하는선택적인확장패키지로는 JES, Java TV API, JavaPhone API 등이있으며이러한확장패키지들은 Sun Microsystems 및관련전문가그룹이주도 PersonalJava 응용환경은 Java 언어명세및 Java VM 명세에서정의하고있는모든사양을지원한다 [4]. 나. PJAE API PJAE API 명세는기본적으로 JDK 1.1 API를기반으로하고있는데추가로마우스가없는장치를위한인터페이스, PJAE 관련 Exception 및 Timer Event 관련 Class 등을정의하고있다. < 표 2> 는 JDK 1.1 기반의 PersonalJava API 패키지목록을보여준다. 지원수준은 의경우모든기능이구현되어야하고, 의경우는선택적으로구현이가능하다는의미이며, 는해당패키지중일부가 인경우, unsupported는 PJAE에서지원되지않는경우이다 [4]. 33

전자통신동향분석제 16 권제 2 호 2001 년 4 월 < 표 2> PersonalJava API 패키지명 지원수준 java.applet java.awt. java.awt..datatranster java.awt..event java.awt..image java.awt..peer java.beans java.io java.lang java.lang.reflect java.math java.net java.rmi java.rmi.dgc java.rmi.registry java.rmi.server java.security java.security.acl unsupported java.security.interfaces java.sql java.text java.text.resources java.util java.util.zip 다. Java Embedded Server Java Embedded Server TM (JES) 는홈서버및 홈게이트웨이시스템등을위한 PersonalJava 기반 의응용서버프레임워크이다 [5]. ( 그림 3) 은 JES의 운영환경을보여준다. JES 프레임워크는크게 Service와 ServiceSpace 의핵심구성요소로나뉘어지는데 Service는 컴포넌트화된어플리케이션을의미하며 Service- Space는 Service 가실행되는환경을제공하는컨테 이너의역할을수행한다 [5]. 1) Service Service는특정한역할을수행하기위한 Class 들의집합으로이루어진다. 예를들어, 가정의전기사용량을모니터링하는시스템을위하여 A/D 컨버터를통해전기계량기의값을읽어낼수있는 Method를포함하는 Class들을구현하는것을생각해볼수있다. 이러한 Service 는 Bundle 이라는형태로네트워크상에서전송되는데, 일반적으로하나의 Service Bundle은특정 Service 를위한 Class 들을포함하는 JAR(Java Archive) 파일형태로이루어진다 [5]. NC Health Monitoring Electric Meter TV Local Network Home Security Panel Internet Connection Other Devices Service Bundles PC Residential Gateway Powered by Java Embedded Server Sample Services Energy Management Health Monitoring Voice Mail Internet ( 그림 3) Java Embedded Server 2) ServiceSpace Service Bundle Enterprise Applications Enterprise/ Service Provider ServiceSpace는 Service가수행되기위한실행환경을제공하는프레임워크로서 Service의 Lifecycle 관리 (Installation, Instantiation, Execution, Termination, 및 Unloading) 기능을제공한다. 또한 Service들간의 Dependency 문제를해결하고, Service를위한 API를제공한다. JES는기본적으로다음과같은 Core Service 를포함하며처음으로서버가시동될때 ServiceSpace 로부터수행할수있도록하고있다 [5]. HTTP Service Log/Remote Log Service Date/Time Service Connection Manager Service Thread Manager Service Scheduler Service RMI(Remote Method Invocation) Service SNMP(Simple Network Management Pro- 34

tocol) Service Console/Administration Service 라. Java TV API Java TV TM API는디지털 TV를위한 Java 플랫폼 Extension 으로서 Sun Microsystems 및디지털 TV 업체들을중심으로개발되었으며, 세계의주요가전업체에서는이를디지털 TV 국제표준으로채택되도록지원할것임을발표한바있다. ( 그림 4) 는 Java TV API를적용한디지털 TV Application의 S/W 스택을보여준다 [6]. Application and Applets Application Layer Java TV API Java Technology Layer Java Platform Real-Time OS RTOS Layer Device Drivers Digital Television Receiver Hardware Layer ( 그림 4) Java TV API 환경 Java TV API 는디지털 TV(Interactive TV, 인터넷 TV 등 ) 수신기를위한다음과같은기능들을제공한다 [6]. Audio/Video Streaming Conditional Access In-band and Out-of-band Data Channels Access Service Information Data Access Tuner Control for Channel Changing On-screen Graphics Control Media Synchronization Application Lifecycle Control 이러한 Java TV API를이용하여 TV 컨텐츠개발자들은 VOD(Video on Demand), EPGs(Electronic Programming Guides) 또는대화형스포츠중계 (Interactive Sporting Events) 등의다양한서비스를개발할수있다. 마. JavaPhone API JavaPhone TM API는디지털전화를위한 PersonalJava 플랫폼 Extension으로서 Sun Microsystems 및세계의주요 Telecommunication 업체들을중심으로개발되었으며, 디지털전화기상의다양한정보교환을위한안전한환경을제공한다 [7]. JavaPhone API는디지털전화기 (Wireless Smartphone, 인터넷 Screenphone 등 ) 를위한다음과같은기능들을제공한다 [7]. Direct Telephony Control (JTAPI Core, JTAPI Mobile APIs) Datagram Messaging (Network Datagram API) Address Book Information Access (Address Book API) Calendar Information Access (Calendar API) User Information Access (User API) Power Management (Power Management, Power Monitor APIs) Application Installation Mechanisms (Installation API) Serial Communications (Communication API, SSL API) ( 그림 5) 는무선전화기 (Wireless Smartphone) 어플리케이션을위한 JavaPhone API 패키지의구성도를보여준다. 이러한 JavaPhone API 컴포넌트를이용하여전화장비제조업체는개발시간단축및제품의품질을높일수있으며, 컨텐츠제공자들은 H/W 플랫폼에독립적인컨텐츠의개발을통해서비스시장을넓힐수있고, 인터넷망사업자들은새로운형태의어플리케이션및부가서비스를다양한장비를통해제공할수있는기회를얻게된다. 35

전자통신동향분석제 16 권제 2 호 2001 년 4 월 Browser Email Directory User Shell Phone Manager Others workstation server NC communicator PDA POS pager JTAPI Core JTAPI Mobile Address Book User Calender Datagram Power Monitoring Power Management Install Communication API SSL PersonalJava TM Required APIs Optional APIs ( 그림 5) 무선전화용 JavaPhone API 구성 PC, laptop screen- set-top top box phone net TV Java 2 smartphone cell phone Enterprise card Java 2 Edition Standard Edition Java 2 Micro Edition Java Language HotSpot JVM KVM Memory: 10MB 1MB 512KB 64bit 32bit ( 그림 6) Java 2 플랫폼 Card VM 32KB 16bit 8bit IV. Java 2 ME Sun Microsystems는 Java 2를발표하면서이를세가지플랫폼으로분류하였는데 Java 2 Enterprise Edition(J2EE TM ), Java 2 Standard Edition(J2SE TM ) 및 Java 2 Micro Edition(J2ME TM ) 이그것이다. 이들의명칭에서알수있듯이 J2EE는기업환경에적합한 Java 플랫폼을, J2SE는개인용컴퓨팅환경을위한 Java 플랫폼을, J2ME 는정보가전및내장형기기를위한 Java 플랫폼을제공한다 [8]. ( 그림 6) 은각각의 Java 2 플랫폼환경을도식화한것이다. J2ME 는다양한내장형시스템에적합한맞춤형실행환경을제공하기위한 Java Virtual Machine 및 API 세트로구성되어있으며 Configuration과 이라는두가지중요요소를가지고있다 [3]. ( 그림 7) 은 J2ME 의구조를나타낸다. 현재 J2ME 기반의다양한 Configuration 및 들이 JCP 프로그램을통하여공개적으로개발되었거나개발중에있다. 이장에서는 J2ME 기반의 Configuration 및 들에대해서설명한다. 1. Configurations J2ME 플랫폼은두가지설계기준 (Design Center) 을설정하고있는데그것은휴대할수있는이동형장치 (PDA, 무선단말기등 ) 와플러그에연 Connected Device Configuration Other s Car TV Core Classes JVM Other s Wireless KVM Handhead Core Classes s Configuration Core Connected Classes Limited Device Virtual Configuration Machines ( 그림 7) Java 2 ME Architecture 결된고정형장치 ( 셋탑박스, 인터넷 TV, 디지털냉장고등 ) 이다. 이러한구분하에각각의설계기준은그에최적화된 VM 및하위수준의라이브러리를필요로하게된다 [8]. Configuration은이러한 VM 및하위수준의라이브러리로구성되어있으며설계기준에따라 128K~512K의응용환경을제공하는것과 512K 이상의응용환경을제공하는것으로나뉘어진다. 또한 Configuration은중첩가능 (Nestable) 하여하위수준의 Configuration에서수행되는 S/W는상위수준의 Configuration 상에서도수행이가능하다 [8]. < 표 3> 은 J2ME Configuration(, ) 을정리한내용이다. 가. J2ME (Connected Limited Device Con-figuration) 는매우제한적인자원을갖는휴대용장치를위한 Virtual Machine인 KVM(Kilobyte Virtual Machine) 및 Core API로구성되어있다 [9]. 이러한장치들의특성은배터리로동작하며제 36

< 표 3> J2ME Configurations Configuration Feature Virtual Machine KVM CVM Processor 16~32bit 32~64bit Memory Footprint Design Center Target Devices < 표 4> API 128K~512K 휴대가능한이동형장치 PDA, Wireless Phone 등 512K 이상 플러그인된고정형장치 STB, Internet TV 등 구분기능패키지명 J2SE 기반 전용 System & Data types I/O Collection, Time & Utilities Generic connection java.lang java.io java.util javax.microedition.io 한적인메모리, 적은연산능력및 Low bandwid-th, High-latency 네트워크연결을제공한다는점이다. 의핵심은 KVM이다. KVM 은그이름에서도알수있듯이수십 Kbyte의크기를갖는경량의 Java VM으로서 16~32bit RISC/CISC 프로세서를장착한휴대용기기에적합하다. KVM은주어진메모리제한선안에서 Java VM 명세를지원하지만, 다음과같은차이점을갖는다 [10]. Floating Point Data Type(float 및 double) 지원안함 Java Native Interface(JNI) 지원안함 User-defined, Java-level Class Loader 지원안함 Reflection 기능지원안함 Thread Group 및 Daemon Thread 지원안함 Finalization 및 Class Instance 지원안함 Weak Reference 지원안함 Error Handling 기능제한 API는 Java 2 SE로부터직접적으로상속된것과 전용으로정의된 API로구성된다. 전자의경우각각의 Class는해당 Java 2 Class 의일부 Method 및 Field 가생략될수있는 Subset 형태로구현되며, 후자의경우하부의 H/W에종속적으로구현된다 [9]. < 표 4> 는 API 목록을나타낸다. 나. (Connected Device Configuration) 는 보다상위수준 (Higher-end) 의 Configuration으로서정보가전기기와같이플러그에연결된고정형장치를위한 Java Virtual Machine 인 CVM 및 Core API로구성되어있다 [11]. 의핵심을이루는 CVM은 Java 2 VM 명세의모든기능을지원하며 32~64bit 프로세서를장착한정보가전기기에적합하다 [12]. API는 API의 Superset으로서 < 표 5> 는 API 목록을나타낸다. < 표 5> API 구분기능패키지명 J2SE 기반 전용 2. s System & Data types I/O & Network Arithmetic Security & Certification Text handling Collection, Time & Utilities Generic connection java.lang java.lang.ref java.lang.reflect java.io java.net java.math java.security java.security.cert java.text java.util java.util.jar java.util.zip javax.microedition.io 은하부의 Configuration 을기반으로구현되며특정한장치를위한완전한실행환경을제공하는 Java API이다. 은완전성 (Complet- 37

전자통신동향분석제 16 권제 2 호 2001 년 4 월 eness) 을가져야하는데, 다시말해서해당 을기반으로구현된 Application은별도의선택패키지 (Extension 패키지 ) 의추가없이도완전하게실행되어야한다는것이다 [9]. 이러한 들은특정산업분야 (Device 제조사, ISP, 통신사업자등 ) 의요구사항을만족시키기위한방향으로설계되고통합되는데, 이는 Configuration 및 명세를개발하는 JCP 프로그램자체가해당업계의전문가들로구성된그룹에의해서주도되기때문이다. 현재 J2ME 은 를기반으로하는 MID, PDA 과 를기반으로하는 Foundation, Personal, RMI 등이개발되었거나개발중에있으며, 새로운 profile 들이계속제안되고있다. 가. MIDP MIDP(Mobile Information Device ) 는 MIDPEG(MIDP Expert Group) 에의해개발되었으며휴대용장치 (Pager, Cellular Phone, PDA 등 ) 에탑재되는 Application 실행환경을제공하기위한 기반의 로서 MIDP 명세에서는다음과같은사항을정의하고있다 [13]. System Functions User Interface(LCD-based UI API) Persistence Storage(Record Management System) Networking(HTTP Connection) Application Model(MIDlet Suite) ( 그림 8) 은 MIDP 기반의 Application 환경을보여준다. MIDP는휴대용장치의제한된자원을 MIDP 응용 (MIDlet) 들간에공유할수있도록하는 Application 모델을정의한다. MIDlet Application 모델에서는 Suite을형성하는다중 MIDlet 들의패키징방법및단일 JVM 컨택트상에서의자원공유방법등을정의하고있다 [13]. MID Applications MID /KVM Operating System OEM Applications OEM Specific APIs ( 그림 8) MIDP 응용환경 나. Foundation Foundation 은 기반의 로서 2001년 2월 21일현재 Final Draft가승인되어배포된상태이다. Foundation 은다양한네트워크연결 (Socket, Datagram, HTTP 등 ) 을필요로하지만사용자인터페이스를필요로하지않는장치를대상으로한다. 다시말해서 GUI(Graphical User Interface) 기능또는다른추가기능을지원하며네트워크연결을필요로하는다른 들을위한 Base 로서의기능을수행하도록설계되어있다 [14]. 다. 기타 현재 JCP 프로그램을통하여개발이진행중에있는 J2ME 명세로는 Personal, RMI, PDA 명세등이있으며, < 표 6> 은이와관련된개발진행상황에대하여정리하고있다. < 표 6> 기타 J2ME s JSR No. 62 66 75 Name Personal RMI PDA Base Cfg. Status Expert group formed Proposed Final Draft Expert group formed Expert Group Motorola, Nokia, Philips 등 Epson, Siemens, SUN 등 IBM, Palm, Sony 등 38

V. 결론 본논문에서는정보가전및내장형시스템을위한 Java 플랫폼인 EmbeddedJava, Personal- Java 및 Java 2 ME 플랫폼기술에대하여살펴보았다. 최근 WAP 또는 Mobile Explorer와같은무선인터넷브라우징기능을탑재한이동전화나 PDA 등의보급이급속히증가되면서내장형 Java 기술에대한관심이모아지고있다. 세계적인시장분석기관인 IDC는오는 2004년까지정보가전분야의세계시장규모가약 179억달러에이를것이며, 무선인터넷서비스가입자는약 7 억 5,000만명에이를것이라고예측하고있다. 이러한자료로미루어볼때가까운미래에초고속무선인터넷, 정보가전및 Automotive 컴퓨팅기기등이대중화되는시점에서는내장형 Java 플랫폼에대한기술수요는급속도로증가할것으로전망된다. 그러나아직까지이러한내장형플랫폼및응용서비스에대한정보보호기술의개발이활발히이루어지고있지않은상태이다. 따라서조속한관련표준확립과내장형경량암호처리기술및인증기술, 무선기반의종단간보안기술 (Wireless End-to-End Security) 등과같은보다체계적이고적극적인정보보호기술에대한연구개발이이루어져야할것으로생각된다. 참고문헌 [1] Sun Microsystems, EmbeddedJava Application Environment Specification, Version 1.1(Final), Jan. 1999. [2] James Gosling et al., The Java Language Specification, 2nd Edition, Addison Wesley, Jun. 2000. [3] Tim Lindholm et al., The Java Virtual Machine Specification, 2nd Edition, Addison Wesley, Apr. 1999. [4] Sun Microsystems, PersonalJava Application Environment Specification, Version 1.1.2(Final), Aug. 1999. [5] Anne Thomas et al., On-demand Embedded Applications, JES White Paper, Oct. 1998. [6] Bart Calder et al., Java TV API Technical Overview, Version 1.0, Sun Microsystems Inc., Jul. 2000. [7] Sun Microsystems, JavaPhone API Specification, Version 1.0, 2000. [8] Eric Giguere, Java 2 Micro Edition Professional Developer s Guide, John Wiley & Sons, Inc., Nov. 2000. [9] Sun Microsystems, Connected Limited Device Configuration Specification, Version 1.0, May 2000. [10] Sun Microsystems, Java 2 Platform Micro Edition Technology for Creating Mobile Devices, KVM White Paper, May 2000. [11] Sun Microsystems, Connected Device Configuration and the C Virtual Machine, http://java. sun.com/products/cdc/ [12] Sun Microsystems, The C Virtual Machine, http://java.sun.com/products/cdc/cvm/ [13] Sun Microsystems, Mobile Information Device (JSR-37) Version 1.0, JCP Specification, Sep. 2000. [14] Sun Microsystems, JSR #000046: J2ME Foundation, http://java.sun.com/about- Java/community-process/jsr/jsr_04-6_j2mefnd.html. 39