Apache OpenEJB

Apache OpenEJB
개발자아파치 소프트웨어 재단
발표일1999년 12월(26년 전)(1999-12)
안정화 버전
7.0.3 / 2017년 3월 7일(9년 전)(2017-03-07)
프로그래밍 언어자바
운영 체제크로스 플랫폼
종류EJB 컨테이너 시스템
라이선스아파치 라이선스 2.0
웹사이트openejb.apache.org

OpenEJB아파치 라이선스 2.0으로 배포되는 오픈 소스, 임베드 가능하며 가벼운 Enterprise JavaBeans 컨테이너 시스템이자 EJB 서버이다. OpenEJB는 제로니모[1]WebObjects와 같은 자바 EE 애플리케이션 서버와 통합되었다.[2]

역사

OpenEJB는 1999년 12월 리처드 몬슨-해펠(Richard Monson-Haefel)과 데이비드 블레빈스(David Blevins)에 의해 설립되었다. 당시 매주 새로운 공급업체들이 기업용 자바 공간으로 진입하고 있었다. 경쟁사로 합류하는 대신, 이 프로젝트는 새로운 플랫폼들이 OpenEJB를 애플리케이션 서버에 플러그인하여 EJB 규정 준수를 빠르게 달성할 수 있는 방법을 제공하는 데 전적으로 집중했다.

이러한 방식으로 OpenEJB를 최초로 통합한 것은 2000년 말 애플의 WebObjects였으며, 2001년에 출시되었다. 2002년 프로젝트가 소스포지로 이전하면서 아파치 톰캣 통합이 생성되었다. 이번에도 업계 대다수가 수행하던 방식대로 톰캣을 OpenEJB에 넣는 대신, 프로젝트는 비전을 따르기로 결정하고 톰캣 사용자가 OpenEJB를 플러그인하여 톰캣 플랫폼 내에서 EJB 지원을 얻을 수 있도록 하는 통합 기능을 제공했다. 웹 서버에 EJB 컨테이너를 넣는 것과 같은 맥락에서 프로젝트는 .war 파일 안에 EJB를 넣는 Collapsed EAR 개념을 개발했다.

OpenEJB가 애플의 WebObjects와의 통합을 준비하면서 수행한 작업의 일환으로, 매우 큰 통합 테스트 스위트가 개발되었다. 이 테스트 스위트는 WebObjects 및 OpenEJB를 통합하는 다른 플랫폼 모두에서 실행되어야 했기 때문에 일반적인 애플리케이션으로 개발되었다. 빌드의 단순성을 위해 JUnit 기반의 테스트 스위트는 별도의 프로세스가 아닌 테스트 바로 내부에서 OpenEJB와 함께 실행되었는데, 이는 컨테이너가 다른 플랫폼에 플러그인되도록 설계되었고 환경에 대한 가정을 최소화했기 때문에 쉽게 가능했다. EJB 애플리케이션과 일반 유닛 테스트, 그리고 임베드 가능한 EJB 컨테이너를 결합하는 개념이 이 작업에서 탄생했다. 원래 "로컬(local)" EJB 컨테이너로 불렸으며, 이것이 프로젝트가 로컬과 원격이라는 두 가지 모드로 실행될 수 있다고 설명하게 된 계기가 되었다.

2003년 8월, 프로젝트는 아파치 제로니모 애플리케이션 서버 출시를 도왔다. 원래 OpenEJB의 새 버전은 제로니모의 GBean 아키텍처를 기반으로 완전히 새로 개발되었으며, 제로니모 1.x 주기 동안 OpenEJB 2.0으로 출시되었다. 2006년 단순성에 중점을 둔 EJB 3.0이 출시되었을 때, 프로젝트는 뿌리로 돌아가 OpenEJB 1.0 코드베이스를 부활시키고, 2.0 코드베이스의 선택된 부분을 포팅하여, 결국 현재 OpenEJB 3.0이라고 불리는 EJB 3.0 사양 수준까지 끌어올렸다.

Apache OpenEJB 버전
버전 출시일 설명
0.01 (초기 버전) 1999년 12월 Exolab에서 탄생
2002년 1월 SourceForge.net으로 이전
2004년 3월 Codehaus로 이전
2006년 9월 29일 아파치 인큐베이터로 이전
2007년 6월 1일 아파치 OpenEJB로 졸업
4.7.3 2015년 12월 4일 최신 안정 버전

주요 특징

  • 임베디드, 독립형 등 모든 모드에서 EJB 3.0, 2.1, 2.0, 1.1 지원.
  • EJB 3.1 부분 지원
  • JAX-WS 지원
  • JMS 지원
  • J2EE 커넥터 지원
  • 톰캣 5 또는 6에 설치하여 표준 톰캣 설치에 다양한 JavaEE 5 및 EJB 3.0 기능을 추가할 수 있음.
  • CMP 지원이 JPA 위에 구현되어 CMP와 JPA 사용을 자유롭게 혼합 가능.
  • 사용자가 애플리케이션을 임베디드 테스트할 수 있도록 글래스피시 디스크립터를 완벽하게 지원.
  • 매우 유연한 JNDI 이름 지원으로 매크로 및 마이크로 수준에서 형식을 지정하고 다른 공급업체의 형식을 모방할 수 있음.
  • 이클립스, IntelliJ IDEA 또는 넷빈즈와 같은 IDE에서 플러그인 없이도 쉽게 테스트 및 디버깅 가능.
  • 복잡한 설정이나 외부 프로세스 없이 일반적인 JUnit 또는 기타 스타일의 테스트 케이스에서 사용 가능.
  • 애플리케이션을 전체적으로 검증하고 세 가지 선택 가능한 상세 수준으로 모든 실패를 한 번에 보고하여 "수정, 재컴파일, 재배포, 실패, 반복"의 수 시간을 절약.
  • OSGi 지원[3]

같이 보기

각주

외부 링크

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.