메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

다가온 혁신: Apache Geronimo 3.0의 새로운 기능

Ryan Boyles, Software Engineer, IBM
Ryan Boyles is a software engineer in IBM Software Group working on the WebSphere Technical Evangelism team in Research Triangle Park, North Carolina. He is a developer advocate for emerging technology and web application software. He worked for nine years in user interface development in Tivoli Software. Ryan writes about WebSphere application infrastructure on his blog.

요약:  Apache Geronimo 프로젝트는 Geronimo 3.0 서버의 획기적인 최초 릴리스를 출시했습니다. 3.0 애플리케이션 서버 어셈블리는 Servlet 3.0, JSP 2.2, EL 2.2, JSF 2.2 및 JPA 2.0 등이 있는 Java™ EE 6 웹 프로파일 기능의 구현으로 제공됩니다. Geronimo 3.0 M1은 또한 새 개발, 배치 및 Blueprint 서비스, JNDI 검색 및 웹 애플리케이션 번들 지원이 있는 서비스 기능이 포함된 OSGi 기반 Aries 애플리케이션 프로그래밍 모델에 대한 지원을 도입합니다. 이 기사에서는 이러한 중요한 일부 새 기능의 개요를 제공합니다.이 연재 자세히 보기

원문 게재일:  2010 년 12 월 15 일 번역 게재일:  2011 년 4 월 05 일
난이도: 초급 원문:  보기 PDF:  A4 and Letter (18KB | 5 pages)Get Adobe® Reader®
페이지뷰:  1987 회
의견:  


다가오는 혁신의 각 회에서는 개발자와 실행자 둘 다의 관점에서 신흥 기술에 관련된 주제에 관한 새 정보와 토론 외에도 최첨단의 IBM® WebSphere® 제품의 이면에서 보기를 특징으로 한다.

새 기능 및 지원되는 기술

IBM WebSphere Application Server Community Edition은 오픈 소스 프로젝트 Apache Geronimo를 기반으로 한다. Apache Geronimo는 핵심 Java EE 런타임 및 컴포넌트들 뿐만 아니라 Java 개발자들에게 경량 배치로 애플리케이션 개발 도구를 제공하는 몇 가지 Apache 프로젝트들로 구성된 모듈형 서버 프레임워크이다. Geronimo는 일반적으로 종속성 주입이라고 하는 제어의 역행(Inversion of Control)을 기반으로 하는 아키텍처형 설계를 가지고 있다. Geronimo 커널은 Java EE 서버 배치를 형성하는 종속성을 관리하도록 특별히 제작되었다. 이 설계를 통해 Geronimo 개발자들은 Java Persistence API(JPA), Enterprise JavaBeans™(EJB) 및 Java Message Service(JMS)와 같이 서비스를 제공하도록 테스트된 오픈 소스 컴포넌트를 함께 통합할 수 있다.

Apache Geronimo 2.0 애플리케이션 서버는 호환 가능하며 Java EE 5 스펙으로 인증되었다. Geronimo 3.0은 Java EE 6 레벨 서비스들과 컴포넌트들이 포함된 새 릴리스이며, OSGi 프레임워크 위에서 실행한다. 이제 Geronimo 3.0은 Apache Aries 컴포넌트들과의 통합을 통해 제공되는 Enterprise OSGi 프로그래밍 모델로 애플리케이션을 개발하기 위한 지원을 제공한다. 번들에서 정의되는 애플리케이션들은 서버 런타임의 유지보수성을 개선하기 위한 서비스로서 별개로 관리할 수 있다.

이 릴리스는 개발자들이 오픈 소스 애플리케이션 서버를 사용하기에 가장 유연하며 간편하다고 생각하는 것을 더한다. Geronimo 3.0 M1 중요 드라이버는 2010년 6월에 출시되었다. 이 기사는 Geronimo 3.0-M1에 사용 가능한 중요한 일부 새 기능에 대해 강조한다.

Blueprint 및 EBA

Apache Aries는 다양한 OSGi 엔터프라이즈 스펙을 구현하는 컴포넌트들을 많이 제공한다. Aries Blueprint는 Blueprint Container 스펙을 구현하여, OSGi 애플리케이션에 대한 종속성 주입 컨테이너를 제공한다. Blueprint는 Spring에서부터 규칙을 표준화하고 XML 정의를 사용하여 컴포넌트 구성 및 연결을 설명한다. Geronimo 3.0은 Apache Aries에서 다른 컴포넌트들과 함께 Blueprint 컨테이너를 사용하여 EBA(Enterprise Business Archive) 프로그래밍 모델과 패키지 배치를 제공한다.

