BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ApacheがJava 8とMicroProfile 1.2をサポートしたTomEE 7.1をリリース

ApacheがJava 8とMicroProfile 1.2をサポートしたTomEE 7.1をリリース

ブックマーク

原文(投稿日:2018/11/13)へのリンク

Apache TomEEコミュニティがTomEE 7.1をリリースした。Java 8とMicroProfile 1.2のサポートをフィーチャーした、重要なアップグレードだ。

歴史

2011年、当時IBMの社員であったDavid Blevins氏が、ボランティアのチームを率いて、“Tomcat”と“JavaEE”を組み合わせた名称のTomEEを開発し、JavaOne 2011で発表したOpenWebBeansOpenEJBOpenJPAなどのApacheコンポーネントを取り入れたTomEEの最大の特徴は、コンパクトなこと、Tomcatであること、認証を受けていることだった。氏は2012年にIBMを離れ、次のような目的を持ったTomitribeを設立した。

コミュニティとTomEEのすべてをサポートします。開発者には仕事を提供し、顧客にはサポートを提供し、TomEEやオープンソース、JavaEEについて人々を啓蒙し、コミュニティのすべての人々の成功に貢献したいと思っています。オープンソースはエコシステムである、と私たちは考えています。生産する人たちから利用する企業まで、エコシステムのすべての人々には果たすべき役割があるのです。

Blevins氏はTomitribeの創設者として、現在CEOを務めている。

TomEE 7.1

Tomitribeは、この最新バージョンにアップグレードする便利な方法を提供している。新機能とアップグレードに関する詳細はリリースノートに記されている。

ちょうど1年前にリリースされたMicroProfile 1.2では、JWT-AuthFault ToleranceHealth CheckMetricsの各APIが導入された。開発者教育に関するコミットメントの一環として、Tomitribeでは、JWT-AuthのイントロダクションチュートリアルFault Toleranceイントロダクションチュートリアルを、TomEE 7.1のリリースに続いて提供している。

TomEE 8

Java 8をサポートしたことによってTomEE 7.1は、Java EE 8/Jakarta EEおよびMicroProfile 1.3に準拠する予定である、TomEE 8 GAリリースへのゲートウェイの役割を果たすことになる。TomEE 8 GAのリリース計画は、Tom EE 8 M1公開によって順調に進んでいる。

このマイルストンリリースには、JSON-Bサポート(JSR-367)、Java EE Security(JSR-375)の初期サポートなどの機能が含まれている。M1には実装されなかったが、Java EE Security仕様はすでに定義されており、今後のマイルストンリリースで実装される予定である。TomEE 8 M1にはさらに、CDI 2.0(JSR-365)、JAX-RS 2.1(JSR-370)、Servlet 4.0(JSR-369)、Bean Validation 2.0(JSR-380)、JSF(JSR-372)などのアップデートも含まれている。

その他のプロジェクト

Tomitribeは他にも、TomEEへのイントロダクションであるTomEE/JAX-RSスタータプロジェクトなど、さまざまなプロジェクトを提供している。このシンプルなJAX-RSデモアプリケーションは、色をモデル化したものだ。リポジトリをクローンした後、単に次のMavenコマンドを実行すればよい。

    
mvn clean install tomee:run
    

サーバが起動すると、コマンドラインないしブラウザ上で次のものが実行できるようになる。

このデモアプリケーションは4年前に公開されたものだが、TomEE 7.1用にアップデートされている。

今回の最新リリースについて、Blevins氏が説明してくれた。

InfoQ: 2011年にTomEEを開発したきっかけは何だったのでしょう?

David Blevins: TomEEは多くのモチベーションが結び付いたものなので、ひとつを挙げるのは難しいですね。大きくは、業界を変えるということでした。当時はTomcatが市場の50パーセントを占め、残り50パーセントを他のJava EEアプリサーバが分け合っている状態でした。それまでJava EEを敬遠していたTomcatコミュニティ用にJava EE実装を開発することで、業界を統一することを意図的に目標としていました。

もうひとつの側面は、エンタープライズの“最小単位(small)”を再定義することでした。“small”の百倍、というようにです。業界が“大規模(big)”を回避しようとしていることは明確でしたから、“最小単位”を完璧に開発することに重点を置いた実装を、Java EEの誰かが推進する必要があったのです。

そして最後にあったのが、OpenEJBコミュニティのすばらしい情熱です。長年のEJBバッシングにも屈することなく、最も頑強な考え方をも克服して、成功を収める上での大きな推進力となりました。TomEEの2年前、私たちは世界中のさまざまな場所で出会い、あちらで1週間、こちらで1週間というようにハックを重ねてきました。出会うたびに私たちの夢は膨らみ、ついにはTomEEが誕生したのです。

InfoQ:TomEEが他のミドルウェアアプリケーションサーバと異なる点は何ですか?

Blevins: そもそも私たちは、“アプリサーバ”の支持者ではありません。public static void mainが好きなのです。IDE上の一般的なユニットテストを使って、1秒程度のオーバヘッドで実行することができなければ、とても我慢することはできません。それが限度なのです。

TomEEは従来型のアプリサーバとしても実行可能ですが、私や他の人たちは個人的に、ほとんどの場合において、IDEプラグインや分離プロセスを使用せずに埋込んで実装する場合がほとんどです。TomEE JAX-RSスタータプロジェクトでは、TomEE Embeddedを使用して3~5秒で実行されるような、単純なJUnit/Arquillianテストが用意されています。mvn tomee:execを実行すれば、自身のアプリのuber-jarバージョンを入手できます。

Tomcatに対する業界の投資は、TomEEユーザにとってユニークかつ大きなアドバンテージとなります。Java関連ツールやクラウドプラットフォームはすべて、何らかの形でTomcatをサポートしています。TomEEはTomcatの別バージョンですので、通常はそのまま、それを使用することができるのです。

