유니버설미들웨어프레임워크 - OSGi 임베디드를넘어엔터프라이즈로! OSGi는운영체제, 플랫폼에독립적으로운영되는미들웨어프레임워크이다. 또한표준화된스펙, 컴포넌트구조그리고분산네트워크서비스에최적화된컴퓨팅환경을제공해주는서비스플랫폼이기도하다. 이러한특성으로최초의적용분야인모바일과

Similar documents
PCServerMgmt7

[Brochure] KOR_TunA

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

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

TTA Journal No.157_서체변경.indd

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 (

서현수

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

Intro to Servlet, EJB, JSP, WS

Microsoft Word - src.doc

Cisco FirePOWER 호환성 가이드


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

오토10. 8/9월호 내지8/5

thesis

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.

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

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

오토 2, 3월호 내지최종

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

Microsoft PowerPoint - chap01-C언어개요.pptx

¨ìÃÊÁ¡2

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

APOGEE Insight_KR_Base_3P11

untitled

창출할수없기때문이다. OSGi 서비스제공업체들은네트워크로연결된가정내각종기기에접속해기기의이상유무에서부터원격제어및원격수리등의다양한부가서비스를제공하고, 이를통해새로운수익을창출할수있다. 이렇듯초기의 OSGi 개발및참여업체들은다양한서비스가가능한게이트웨이의표준소프트웨어사양개발작업

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

PowerPoint Presentation

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

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을


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

라우터

Portal_9iAS.ppt [읽기 전용]


Microsoft Word - windows server 2003 수동설치_non pro support_.doc

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

J2EE & Web Services iSeminar

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

PowerPoint 프레젠테이션

1

Microsoft Word - CPL-TR OM2M.doc

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


슬라이드 1

Windows 8에서 BioStar 1 설치하기

목 차 Ⅰ. 정보기술의 환경 변화 Ⅱ. 차량-IT Convergence Ⅲ. 차량 센서 연계 서비스 Ⅳ. 차량-IT 융합 발전방향

Microsoft PowerPoint App Fundamentals[Part1].pptx

vm-웨어-01장

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

2009방송통신산업동향.hwp

歯이시홍).PDF

consulting

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

ESP1ºÎ-04

<4D F736F F F696E74202D20332DC1F6B9DDC1A4BAB8BDC3BDBAC5DB>

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

PowerPoint 프레젠테이션

PowerPoint Presentation

Cloud Friendly System Architecture

No Slide Title

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

인문사회과학기술융합학회

1217 WebTrafMon II

52 l /08

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

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

기술과미래05내지

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

클라우드컴퓨팅확산에따른국내경제시사점 클라우드컴퓨팅확산에따른국내경제시사점 * 1) IT,,,, Salesforce.com SaaS (, ), PaaS ( ), IaaS (, IT ), IT, SW ICT, ICT IT ICT,, ICT, *, (TEL)

, 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.


Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

슬라이드 1

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

歯270호.PDF

±èÇö¿í Ãâ·Â

User Guide

Install stm32cubemx and st-link utility

<4D F736F F F696E74202D BBE7C0BAB1E2BCFABCBCB9CCB3AA5FBDC5B1E2BCFABCD2B0B3>

Microsoft PowerPoint Android-구조.애플리케이션 기초(1.0h).pptx


DE1-SoC Board

<4D F736F F D FB1E2BCFAB5BFC7E2BAD0BCAE2DB8F0B9D9C0CF20B3D7C6AEBFF6C5A92DC3D6BFCF2E646F6378>

°í¼®ÁÖ Ãâ·Â

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

untitled

[Brochure] KOR_LENA WAS_

Backup Exec

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

RFID USN_K_100107

JVM 메모리구조

Windows Server 2012

歯김한석.PDF

Voice Portal using Oracle 9i AS Wireless

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

모바일 안드로이드 아키텍처


Transcription:

