티스토리 뷰

Computer/Eclipse n Plug-in

[Eclipse] Eclipse Galileo 살펴보기

인생이글케쉬우냐 2010. 4. 8. 10:05

출처 : http://parkjinho.net/tc/blog/84

"그냥 너무 새버전을 쓰면 지원안되는게 많으니까.. " 라는 이유로
최근에 헬리오스(Helios)를 제껴두고 갈릴레오(Galileo) :Version: 3.5.2 Build id: M20100211-1343 를 사용하고 있다.

사실 처음 자바를 시작했을때부터 지금까지 외우기 싫어하는내게 많은 도움을 준 이클립스지만,
난 정말 무심할정도로 자세히 모른다.

소스관리 프로그램을 GIT 사용하기로 마음먹은뒤에 여기저기 뒤적대다가..
눈에띈 갈릴레오에 대한 정보가 있어 공유하고자 퍼왔다.

==========================================================================================
지금까지 개발도구로 사용해왔던 이클립스와는 새로운 기능이 합쳐진 이클립스 갈릴레오 JDK 1.4 개발과 운영을 해왔던 개발자로서 아직도 JDK 5 이상을 접해보지 못한 가운데 있었는데 새로운 이클립스 플랫폼과 더불어 좀더 새로운 자바세계로 빠져 보고 싶다.

출처 : DBGuide Eclipse Galileo 살펴보기

Eclipse Galileo 살펴보기

최신 버전의 오픈 소스 다목적 IDE 및 애플리케이션 플랫폼의 새로운 기능



33가지의 주요 프로젝트로 구성된 Eclipse Galileo 릴리스는 Eclipse 에코시스템 내에서 발전하고 있는 다양성과 혁신을 보여 줍니다. 이 기사에서는 여러 가지 Galileo 프로젝트에 대한 개요와 함께 자세한 정보를 확인하는 데 도움이 되는 리소스를 소개합니다.


Galileo 릴리스에는 33가지의 주요 Eclipse 프로젝트 릴리스가 동시에 포함되어 있다. Eclipse Foundation에서는 Galileo 릴리스 트레인이 33가지의 프로젝트로 구성되어 있다고 발표했다. 하지만 일부 프로젝트는 다른 프로젝트에 포함되는 서브프로젝트이며 Eclipse Foundation의 마케팅에서 큰 비중을 차지하지 못하는 프로젝트도 있다. 그럼에도 불구하고 Galileo는 역사상 가장 많은 신기술이 포함된 단일 릴리스이다.


Galileo 및 Eclipse 릴리스 트레인과 관련하여 중요한 점은 이러한 프로젝트가 동시 릴리스임에도 불구하고 통합되어 있지 않다는 점이다. 각 프로젝트는 고유한 프로젝트 리더쉽, 참가자 및 개발 계획을 갖추고서 개별적으로 진행되는 오픈 소스 프로젝트이다. 릴리스 트레인은 투명하고 예측 가능한 개발 주기를 제공하기 위해 고안된 개념이다.


Galileo 가져오기

Galileo는 주로 두 가지 방법으로 가져올 수 있다. 권장 방법인 첫 번째 방법은 필요한 패키지만을 가져오는 것이다. 그리고 두 번째 방법은 업데이트 사이트를 통해서 Galileo를 가져오는 것이다.


패키지

Eclipse Galileo Packages 사이트로 이동한다. 이 패키지 사이트에는 사용자의 요구를 고려하여 미리 번들로 묶여 있는 9가지 버전의 Galileo가 있다.


그림 1. Galileo 패키지



Galileo 업데이트 사이트

업데이트 사이트에서 Galileo를 가져오려면 Eclipse V3.5 SDK를 다운로드한다. 다운로드를 완료한 후에는 Eclipse를 실행하여 Help > Software Updates를 통해 소프트웨어 업데이트 메커니즘에 액세스할 수 있다(그림 2 참조). Galileo Discovery Site로 사용할 수 있는 사이트가 아직 아닌 경우에는 적절한 Galileo 업데이트 사이트 정보를 입력한다. Galileo 업데이트 사이트에 연결된 후에는 Galileo 릴리스 트레인에 속해 있는 사용 가능한 기능 목록이 표시되어야 한다. 그 다음은 아주 간단하다. 연결된 후에는 Eclipse에 설치할 기능을 선택하기만 하면 된다.


그림 2. 소프트웨어 업데이트

프로젝트

Eclipse 에코시스템은 가끔씩은 깜짝 놀랄 정도로 큰 공간이다. 약 100개의 프로젝트가 Eclipse Foundation의 감독 하에 진행되고 있으며 Galileo 릴리스는 그 많은 프로젝트의 일부에 불과하다. Galileo 릴리스 트레인은 Eclipse 기술을 제품에 통합하려는 채택자에게 도움이 되는 다양한 Eclipse 기술을 소개한다. 다음 링크를 통해 Galileo 프로젝트에 대한 자세한 정보를 볼 수 있다.