TomEEのダウンロードは30~40MBと小さく、2~5秒で起動し、50MB未満のRAMで動作します。TomEEはAmazon AWS t3.microインスタンスでの動作を保証されており、2011年には最軽量のJava EE 6アプリケーションサーバとして、他を大きく引き離していました。2016年にAntonio Foncalves氏が実施したJava EE 7サーバのテストでも、TomEEは依然としてトップクラスにありました。Java EE 8は誰がその称号を得るか、間もなく分かるでしょう。皆が追いつこうとしているのは、本当に素晴らしいことです。

InfoQ: TomEE 8のリリースはいつ頃になりそうですか?

Blevins: Apacheのオープンソースプロジェクトに関するタイムラインは提供できないので、私の回答は非公式なものとさせてください。Java 11互換性に関する作業があと数週間続きそうですので、TomEE 8の次期マイルストンのリリースはその完了後になると思います。その後で、新たにオープンソースになってからまだリリースされていないJakarta EE 8 TCKの実行を、TomEEのどのバージョンから開始するか、という議論をすることになります。見込みとしては、1月のタイムフレーム内でTomEE 8を最終的にリリースして、TomEE 8.1でJakarta EE 8コンプライアンスを目指すことになるでしょう。

InfoQ: IBMがRedHatを買収するという発表が先日ありましたが、それについて何か懸念はありますか?TomEEやThorntail、OpenLibrary、Payara、MicroProfileにどのような影響を与える可能性があるのでしょう?

Blevins: オープンソースに関する私たちの影響力は、ベンダのそれをはるかに上回っています。今あげたようなプロジェクトを私たちが継続したいと考えれば、そのようになるでしょう。難しいのは自己認識に関する部分です。

昨年Equifaxがハックされ、14,000万の社会保障番号が失われて、時価総額で42億ドルの損失を被ったことで、Strutsが非難されました。これによって、Apache Strutsコミュニティの友人たちの多くが、大きな失望を感じました。攻撃されたことは問題ではありません。努力の結果として、すでに脆弱性の修正を完了していたオープンソースプロジェクトも問題ではありません。問題なのは業界にいる私たちであり、オープンソースが自分たちの所有物であって、自分たちに責任があるということを理解しないがために、自ら失敗を繰り返している私たちなのです。

オープンソースを利用して社内に予算を確保しているのであれば、その予算の一部を使用しているオープンソースに振り向けなければ、発生する問題はすべて自己責任ということになります。あなたがエグゼプティブコールしたことで、あなたにとって重要なものが資金不足に陥っているのです。 それは危険な選択であって、あなたの会社が被るすべての損失があなたの責任になります。

賢明になってください。電卓を取り出して、マイグレーションの時間と労力にどれほどの費用が必要かを計算してみましょう。その割合を毎年、あなたが使用しているオープンソースに振り向けてみてください。あなたにとって間違いなくプラスになります。

どれ位プラスなのかって?Strutsの例をもう一度見てみましょう。Equifaxのハックから12ヶ月後、Indeed.comは、Strutsの経験者を募集する1,721の求人を掲載したことを明らかにしました。控えめに見積もって1人当たり80,000ドルとしても、Strutsのために13,700万ドルの費用を予定したことになります。同社がその5パーセントをStruts自体に向けていれば、費用は685万ドルで済んだはずです。つまり、Struts経験者1人を募集する求人広告からわずか3,980ドルをプロジェクト自体に投入すれば、85.6FTE(フルタイム当量)に当たるコードを手に入れることができたのです。80,000ドルで1FTEと4,000ドルで85FTE、どちらがよいと思いますか?

私たちはオープンソースが下手なだけでなく、数学も苦手なのです。オープンソースにはたくさんの開発者がいます。オープンソースなエグゼプティブももっと必要です。

OpenLibertyやThorntailが心配ならば、支出を開始するのに、何らかの統合が行われるまでの3年間という猶予があります。何が起きるのかはあなたの行動が決めるのであって、“投票”しないのであれば将来的に不平を言うことはできません。さらなる“Red Hat”が業界に必要だと思うのであれば、ビジネスのごく一部分をPayaraやTomitribeにシフトして頂ければ、今後2年間での業界レベルの影響に驚くであろうことを保証します。

InfoQ: TomEEは今後、特にMicroProfile 2.0のサポートという点で、どのような方向に進むのでしょうか?

Blevins: MicroProfile 2.0に関する開発は、TomEE 8の早い時期に完了する可能性が高いと思います。MicroProfile 1.4と2.0は機能的に同じですし、TomEEは1.4にほぼ準拠しているからです。今のところ、MicroProfileテクノロジを備えた専用のTomEEディストリビューションがひとつだけあります。TomEE PlusやPlumeにはありません。

これらがPlusやPlumeに追加されるか、あるいはJava EEとMicroProfileサポートをワンボックスに収めた新たなTomEEのディストリビューションが現れる可能性が高いと思います。現在のTomEE Plusよりも4MB程度大きくなるだけでしょう。Jakarta EE 8認定のTomEEは、新しいAmazon AWS t3.nanoインスタンス上で実現できればと思っています。

活動全般に関しても、大きな進展が期待できると思います。TomEEコミュニティにはこの12ヶ月の間に、過去6年間よりも多くのコミッタが加わって、新たなリリースやアクティビティの原動力になりました。MicroProfileの進展とJacarta EEの登場で、私たちの業界はあらゆる面で強さを取り戻しています。TomEEもその一部なのです。

エキサイトするのは今です。コミットするのは今です。TomEEコミュニティの将来は、朝日のように光り輝いています。

リソース

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT