 |  |
|
난이도 : 초급 Dan Kehn, Senior Software Engineer, IBM Lawrence Wright, Co-Op student, IBM
2007 년 12 월 11 일 Lotus Expeditor에 IBM Lotus Sametime을 구현함으로써 Eclipse를 Plug-in Development Environment (PDE)으로 사용하여 Lotus Sametime의 기능을 다양한 방식으로 확장할 수 있습니다. 이 글에서는, Eclipse를 Lotus Sametime용 PDE로서 사용하기 위한 설정 단계를 설명합니다.
IBM Lotus Sametime V7.5.1은 단순한 클라이언트가 아니라 확장성 있는 인스턴트 메시징 플랫폼으로서 비즈니스 애플리케이션용 리치 클라이언트 플랫폼이다. Lotus Expeditor는 Eclipse 오픈 소스, 플러그인 모델, 리치 클라이언트 플랫폼을 기반으로 하고 있다.
IBM Lotus Expeditor는 합성 애플리케이션들을 랩탑, 데스크탑, 모바일 장치로 확장하는데 사용되는 IBM의 범용 관리 클라이언트 소프트웨어이다. IBM Lotus, IBM WebSphere, IBM Workplace, Eclipse 인프라스트럭처를 확장하는데 사용될 수 있다. Lotus Sametime의 메모리와 디스크 풋프린트를 작게 유지하기 위해, 완전한 Lotus Expeditor 기능의 하위 세트만 담았다.
Eclipse는 플러그인 컴포넌트를 사용하여 개발 환경을 구현할 수 있는 프레임웍과 서비스를 제공하는 자바 기반의, 오픈 소스, 확장성 있는 플랫폼으로서 시작되었다. 기본적으로, Eclipse의 모든 것은 애플리케이션을 생성하기 위해 플랫폼이 연결하는 플러그인이다. Plug-In Development Environment (PDE)는 Eclipse에 포함되어 있고, 고유의 플러그인을 개발하여 Java IDE (Integrated Development Environment)의 기능을 확장하거나, 고유의 애플리케이션을 생성할 수 있다. 예를 들어, Eclipse를 IDE로서 사용하는 자바 개발자이고, 계속해서 같은 유형의 프로그램 패키지를 작성한다면, IDE를 확장하는 플러그인을 생성하여 두 개의 버튼을 클릭함으로써 공통의 구조와 컴포넌트로 패키지를 설정할 수 있도록 하는 마법사를 포함할 수 있다.
이것은 우리를 Lotus Sametime으로 데려왔다. Lotus Sametime V7.5.1은 Lotus Expeditor 플랫폼과 Eclipse 플랫폼을 기반으로 한다. 결국, Eclipse의 확장성을 활용할 수 있다. 이제 Lotus Sametime V7.5.1 Software Development Kit (SDK)으로 Eclipse의 PDE를 사용하여 고유의 플러그인을 생성함으로써 Lotus Sametime에 기능을 추가할 수 있다. 예를 들어, Contacts 리스트에 기상 예보를 디스플레이 하거나, 사람의 이름을 오른쪽 클릭할 때 누군가가 있는 위치로 가게 해주는 메뉴 옵션을 추가할 수 있다.
Lotus Sametime SDK 에는 플러그인 개발용 Eclipse 플랫폼을 설정하는 도움말과 메뉴와 툴바 아이템 같은 일반적인 확장을 위한 Quick How To Guide가 포함되어 있다. 또한, Lotus Expeditor Toolkit에는 이러한 설정 단계를 줄여주는 Lotus Sametime 개발 프로파일(PDE의 클라이언트 서비스)이 포함되어 있다. Integration Guide는 플러그인 개발의 출발점으로서 참조될 수 있는 SDK에 포함된 예제 플러그인들에 대해 논하고 있다. 본 기술자료 시리즈에서는 이러한 샘플들 중 하나인 BuddyNote를 만드는데 필요한 단계들을 설명한다. 이 샘플은 유용한 사용자 툴이고, 원하는 대로 사용할 수 있다.
시작하기 전에
본 기술자료 시리즈는 플러그인을 개발하여 Lotus Sametime의 기능을 확장하는 것에 관심이 있는 사람들을 위한 것이다. Lotus Sametime과 사용법에 익숙해야 한다.
시리즈 소개
네 개의 파트로 구성된 시리즈에서는 Eclipse 플랫폼을 사용한 Lotus Sametime V7.5.1 플러그인 개발을 설명한다:
- Part 1은 Lotus Sametime V7.5.1 플러그인 개발을 위해 Eclipse를 설정하는 과정을 설명한다.
- Part 2는 Lotus Sametime 사용자 인터페이스를 확장하는 커스텀 플러그인의 생성 과정을 설명한다.
- Part 3은 Eclipse가 제공하는 툴을 사용하여 플러그인을 디버깅 하는 방법을 설명한다.
- Part 4는 커스텀 플러그인을 전개하면서, Feature and Update Site 프로젝트를 설정함으로써 생성한 것을 공유하는 방법을 설명한다.
기술자료 소개
Eclipse를 개발 툴로 사용하여 Lotus Sametime 플러그인을 생성하기 전에, Lotus Sametime이 사용하는 런타임 환경을 인식하고, 개발과 실행을 위한 타겟 플랫폼으로 Lotus Sametime을 가리키도록 설정해야 한다. 이 글에서는 다음과 같은 순서대로 설정 과정을 설명하고, Eclipse를 Lotus Sametime V7.5.1용 Plug-in Development Environment (PDE)로 바꾼다:
- Eclipse용 J9 플러그인을 설치한다.
- 자바 컴파일러 설정, J9 JRE 설정, Target Platform 스팩을 설정한다.
- 시작 구성을 설정한다.
이러한 설정 단계가 완료된 후에, Eclipse 워크스페이스는 플러그인 프로젝트를 위한 준비가 된다. 앞으로의 플러그인 프로젝트를 시작할 때 템플릿으로서 사용할 워크스페이스 카피를 저장해야 한다.
시스템 요구 사항
다음 애플리케이션과 툴들이 이 글에 사용된다:
J9 플러그인 설치하기
Lotus Sametime V7.5.1에는 J9 JCL Desktop 커스텀 런타임 환경이 포함되고, J2SE 1.4.2 JRE.의 대부분의 기능을 지원한다. 개발자 버전이 플러그인 개발에 사용되는 Lotus Sametime V7.5.1 SDK에 포함된다.
J9 JDT 시작 플러그인은 Eclipse가 J9 JCL Desktop을 유효 런타임으로서 인식할 수 있도록 설치되어야 하므로, 플러그인 코드를 컴파일, 실행, 디버그 할 수 있다. J9 JDT를 설치하려면 다음 단계를 따른다:
- Eclipse IDE가 실행된다면, 닫는다.
- "시스템 요구 사항" 섹션에서 제공되는 링크에서 J9 JDT 시작 플러그인 ZIP 파일을 다운로드 한다.
- 다운로드 된 J9 JDT 시작 플러그인 ZIP 파일의 콘텐트를 Eclipse를 설치했던 디렉토리에 있는 Eclipse 하위 디렉토리에 압축을 푼다. (예, C:\eclipse32\eclipse).
주: 이것은 플러그인 폴더와 eclipse.exe 파일을 포함하고 있는 디렉토리이다. 실행 후에 플러그인 폴더를 열면, 그림 1과 같은 스크린을 보게 된다.
그림 1. J9이 설치된 Eclipse 플러그인 폴더
J9 런타임과 타겟 플랫폼 설정하기
J9 JDT 시작 플러그인이 설치된 상태에서, 플러그인 코드를 컴파일 및 실행하기 위해 Eclipse가 사용하는 J9 JRE를 설정해야 한다. 또한, 자바 컴파일러와 타겟 플랫폼 설정을 약간 수정해야 한다.
- Eclipse에서, Workspace Launcher를 사용하여 Lotus Sametime751이라는 새로운 워크스페이스를 만들고, Welcome 스크린을 닫고, Window - Preferences를 선택한다.
- General - Editors 탭을 선택하고, Text Editors를 선택한다. Show line numbers 옵션을 선택한다. (그림 2)
그림 2.프레퍼런스 다이얼로그 박스 - Text Editors
- 왼쪽 컬럼에 있는 자바 엔트리를 확장하고, Compiler를 선택한다. Compiler 호환 레벨을 1.4로 설정하고, "Use default compliance settings"를 선택 해제하고, "Generated .class files compatibility"와 "Source compatibility"를 1.4로 설정한다.
- 스크린이 그림 3에 보이는 스크린과 매치하는지 확인하고 Apply를 클릭한다. 컴파일러 재구현 하라는 요청이 생기면 Yes를 클릭한다.
그림 3. 프레퍼런스 - Compiler
- 왼쪽 컬럼의 자바 엔트리로 돌아가서, 이번에는Installed JREs를 선택한다. (그림 4)
그림 4. 프레퍼런스 다이얼로그 박스- Installed JREs
- Add를 클릭하고 그림 5처럼 보이는 다이얼로그 박스에서 다음 설정을 입력한다.
-
JRE type: J9 VM
- JRE name: JCL Desktop
- JRE home directory: <Root of the SDK>\ st751sdk\client\connect\j9-runtime\win32
- Default VM Arguments: -jcl:max
그림 5. Add JRE 다이얼로그
- OK를 클릭하여 Installed JREs 다이얼로그 박스로 돌아간 다음, 여러분이 생성했던 설정을 선택한다. (JCL Desktop). Edit을 클릭하여 그림 6의 Edit JRE 다이얼로그 박스에 액세스 한다.
그림 6. Edit JRE 다이얼로그 박스- JCL Desktop
- Add External JARs를 클릭하고, <JRE_HOME>\lib\jclmax\ext를 검색한다. 여기에서, <JRE_HOME>은 6 단계에서 지정된 JRE 홈 디렉토리이다. 리스팅 된 모든 JAR 파일들을 선택하고 Open을 클릭한다. JAR 파일들이 Edit JRE 다이얼로그 박스에 있는 JRE 시스템 라이브러리에 나타난다.
- Add External JARs를 다시 클릭하고, <JRE_HOME>\lib\jclmax\opt-ext를 검색한다. 모든 파일을 선택하고, Open을 클릭하여 Edit JRE 다이얼로그 박스로 돌아간다.
- Edit JRE 다이얼로그 박스가 그림 7과 같은지를 확인하고, OK를 눌러서 Installed JREs 다이얼로그 박스로 돌아간다.
그림 7. Edit JRE 다이얼로그 - JAR 파일이 추가된 JCL Desktop
- Preference - Installed JREs 다이얼로그 박스에서(그림 8), JCL Desktop 옵션을 기본으로 한다.
그림 8. JRE 선택
- 왼쪽 컬럼에서, Plug-ins Development 탭을 확장하고, Target Platform을 선택한다. (그림 9). Location 필드 옆에 있는 Browse 버튼을 사용하여 Lotus Sametime 실행 파일을 포함하고 있는 디렉토리를 선택한다.
그림 9. 프레퍼런스 - Target Platform
- 그림 10의 Target Platform 다이얼로그 박스에서, Source Code Locations 탭을 선택한다.
그림 10. Target Platform - Source Code Locations 탭
- Add 버튼을 클릭하고 Eclipse 3.2 IDE (예, C:\eclipse322\eclipse\plugins)의 플러그인 디렉토리를 검색한다. 다음에 리스팅 된 네 개의 소스 플러그인들의 src 디렉토리를 선택한다. (그림 11):
- org.eclipse.platform.source.win32.win32.x86_3.2.2.r322_v20070119-RQghndJN8IM0MsK
- org.eclipse.platform.source_3.2.2.r322_v20070119-RQghndJN8IM0MsK
- org.eclipse.rcp.source.win32.win32.x86_3.2.2.r322_v20070104-8pcviKVqd8J7C1U
- org.eclipse.rcp.source_3.2.2.r322_v20070104-8pcviKVqd8J7C1U
그림 11. 소스 코드 디렉토리
- OK를 클릭하여 설정을 저장한다.
시작 설정 만들기
Lotus Sametime 플러그인 개발용 Eclipse를 설정하기 위한 마지막 단계는 시작 설정을 만드는 것이다. 시작 설정은 이전 섹션에서 지정했던 Lotus Sametime V7.5.1 타겟 플랫폼을 사용하여 플러그인을 실행 또는 디버그 하는데 사용된다.
- Eclipse 메뉴에서 Run을 선택하여 Run Configuration 다이얼로그 박스를 연다.
- 설정 리스트에서 Eclipse Application을 선택한다.
- New 아이콘을 클릭한다.
- ST 751 같이 설정 이름을 정한다.
- Run an application을 선택하고, 드롭다운 메뉴를 사용하여 RTCApplication을 선택한다. 설정이 그림 12와 매치하는지를 확인한다.
그림 12. Run 다이얼로그 박스
- Main 탭의 오른쪽으로 (x)=Arguments 탭을 선택하고, VM Arguments 밑에 다음 내용을 입력한다. (그림 13):
-Xint -Xtrace:none -Xgcpolicy:gencon
-Dcom.ibm.pvc.webcontainer.port=7777
그림 13. (x) = Arguments 탭
- Run 버튼을 클릭하여 Lotus Sametime V7.5.1이 실행되는지를 확인한다. Lotus Sametime을 종료하면, 플러그인 개발을 할 준비가 된 것이다.
맺음말
이 글에서는, Eclipse를 사용하여 Lotus Sametime V7.5.1 플러그인 개발을 하는데 필요한 설정 단계를 설명했다. Part 2에서는, Lotus Sametime 사용자 인터페이스를 확장하는 BuddyNote라고 하는 커스텀 플러그인을 개발하면서, Contacts 리스트에 있는 사람들에 관한 노트를 생성하고 저장할 것이다.
참고자료 교육
- 본 기술자료 시리즈의 Part 2, "BuddyNote 플러그인 개발."
- 본 기술자료 시리즈의 Part 3, "플러그인 테스트와 디버깅."
- 본 기술자료 시리즈의 Part 4, "플러그인 전개하기."
- IBM Redbook, "Extending Sametime 7.5 Building Plug-ins for Sametime."
-
developerWorks Lotus 기술자료, "IBM Lotus Sametime V7.5.1용 Acronym Expander 플러그인 구현하기 (한글)"
-
developerWorks Lotus 기술자료, "IBM Lotus Sametime Connect V7.5.1에 사전 기능 추가하기"
-
developerWorks Lotus 기술자료, "개발을 위한 IBM Lotus Sametime 서버 샌드박스 환경 설정"
-
developerWorks Lotus 기술자료, "IBM Lotus Sametime Connect 플러그인을 위한 업데이트 사이트 구현하기 (한글)"
-
developerWorks Lotus 기술자료, "IBM Lotus Sametime V7.5 툴킷"
-
developerWorks Lotus 기술자료, "Extending IBM Lotus Sametime Connect V7.5"
-
developerWorks Lotus 기술자료, "IBM Lotus Sametime Connect V7.5를 SMS 메시징 플러그인으로 확장하기"
-
developerWorks Lotus 기술자료, "Designing a Google Maps plug-in for IBM Lotus Sametime Connect V7.5"
-
developerWorks Lotus 기술자료, "IBM Lotus Sametime Connect V7.5용 Google Maps 플러그인 디자인"
-
Eclipse 개발자를 위한 리소스 (developerWorks).
제품 및 기술 얻기
토론
필자소개  | |  | Dan Kehn은 IBM의 소프트웨어 엔지니어이다. 소프트웨어 영역에 많은 경험을 쌓았으며 Rational Application Developer 같은 개발 툴, 운영 체계 퍼포먼스, 메모리 분석, 사용자 인터페이스 디자인 분야에서 일했다. The Java Developer's Guide to Eclipse의 공동 저자이기도 하다. 현재 그는 Technical Enablement Specialist로서 IBM Lotus Sametime Connect로의 제품 통합에 관한 일을 하고 있다. |
 | |  | Lawrence Wright는 노스캐롤라이나주립대학교의 전자 공학 학사 학위를 받고, 현재는 컴퓨터 공학을 전공하고 있다. |
기사에 대한 평가
|  |