표 1. Galileo 릴리스 트레인 프로젝트
프로젝트 개요 웹 사이트
ACTF(Accessibility Tools Framework) 장애가 있는 사용자를 위한 애플리케이션 및 컨텐츠 개발 http://www.eclipse.org/actf/
BIRT(Business Intelligence and Reporting Tools) 보고서 생성 http://www.eclipse.org/birt
CDT(C/C++ Development Tooling) C/C++ 코드 작성 http://www.eclipse.org/cdt
DTP(Data Tools Platform) 확장 가능한 프레임워크 및 도구 http://www.eclipse.org/datatools/
EMF(Eclipse Modeling Framework) 모델링 프레임워크 및 코드 생성 기능 http://www.eclipse.org/modeling/emf/
Eclipse Packaging Project 패키지 작성, 다운로드 및 설치 http://www.eclipse.org/epp/
Eclipse Platform 핵심 프레임워크 및 서비스 http://www.eclipse.org/platform/
Equinox OSGi R4 핵심 프레임워크 스펙의 구현 http://www.eclipse.org/equinox/
GEF(Graphical Editor Framework) 그래픽 애플리케이션 개발 http://www.eclipse.org/gef/
GMF(Graphical Modeling Framework) 그래픽 편집기 개발 http://www.eclipse.org/gmf/
JWT(Java™ Workflow Tooling) 설계부터 모니터링까지의 워크플로우 및 프로세스를 위한 도구 세트 http://www.eclipse.org/jwt/
JDT(Java Development Tools) Java 애플리케이션 개발 http://www.eclipse.org/jdt/
M2T JET(Java Emitter Templates) 모델을 기반으로 텍스트 아티팩트 생성 http://www.eclipse.org/modeling/m2t/
Memory Analyzer 메모리 누수 진단 및 메모리 사용량 절감 http://www.eclipse.org/mat/
MTJ(Mobile Tools for Java) 모바일 장치용 Java 애플리케이션 개발을 위한 Eclipse 프레임워크 확장 http://www.eclipse.org/dsdp/mtj/
Mylyn 수행 중인 작업을 모니터링하여 작업에 적합한 GUI 만들기 http://www.eclipse.org/mylyn/
PDT(PHP Development Tools) PHP 코드 작성 http://www.eclipse.org/pdt/
RAP(Rich Ajax Platform) Ajax 코드 작성 http://www.eclipse.org/rap/
SCA Tools SCA(Service Component Architecture) 표준을 위한 도구 http://www.eclipse.org/stp/sca/
SOA Tools SOA(Service-Oriented Architecture) 애플리케이션 코드 작성 http://www.eclipse.org/stp/
Swordfish 확장 가능한 SOA 프레임워크 http://www.eclipse.org/swordfish/
Target Management 원격 시스템 구성 및 관리 http://www.eclipse.org/dsdp/tm/
TPTP(Test and Performance Tools Platform Project) 프로파일링 및 테스트 애플리케이션을 위한 도구 http://www.eclipse.org/tptp/
Textual Modeling Framework(Xtext) 외부 텍스트 DSL 코드 작성 http://www.eclipse.org/modeling/tmf/
TmL(Tools for mobile Linux) 모바일 애플리케이션 코드 작성 http://www.eclipse.org/dsdp/tml/
WTP(Web Tools Platform) 웹 및 Java EE 애플리케이션 코드 작성 http://www.eclipse.org/webtools/


쇼케이스

ACTF(Accessibility Tools Framework)

ACTF 프로젝트 리더인 Chieko Asakawa는 "ACTF V0.7은 Eclipse Galileo 릴리스가 U.S. Section 508과 같은 법률 준수뿐만 아니라 모든 사람의 사용 가능성을 고려한 액세스 가능한 웹 애플리케이션의 개발을 위한 최상의 환경으로 자리매김하는 데 큰 도움이 될 것"이라고 밝혔다.

그는 또한 "ACTF는 웹, J2EE 및 PHP 퍼스펙티브를 확장하여 지속적인 액세스 가능성 평가 기능을 제공한다. 이러한 기능의 예로는 자동 오류 검색, 음성 사용자를 위한 사용 가능성의 시각화 및 시각 장애인을 위한 이미지 처리 기반 시뮬레이션 등이 있다. 이러한 기능을 통해 개발자는 애플리케이션의 액세스 가능성을 빠르게 파악하고 배워서 향상시킬 수 있다."고 설명했다.

"이 통합은 시작에 불과하다. 궁극적인 목표는 Eclipse IDE에서 생성 또는 개발된 모든 아티팩트를 모든 사람이 액세스할 수 있도록 하는 것"이라는 원대한 포부도 밝혔다.

CDT(C/C++ Development Tooling)

CDT 프로젝트 리더인 Doug Schaefer에 따르면 Debug Services Framework는 CDT로 완벽하게 전환되어 CDT의 새로운 구성 요소가 되었다. 새로운 추론적 방법론이 도입되어 인덱서에서 프로젝트의 헤더 파일을 효율적으로 찾을 수 있고 암시적 참조 및 오버로드된 연산자에 대한 인덱스 지원도 추가되었다.

프로젝트 유형 중 하나인 Convert to C/C++ Project의 기능이 향상되었다(예: Makefile). CDT 업데이트에는 여러 세션을 동시에 시작할 수 있는 Launch Group 설정이 새롭게 추가되었다. Schaefer는 임베디드 개발, RSE 기반 원격 실행, GCC 컴파일러 간 빌드 지원 및 C/C++ SDK용 tar 파일 설치를 위한 p2 지원 등의 새로운 기능이 CDT에 포함되었다고 밝혔다.

DTP(Data Tools Platform)

프로젝트 리더인 Brian Fitzpatrick는 "Galileo(V1.7) 릴리스에서는 DTP의 몇 가지 주요 영역이 중점적으로 개선되었다. 그 중 하나는 SQB(SQL Query Builder)와 같은 일부 비주얼 도구가 추가 및 향상되었다는 것이다. 더불어 사용 편의성을 높이기 위해 몇몇 간단한 사용 편의성 기능도 개선되었다. Schema Object 편집기를 위한 새 프레임워크도 추가되었으며 이 프레임워크는 후속 릴리스에서 더 많이 채택될 것으로 기대된다. 이를 위해 몇 가지 Sybase ASA용 Schema Object 편집기를 샘플로 제공하고 있으며 커뮤니티의 다른 공급업체와 회원들도 테이블, 인덱스, 저장 프로시저 등을 손쉽게 작성 및 수정할 수 있는 편집기 프레임워크의 장점을 알게 될 것이다.

