로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

실전 OSGi & SpringDM

 [위키북스 프로그래밍 & 프랙티스 시리즈 _ 002]
   
지은이 권정혁   |   출판사 위키북스  |   발행일 2009년 09월 10일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 25,000원22,500원 10%
마일리지 5% 1,250원
발행일 2009-09-10
ISBN 8992939280 | 9788992939287
기타정보 국내서 | 352쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
종합지수 5p 104 위
   
 

약 10년간 소수 분야에서 주로 사용되어 온 OSGi 기술은 이클립스의 내부 플랫폼으로 활용되면서 폭발적인 성장세를 보여주고 있다. 한 블로그에서는 2008년에 꼭 배워야 할 기술로 OSGi를 꼽기도 했다.

OSGi는 언젠가는 Java 플랫폼 자체에 포함될 것으로 예상되고 있으며, 이 책 후반부에서 언급하고 있는 SpringDM은 OSGi와 완벽한 결합을 보여주고 있어, OSGi의 차기 버전인 R 4.2부터 Blueprint Service라는 이름으로 추가될 것이 거의 확실시되고 있다. 따라서 OSGi와 SpringDM은 이제 얼마 안 있어 자바 개발자라면 누구나 배우고 사용할 기술이 될 것이다.

하지만 OSGi와 SpringDM은 자바를 많이 사용했던 개발자에게도 다소 생소한 개념들로 이루어져 있다. 완벽한 레이어 구조와 번들이라는 형태를 사용한 모듈 개념 등은 다소 불친절한 OSGi 스펙문서만으로는 이해하고 접근하는 데 한계가 있다.

이 책은 팀에 새로 배치된 개발자에게 OSGi를 가르친다는 마음으로 설명하고 있다. 대학을 갓 졸업했거나 OSGi 관련 프로젝트 경력이 없는 자바 개발자가 처음으로 OSGi를 접했을 때 어떤 어려움이 있을지 예상해보고 그에 대해서 가능한 자세히 설명한다.

곧 출시될 구글의 안드로이드 운영체제를 탑재한 안드로이드 폰에도 OSGi가 탑재될 것이라고 한다. 안드로이드 운영체제는 이제 휴대폰뿐만 아니라 넷북 등의 장비에도 적용될 것이라고 하니, OSGi를 익혀 두는 것은 분명 여러분의 미래를 대비한 확실한 투자가 될 것이다.
이 책은 자바에 대해서 초급 이상의 지식이 있는 개발자를 대상으로 작성한 책이다. 하지만 OSGi가 아주 복잡하고 어려운 프레임워크가 아니기 때문에, 자바 언어 관련 책을 곁눈으로라도 한 번 본 개발자라면 쉽게 이해하고 따라 해 볼 수 있을 것이다. 또한 주 개발환경으로 이클립스를 사용하긴 하지만 2장에서 기초 사용법에 대해 간단히 설명하였고, 뒤에서 나오는 부분에도 가능한 쉽게 설명하였으니, 이클립스에 대한 지식이 많이 필요하지도 않다.

이 책을 쓰면서 우리 팀에 새로 배치된 개발자에게 OSGi를 가르친다는 마음으로 설명을 했다. 대학을 갓 졸업했거나, OSGi 관련 프로젝트 경력이 없는 자바 개발자가 처음으로 OSGi를 접했을 때 어떤 어려움이 있을까 예상해보고 그것에 대해 가능한 자세히 설명하려고 노력하였다. OSGi를 배우는 도중에 발생하는 문제들에 대해서 가능한 많이 설명하려고 했지만, 여러분이 실전에서 애플리케이션을 만들기 시작한다면 여기에서 설명한 것들보다 훨씬 더 다양한 문제를 접하게 될 것이다. 일반 자바 개발과는 다른 부분이 많고, 또 OSGi가 아주 널리 알려진 기술은 아니어서 문제가 생겼을 때 대처하는 방법을 찾기가 그리 쉽지 않을 것이다. 따라서 여러분도 어느 부분에서는 막혀서 난처해 할 부분이 분명히 있을 거라 생각한다. 이럴 때 다양한 경로로 시도를 해보라고 말하고 싶다. OSGi 소스코드도 한번 분석해보고, 다양한 OSGi 관련 오픈소스들도 참고해 보면 여러분이 원하는 해답을 의외로 쉽게 찾을 수 있을 것이다. 혹시 해결하기 어려운 문제가 있다면 아래 웹사이트에 도움을 요청하기 바란다.

http://groups.google.com/group/osgi-springdm