유니버설미들웨어프레임워크 - OSGi 임베디드를넘어엔터프라이즈로! OSGi는운영체제, 플랫폼에독립적으로운영되는미들웨어프레임워크이다. 또한표준화된스펙, 컴포넌트구조그리고분산네트워크서비스에최적화된컴퓨팅환경을제공해주는서비스플랫폼이기도하다. 이러한특성으로최초의적용분야인모바일과임베디드시스템을넘어클라이언트 / 서버와데스크탑애플리케이션의 RCP(Rich Client Platform), 나아가엔터프라이즈환경의프레임워크 (Spring-OSGi) 에이르기까지점차그영역을넓혀가고있다. 2 연재순서 1 회 2007. 7 임베디드를넘어엔터프라이즈로! 2 회 2007. 8 OSGi 의개발환경구현 3 회 2007. 9 임베디드환경에서의 OSGi 4 회 2007. 10 이클립스의핵심, Equinox 5 회 2007. 11 엔터프라이즈로의확장, Spring-OSGi 6 회 2007. 12 OSGi 베스트프랙티스소개 김석우 suhgoo.kim@samsung.com Polytech 전산학석사. 뉴욕의 IBM 연구소를거쳐현재삼성전자선행개발팀에근무중이다. 빌딩컨트롤네트워크 (Building Control Network) 와임베디드시스템이주요개발분야로, 현재는 OSGi 기반의 WSN 컨트롤러를구상하고있다. 무엇이모바일 / 임베디드환경의 OSGi를엔터프라이즈까지확장시켰을까? 이제부터유니버설미들웨어서비스플랫폼 (Unive rsal Middleware Service Platform) 으로자리매김한 OSGi에대해알아본다. OSGi 탄생과배경 OSGi는 Open Service Gateway Initiatives의줄임말로일종의미들웨어프레임워크 (Middleware Framework) 라할수있다. 또한 OSGi는기본적으로자바환경에서구현되며자바를위한다이내믹모듈시스템 (Dynamic Module System이라고도불린다. 이런 OSGi가탄생하게된배경은다음과같다. 지난 1990년대중반에시작된인터넷의폭발적인성장세는 IT뿐만아니라우리생활곳곳의많은부분을변화시켰다. 이러한변화가운데새롭게각광받은분야가바로홈네트워크이다. 홈네트워크는기존의전통적인가정과주거환경을인터넷과결합시켜우리에게보다더편리하고쾌적한주거및가정환경을제공해줄것으로기대됐고, 이에따라많은사람과기업이주목하기시작했다. 또한수많은기업들이홈네트워크에대규모투자를감행했고, 여기에 는마침내기존 IT 기업뿐만아니라통신, 가전, 건설, 환경업체들까지뛰어들게됐다. 하지만이렇게많은업체들이홈네트워크에뛰어들면서인터넷에연결되는정보및가전기기들의호환성문제가대두된다. 이에 IT, 가전, 통신, 주택, 환경분야를대표하는업체들이모 OSGi 얼라이언스 1999년 3월설립된비영리단체로 OSGi 공개표준의스펙을제정하는것이주활동이다. 2000년 5월에 OSGi 1.0을릴리즈 (Release) 한후 4.x까지제정되어있다. 주요멤버를분야별로살펴보면통신분야에서는노키아, 모토롤라, 도이치텔레콤, 프랑스텔레콤, KT, 보다폰등이참가했고, 가전분야에서는삼성전자와필립스, 월풀, 지멘스, 샤프, 도시바, 히타치등이회원으로가입해있다. 또한 IT 분야의 IBM, 썬, 인텔, 오라클, HP, ETRI, Prosyst와 BMW 등의자동차제조사외에현재 80 여개기업이이단체에가입되어있다. 한편 OSGi 얼라이언스는네개의전문가그룹으로구성되어각해당분야의요구사항을분석하고그에따른스펙을제정하고있다. 그그룹을차례로나열하면 CPEG(Core Platform Expert Group), VEG(Vehicle Expert Group), MEG(Mobile Expert Group), EEG(Enterprise Expert Group) 이다. 204 m a s o

여로컬네트워크 (Local Network) 상에서상호호환성을보장하고, 각디바이스에서관리되는서비스들의배포및공유에대한공개스펙을제정하게된다. 이러한배경을가지고탄생한것이바로 OSGi 기술이다. OSGi는스펙이공개된기술로, 모든개발및스펙제정활동은 OSGi 얼라이언스 (Alliance) 에의해승인되고진행된다. 국내에서는삼성전자가 OSGi 얼라이언스창립때부터주요이사로참가해활동해왔고, 현재는 KT와 ETRI도참여하고있다. 현재홈네트워크의기능은크게가전기기의상태정보 / 모니터링, 기기의원격제어컨트롤, A/V 및주방가전의홈솔루션통합으로구분하고있는데, 가정의네트워크에속한단말이나가전에접근하기위해서는디바이스에대한표준화된네트워킹 ( 이더넷, 블루투스, 무선 LAN, IEEE1394, PLC) 과범용미들웨어 (Universal Middleware) 가필요하다. 이런이유에서나온것이바로 UPnP, HAVi, JINI 등의표준이다. < 그림 1> 은이러한장비연결및제어 R1 로얻을수있는유효서비스들을나타낸 Framework 것이다. 이러한서비스의배포문제를해 Http Log 결하고서비스가작동하기위한제반환 Device Access 경을제공하는것이바로 OSGi의기본목표라고할수있다. 초기의 OSGi R1.0에서는기초적인정보기기의연동과상태모니터링기능탑재, 그리고표준화에주력했다. 이어서 2.0은운영과관리, 보안기능등을추가했다. 본격적인컨텐츠서비스플랫폼으로의모습은 3.0에이르러등장한다. 외부의오픈소스를이용해처리하던 XML 파싱, Wire Admin, URL Handler 등의기능이표준서비스로채택되었고, UPnP와 JINI 표준이기본시스템서비스로올라오면서 OSGi는명실상부하게모바일, 임베디드, 데스크탑애플리케이션, 클라이언트 / 서버환경을모두아우르는미들웨어프레임워크로자리매김한다. 4.0에이르러서는좀더분야가세분화되면서카테고리별로디바이스특성에맞는컨텐츠와시스템서비스들이발전하게된다. 특히휴대폰과스마트홈컨트롤러, 빌딩자동화컨트롤러, 자 Computer Printer Scanner Laptop DVD Television Lighting HVAC Security Utility Meters < 그림 1> OSGi 와홈솔루션서비스구성도 < 그림 2> OSGi - 릴리즈버전 OSGI 서비스플랫폼릴리즈 R2 Pakage Admin Configuration Admin Permission Admin User Admin Preferences MetaType Service Tracker A/V R3 OSGi UPnP Initial Provisioning Name Space Jini Start Level IO Connector Wire Admin XML Parser Measurement & State Position Execution Environments URL Handler Energy management & metering service Security service Music & video on demand Appliance service monitoring & service repair 동차용내비게이션과텔레매틱스솔루션등의폭발적인성장에힘입어모바일, 임베디드시스템에대한많은요구사항들이직접기본서비스에선택되어탑재된다. 여기서나오는시스템기본서비스는 OSGi 얼라이언스에서승인해기본 OSGi 프레임워크에탑재된다. 그러나여기에빠져있더라도벤더가자신들이원하는기능을 OSGi 스펙에맞춰개발하면얼마든지 OSGi 프레임워크에탑재해사용할수있다. 이를테면노키아에서개발한응용서비스번들과서비스등은모토롤라나소니에릭슨의휴대폰에탑재해사용할수있다. OSGi 특징 OSGi는서비스가작동하고운영되는서비스환경에관한표 R4 Core Framework Layering Conditional Permission Admin Declarative Services Event Admin Mobile DMT Admin Deployment Admin Foreign Applications Mobile Management Tree Vehicle Power Management Metatype 2 Diagnostic Vehicle API m a s o 205

2 _ 임베디드를넘어엔터프라이즈로! 준기술이다. 과거 OSGi R1.0이발표될때만하더라도 OSGi는홈네트워크의네트워크표준에국한된부분이많았으나, 지금의 4.0에이르러서는기존의홈네트워크와모바일, 임베디드, 텔래매틱스, PC 애플리케이션 ( 이클립스기반의 RCP) 은물론이고, 엔터프라이즈환경의프레임워크에까지확장되고있다. 그만큼기존의미들웨어에비해많은장점을가지고있는셈이다. 또한과거초기단계의홈네트워킹및빌딩제어, 자동화시장에는디바이스제어기술이주로쓰였지만현재는그보다훨씬다양한디바이스간의상호작용을요구하고있고, 나아가컨텐츠및솔루션서비스가점차고도됨에따라 OSGi와같은서비스플랫폼환경이꼭필요하게될것이다. 현재다양한디바이스들간의상호운용성을위해 UPnP, HAVi, JINI 같은표준이만들어져주로장비의제어나데이터전달등을처리하므로, 이는 OSGi 기술과상호보완적인위치에있다고할수있다. OSGi를사용하거나구현하는쪽에서는이러한미들웨어지원이또다른고려사항임을유의해야한다. 그럼 OSGi의주요특징을살펴보자. S/W Component Management OSGi는자바기반의컴포넌트 (Component) 구조로설계되어있다. 따라서 OSGi는자바런타임환경하 (J2ME, J2SE, J2EE) 에서작동하도록만들어진표준이다. 자바 VM은이질적인임베디드운영체제와임베디드 CPU에서발생하는차이점에대한완충역할을수행한다. 또한 OSGi는서비스기반의구조를지향한다. 서비스는모두번들 (Bundle) 이라불리는물리적묶음에포함된다. 복수개의 OSGi 서비스가하나의번들에포함될수도 있으며, 번들은배포와관리의기본단위를형성한다. 이번들을관리하는것이바로프레임워크 (Framework) 이다. 프레임워크는서비스에대한등록 / 관리기 (Service Registry) 를가지고있어서비스에대한등록, 조회, 실행, 삭제등을수행한다. 또한이벤트와그에따른이벤트탐지및대응도처리한다. 여기서말하는이벤트는장비에서생성된물리적이벤트와는관계가없고서비스와번들, 프레임워크라는세가지이벤트산출자를근간으로하는논리적이벤트라는점에유의해야한다. OSGi 의가장기본적이고중요한요소들인번들, 서비스, 프레임워크는차후에좀더자세히설명한다. 원격컴포넌트관리 OSGi는원격관리를지원한다. OSGi는번들단위로서비스를형성하고운영하는데, 번들을업데이트하거나원격에서업데이트를관리및제어할수있다. 자바 VM(Virtual Machine) 을재부팅할필요없이사용중에원격으로업데이트 ( 업그레이드 ) 할수있는것은매우큰장점임에틀림없다. 이를위해 OSGi는원격관리표준프로토콜을제정했으므로, OSGi가탑재되고운영되는환경에맞춰이용하면된다. 원격관리프로토콜로는대표적으로 OMA-DM, SNMP, CMISE 그리고 Telnet/SSH 등이사용된다. OSGi가탑재된컨트롤러나디바이스가인터넷이나로컬네트워크에서운영된다면주로과거에는 SNMP, Telnet/SSH 등을사용했다. 그러나최근무선환경이급격히확산되고모바일 / 무선디바이스의사용이늘어나면서새롭게탄생한프로토콜이바로 OMA-DM (Open Mobile Alliance for Device Management) 이다. 다시말해 OMA-DM은모바일디바이스를위한유무선통합관리프로토콜이다. 물리적인레이어 (Physical Layer) 에서유선모드라면 USB, = service interface exported and imported by bundles Bundle (Application) OSGi Java VM Operationg System Driver Driver Driver Hardware < 그림 3> OSGi 구조다이어그램 < 그림 4> 필립스의홈컨트롤러 ipronto 206 m a s o

RS-232C를사용하고, 무선모드에서는 GSM, CDMA, IrDA, 블루투스를사용해데이터를전송한다. 또한전송레이어 (Trans port Layer) 에서는 HTTP, WAP, OBEX(Object Exchange) 를사용한다. 데이터전송언어로는 SyncML을사용해데이터호환및규격을통일했다. 마지막으로 Binary Transmission과 Session Management 를통해 SyncML의텍스트포맷 (Text format) 을압축 / 암호화하고 HTTP/WAP의세션을관리한다. 필립스의가정용컨트롤러인 ipronto, 노키아의스마트폰, BMW 5/6 시리즈에탑재된텔레매틱스등이 OMA-DM을활용해컨텐츠번들을관리하고업그레이드하는대표적인제품들이다. 애플리케이션간의협업많은자바애플리케이션서버환경에서구동하는자바애플리케이션들은독립성을보장하기위해극히폐쇄적인컨테이너환경에서작동된다. 따라서다른자바애플리케이션과의연동이나통합이이뤄지려면라이브러리코드를각각가져와구동해야하므로오버헤드가필연적으로발생한다. 예를들어엔터프라이즈환경에서사용되는 JMS 서비스 API는백앤드서버라이브러리에위치하며그크기가대략 30~40KB 정도다. 만약 MIDP 애플리케이션이 JMS를이용해메시징서비스를하려한다면, 백엔드서버의라이브러리코드를사용해야한다. 이때다수의 MIDP 애플리케이션이구동된다면 n개의 JMS- API가동작하는오버헤드가생긴다. 이런문제점들을해결하기위해나온솔루션서비스가바로 SOA(Service Oriented Archit ecture) 이다. OSGi는이러한 SOA의기본적인구조, 즉공통적으로사용되기위한서비스또는라이브러리 API를서버나공간의어느디바이스에등록해 (Registry) 배포및공유하면 (Contribute) 접근가능한어떤애플리케이션이라도사용할수있는연결구조를 (Loosely Coupled) 지향한다. 특히 OSGi는엔터프라이즈서버환경보다매우가볍고, 빠르게접근해바인딩할수있는 OSGi Framework Service Registry 구조를가지고있다. 이러한 OSGi 서비스간의협업구조는리소스가한정적인모바일이나임베디드환경에서매우강력한위력을발휘했다. 현재는데스크탑애플리케이션에까지그영역이확장되어이클립스기반의 RCP와 IBM Expeditor 솔루션으로나타나고있다. 아키텍처 OSGi 구조는다음과같이몇개의계층으로구성되어있다. OSGi는우선자바런타임환경에서구동된다. 자바런타임은하 드웨어환경에의해 J2ME(CDC/CLDC), J2SE, J2EE로구성되며, 하나의 VM에서서로다른복수개의클래스로더들에의해각각의 OSGi 애플리케이션을실행한다. 자바런타임환경위에서는 OSGi 프레임워크가실행된다. OSGi 프레임워크는크게번들의실행주기 ( 설치, 시작, 중단, 제거, 업데이트 ) 와 OSGi 기본실행단위인번들 (Bundle) 과서비스에대한운영관리, 이어서리소스와서비스레지스트리등을담당하게된다. 복수개의클래스로더에의해각기다른 OSGi 애플리케이션이독립성을가지고실행되지만, OSGi Framework Service Registry에등록된 Sharing Code와 Address에의해서로다른번들간의리소스공유와연동 / 통합으로무수히많은서비스들을생성하고실행할것이다. 이러한 OSGi 프레임워크구조는 JES(Java Embedded Server) 에의해많은영향을받아왔다. Bundles Applications Bundles < 그림 5> OSGi 아키텍처 Services Service Registry Life Cycle Class Loading JVM OS Hardware Execution Environment Framework OSGi 핵심, 번들과서비스 OSGi의핵심으로고려할만한것은바로번들과서비스 (Service) 이다. 번들 OSGi의가장기본적인실행단위인번들은 OSGi 프레임워크에서수행되는어떤 S/W 컴포넌트의 resources, 동작을위한 Java classes, 번들정보를담고있는 Manifest file, service를포함하는 JAR 파일등이다. OSGi는단하나의 VM 인스턴스위에서동작하고, 복수개의클래스로더를수행해독립된 names pace를가진다. 또한번들은동적라이프사이클 (dynamic Install, Start, Stop, Delete, Update) 을갖고수행하며 (Without a JVM restart), 성능을위해여러리소스와인터페이스를지원한다 (Images, GUI look & Feel, Native-JNI). 자바애플릿처럼서버에서다운로드하는게아니라로컬디바이스에상주하는방식인것도하나의특징이다. < 그림 6> 은번들 Security m a s o 207

2 _ 임베디드를넘어엔터프라이즈로! uninstall UNINSTALLED install explicit transition automatic transition < 그림 6> OSGi 번들 - 다이내믹라이프사이클 Install, start, stop, update, uninstall Internet < 그림 7> OSGi 번들과서비스생성 Personal Portal Thread Service (Scheduling, Shopping, Address Books) INSTALLED update uninstall OSGi service framework Bundle A {...} Java virtual machine Core Services Internet Access(any ISP) < 그림 8> 다양한 OSGi 서비스모델 Home Netwoking/Gateway/Security Communications (Unified Communications) STOPPING Service registry stop Register Service RESOLVED ACTIVE Get Platform (OS and hardware) Service Mgmt./Billing/Help Desk/etc. Get Register Channels Home Control start STARTING Bundle B {...} Bundle C {...} Information Management Entertainment Internet Portal Work at Home Gaming The Future 의동적라이프사이클을나타낸다. 번들이 OSGi 프레임워크에등록되면 (Active Sta tus) Bundle Context가생성되는데, OSGi 프레임워크와번들사이의인터페이스역할을수행하거나다른서비스검색및등록이이뤄질때사용된다. 서비스 OSGi 서비스는자바오브젝트로서하나의번들에의해등록되며, 다른번들에의해사용되거나복수개의번들이연동및통합해독자적인서비스를만들기도한다. 명시된형태는자바인터페이스스타일로표현되며서비스스펙과구현이완벽하게분리되어사용된다. 이렇게되면서로다른번들이동일한서비스기능을가졌더라도서로다른구현 (Implem entation) 을서비스레지스트리에등록할수있다. 지금까지 OSGi의기본적인개요와탄생배경에대해살펴봤다. OSGi의기본적인개념은새로운개념이아니지만, 하루가다르게탄생하는새로운플랫폼, 표준그리고프레임워크를감안할때 1999년부터꾸준히발전해온 OSGi가분명독특한장점을지녔음에틀림없다. 그렇기에계속해서발전할수있고, 나아가홈네트워크용서비스플랫폼이나모바일 / 임베디드프레임워크분야에서점점더영향력을확대해나가는것으로생각된다. 특히이클립스플랫폼에기본탑재되고 RCP로의확장에핵심요소로지목되는것은 OSGi가단순한미들웨어나프레임워크가아님을증명하는좋은예일것이다. 물론 OSGi 의단점이전혀없는것은아니다. 자바환경에서하나의 VM 인스턴스로작동되는것은어떤운영체제에종속되지않는장점으로이어지지만, 디바이스와하드웨어에영향을많이받는모바일 / 임베디드환경에서는오히려제한된리소스와성능에대한오버헤드로나타날수있다. 그러나문제점이없는서비스, 플랫폼, 솔루션이란존재할수없고단점을하나둘극복 208 m a s o

해장점을더욱강화해나가는것이치열한경쟁에서살아남을수있는유일한길이라고생각할때, 기존의모바일 / 임베디드환경에서 RCP와데스크탑애플리케이션, 나아가엔터프라이즈환경의프레임워크로까지영역을넓혀가는 OSGi야말로이연재의제목에표현된것처럼유니버설미들웨어플랫폼 ( 또는프레임워크 ) 이라고불려도전혀손색이없을것이다. 특히디바이스-디바이스 M2M 환경이나센서네트워크, 로봇등과같은새로운솔루션과서비스가속속등장하고있는걸보면, 서비스를더쉽게생성해운영및관리할수있고표준화된스펙을제공하는 OSGi가미래에는더큰영향력을가지게되리라확신한다. 따라서다가올 M2M이나마이크로센서네트워크 (Micro Sensor Networks) 시대에는비로소 OSGi가진정한유니버설미들웨어프레임워크로자리잡게될것이다. 다음호에서는실제 OSGi 솔루션의성공적인활용사례를소개하고, 임베디드개발환경의구축에대해설명한다. 참고자료 1. OSGi Service Platform Core SPEC R4 - www.osgi.org 2. About the OSGi Service Platform - www.osgi.org 3. IBM - SMF (Service Management Framework) - www.ibm.com/software /wireless/smf 4. The Fundamental of OSGi? 한국산업기술대학교, 서대영교수 < 월간 > 마소는늘개발자의곁에서있습니다 1983년 11월창간역사를갖고있는 < 월간 > 마소. 그때태어난아이가어느덧대학생이되어마소를찾는 예비개발자 가되어있습니다. 이미개발자의길에들어서있는것입니다. 프로젝트를수행하다, 패키지를사용하다막힐때가많습니다. 우린이럴때어떻게합니까? 곁에있는친구나동료에게물어보고그래도해결책이나오지않으면, IT 단행본을뒤적여보기도합니다. 그래도해결책이나오지않을때 < 월간 > 마소가여러분의든든한벗이될것입니다. IT 개발자가힘들어할때마다 < 월간 > 마소는늘개발자의곁을떠나지않겠습니다. I T 테크비즈니스정보지 서울시서초구잠원동 42-2 은정빌딩 3F TEL : 02-540-3020 FAX : 02-540-3090 www.imaso.co.kr m a s o 209