연결성 API도 향상되었다. 데이터베이스에 대한 API 전용 연결 또는 기타 연결 유형을 간편하게 작성 및 사용할 수 있는 메커니즘이 제공된다. 이 메커니즘은 BIRT와 같은 일부 주요 채택자에게는 매우 중요한 기능이다. 이 메커니즘을 사용하면 DTP 기능으로 보고서를 생성할 때 사용자가 현재 환경을 벗어나지 않고도 연결을 작성 및 관리할 수 있기 때문이다. 이제 제어할 수 있는 특성을 가지고 있는 API를 사용하여 연결을 생성할 수 있을 뿐만 아니라 SQB를 비롯한 여러 가지 새 기능을 활용할 수 있게 되었다."고 말했다.

그는 DTP가 시작된 2006년 이후로 채택자와 확장자에게 추가 기능을 제공하는 것뿐만 아니라 구성 요소 및 API의 안정성을 강화하는 작업도 충실히 진행되어 좋은 결과를 맺고 있다는 견해도 밝혔다.

EMF(Eclipse Modeling Framework)

Modeling 프로젝트에 많은 서브프로젝트가 포함되어 있다. EMF 자체는 핵심 구성 요소를 비롯하여 Teneo 및 CDO를 포함한 여러 가지 구성 요소로 구성되어 있다.

프로젝트 리더인 Ed Merks는 "전체 모델링 분야에서 가장 흥미롭고 전망이 밝은 세 가지 향상된 기술로는 TMF(Textual Modeling Framework)의 서브프로젝트이자 Galileo에 새롭게 추가된 Xtext, EMF 프로젝트의 서브프로젝트이면서 마지막 릴리스 후 뛰어난 성능 향상으로 인해 큰 관심을 받게 된 CDO Model Repository 및 EclipseLink와의 통합 기능을 제공하는 Teneo가 있다."고 소개했다.

"M2(Model to Text) 프로젝트에 속해 있는 새로운 OMG 표준 템플리트 언어인 Acceleo도 릴리스하고 있으며 GMF도 지속적으로 기술 개선이 이루어지고 있다."는 말과 함께 Merks는 자신이 직접 맡고 있는 EMF 핵심 자체적으로는 최근에 합류한 Tom Schindl이 심혈을 기울이고 있는 데이터 바인딩에 대한 향상된 지원이 주목할만한 가치가 있다고 언급했다. 또한 EObject의 축소된 공간 구현도 주목할만하며 실제 일부 클라이언트에서는 이 기술을 통해 60% 이상의 공간을 절약할 수 있었다는 결과도 소개했다.

CDO(Connected Data Objects)

CDO(Connected Data Objects) 프로젝트의 리더인 Elke Stepper에 따르면 CDO는 확장성, 트랜잭션 및 지속성에 중점을 두고 있는 분산 공유 EMF 모델을 위한 프레임워크이다.

CDO Model Repository는 이전 릴리스 이후로 많은 관심을 새롭게 받았으며 NASA 및 Canadian Space Agency and Department of Defense를 포함한 주요 채택자로부터 좋은 호응을 얻었다. 이 팀의 기여자는 8명으로 늘어났으며 130여 가지의 개선 사항을 구현했다. 개선된 기능 중에는 분산 트랜잭션, 최악 잠금 및 저장 포인트뿐만 아니라 가져오기/내보내기 마법사, 변경 등록 정책, 비동기 쿼리 프레임워크, 저장소의 보안 후크 등의 기능이 포함된 EMF 리소스를 위한 가상 파일 시스템이 있다. 부분 컬렉션 로딩, 모델 사용 분석 및 적응 프리페칭과 같은 기능을 통해 특성이 크게 향상되었다.

Eclipse-Databinding

프로젝트 리더인 Tom Schindl은 "Eclipse-Databinding의 Galileo 릴리스에는 프레임워크 채택자에게 테이블과 트리를 포함한 도메인 오브젝트 및 위젯에서의 중첩 특성에 대한 직접 지원을 비롯한 여러 가지 새 기능을 제공하는 Properties-API가 도입되었다. 또한 observable 생성과 관측되는 특성에 대한 정의가 분리되며, 테이블/트리 지원이 향상되었으며, 설정 작업이 쉬워지고, 한 위젯에서 다양한 오브젝트 유형을 사용할 수 있으며, 사용자 정의 observable도 쉽게 생성할 수 있게 되었다."고 말했다.

Schindl은 EMF V2.5가 Ecore를 CDO, Teneo 및 EMF-Edit를 포함한 도메인 모델 기술 및 관련 에코시스템으로 선택한 Eclipse-Databinding의 채택자에게 최고 수준의 지원을 제공한다라고도 말했다.

EMF Compare

프로젝트 리더인 Cedric Brun은 "Galileo 릴리스에서 EMF Compare의 버전이 V1.0으로 업그레이드되었으며 팀 작업 환경에서 모델을 구별 및 병합할 수 있다. Eclipse Team API와 밀접하게 통합되었으며 CVS, SVN 또는 GIT 팀 공급자와도 잘 작동한다."고 말했다.

그는 "Acceleo 프로젝트의 성과에 힘 입어 'Model To Text' 프로젝트에서도 좋은 구성 요소가 등장했다. 이 구성 요소는 MTL(MOF Template Language) 구현을 제공하므로 이제부터는 코드 생성 템플리트와 표준 템플리트를 작성하는 일로 걱정할 필요가 없어졌다. 또한 코드 완성, 디버깅, 생성 미리 보기 등의 기능을 갖춘 완벽한 도구가 지원되므로 모델을 활용하여 코드를 작성하기가 쉬워졌다."고 밝혔다.