이 책의 후반부에서는 SpringDM(Spring Dynamic Modules)을 활용하여 OSGi를 더욱 쉽고 강력하게 쓰는 방법을 설명하고 있다. OSGi와 Spring 프레임워크 그리고 SpringDM 이렇게 3가지 기술은, 각각만으로도 책을 몇 권씩 쓸 수 있을 만큼 복잡하고 방대한 기술이기 때문에 이 책에서 각 기술을 모두 자세히 다룰 수는 없다. 따라서 이 책에서는 Spring과 SpringDM 이 두 가지의 기술을 OSGi 프레임워크를 보다 쉽고 강력하게 사용하기 위한 도구 정도로 소개할 예정이다. 스프링 프레임워크에 대해서는 『프로 스프링 2.5』(위키북스, 2009) 를 참고하기 바란다.

개발서적을 읽는 방법은 개인마다 다르다. 어떤 개발자들은 목차만 보고 주요한 부분만을 가려내어 읽기도 한다. 아니면 개발서적은 다 사전형식의 레퍼런스처럼 생각하고, 자신이 필요한 부분만 원하는 때에 찾아서 보기도 한다. 하지만 여러분이 OSGi를 처음 접하는 개발자라면 가능하면 순서대로 읽어주길 바라며, 특히 1장부터 5장까지는 OSGi 프레임워크의 기본에 대해 설명하고 있으므로 꼭 정독하길 바란다. OSGi 개발 중 생기는 많은 문제들은 OSGi 프레임워크에 대해 잘못 이해하고 있어서 생기는 문제이다. 그리고 6장부터 9장까지는 OSGi에서 가장 필수로 사용되는 서비스를 설명하고 있다. 단순히 API 설명이라고 생각할 수도 있겠지만, 각각의 API들은 OSGi 환경에 맞게 독특하게 구성된 것이므로 각각의 구조를 이해하면서 다시 한 번 OSGi의 독특한 구성방식을 익힐 수 있다. 3장과 6장, 그리고 7장의 예제는 여러분이 실전에서 개발할 때 필요한 내용을 담고 있으므로, 꼭 한번 따라서 코딩해보고 파일로 저장해 두었다가 나중에 실무에서 사용하기 바란다.

11장부터 13장까지는 SpringDM에 대한 소개를 담았다. OSGi 기반 위에 만들어진 SpringDM은 스프링 프레임워크에 대한 기본지식이 있다면 훨씬 빠르게 이해할 수...
0장 들어가기 전에

1 읽는 순서
2 이 책의 표기법
2.1 용어 표기
2.2 웹 주소 표시

1장 OSGi 소개

1 OSGi란 무엇인가?
2 OSGi의 탄생과 발전
3 OSGi의 특징
4 OSGi 아키텍처
4.1 OSGi 프레임워크
4.2 OSGi Services
5 OSGi와 Equinox

2장 HelloOSGi

1 OSGi 개발 환경 준비
1.1 자바 개발 환경
1.2 이클립스
2 Hello OSGi
2.1 프로젝트 위자드로 번들 프로젝트 생성하기
2.2 OSGi 실행환경 이해하기
2.3 OSGi 커맨드라인 명령어
2.4 Activator.java
2.5 MANIFEST.MF

3장 번들

1 번들 : OSGi의 기본 모듈
2 모듈 레이어에서의 번들
2.1 번들 Manifest
3 라이프 사이클 레이어에서의 번들
3.1 번들 설치하기
3.2 번들 객체
3.3 Bundle State
- INSTALLED
- RESOLVED
- STARTING
- ACTIVE
- STOPPING
- UNINSTALLED
3.4 BundleActivator와 BundleContext
- 새로운 번들 설치
- 번들정보 얻어오기
- 서비스 등록하기 및 서비스 가져오기
- 프레임워크 이벤트에 Subscribe 또는 Unsubscribe 하기
- 영구저장소에 파일 생성하기
- 시스템 프로퍼티 읽어오기
4 번들 자동 설치 프로그램 만들기
5 조각 번들

4장 서비스

1 SOA
1.1 서비스란?
2 OSGi에서의 서비스
2.1 OSGi 서비스 등록과 해지
2.2 OSGi 서비스 사용하기
2.3 OSGi 서비스 추적하기
2.4 여러 개의 서비스 사용하기

5장 OSGi 이벤트 시스템

1 OSGi상에서의 시스템 이벤트
1.1 BundleEvent
1.2 FrameworkEvent
1.3 ServiceEvent
2 OSGI의 애플리케이션 이벤트
2.1 화이트보드 패턴
3 Event Admin 서비스
3.1 Event Object
3.2 이벤트 핸들러로 이벤트 받기
3.3 Event Admin에게 이벤트 보내기

6장 Log 서비스

