OpenEJBは、オープンソースの軽量EJBコンテナであり、EJBサーバーとしての機能も備えています。
Apache License 2.0の
ライセンスで提供されており、その自由な利用が可能です。
このプロジェクトは、
Apache Geronimoや
WebObjectsといった
Jakarta EEサーバーとの統合を容易に行えるように設計されています。これにより、既存のアプリケーションサーバー環境に、容易にEJBの機能を追加することが可能になります。
歴史
OpenEJBは、1999年12月にRichard Monson-HaefelとDavid Blevinsによって開発が開始されました。当時、エンタープライズ
Javaの分野では、新しいベンダーが毎週のように登場し、競争が激化していました。OpenEJBプロジェクトは、既存のベンダーと競合するのではなく、アプリケーションサーバーに組み込むことで、EJBを迅速に利用できる新しいプラットフォームを提供することに焦点を当てました。
2000年末には、
Appleの
WebObjectsとの最初の統合が実現し、2001年にリリースされました。2002年には、Source Forgeにプロジェクトが移行し、
Apache Tomcatとの統合も可能になりました。ここでも、TomcatをOpenEJBに適合させるのではなく、TomcatのユーザーがEJBサポートを手軽に利用できるように、OpenEJBを組み込む形での統合が選択されました。
WebObjectsとの統合準備段階では、大規模な統合テストが実施されました。このテストスイートは、一般的なアプリケーションとして開発され、
WebObjectsやOpenEJBと統合された他のプラットフォームでも動作する必要がありました。
JUnitのテストスイートの構築を簡素化するため、OpenEJB内でテストを実行するように変更されました。これにより、コンテナが他のプラットフォームに組み込みやすい設計になり、環境への依存を最小限に抑えることが容易になりました。
この設計は、通常のユニットテストと同様に、EJBアプリケーションと組み込み可能なEJBコンテナを組み合わせるという概念に基づいています。初期のOpenEJBは、「ローカル」EJBコンテナとして、またローカルモードとリモートモードの両方で動作可能なものとして認識されていました。
2003年8月には、OpenEJBプロジェクトは
Apache Geronimoの立ち上げを支援しました。新しいバージョンのOpenEJBは、GeronimoのGBeanアーキテクチャに基づいて完全に再開発され、OpenEJB 2.0としてリリースされました。このバージョンは、Geronimoの1.x系バージョンで使用されました。
2006年にはEJB 3.0がリリースされ、このバージョンでは、より簡素化された開発が重視されました。
OpenEJBの特徴
OpenEJBの主な特徴は、その軽量さと柔軟性です。他のアプリケーションサーバーに組み込むことができるため、既存のシステムにEJB機能を追加したい場合に、容易に導入できます。また、
Apache License 2.0の下で提供されているため、商用利用も含め、幅広い用途で利用することができます。組み込み可能な設計により、開発者はアプリケーションにEJBコンポーネントを容易に追加でき、テスト環境においても、より効率的にEJB機能を検証することが可能です。
OpenEJBは、
Java EEの進化に対応しながら、常に最新のEJB技術を柔軟に導入できるプラットフォームとして、多くの開発者に利用されています。