Brun에 따르면 '모델-투-모델 변환' 영역에서도 ATL 도구의 사용자 인터페이스 및 디버깅 지원이 크게 향상되었다.

Teneo

프로젝트 리더인 Martin Taal은 "Galileo V3.5 릴리스의 Teneo에는 두 부분으로 구성된 EMF-EclipseLink 통합이 추가되었다. 그 중 하나는 Ecore 모델을 기반으로 하는 표준 JPA orm XML 파일을 생성하는 기능이고 다른 하나는 표준 EMF 개념과 EclipseLink를 통합한 런타임 계층이다. Galileo V3.5에서 향상된 또 다른 기능으로는 최대 절전 모드와 관련된 영속성 어노테이션과 표준 JPA 어노테이션에 대한 전체 지원이 있다."고 말했다.

Xtext

Xtext 프로젝트 리더인 Sven Efftinge는 "Xtext는 텍스트 DSL(Domain-Specific Language)을 개발하기 위한 프레임워크이다. Xtext의 단순한 EBNF 문법 언어를 사용하여 고유한 DSL을 설명하기만 하면 생성기가 EMF로 구현된 구문 분석기인 AST 메타 모델을 작성하여 전체 기능을 갖춘 Eclipse 텍스트 편집기를 만들어 준다."고 설명했다.

또한 그는 "이 프레임워크는 EMF, GMF, M2T 및 일부 EMFT와 같은 Eclipse Modeling의 기술과도 통합된다. Xtext를 이용한 개발은 단기 턴어라운드에 최적화되어 있으므로 기존 DSL에 새 기능을 추가하는 것은 시간 문제에 불과하며 보다 정교한 프로그래밍 언어를 구현할 수 있다."고 말했다.

Eclipse Packaging Project

프로젝트 리더인 Markus Knauer는 "매일같이 기본 Eclipse 다운로드 페이지에서 수천 명의 사용자가 다운로드하고 있는 패키지가 모두 EPP(Eclipse Packaging Project)에서 작성된 것이라는 사실을 알고 있는 사람은 거의 없을 것"이라고 말하면서 "Galileo 릴리스에서는 모든 패키지의 업데이트된 버전과 함께 많은 개발자가 흥미를 가질만한 두 가지 새 패키지가 추가되었다. 첫 번째 새 패키지는 Pulsar 패키지로 휴대폰처럼 날마다 사용하는 모바일 장치용 애플리케이션을 개발하는 하는 데 사용할 수 있으며, 두 번째 패키지는 PHP 개발자를 위해 제작된 패키지로 가장 많이 다운로드되는 패키지 중 하나가 될 것이라고 확신한다."고 밝혔다.

그는 또한 "무엇보다도 올해의 주요 변화는 완전히 새로운 빌드 인프라로의 전환이었다. 지금 우리는 p2 기술을 활용하여 모든 패키지를 빌드하고 있기 때문에 p2와 완전 호환되는 패키지를 만들 수 있을 뿐만 아니라 패키지를 사용자 정의하는 작업도 더 유연하게 수행할 수 있게 되었다."는 소감을 밝혔다.

Eclipse Platform

프로젝트 리더인 Steve Northover는 "Eclipse Galileo 중에서 SWT를 Mac Cocoa로 이식하는 부분에 가장 큰 흥미를 느끼고 있다. Cocoa를 보면 미래에 선 보일 Macintosh와 Eclipse의 사용자 인터페이스를 볼 수 있다. 커뮤니티, Adobe 및 IBM?瑛? 도움으로 이식 작업이 빠르게 진행되고 있다."고 말했다.

Equinox

프로젝트 리더인 Jeff McAffer는 "Equinox의 Galileo 릴리스는 우리에게 정말 멋진 경험을 안겨 주었다. 우리는 최신 OSGi 스펙을 구현했으며, 이 스펙에는 분산 및 엔터프라이즈 시스템을 포함한 광범위한 실제 시나리오에서 OSGi의 성능을 향상시켜 주는 여러 가지 개선 사항이 포함되어 있다. Equinox OSGi Declaratives Services 구현이 최신 스펙으로 업데이트되어 PDE에서 온전히 활용되고 있으며 지금은 표준 Eclipse 다운로드에 포함되었다."라고 말했다.

또한 McAffer는 "프로비저닝 플랫폼인 p2는 견고성, 성능 및 유연성 강화를 위해 주요 기능이 개선되었으며 p2를 사용하여 복잡한 소프트웨어 솔루션을 제공하는 사례가 확연하게 늘어나고 있다. 기술적으로는 Galileo에 속해 있지 않지만 발전을 거듭하고 있는 Equinox Aspects 프로젝트는 AOP 커뮤니티를 비롯한 수많은 프로젝트에서 채택되고 있다. 또한 런타임 환경에서 Eclipse를 사용하는 EclipseRT는 Galileo에서 런타임 관련 기능을 제공하는 여러 프로젝트 중에서도 실제로 가장 앞서 나가고 있다."는 의견을 밝혔다.

GMF(Graphical Modeling Framework)