EBA 파일은 OSGi 애플리케이션을 지정하는 하나의 방법이다. OSGi 애플리케이션은 Java EE 프로그래밍 모델에서 EAR 파일과 같이 일관된 하나의 비즈니스 함수를 함께 형성하는 번들의 콜렉션이다. 예를 들어, EBA 파일은 Blueprint 번들과 JPA 지속성 번들을 포함할 수 있다. Blueprint 번들은 지속성 번들에서 정의한 지속성 단위로 주입되는 컴포넌트들을 포함할 수 있다. JPA(Java Persistence API)는 POJO(Plain Old Java Object)에서부터 지속성 계층으로 관계를 맵핑하는 표준 방법이다. JPA 2.0은 이제 Enterprise JavaBeans 3.0 스펙과 구별되는 하나의 독립형 스펙이다. Geronimo는 Apache OpenJPA 컴포넌트를 사용하여 지속적인 데이터 액세스를 제공한다.

등록된 서비스로 분배된 EBA는 애플리케이션들 사이에 모듈 재사용을 간소화한다. 또한 이를 통해 개발자들은 사용 가능한 도구화로 서버 환경에 독립적인 단위 테스트에 유연성을 사용할 수 있다.

Geronimo 3.0 M1은 Apache Aries에서부터 JNDI(Java Naming and Directory Interface) 컴포넌트도 통합한다. 이는 JNDI 검색으로 서비스 레지스트리에 액세스를 제공하는 간편한 방법을 제공한다. 이 기능을 통해 OSGi 서비스를 @Resource 어노테이션으로 정규 Java EE 모듈에 주입할 수 있다.

웹 애플리케이션 번들

Geronimo 3.0 M1도 OSGi 웹 애플리케이션들을 지원한다. OSGi 웹 애플리케이션들은 WAR 모듈들에 대한 지원을 OSGi에 제공한다. Geronimo에서 OSGi 애플리케이션 지원은 Java EE 6 프로그래밍 모델에 상호 보완적이며, 이를 통해 애플리케이션 모듈과 웹 자원의 콜렉션으로 모듈형 방식으로 Java 컴포넌트들을 사용할 수 있다. 이러한 애플리케이션 모듈들은 JAR 형식화된 파일 내의 자원 파일, 클래스 및 메타데이터가 들어있는 번들로 패키지화된다. 번들 메타데이터는 XML로 모듈 버전, 종속성 선언 및 패키지 가시성을 지정한다. 이러한 방식으로 번들은 자체적인 클래스경로 내에서 동시적으로 활성화되어 라이프사이클 변경에 독립적으로 반응할 수 있다. 번들은 라이프사이클 상태 이벤트를 기반으로 동적으로 종속성을 해결할 수 있으며, 런타임 시 해결에 실패하는 경우 원활하게 분해할 수 있다. 웹 애플리케이션 번들(WAB)은 지정된 특정한 일반 종속성이 있는 번들이며, 적절한 OSGi 메타데이터가 있는 근본적으로 하나의 WAR 파일이다. WAR 파일은 번들 설치 도중에 특수 "웹번들" URL을 사용하여 자동으로 WAB으로 변환될 수 있다. 기존 WAR 모듈들은 매니페스트 파일에서 특정 버전으로 번들 종속성을 지정하여 WAB 아카이브들이 될 수 있다. 이러한 방식으로 WAR : WBA :: EAR : EBA라고 할 수 있다. WAB는 Servlets, JSP 및 어노테이션을 지원한다.

Java EE 기능

Geronimo 3.0 M1에는 새 Java EE 6 웹 프로파일 기능의 일부가 들어있다. Servlet 3.0 및 JSP 2.2는 이제 Tomcat 7 컨테이너에 대한 지원이 포함되어 제공된다. Servlet 3.0 스펙의 기본 초점은 웹 프레임워크 확장성이다. 새 Java 언어 기능은 이전에 web.xml 디스크립터 파일에서 구성된 메타데이터를 설명하는 서블릿 어노테이션들을 제공하도록 노출되었다. 어노테이션 지원은 서블릿, 서블릿 필터 및 컨텍스트 리스너의 프로그래밍형 등록과 초기화를 제공한다. 컨테이너는 서블릿과 필터를 선언하기 위해 하나의 긴 web.xml 파일을 사용하는 것이 아니라 여러 web.xml 단편들을 사용하여 충돌을 방지하도록 제공되는 규칙으로 애플리케이션의 디스크립터를 조립할 수 있다.

