본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

자바 EE 7의 11가지 주요 개선점

OSS 게시글 작성 시각 2013-06-20 14:25:59 게시글 조회수 4193

2013년 06월 19일 (수)

ⓒ ITWorld, Paul Krill | InfoWorld


자바 엔터프라이즈 에디션 최신판이 마침내 나왔다. 많은 기대 속에서 오라클은 어제 자바 EE 7을 공개했고, 이제 자바 엔지니어들은 자바 EE 7 SDK와 오픈 소스 글래스피쉬 4 애플리케이션 서버를 이용할 수 있다.


자바 엔터프라이즈 에디션 7은 HTML5 도입, 간소화된 JMS(Java Message Service), 업데이트된 웹 프로필 등 여러 부분이 개선 또는 조정됐다. 이를 통해 클라우드 측면을 강화한 자바를 위한 기초를 다지고 있다.


가트너 애널리스트 마크 드라이버는 자바 EE 7을 다음 또는 다다음 버전의 자바가 지향하는 '더욱 클라우드 중심적인' 자바를 위한 초석으로 정의했다. 자바 EE 7에 적용된 주요 기능들은 다음과 같다.



HTML5
자바 EE 7의 초점은 HTML5에 있다. 특히 이번 버전은 간소화, 생산성, 사양 지원을 강화하는 데 주력한 모습이다. 이런 요소들은 현대적인 멀티미디어 중심의 웹 애플리케이션을 위해 필요한 것들이다. 지원은 웹소켓과 JSON 도입을 통해 제공된다.


웹소켓
이번 업그레이드의 중심은 HTML5 기술군의 일부분으로 간주되는 웹소켓에 대한 '최고 수준의' 지원을 추가하는 데 있다. 웹소켓은 원격 호스트와의 양방향 통신 기능을 제공하며 웹 애플리케이션은 서버 측 프로세스와 양방향 통신을 유지할 수 있다.

웹소켓 개발 전문업체인 카징(Kaazing)의 CEO 조나스 자코비는 웹소켓이 웹을 통한 HTTP 방식의 통신을 구현하기 위한 기술이라고 말했다.

오라클의 자바 기술 전도사인 아룬 굽타에 따르면 "웹소켓 프로토콜의 작동 원리는 선로상의 모든 요소를 데이터 또는 제어 프레임으로 기능하도록 하는 것"이라고 말했다. 이를 통해 데이터 프레임을 위한 API 또는 SPI를 정의할 수 있고 개발자는 데이터 프레임을 조작할 수 있게 된다.



JSON
JSON, 즉 자바스크립트 객체 문법은 자바스크립트를 기반으로 하는 가벼운 데이터 교환 포맷으로, 언어 독립적인 텍스트 포맷이 특징이다. 많은 웹 서비스에서 데이터를 호출하고 반환하는 데 JSON을 사용한다.

가트너의 드라이버는 "HTML5와 웹소켓, JSON 등에 대한 지원은 차세대 데스크톱과 모바일 클라이언트를 위해 핵심적인 요소"라고 말했다.



간소화된 JMS 2.0 API
간소화된 JMS(Java Message Service) 2.0 API의 특징은 개발 편의성이다. 이 API는 자바 프로그램에서 엔터프라이즈 메시징 시스템 메시지를 작성하고, 보내고, 받고, 읽기 위한 수단을 제공한다. 4월에 나온 버전 2.0은 간소화된 릴리스로 배정됐다.

오라클은 "JMS 2.0에서 가장 크게 바뀐 부분은 개발자가 작성해야 하는 코드의 양을 줄여주는 새로운 메시지 송수신용 API의 도입"이라고 밝혔다.

자바 EE 애플리케이션 서버에서 실행되는 애플리케이션의 경우 새로운 API는 리소스 인젝션도 지원한다. 이를 통해 애플리케이션 서버가 JMS 객체의 생성과 관리를 처리함으로써 애플리케이션을 더욱 간소화할 수 있게 된다.



클라우드 환경을 위한 기초 작업
자바 EE 7은 자바 EE 8에서 구현될 것으로 예상되는 클라우드 기능 향상을 위한 기초를 닦는 역할을 한다. 여기서 다루는 영역에는 리소스 정의 메타데이터, 향상된 보안 구성, 데이터베이스 스키마 정의 등이 포함된다.

드라이버는 "자바 EE에게 최선의 시나리오는 자바 EE 7의 업데이트와 자바 EE 8의 미래가 자바 플랫폼을 클라우드로 성공적으로 전환하고, 지난 10년 동안 전통적인 서버 중심 환경에서 누렸던 성공적인 일관성과 이식성을 그대로 유지하는 것"이라고 말했다.