프로젝트 리더인 Richard Gronback은 "이 릴리스에서는 런타임 구성 요소에 수많은 버그 수정 사항과 성능 개선 사항이 적용되었을 뿐 아니라 생성 도구에도 중요한 변경 사항이 적용되었다. 구체적으로 말하자면, 이 버전의 Xpand 코드 생성기가 리팩토링되면서 Xpand에서 기본적으로 제공되는 Xtend 및 기본 표현식 언어 대신 OCL(Object Constraint Language) 및 QVT OML(Operational Mapping Language)을 사용하게 되었다. 이러한 변화는 모델-텍스트 변환 기능을 향상시키는 긍정적인 결과를 선사했으며 이전까지는 Java 코드로 수행했던 맵핑 및 생성기 모델 간의 변환 작업을 위해 QVT를 옵션으로 추가할 수 있게 되었다."고 말했다.

JWT(Java Workflow Tooling)

프로젝트 리더인 Florian Lautenbacher는 "JWT(Java Workflow Tooling)가 Eclipse 플랫폼에 오픈 비즈니스 프로세스 설계 및 개발을 가져왔다. BPM(Business Process Management)은 비즈니스, 미들웨어 및 통합이 서로 만나는 교차로에 있기에 그 역할이 한 분야로 제한되어서는 안된다. 바로 이러한 특징 때문에 JWT 모델 프로세스를 통해 분석가에게 필요한 방법을 찾아낼 수 있으며, 개발자가 추가한 구현 정보를 보관할 수 있으며, 선택한 런타임 플랫폼에 해당 프로세스를 전개할 수 있는 것이다."라고 말했다.

"이 모든 것은 확장 가능한 보기, 모델 및 변환이 지원되는 유연한 프레임워크가 있기에 가능한 것이며 커뮤니티와 공급업체에서는 이 프레임워크를 기반으로 개발을 진행할 수 있다. JWT에는 UML Activity Diagram 또는 EPC(Event-driven Process Chains) 보기, BPMN 상호 운용성, 코드 생성(예: AgilPro 통합의 XPDL 또는 WSBPEL 코드 및 HTML 문서)과 같은 여러 가지 내장 확장이 있다. 그리고 실제로 OW2 콘소시엄의 SOA 중점적 Scarbo나 SourceForge의 AgilPro와 같은 일부 솔루션에서는 JWT가 이미 통합되어 있다."고 Lautenbacher는 말했다.

Lautenbacher에 따르면 Galileo 릴리스에서 중점을 두었던 부분은 Bonita와 같은 일반 비즈니스 프로세스 런타임과의 호환성을 추가하는 것과 BPMN, SCA 및 IM과 같은 STP(SOA Tools Platform)의 프로젝트와 서비스 지향적 기능을 통합하는 것이었다.

JDT(Java Development Tools)

프로젝트 리더인 Dani Megert에 따르면 이 컴파일러에는 여러 가지 새로운 진단 기능(예: 사멸 코드 검색)이 추가되었으며 보고된 각 문제점에 해당하는 빠른 수정 사항이 함께 제공되므로 문제점을 빠르게 해결할 수 있다.

"이제 Java 편집기에서 생성자 완성 기능이 제공되며 메소드 구현으로 직접 이동할 수 있다. 포맷터는 기존 줄 바꿈을 유지할 수 있으며, 마지막으로 일반적인 Java 편집기에서 사용할 수 있는 컨텐츠 지원과 같은 여러 가지 기능이 Java 비교 편집기에서도 지원된다."고 Megert가 말했다.

M2T JET(Java Emitter Templates)

JET2는 Eclipse 환경을 위한 템플리트 엔진이다.

프로젝트 리더인 Paul Elder는 "Galileo에서 주된 관점은 템플리트 반복성에 있었다. 기본적으로 템플리트는 텍스트를 사용자 정의하는 마크업이 혼합된 형태의 정적 텍스트이다. 좋은 템플리트를 보면 텍스트 구조와 템플리트의 효과를 빠르게 이해할 수 있다. 마크업을 너무 많이 추가하게 되면 템플리트를 파악하기가 어려워진다."고 말했다.

또한 그는 "Galileo 릴리스의 JET2에서는 마크업이 복잡해지는 것을 방지할 수 있는 여러 가지 혁신적인 기능이 도입되었다. 첫 번째는 상당히 축소된 형태의 마크업이다. 두 번째로는 일반적인 생성 패턴을 간결하게 설명하는 새 마크업이 추가되었다. 개인적으로는 새로운 c:deepIterate 태그가 이 후자의 범주에 속한다고 생각한다. 이 태그를 사용하면 중첩 또는 재귀 데이터에서 생성된 텍스트를 간결하게 설명할 수 있다. 이전 릴리스에서 이 작업을 수행하려면 반복성에 대한 구현 방법 대신 두 개의 재귀 템플리트와 상당히 긴 마크업이 필요했다."고 말했다.

Memory Analyzer

프로젝트 리더인 Andreas Buchen은 "Galileo는 Memory Analyzer가 참여한 첫 번째 동시 릴리스 트레인"이라고 말했다.

"정말 대단한 경험이었다."는 소감을 밝히면서 Buchen은 "이 언어에는 몇 가지 새 기능이 추가되었으며 그 중에서도 PHD 및 시스템 덤프를 포함한 IBM Virtual Machines 제품군의 힙 덤프에 대한 지원이 가장 눈에 띄는 기능이다. 이외에도 힙 덤프가 작성될 때 실행 중인 스레드에 대한 스택 추적 기능과 OSGi 런타임의 전체 상태를 볼 수 있는 Equinox 번들 브라우저가 향상되었으며 덤프에서 SWT 아이콘을 다시 작성하고 표시하는 것과 같은 사소한 기능도 개선되었다."고 말했다.

MTJ(Mobile Tools for Java)

