2009년 11월 25일 수요일

성공한 리더는 독서가다

우연히 회사 휴게소에 비치되어 있는 ' 성공한 리더는 독서가다(신성석 저)' 라는 책을 보게 되었다.

실제로 회사내에서 프로젝트 업무에 시달리며 나 자신을 되돌아 볼 기회가 없었는데, 이 책을 통해 직장인으로써, 현재의 내 위치로써, 앞으로 리더가 되기 위한 모습을 제시하고 있다.

살면서 수 많은 유형의 위기에 봉착되기 마련인데, 이 책에서는 그 대부분의 해답을 독서를 통해서 찾으라는 기본 생활백서를 재시하고 있다.

맞는 말이지만 실천하기가 그리 쉽지는 않았다.
물론 내 자신이 흥미를 느끼지 못한 이유도 있다.

독서에 의지하는 습관을 키워야 할 때가 온 것 같다.

Sandbox (computer security)

샌드박스(sandbox)란, 외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 부정하게 조작되는 것을 막는 보안 형태이다.

 자바(Java)가 지원하는 기본 보안 소프트웨어로, 1996년 1월 발표된 JDK(Java development kit:자바개발도구)1.0부터 제공되고 있다. 외부에서 받은 프로그램을 JVM(Java Virtual Machine)이라는 보호된 영역 안에 가둔 뒤 작동시키는 방법으로 프로그램이 폭주하거나 악성 바이러스의 침투를 막는다.
 자바가 제공하는 샌드박스는 네트워크를 통해 전송받은 애플릿의 시스템 자원에 대한 접근을 제한한다. 샌드박스에서 접근을 허용한 애플릿은 작업이 가능하지만 그렇지 않은 경우는 로컬파일을 읽거나 바꿀 수 없게 하는 방법으로 시스템의 피해를 방지한다.
 샌드박스는 클래스 로더(class loader), 바이트코드 검사기(bytecode verifier), 보안관리자(security manager)의 콤포넌트로 구성된다. 각 콤포넌트는 시스템의 신뢰성을 유지하는 역할을 한다.

2009년 11월 20일 금요일

Equinox 란?

 현재 OSGi 확산의 주된 이유는 크게 두 가지를 들 수가 있다. 이클립스의 리치 클라이언트 플랫폼(RCP)인 Equinox의 출현과 J2ME의 꾸준한 발전이 그 이유이다. 특히 이클립스-Equinox 출현은 OSGi의 신뢰성과 대중성의 두 마리 토끼를 잡은 큰 이슈로 평가받고 있다. 또한 J2ME의 꾸준한 발전은 J2ME-OSGi의 조합이 단순히 임베디드 기기에서 모바일로 확산되는 계기를 마련했다. 현재 J2ME-OSGi 플랫폼은 노키아의 스마트폰과 스프린트 PCS, 그리고 곧 출시될 구글의 안드로이드에까지 영향력을 미치며 OSGi 대중화의 선두주자로 부상 중이다.
 Equinox는 단순히 구현의 관점에서 본다면, OSGi R4 core framework specification을 근간으로 구현된 코드이다. 이러한 점은 여타의 다른 OSGi 제품들과 다를 바가 없다. Equinox가 다른 여타의 OSGi와 다른 점은 플랫폼으로 확장된 OSGi라는 점이다. Equinox(이쿼넉스-라고 발음된다)는 기본적으로 다른 OSGi처럼 프레임워크, 번들이 존재하지만 또한 Incubator, Server-Side Project로 통한 다양한 서비스 아키텍처, 서버, 서버 프레임워크 모듈로 확장돼 이클립스 기반의 개발 플랫폼의 일부분으로 사용된다. IBM의 Expeditor, Adobe의 VersionCue, Rational의 S/W 개발툴이 모두 이클립스-Equinox 기반의 플랫폼에서 최적화된 콘텐트와 가능들을 가지고 태어난 제품들이다. 마치 윈도우 기반의 애플리케이션과 시스템 아키텍처가 닷넷 프레임워크 위에서 COM모듈로 쉽게 개발되고 하나의 고유한 프로세스와 GUI위에서 운영 되듯이 이클립스 플랫폼 닷넷 프레임워크에 맞서 하나의 플랫폼으로 발전하고 있다(물론 아직 닷넷 프레임워크에 비해서 미진한 부분이 많다). 그 핵심에 Equinox 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이다.