드라이버는 "그러나 최악의 시나리오는 자바 EE가 '클라우드 네이티브' 개념을 균일한 형태로 온전히 수용하지 못하게 되고(사양이 빈약하거나 불완전한 이유 등으로) 개발자들이 서로 관련되지만 호환되지 않는 일단의 독자적인 클라우드 공급업체들로 분열되는 것"이라고 말했다.



배치 애플리케이션
배치 애플리케이션과 작업 스케줄링/실행 런타임을 위한 프로그래밍 모델이 제안되고 있다. 오라클은 최근 JSR(Java Specification Request)-352가 월별 은행 명세서 생성과 같은 비대화형, 대규모 지향의 장기 실행 작업을 위한 기능을 제공한다고 밝혔다.

드라이버는 "배치 애플리케이션 기능은 백그라운드와 배치 프로세싱을 처리하기 위한 일관적인 수단을 제공하는데, 이는 메인프레임 기반 워크로드와 클라우드 워크로드의 마이그레이션에서 중요한 요소"라고 말했다.



업데이트된 웹 프로필
오라클의 굽타에 따르면 자바 EE 6에서 도입되어 웹 애플리케이션을 배포하는 데 사용된 웹 프로필은 자바 EE 7에서 업데이트됐으며 이제 '모던' 애플리케이션 개발을 목표점으로 한다.

예를 들어 JMS가 필요없는 자바 엔지니어는 웹 프로필만 사용할 수 있다. 굽타는 "JSON와 웹소켓은 자바 EE 7에서 웹 프로필의 일부"라고 말했다. JAX-RS 2.0도 웹 프로필에 포함되어 있다.



동시 실행 유틸리티
자바 EE 7은 컨테이너 무결성의 손상 없이 자바 EE 플랫폼의 혜택을 유지하면서 애플리케이션 구성 요소에서 동시 실행(Concurrency utilities)을 사용하기 위한 표준화된 API를 제공한다.

드라이버는 "동시 실행 유틸리티는 프로그래머가 병렬 처리를 활용하는 애플리케이션을 더 쉽게 만들 수 있게 해주는 동시실행 설계 패턴을 지원한다. '로우 레벨' 스레드 관리보다 더 높은 레벨의 기능이 제공된다는 것은 반가운 부분"이라고 설명했다.



컨텍스트 종속성 주입
자바 EE 6에 도입된 컨텍스트 종속성 주입(Context Dependency Injection, CDI)이 더욱 향상됐으며, 앞으로 자바 EE 플랫폼 기술에서 더 광범위하게 활용될 것으로 전망된다.

오라클은 "자바 EE 플랫폼을 위한 CDI는 웹 계층과 자바 EE 플랫폼의 트랜잭션 계층을 연계하는 데 도움이 되는 여러 가지 자바 EE 6 기능 가운데 하나다. CDI는 서비스 집합이다. 이 서비스 집합은 함께 사용되어 개발자가 웹 애플리케이션에서 엔터프라이즈 빈과 자바서버 페이스(JavaServer Faces) 기술을 더 쉽게 함께 사용할 수 있게 해준다"고 밝혔다.



레스트플 웹 서비스용 자바 API(JAX-RS) 2.0
오라클의 굽타는 블로그에서 레스트플(RESTful) 웹 서비스용 자바 API 2.0이 표준화된 방법으로 REST 끝점을 호출할 수 있게 해줄 것이라고 밝혔다.

굽타는 "요청과 응답 방법, 프리/포스트 프로세싱 방법을 개선하는 확장 지점, 메서드 필터, 엔터티 인터셉터를 제공한다. 이는 로깅 또는 보안과 같은 교차적 문제를 해소하는 데 도움이 되며, 따라서 이런 작업을 REST 끝점의 일부로 손쉽게 처리할 수 있게 될 것"이라고 설명했다.



서블릿 3.1
자바 서블릿 기술은 웹 개발자들에게 웹 서버 기능을 확장하고 비즈니스 시스템에 접근하기 위한 메커니즘을 제공했다.

서블릿은 서버 측 애플릿이라고 볼 수 있다. 서블릿 3.1은 비봉쇄(non-blocking) I/O, HTTP 프로토콜 업그레이드 메커니즘, 그리고 향상된 보안 기능을 제공한다.




※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지



[원문출처 : http://www.itworld.co.kr/slideshow/82433]

맨 위로
맨 위로