MTJ Project는 이번에 처음으로 Eclipse 트레인에 포함되어 릴리스되었다. 프로젝트 리더인 Christian Kurzke는 "작년 한 해 동안 모바일 개발자를 대상으로 하는 두 Eclipse 프로젝트(EclipseME 및 MTJ)를 하나의 연합 개발 프로젝트인 '새로운" Eclipse MTJ로 통합했다."고 밝혔다.

또한 Kurzke는 "Galileo 릴리스에 포함되면서 우리는 모바일 애플리케이션 개발자를 위해 사전 통합된 Eclipse 다운로드 패키지인 Pulsar Package를 만들었다. 또한 MTJ Project는 Galileo 트레인에서 버전 1.0으로 업그레이드되었다. 이 릴리스의 주 목적은 MTJ API를 정의하는 것이었다. 이 API를 사용하게 되면 써드파티 도구 개발자도 MTJ를 확장하여 자신의 고유한 플랫폼과 SDK 관련 기능을 지원할 수 있다."고 소개했다.

Mylyn

Mylyn 프로젝트 리더이자 Tasktop Technologies의 CEO인 Mik Kersten은 "Mylyn V3.2의 가장 흥미로운 기능 중 하나는 Mylyn Connectors를 찾아서 설치하는 UI와 같은 새로운 App Store이다. 이 릴리스의 Mylyn에서는 Eclipse 사용자에게 익숙한 대부분의 변경 관리 솔루션을 지원하며 이러한 통합 기능을 몇 번의 클릭만으로 사용자의 작업 공간에 설치할 수도 있다."고 말했다.

또한 그는 "개선 기능 중 일상 업무에서 자주 사용하게 되는 기능은 새로운 작업 편집기 레이아웃이다. 이 편집기를 사용하면 이메일을 검색할 때보다 빠르게 작업을 읽고 선별할 수 있다."고 말했다.

PDT(PHP Development Tools)

프로젝트 리더인 Roy Ganor는 "Eclipse PDT(PHP Development Tools)는 PHP 스크립트 개발에 사용할 수 있는 Eclipse 플랫폼 기반의 개발 환경이다. 이 프로젝트에서는 PHP 개발에 필요한 개발 구성 요소를 통합하고 확장성을 지원한다. Eclipse PDT는 오늘날 사실상의 PHP 개발 표준으로 인정 받고 있다."고 소개했다.

"Eclipse PDT의 사용자 중에는 아마도 오늘날 웹 표준을 따르고 있는 웹 개발자가 가장 큰 비중을 차지할 것이다. 그리고 팀 리더와 제품 관리자도 Eclipse와 PHP를 사용하면 차세대 제품의 프로토타입을 효과적으로 만들 수 있다는 것을 알고 있다."고 Ganor는 말했다.

그는 또한 "오픈 소스 프로젝트의 장점은 산업 표준을 따를 때 드러난다. Galileo 릴리스 트레인은 프로젝트의 품질과 성숙도를 특정 수준으로 올려줄 수 있는 뛰어난 프레임워크를 제공하기 때문에 Eclipse PDT는 Galileo 릴리스 트레인에 참여하기로 결정했다. 게다가 Eclipse PDT를 게시하여 사용자에게 노출시킬 수 있는 기회에서도 아주 큰 차이가 있다는 것을 알 수 있었다. 우리는 후속 릴리스를 기다릴 수가 없었다."고 말했다.

Eclipse PDT는 약 3년 전에 Zend Technologies와 IBM에서 공동으로 진행한 이니셔티브로 시작되었다. "당시 우리는 PHP 개발자가 Eclipse와 Eclipse 에코시스템을 효과적으로 활용할 수 있을 것으로 기대했으며, 특히 팀 작업을 수행하거나 애자일 개발 방법론을 따를 때 큰 효과가 있을 것으로 예상했다."고 Ganor는 말했다.

PDT V2.1에는 놀랄만한 두 가지 중요한 뉴스가 있다는 말과 함께 그는 "첫 번째 뉴스는 이 릴리스가 Eclipse PHP 제품의 첫 번째 릴리스라는 점이다. 이 Eclipse PHP 제품은 Eclipse 플랫폼과 Eclipse PDT 프로젝트를 기반으로 하고 있다. 과거에는 Java 버전의 Eclipse를 다운로드한 후 PHP 기능을 추가했지만 이제부터는 Eclipse 기본 다운로드 사이트에서 PHP 고유 패키지를 직접 다운로드할 수 있다. 두 번째 뉴스는 PHP 5.3에 관한 것이다. 2년 여의 개발 과정을 마치고 PHP 팀에서는 네임스페이스와 클로저 같은 여러 가지 새 언어 기능이 보강된 차세대 PHP 엔진을 릴리스할 예정이다. 그리고 Eclipse PDT에서 이러한 새 기능이 지원된다는 좋은 소식도 있다."고 말하면서 이는 두 커뮤니티의 밀접한 관계를 확실하게 보여 주는 좋은 사례라면서 기쁨을 감추지 않았다.

그는 "Eclipse PDT 팀은 항상 보다 나은 품질을 추구하고 표준을 지지하기 때문에 후속 유지보수 버전에서는 안정성과 사용 편의성에 중점을 둘 것이며 전세계의 PHP 프레임워크 팀에서 PDT를 개발자의 대상 환경으로 활용할 수 있도록 더 많은 확장을 제공할 계획"이라는 포부도 밝혔다.

RAP(Rich Ajax Platform)