1 Logging for Debugging
2 Log4j
3 OSGi Log 서비스
4 Log4j vs. OSGi Log 서비스
5 OSGi Log 서비스 예제
5.1 TimeLogger
5.2 ConsoleLogger
5.3 RecentLogPrinter
5.4 Log4j Logger
5.4.1 라이브러리 JAR 파일을 번들 내에서 사용하기
5.4.2 일반 JAR 파일을 OSGi화하기

7장 Configuration Admin 서비스

1 Configuration Admin 서비스
1.1 Configuration
1.2 Configurator vs. Configurable
1.3 Managed Service vs. Managed Service Factory
2 Configuration Admin으로 Configuration 저장하기
2.1 Equinox OSGi 콘솔 확장하기
2.2 Configuration 콘솔 예제
3 Configurable 번들 만들기
3.1 Configurable with Managed Service
3.2 Configurable with Managed Service Factory

8장 Preferences 서비스

1 Persistent Area에 저장하기
2 Preferences 서비스
2.1 Preferences 데이터 저장하기
2.2 Preferences 데이터 읽어오기

9장 HTTP 서비스

1 HTTP 서비스
1.1 HelloWorld 서블릿
1.2 리소스 추가하기
2 OSGi용 웹 관리자 툴 만들기

10장 OSGi 콘솔

1 JAR 번들파일로 만들기
1.1 번들로 Export 하기
1.2 BND
1.2.1 .bnd 파일
1.2.2 bnd를 커맨드 라인에서 사용하기
2 Equinox를 콘솔에서 사용하기
2.1 config.ini 파일을 이용하여 OSGi 콘솔 실행 설정하기

11장 Spring Dynamic Modules for OSGi™

1 스프링 프레임워크
2 Spring Dynamic Modules for OSGi
3 SpringDM 개발환경 설정
3.1 SpringIDE 설치
3.2 Maven 설치
4 타겟 플랫폼 설정
5 Hello SpringDM
6 OSGi 번들 개발과 SpringDM 번들 개발의 차이
6.1 개발 단위의 변화
6.2 초기화 순서의 변화
6.3 OSGi 서비스 등록/찾기 방법의 변화
6.4 웹 애플리케이션의 지원

12장 SpringDM을 이용한 OSGi 서비스 활용

1 SpringDM을 이용한 OSGi 서비스 등록과 가져오기
2 SpringDM으로 검색엔진 만들기
2.1 검색엔진 등록
2.2 한 개의 검색엔진을 사용하는 클라이언트
2.3 여러 개의 검색엔진을 사용하는 클라이언트
3 SpringDM의 OSGi 지원 옵션

13장 SpringDM으로 웹 애플리케이션 만들기

1 OSGi와 Web 지원
2 HelloSpringDM 웹 애플리케이션
권정혁
xguru.net을 7년째 운영 중인 블로거. 스스로를 엉뚱한 개발자라고 부른다. GIS, CTI, Mobile, Web, Embedded 등 여러 분야에서 프로젝트를 진행하였다. 현재는 Product Line Engineering을 도입하여 다수의 제품군을 대상으로 하는 OSGi/SpringDM 기반의 Embedded Open Platform 개발을 진행 중이다. 다양한 컴퓨터 분야에 관심이 많으며, 업무 외에 개인 프로젝트로 웹을 이용한 사용자 편의증대 서비스 개발을 취미로 하고 있다.

최근에는 구글 App Engine for Java와 Twitter Open API를 이용한 서비스인 TweetGuru를 개발하여 여러 사용자들과 교감하고 있다.
등록된 서평이 없습니다.
Fast Web Service Build Up : 웹서비스를 쉽고 빠르게 구축하는 기술...
이재근,김명준,손열호,김우중
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
링크드인 무작정 따라하기...
이정주, 오경원, 심진보
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
HTML5 & CSS 3...
김명진
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
위키북스 출판사의 신간
파이썬 3.6 프로그래밍
신호철, 최동진, 우상정 저
27,000원
(10%↓+5%)
 
블록체인 구조와 이론
아카바네 요시하루, 아이케이 마나부, 이소 토모히로, 혼다 히로시, 노지마 리이치로, 호죠 마사시, 시바타 마사유키, 이나바 타카히로, 나리키요 요시히로, 나가이 야스토시 저
22,500원
(10%↓+5%)
 
파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문
쿠지라 히코우즈쿠에 저
27,000원
(10%↓+5%)
 
안드로이드 개발 레벨업 교과서
쯔쯔이 슌스케, 사토야마 나미토, 마츠다 쇼이치, 사사키도 히로키, 멘쥬 타카히로 저
28,800원
(10%↓+5%)
 
파이썬으로 배우는 알고리즘 트레이딩
조현호 저
36,000원
(10%↓+5%)
 
이메일주소수집거부