작년 나는 블로그 통한 오프라인 활동도 지금에 비해서는 활발하게 했다. 그 중에는 자바 개발자로 한국 스프링 사용자 모임(KSUG) 활동도 했다. 사실은 활동을 했다~ 라는 표현보다는 그냥 강의를 들으러 갔다~ 가 맞는 말이다.

작년에 KSUG 강의를 들은 것은 행운이었다. 자바 얼라이덥터(=신기술 습득을 좋아하는) 개발자~ 친구 따라서 우연히 세미나~ 참석한 덕분에 스프링 프레임워크에 관심이 생겼고, 우리 회사 스프링 적용하는데 도움이 되었으며, 내 블로그를 자바 블로그로도 키우는데 도움이 되었다.

KSUG에는 자바 스프링 전문가이면서 자바 관련 유명 블로거인 안영회님이 활동하고 계신다. IBM developerWorks안영회님의 스크린캐스트 강좌가 올라왔다. OSGi에 대한 설명이다. 문득 예전 KSUG 세미나 통한 강의 들을때가 떠올라 스크린 캐스트 강의를 들었다.

강의를 듣고 OSGi는 어려운 신기술이라기 보다는 개발 및 유지보수를 엄청나게~ 편하게 해주는 기술이라는 생각이 들었다. 서버 재시작을 하지 않아도 동적으로 모듈이 적용될수 있다는 것은 평소 서버 재시작의 답답함을 경험한 나에게 획기적이다. 그래서 이 소개글을 통해 안영회님의 OSGi 강의를 소개한다.



스크린 캐스트 강의를 듣고 좀더 자세한 OSGi 소개를 위해 위키 백과를 찾아보았다. 

OSGi(Open Service Gateway initiative) Alliance는 1999년에 썬 마이크로시스템즈, IBM, 에릭손 등이 구성한 개방형 표준 단체이다. (OSGi Alliance는 처음에 Connected Alliance라고 불렸음) 그 뒤 여러 해 동안 OSGi Alliance는 원격 관리 될 수 있는 자바 기반의 서비스 플랫폼을 제정해왔다. 이 표준 사양의 핵심은 응용 프로그램의 생명주기(Life cycle) 모델과 서비스 레지스트리(Service Registry)를 정의하는 프레임워크(Framework)이다. OSGi 표준 사양에는 이 프레임워크에 기반하여 매우 다양한 OSGi 서비스가 정의되어 있다.

OSGi 프레임워크는 독립적인 자바/가상 머신 환경에서 제공하고 있지 못한 세련되고, 완전하며 동적인 컴포넌트 모델을 구현한다. 응용 프로그램 또는 구성 요소(번들, Bundle)는 다시 시동 과정 없이 원격지를 통해 설치(installed), 시작(started), 정지(stopped), 업데이트(updated) 그리고 제거(uninstalled)할 수 있다.

OSGi는 Embeddable(응용 프로그램 내부로 포함될수 있는) SOA를 구현하고 있다. 이를 통해 응용 프로그램 개발에서 가장 복잡하고 관리하기가 어려운, 모듈간의 동적(Dynamic) 관계와 의존을 매우 효과적으로 관리할수 있게 한다. (Web service based SOA가 네트워크를 중심으로 하는 SOA라면 OSGi는 Java Object based SOA이다.)
출처 : http://ko.wikipedia.org/wiki/OSGi

위키 설명이 이해하기 어려웠다. 다시 나름대로 정리해본 결과,

OSGi는 원격 관리 될 수 있는 자바 기반의 서비스 플랫폼을 제정하는 '개방형 표준 단체' 또는 응용 프로그램의 생명주기(Life cycle) 모델과 서비스 레지스트리(Service Registry)를 정의하는 프레임워크(Framework)다.

OSGi 프레임워크는 독립적인 자바/가상 머신 환경에서 제공하고 있지 못한 세련되고, 완전하며 동적인 컴포넌트 모델을 구현하고 있다.

예를 들어 다시 시동 과정 없이도 원격지를 통해 설치(installed), 시작(started), 정지(stopped), 업데이트(updated) 그리고 제거(uninstalled)할 수 있는 일을 수행한다.

그래서 응용 프로그램 개발에서 가장 복잡하고 관리하기가 어려운, 모듈간의 동적(Dynamic) 관계와 의존을 매우 효과적으로 관리할수 있게 한다.

한마디로 서버 재시작을 하지 않아도 새로 업데이트한 모듈을 적용 및 관리할 수 있다는 것이다.

OSGi는 스프링 프레임워크 SpringDM을 통해서도 지원하고 있으며 현재 KSUG 맴버들이 이 분야를 깊이 파고들고 있는 것으로 알고 있다. 그만한 가치가 있으니 그분들이 공부하고 연구하리라는 생각이며 그분들이 쌓은 지식을 알기 쉽게 전달해주는
스크린캐스트 강좌가 시리즈로 이루어진다고 하니 자바 개발자들이 관심을 갖고 강의를 들으면 유익할 것으로 기대된다.

> 관련 사이트

KSUG 포럼 : http://forum.ksug.org/
KSUG 블로그 : http://www.ksug.org/
이일민님 블로그 : http://toby.epril.com/
안영회님 블로그 : http://younghoe.info/
백기선님 블로그 : http://whiteship.tistory.com
박찬욱님 블로그 : http://chanwook.tistory.com/

> 덧1
저도 OSGi는 아직 잘 모른 상태로 소개글을 정리하였으니, OSGi에 대한 자세하고 깊이있는 설명은 꼭 스크린캐스트 강좌나 위 사이트를 통해 알아보시기 바랍니다.
신고
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. BlogIcon 양깡 2008.08.01 09:33 신고  댓글주소  수정/삭제  댓글쓰기

    이해하기 어려운 전문용어네요 ^^;; 여름 잘 보내시고 있으신가 댓글 남기고 갑니다. 건강하세요.

    p.s 여동생의 남자친구 인상이 좋습니다. :)

    • BlogIcon 산골 2008.08.03 19:35 신고  댓글주소  수정/삭제

      어이쿠 양깡선생님 반갑습니다~!
      잘지내고 계시죠~.. 안부 고맙습니다.
      항상 건강하시고 유익한 건강정보 부탁드려유~ ^ ^
      양깡선생님도 인상이 참 좋으십니다. ^ ^

  2. 갓쉰동 2008.08.01 22:35 신고  댓글주소  수정/삭제  댓글쓰기

    열심히 사시고 계시군요.. ^____^