Tomcat에서 Servlet 3.0은 또한 요청/응답 사이클의 비동기적 처리를 제공한다. 이는 중요한 기능이며, 애플리케이션 또는 서비스에서 웹 2.0 스타일 작동을 빌드하기 위한 비차단 입력, 처리 및 결과물을 사용한다.

Servlet 3.0 스펙은 또한 Java Server Pages 2.2 지원에 맞춰 조정된다. JSP 2.2의 주요 초점은 개발자 생산성이다. 접속 가능한 웹 티어 API는 약어인 EL로 알려진 새 통합 표현식 언어(Unified Expression Language)를 통해 제공된다. EL 2.2는 JSP 및 Java Server Faces에 표현식 언어를 함께 제공하여 태그 평가, 오브젝트 특성 및 그 참조들을 더 잘 처리한다. EL 표현식들은 JSP 태그 파일들 내에서 또는 페이지들 자체 내에서 직접 사용할 수 있다. Java Server Faces 2.0은 이제 간단한 뷰 템플리트를 제공하여 사용자 인터페이스에 대한 Facelet을 사용한다.

JSF 2.0은 또한 관리형 bean 액세스, 리스너 등록 및 기타 등등에 대한 어노테이션들을 제공한다. 이는 올바르게 어노테이션된 POJO가 별도의 구성 없이 런타임 시 관리형 bean이 될 수 있다는 것을 의미한다. bean 라이프사이클의 범위는 이 규칙을 통해 관리된다. 이러한 어노테이션들은 컴포넌트, 유효성 검증기(validator) 또는 렌더러에 사용할 수 있다.

탐색 모델도 업데이트되어 구성에서 명시적인 조치 대신에 비즈니스 로직을 기반으로 하는 선언적인 규칙 기반 처리를 허용한다. 구성이 없거나 최소 구성으로 탐색을 지정하는 세 가지 방식들이 있으며, API는 쿼리와 수정을 사용하여 런타임 시 탐색 규칙을 만든다. 이렇게 매우 편리한 기능 때문에 Geronimo 3.0을 통해 웹 애플리케이션들을 더 간편하게 개발할 수 있다.


결론

Apache Geronimo 오픈 소스 프로젝트의 기본적인 임무는 최상의 소프트웨어를 사용하는 오픈 소스 컴포넌트들에서부터 모듈형 애플리케이션 서버 프레임워크를 작성하는 것이다. Apache Geronimo 3.0은 사용자 정의를 염두에 두고 개발된 유연한 Java EE 애플리케이션 서버이다. 이는 사용 편의성이 더 훌륭하고 공간을 적게 사용하여 향상된 개발자 경험을 제공한다. Apache Geronimo 3.0의 다섯 가지 배포들에서는 Tomcat 또는 Jetty 웹 컨테이너 및 OpenJPA 또는 지속성 서비스 없이 사용하는 사용자 정의 어셈블리 옵션들을 제공한다. Geronimo 3.0 M1 릴리스는 OSGi 서비스로 제공되는 몇 가지 핵심 Java EE 6 컴포넌트들 뿐만 아니라 OSGi 애플리케이션 프로그래밍 모델에 대한 지원도 제공한다. 이 서버는 재사용 가능한 애플리케이션 인프라 서비스를 맞추기 위해 견고한 프레임워크를 추구하는 Java 개발자들을 위한 강력하며 중요한 단계이다.


참고자료

교육

제품 및 기술 얻기

토론

필자소개

Ryan Boyles is a software engineer in IBM Software Group working on the WebSphere Technical Evangelism team in Research Triangle Park, North Carolina. He is a developer advocate for emerging technology and web application software. He worked for nine years in user interface development in Tivoli Software. Ryan writes about WebSphere application infrastructure on his blog.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=WebSphere, 웹 개발, 오픈 소스
ArticleID=644400
ArticleTitle=다가온 혁신: Apache Geronimo 3.0의 새로운 기능
publish-date=12152010
author1-email= raboyles@us.ibm.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.