RAP V1.2에서는 RCP 및 RAP를 사용하여 데스크탑 및 웹 애플리케이션에 대한 단일 소싱 작업을 쉽게 수행할 수 있다. 프로젝트 리더인 Jochen Krause는 "RAP의 유명한 API를 제공하는 데 중점을 두었으며 다른 여러 Eclipse 프로젝트와 연계하여 코드를 단일 소싱하기 시작했다."고 밝히면서 "예를 들어 Eclipse Memory Analyzer의 경우에는 RCP와 RAP 사이의 코드 재사용률이 98.4%에 이른다. 단일 소싱된 프로젝트를 구성하는 방법에 대해 설명하는 웹 캐스트와 지침을 보면 웹 UI을 RCP 애플리케이션에 효과적으로 추가하는 방법을 확인할 수 있다."고 말했다.

그는 "새로운 기본 제공 웹 스타일 룩앤필과 새로운 사용 편의성 기능은 RAP 애플리케이션의 매력을 한껏 높여줄 것이며 클라이언트측 및 서버측에서의 성능이 향상되었기 때문에 RAP 애플리케이션에서 서버당 수백 명의 사용자까지 확장하여 빠르게 서비스를 제공할 수 있다."고 말했다.

SCA Tools

프로젝트 리더인 Stephane Drapeau는 2008 Ganymede 릴리스 이후 SCA Tools 프로젝트에서 매우 많은 기능이 새롭게 개발되었다는 점을 강조하면서 "XML 편집기가 추가되어 SCA 표준 어셈블리 파일을 정말 쉽게 편집 및 업데이트할 수 있게 되었다. Java 개발자의 경우 SCA 어셈블리 정의를 작성한 후 이 정의를 기반으로 Java 코드를 생성할 수 있다. 그리고 기존 Java 코드를 사용하여 시작하려는 개발자를 위해 코드를 조사한 후 자동으로 SCA 어셈블리를 생성해 주는 특수 인트로스펙터가 추가되었다. Java SCA 프로젝트를 작성한 후에는 Eclipse의 우수한 기능을 사용하여 프로젝트를 실행 및 디버깅할 수 있다. 프로세스 초기에 오류를 발견할 수 있도록 개발자가 작성한 SCA 아티팩트에 대한 유효성 검증 기능도 제공된다. 많은 시간을 들여서 그래픽 업데이트도 진행되었기에 향상된 모습의 SCA Composite Designer를 볼 수 있다."라고 말했다.

"개인적으로 애착을 느끼는 부분은 핵심 SCA 모델의 개발 과정에 있다. 이 모델은 도구에 기능을 추가하려는 개발자가 확장할 수 있다는 특징을 가지고 있다. 모델의 핵심에는 SCA 표준 스펙이 자리를 잡고 있으며 Apache Tuscany V1.4 및 Frascati V0.5와 같은 주요 오픈 소스 SCA 런타임을 지원하기 위해 다양한 확장이 개발되었다. 확장 메커니즘을 활용하면 새로운 개념을 SCA에 훨씬 쉽게 추가할 수 있을 뿐만 아니라 도구를 확장하여 개념을 포함시킬 수도 있다."고 말했다.

SOA Tools

프로젝트 리더인 Oisin Hurley는 "Galileo 릴리스에 이르러 SOA Tools Project는 한결 발전된 모습을 보여 준다. BPMN Modeler 및 SCA Tools와 같은 서브프로젝트가 매우 높은 수준의 품질로 개발되면서 SOA 개발자가 사용할 도구 유형에 상당히 큰 기여를 하고 있다."라고 말했다.

또한 그는 "SCA Tools 서브프로젝트는 작년에 상당한 발전을 보이면서 2.0으로의 주요 버전 업데이트가 완료되었다. Policy Editor에 대한 확장 기능이 갖는 의미는 WS-Policy 문서를 작성하기 위해 고생하고 있는 개발자들이 사용자 정의 가능한 방식으로 시작점 선언을 작성할 수 있게 되면서 즉각적인 변환을 통해 유효성을 검증할 수 있게 되었다는 것이다. SOA 모델은 기존 모델에서 SCA로의 새로운 변환과 함께 지속적으로 발전할 것이다. 또한 앞으로는 SOA Tools Project에 대한 참여를 확대하고 몇 가지 서브프로젝트도 새롭게 추가할 계획이다."라고 말했다.

Swordfish

프로젝트 리더인 Oliver Wolf는 "Swordfish가 올해 처음으로 Galileo 동시 릴리스에 포함되는 쾌거를 이루게 되어 정말 흥분된다."는 소감을 밝혔다.

그러면서 Wold는 "Swordfish 프로젝트의 목표는 검증된 Eclipse Equinox 런타임 기술을 기반으로 하는 확장 가능한 SOA 프레임워크를 제공하는 것이다. 이 프레임워크는 서비스 레지스트리, 메시징 시스템, 프로세스 엔진 등과 같은 추가 오픈 소스 구성 요소를 활용하여 보완함으로써 기존 및 신규 오픈 표준을 기반으로 하는 종합적인 오픈 소스 SOA 런타임 환경을 구축할 수 있도록 설계되었다. Galileo 릴리스에는 코드 우선 또는 WSDL 우선 방식으로 서비스를 작성할 수 있는 몇 가지 도구가 포함된 0.9.0 릴리스가 제공된다."고 말했다.

Target Management

프로젝트 리더인 Martin Oberhuber는 "개인적으로 로컬 및 원격 파일 시스템을 비교/동기화하는 기능과 동일한 호스트에 대한 여러 연결을 이용해서 작업하는 기능에 매료되었다. 두 기능 모두 커뮤니티에서 오랫동안 기다려왔던 기능이었다."라고 말했다.

