플러그인 개발 기초 학습, Part 2: 리치 클라이언트 애플리케이션 도입하기 Enjoy/JAVA2010. 6. 25. 10:55
플러그인 개발 기초 학습, Part 2: 리치 클라이언트 애플리케이션 도입하기
플러그인 개발 기초 학습 연재는 순전히 플러그인 개발에 관한 것이다. 그러나 본격적으로 시작하기 전에, 플러그인 개발을 할 수 있는 적당한 환경을 갖추었는지 확인할 필요가 있다. 먼저 할 일은 Eclipse.org에서 PDE(Plug-in Development Environment)를 갖춘 이클립스 배포판을 다운로드하는 것이다. 이클립스 클래식 최신판 다운로드를 권장한다. 이 연재에서는 이클립스 V3.4(M5) 마일스톤 배포판을 사용할 것이다. 이 작업만 완료하면, 시작할 준비가 끝났다(참고자료에서 이클립스를 어디서 찾을 수 있는지 익히고, 만약 이클립스를 처음 접한다면 추가적인 배경 지식을 얻길 바란다).
플러그인 개발을 쉽게 이해하기 위해 본 기사는 그림 1에 있는 작업 흐름도를 따를 것이다. Part 1에서 작업 흐름도의 앞선 다섯 가지 단계를 살펴보았다. 여기서는, 나머지 두 개의 단계를 살펴보고 리치 클라이언트 애플리케이션 소개를 중점적으로 설명하겠다.
그림 1. 플러그인 개발 작업 흐름도
빌드 내용 설정은 플러그인 개발 세상에서 매우 중요한 과정이다. 이클립스에서 모든 플러그인 개발 빌드 관련 설정은build.properties 파일에 들어간다.
그림 2. 빌드 설정(build.properties)
샘플 빌드 설정 내용 중앙에 보면 MANIFEST.MF, plugin.xml과 아이콘 파일들이 있다. 또한 거기에는 국제화 지원을 위한 plugins.properties파일과 라이선스 파일 같은 것들이 존재할 수 있다. binary build와source build가 각각 가지고 있는 것들의 차이를 아는 것이 중요하다. 일반적으로, 이클립스에서 플러그인을 내보낼 때는, 여러분의 친구들의 이클립스 환경에서 사용할 수 있는 바이너리 플러그인으로 내보낸다. 소스 빌드는 플러그인에 포함된 소스 파일들까지 포함하고 있다. 일반 내보내기 옵션에서 소스 빌드를 하도록 선택할 수 있다.
플러그인 개발자의 작업 흐름도에서 마지막 단계는 생성한 플러그인을 내보내는 것이다. 이클립스 PDE는 특화된 내보내기 마법사를 통해 이 과정을 매우 간단하게 처리하도록 돕는다. 이 마법사를 사용하려면(그림 3 참조), 간단하게 File > Export를 클릭하고 Plug-in Development 카테고리에 있는 Deployable Plug-ins and Fragments를 선택한다.
그림 3. 플러그인 내보내기 마법사
이 마법사에서 제일 먼저 선택해야 할 옵션은 내보내려는 플러그인이 무엇인가이다. 여기서는 간단하게 예제인 HelloWorld 플러그인이 될 것이다. 다음 과정은 플러그인을 내보낼 목적지다. 우린 선택적으로 플러그인을 ZIP 파일이나 디렉터리로 내보낼 수 있다. 이 마법사에 있는 다른 옵션들은 플러그인 사인과 플러그인에 있는 소스 빌드와 관련된 것이다. 지금은, 이것들은 일단 무시하고 간단하게 마법사에 있는 Finish를 클릭하여 플러그인을 내보낸다(그림 4 참조). 플러그인 manifest 편집기 화면에 있는 Overview 페이지에 보면 마법사를 실행할 수 있는 하이퍼링크가 있는 것을 눈여겨 봐두자.
그림 4. 디스크로 내보낸 플러그인
잘했다! 지금까지 살펴본 모든 것이 플러그인을 이클립스 워크스페이스에서 하드 디스크로 사용가능한 형태로 내보내는 과정이다. 이런 형태가 되면, 해당 플러그인을 아주 쉽게 친구나 동료 들이 사용할 수 있다. 이것으로 플러그인 개발 작업 흐름도와 관련된 내용은 끝났고, 이제 이클립스에서 리치 클라이언트 애플리케이션을 만드는 방법을 살펴보자.
이클립스 내에서 리치 클라이언트 애플리케이션을 만들려면, 제품 설정(product configuration)이라는 개념을 이해해야 한다. 제품 설정은 플러그인 개발자가 리치 클라이언트 애플리케이션을 만들 수 있도록 PDE에서 제공한다. 제품 설정을 이해하려면, 그걸 사용할 샘플 리치 클라이언트 애플리케이션이 필요하다. Part 1에서 살펴봤던 PDE 템플릿 메커니즘의 장점을 활용하여 하나를 만들 것이다. 플러그인 프로젝트 이름은 rcp
로 하고 그것이 리치 클라이언트 애플리케이션임을 확인시켜주고, RCP Application with a view 템플릿을 선택한다(그림 5 참조).
그림 5. 리치 클라이언트 애플리케이션 템플릿
다음 단계는 제품 설정 파일을 만들어 우리가 앞에서 만든 리치 클라이언트 애플리케이션을 구성할 때 사용할 것이다. 새로운 제품 설정을 만들려면, 플러그인 프로젝트에서 마우스 오른쪽 버튼을 클릭하고 New > Product Configuration을 선택하여 새로운 제품 설정 마법사를 실행한다(그림 6 참조). 모든 기본값을 그대로 놔두고, 제품 설정 파일 이름을 rcp.product
라고 한 다음 Finish를 클릭하여 제품 설정 편집기를 실행한다. 다음 절에서 제품 설정 편집기의 여러 페이지를 살펴보자.
그림 6. 새로운 제품 설정 마법사
플러그인 manifest 편집기와 비슷하게, 제품 설정 편집기의 첫 번째 페이지는 Overview 탭이다(그림 7 참조). 제품 설정, 테스트와 제품을 내보내기 위한 링크, 그리고 제품이 플러그인을 기반으로 했는지 기능(features)을 기반으로 했는지 선택하는 화면으로 구성되어 있다. 애플리케이션을 빠르게 테스트해 보려면, Testing 섹션에 있는 Launch an Eclipse application을 선택하고 리치 클라이언트 애플리케이션이 어떻게 생겼는지 확인해보자.
그림 7. Overview
이것이 제품 설정 편집기에서 제공하는 Overview와 관련된 모든 것이다. 제품 설정에서 할 수 있는 기본 동작들에 관심이 있다면, Overview를 다시 살펴보기 바란다.
애플리케이션 폼을 여기서 실행하는 것도 가능하다, Launch an Eclipse Application을 클릭하면 애플리케이션이 팝업으로 뜨는 것을 확인할 수 있다(그림 8 참조).
그림 8. 애플리케이션 실행하기
Configuration 탭은 제품을 실행할 때 사용할 기본 구성요소들을 가지고 있다. 여기에는 제품을 실행할 때 필요한 파일들에 대한 정보가 포함되어 있다. 첫 번째 섹션인 플러그인과 프래그먼트(Fragment, 역자 주: 다른 번들에 속하여 동작하는 번들)에는 제품을 실행할 때 필요한 플러그인과 프래그먼트들이 간단하게 나열되어 있다. 도움이 되는 팁을 주자면, 제품을 만들고 있을 때는 새로운 의존성들을 추가하게 될 것이다. 이럴 때, Add Required Plug-in을 선택하여 제품 설정에 필요한 모든 것을 편하게 추가할 수 있다.
다음 섹션은, 설정 파일로 OSGi에 특화된 구성물로 config.ini 파일이라는 것을 나타낸다. 약 99.9% 가량 이 설정을 그냥 놔두고 이클립스가 생성한 파일을 사용할 것이다. 이 파일에 있는 모든 것은 이미 앞선 플러그인과 프래그먼트 섹션에서 기술한 것이지만, 이런 특별한 형식으로만 이클립스가 이해하고 실행할 수 있다.
그림 9. 설정
Launching 탭은 이클립스 기반 제품 실행을 다루는 모든 정보를 담고 있다. Java Runtime Environment 섹션은 플랫폼에 특화된 JRE를 빌드할 때 편리하게 사용할 수 있다. Program Launcher 섹션은 제품을 실행하는 것과 관련된 설정을 할 수 있다. 예를 들어, 보통 개발자들은 eclipse.exe라는 이름 말고 다른 이름으로 실행 파일을 지칭하길 원할 것이다. 실행 파일 이름 위에, 플랫폼에 특화된 아이콘을 사용하여 나타낼 수도 있다. Launching Arguments 섹션에 제품이 필요로 하는 플랫폼에 특화된 매개변수들을 설정할 수 있다. 이것은 Mac OS X과 같이 특정 운영체제에 따라 특화된 동작이 필요할 때 유용하게 사용할 수 있다.
그림 10. 실행
Splash 탭을 사용하여 제품과 관련된 스플래시 화면을 부가적으로 설정할 수 있다(그림 11 참조). 예를 들어, 이클립스를 실행하면, 이클립스를 보여주고 플러그인 로딩 과정을 보여주는 간단한 스플래시 화면을 볼 수 있다. 기본적으로, 예제 RCP 애플리케이션은 간단한 비트맵 기반 스플래시 화면 템플릿을 포함하고 있다. 스플래시 화면과 관련된 재미난 것을 시연해 보기 위해, 로그인 스플래시 화면 템플릿(설정 섹션에 있음)을 활용해보자. 로그인 템플릿을 선택한 다음, 제품 설정을 저장하고 애플리케이션을 실행하자.
그림 11. 스플래시
새로운 스플래시 화면과 로그인 그리고 패스워드 창을 확인하라.
그림 12. 커스텀 스플래시 화면
Branding 탭(그림 13 참조)에서는 세 가지 일을 할 수 있다. 창 이미지 수정, 커스텀 about 창 만들기, 부가적인 환영 페이지 만들기다. 창 이미지란 간단하게 애플리케이션 셸 창과 연관된 이미지들을 말한다. 예를 들어, 이클립스를 실행하고, 타이틀 바를 보면 16x16 크기의 이클립스 아이콘을 볼 수 있다. 설정할 수 있는 아이콘 종류가 몇 가지 있다. 대부분의 소프트웨어 애플리케이션은 라이선스, 개발자, 버전 정보가 담긴 about 창을 가지고 있다. 제품 설정 편집기는 이미 만들어둔 이클립스 about 창을 재활용할 수 있게 해준다. 물론 여러분의 이미지와 정보로 변경할 수 있다.
환영 페이지는 사용자가 애플리케이션을 실행하도록 돕는 역할을 할 것이다. 예를 들어, 기본 이클립스 환영 페이지를 보려면, Help > Welcome 메뉴를 선택하면 된다. 만약 여러분의 애플리케이션 용도로 그와 같은 것을 제공하고자 한다면, Branding 탭의 Welcome Page 섹션에서 할 수 있다. 환영 페이지를 작성하는 것은 본 기사의 주제에서 벗어나기 때문에, 여기에 대해 더 자세한 내용을 알고 싶다면, 참고자료에서 이클립스 사용자 도움 기술에 관해 많은 정보를 찾아보길 바란다.
그림 13. 브랜딩
이 모든 것을 통틀어, 플러그인 개발 기초 학습 연재의 목표는 베스트 프랙티스가 녹아있는 플러그인 개발 기본에 대해 소개하는 것이었다. Part 1에서 예제 플러그인을 만들고 플러그인 개발 작업 흐름도를 살펴보았다. Part 2에서는 플러그인 개발 작업 흐름도를 마쳤고 리치 클라이언트 애플리케이션을 생성했다. 작업 흐름도를 마치고 나면, 플러그인과 이클립스 RCP 기반 애플리케이션을 개발하는 것이 훨씬 수월해질 것이다.
이제, 계속해서 새로 알게 된 지식을 사용하여 플러그인과 이클립스 기반 애플리케이션을 만들어 보라.
교육
- Pluginbuilder.org는 이클립스 플러그인 생성 자동화를 도와줄 것이다.
- OSGi Alliance는 이클립스가 사용하는 플러그인 표준을 만들고 있다.
- 이클립스 재단 위키에 있는 Eclipse Plug-in Versioning을 공부하라.
- 이클립스 재단 위키에 있는 Eclipse EE guide를 참조하라.
- Eclipse RCP에 대해 배우려면, Eclipse.org를 방문하라.
- 이클립스 SDK를 더 자세히 알고 싶다면, 이클립스 재단 문서 "Platform Extension Points"를 참조하라.
- RCP 애플리케이션의 환경 페이지를 만드는 데 도움이 필요하다면 "Get to know Eclipse User Assistance"를 참조하라.
- 이클립스에서 디버깅하는 데 도움이 필요한가? "Eclipse 플랫폼에서의 디버깅"을 참조하라.
- 플러그인 국제화와 관련된 좋은 배경 지식을 이클립스 재단 기사 "How to Internationalize your Eclipse Plug-In"과 "How to Test Your Internationalized Eclipse Plug-In"에서 참조할 수 있다.
- "Eclipse 추천 도서 리스트"를 확인하라.
- 한국 developerWorks에서 모든 이클립스 기사를 찾아보라.
- 이클립스를 처음 사용하는가? developerWorks 기사 "Eclipse Platform 시작하기"를 참조하여 그 기원과 아키텍처 그리고 플러그인을 사용하여 어떻게 이클립스를 확장할 수 있는지 공부하라.
- IBM developerWorks의 Eclipse 프로젝트 리소스를 확인하고 이클립스 실력을 키우라.
- 소프트웨어 개발자들의 흥미로운 인터뷰와 논의에 관심이 있다면, developerWorks 포드캐스트를 확인하라.
- developerWorks의 기술 행사와 웹 캐스트를 통해 최신 정보를 유지하라.
- IBM과 오픈 소스 기술들 그리고 무료로 사용할 수 있는 제품 기능에 대해 developerWorks On demand demos에서 보고 학습하라.
- IBM 오픈 소스 개발자들이 관심있어하는 전 세계의 컨퍼런스, 전시회, 웹 캐스트와 그밖에 각종 행사를 확인하라.
- 한국 developerWorks 오픈 소스 영역을 방문하여 방대한 양의 하우투 문서, 도구 그리고 오픈 소스 기술을 사용하여 개발하는 데 도움이 되는 프로젝트 업데이트를 확인하고 IBM 제품과 함께 사용해 보라.
제품 및 기술 얻기
- PDE가 포함된 이클립스 배포판을 Eclipse.org에서 다운로드하라.
- 플러그인을 찾아볼 때 가장 먼저 들릴 곳은 이클립스 재단의 프로젝트 목록 페이지다.
- 플러그인을 찾아볼 때 두 번째로 들릴 곳은 Eclipse Plug-in Central(EPIC)이다.
- IBM alphaWorks의 이클립스 기술 다운로드에서 최신 정보를 확인하라.
- 이클립스 재단에서 이클립스 플랫폼과 기타 프로젝트를 다운로드하라.
- IBM 제품 시험판을 다운로드하고 애플리케이션 개발 도구와 DB2®, Lotus®, Rational®, Tivoli®, 그리고 WebSphere® 미들웨어 제품을 사용하라.
- 다운로드하거나 DVD로 이용할 수 있는 IBM 시험판 소프트웨어로 다음 오픈 소스 프로젝트를 개선하라.
토론
- Eclipse Platform newsgroups는 이클립스와 관련하여 논의할 것이 있을 때 가장 먼저 들려야 할 곳이다(이 링크를 선택하면 기본 유즈넷 뉴스 리더 애플리케이션이 실행되고 eclipse.platform을 열 것이다).
- Eclipse newsgroups에는 이클립스를 사용하고 확장하는 데 관심있는 사람들을 위한 다양한 참고자료가 있다.
- developerWorks 블로그와 developerWorks 커뮤니티에 참여하라.