비록 로컬 시스템에서만 작동하기는 하지만 RSE를 통해 TAR, TGZ, ZIP 및 JAR 아카이브를 쉽게 탐색할 수 있으므로 새로 개발된 "Show in Remote Systems View" 동작도 편리한 기능이라고 소개하면서 Oberhuber는 "원격 시스템에서 프로그램을 실행하는 경우라면 원격 시스템에서 실행 프로그램의 일부로서 임의의 명령을 수행할 수 있는 기능이 유용할 것이다. 이 기능은 CDT 프로그램을 위해 구현되었지만 더미 CDT 프로젝트를 설정하면 다른 원격 애플리케이션에도 사용할 수 있다."고 말했다.

TPTP(Test and Performance Tools Platform Project)

Eclipse Test and Performance Tools Platform의 Galileo 릴리스(TPTPV 4.6)에서는 미세 조정, 안정성 강화 및 Ganymede에 대한 문서화에 중점을 두었다고 프로젝트 리더인 Oliver Cole이 말했다.

Cole은 "Galileo 릴리스에서 TPTP의 목표는 Helios를 사용하여 결함을 완전히 제거하는 것"이라고 밝히면서 "진부한 목표처럼 들릴지도 모르지만 실제로는 매우 흥미롭고 도전적인 과제이다. TPTP와 같은 플랫폼에 결함이 없다는 것은 과연 무엇을 의미할까? 결함이 없는 플랫폼은 커뮤니티의 일반 사용자뿐만 아니라 이 플랫폼을 사용하는 제품에서도 플랫폼에 의지할 수 있다는 것을 의미하며 버그가 알려져 있는 플랫폼과는 그 가치가 확연히 다르다. 지금까지 결함이 없는 소프트웨어를 본 적이 있는가?"라는 질문과 함께 자신감을 보여 주었다.

"버그가 없다는 것은 '우수한' 제품이 되기 위해 수행되어야 하는 모든 작업이 수행되었음을 의미한다. 예를 들어, 충실하지 못한 문서화를 지적한 버그가 수정되었으며, 복잡한 워크플로우를 지적한 버그도 해결되었다. 정돈의 필요성을 지적한 버그도 수정되었다. 많은 양의 코드에 담겨 있는 진정한 가치는 TPTP가 작동하기 때문에 사용할 수 있게 되었다는 것이다."

또한 그는 특히, POG(Profiler of the Gods)라는 노력을 통해 모든 프로파일러 버그를 수정함으로써 커뮤니티의 힘으로 세계 수준의 Java 프로파일러를 완성하게 된 것이라고 말했다.

TmL(Tools for mobile Linux)

Eclipse TmL(Tools for mobile Linux) 프로젝트의 리더이자 Motorola Inc.의 선임 제품 관리자인 Eric Cloninger는 "전체 모바일 산업에서 모바일 애플리케이션 개발이 주목을 받게 되면서 혁신을 꾀하는 개발자에게 멋진 기회가 주어졌다."고 말했다.

Cloninger는 "앞으로 발표될 Galileo 동시 릴리스에 포함된 TmL을 사용하면 휴대폰과 에뮬레이터에서 실행되는 애플리케이션을 쉽게 작성, 디버깅 및 진단할 수 있다. 이 공통 모바일 애플리케이션 개발 플랫폼을 활용하는 개발자는 하나의 익숙한 개발 환경을 유지하면서 여러 장치를 대상으로 하는 모바일 애플리케이션을 작성할 수 있다. Motorola는 주요 업체와의 제휴를 통해 개발자에게 혁신에 필요한 적합한 도구를 제공할 수 있게 되어 만족하고 있다."고 말했다.

WTP(Web Tools Platform)

프로젝트 리더인 David Williams는 "WTP(Web Tools Platform)는 Eclipse를 웹 애플리케이션 도메인으로 확대하기 위해 5년 전에 시작되었다. 그 이후로 웹 애플리케이션 개발자를 위한 수많은 도구와 도구 공급업체를 위한 플랫폼 API(Application Programming Interface)를 제공하면서 가장 유명한 Eclipse 프로젝트로 자리를 잡게 되었다."고 말했다.

WTP Galileo에는 XSL 편집 및 통합 디버깅, Ganymede에서 도입되었던 JavaScript Development Tools에 대한 수많은 미세 조정 및 기존 XML, XML Schema, JSP, HTML, CSS 및 DTD 지원에 대한 개선 사항 등이 포함된 새로운 브랜드의 XSL Tools 세트가 추가되었다.

Williams는 "Dali Java Persistence Tools에는 엔터티를 생성하기 전에 다양한 기능을 사용자 정의할 수 있도록 향상된 새로운 Entity Generation 마법사가 추가되었다. 또한 EclipseLink JPA에 대한 고급 도구 지원과 JAR, 프로젝트 클래스 경로 또는 플러그인의 바이너리 컨텐츠 맵핑을 위한 다양한 지원이 추가되어 도구의 유연성이 크게 강화되었다."고 말했다.


결론

Galileo 릴리스 트레인을 살펴본 후 릴리스에 포함된 일부 프로젝트를 소개하려는 목적으로 작성된 이 기사에서는 프로젝트 리더의 의견을 곁들여서 일부 Galileo 프로젝트를 살펴보았다. 그렇다면 무엇을 해야 할까? Eclipse 릴리스 트레인에서 제공하는 Galileo를 직접 사용해 보자.


필자소개

developerWorks 오픈 소스 영역의 전 편집자였던 Mark Cappel은 마감 시한을 넘긴 기사를 받은 영역 편집자가 느끼게 되는 심리적 부담을 잘 알고 있으며 수많은 오타와 문법 오류로 인해 영역의 웹 편집자가 필자에게 많은 불만을 가지고 있다는 것도 잘 알고 있다. 이런 그의 소망은 올해의 Burning Man 페스티발에 무사히 참가하는 것이다.
반응형