原文はこちら。
The original article was written by Peter Nagy (Product manager, Oracle).
https://medium.com/helidon/announcing-helidon-2-0-19c245f5488a
本日Helidon 2.0が一般提供されました。
Helidon
https://helidon.io/
Helidonはマイクロサービスの開発を簡単にするJavaライブラリを提供しています。開発者に対して幅広い機能とメリットを提供します。
- 選択可能なプログラミングスタイル
Helidon SE:関数型プログラミング、完全な透明性と開発者のコントロールを提供
Helidon MP:宣言的プログラミング、MicroProfileとJakarta EEの標準APIを活用 - 簡単に利用でき、しかも高速 — ライブラリの集合とNettyコア上で動作するリアクティブWebサーバ
- 可観測性(Observability)とヘルスチェック、メトリクス、トレーシング、およびフォールトトレランスを通じた耐障害性の向上
- GraalVM Native Imageを使ったJavaアプリケーションのコンパイルが可能。ネイティブイメージを生成して高速な起動や小さなメモリフットプリントを実現
- 継続的なアップデートや速いリリースサイクル、柔軟なライセンスというオープンソースプロジェクトのメリットを享受しつつ、Oracleからのエンタープライズサポートとの組み合わせも可能
MicroProfile
https://microprofile.io/
GraalVM Native Image
https://www.graalvm.org/docs/reference-manual/native-image/
Announcing Oracle Support for Helidon for WebLogic and Coherence customers
https://blogs.oracle.com/weblogicserver/helidon-enterprise-support-for-weblogic-and-coherence-customers
Helidon 2.0には、Helidon SE、Helidon MPの両プログラミングスタイルに、以下の機能を含めて大幅な機能改善が加わっています。
- Helidon MP での GraalVM Native Image のサポート(SEではすでにサポート済み)
GraalVM Native Imageの起動時間やメモリ消費量の点でのメリットをMicroProfileを利用する開発者も享受できます。 - jlinkを使ったカスタムランタイムイメージを簡単に生成できるようになりました(起動時間短縮のためのCDSアーカイブのサポートも含む)まれます。
- Jakarta WebSocketのサポートがHelidon SE/MP両方に追加されました。
- Helidon MPにはMicroProfile Reactive Streaming OperatorsとMicroProfile Reactive Streams Messagingが追加されました。
- Helidon 2.0 ではJava SE 11をサポートしています(訳注:Java SE 8はサポートしていません)。開発者がこのJava SEリリースで提供されている新機能をフル活用できるようになりました。
jlink
https://docs.oracle.com/en/java/javase/11/tools/jlink.html
Reactive Messaging with Helidon 2.0
https://medium.com/helidon/reactive-messaging-with-helidon-2-0-f5de1ca5dc63
https://logico-jp.io/2020/03/29/reactive-messaging-with-helidon-2-0/
Helidon 2.0では開発者がすぐに利用できる早期アクセス機能も追加されています。
- 新しいHelidon CLI(コマンドラインツール)。Helidonプロジェクトや依存関係の管理、異なるパッケージングプロファイル(jar、native-image、jlinkイメージ)を使ったアプリケーションのビルドを支援します。
- Helidon SEでは新たなReactice StreamsとReactive Messaging機能を持つ完全なリアクティブフレームワークを提供します。
- 新たなHelidon SE向けのHelidon DB Clientでは、既存のブロッキングJDBCドライバで利用可能なリアクティブかつ非ブロッキングなデータベースクライアントを提供します。Helidon DB ClientではMongoDBのリアクティブドライバもサポートします。
- Helidon SEでは外部サービスに対する非ブロッキングHTTPアクセスを実現するためのリアクティブなHelidon WebClientを新たに追加しました。
Helidon WebClient
https://medium.com/helidon/helidon-web-client-72e22f5d509a
https://logico-jp.io/2020/03/25/helidon-webclient/
下図はHelidon 2.0の新機能、既存機能をまとめたものです。



リアクティブなマイクロサービスのための新機能やアップデートされたMicroProfileのサポート、Helidon MPでのGraalVM Native Imageのサポート、そして新たなビルドツールやプロファイルのサポートにより、Helidon 2.0はJavaによるマイクロサービス開発を可能にし、簡素化するための次の一歩を踏み出しています。たくさんの改善点を今日から利用できます。新しいマイクロサービスを構築して既存のアーキテクチャをサポートしようとする場合でも、マイクロサービスの旅を始めようとしている場合でも、既存のアプリケーションを拡張しようとしている場合でも、新しいアプリケーションを構築しようとしている場合でも、Helidonは強力な機能をもたらすとともに、開発者の生産性と柔軟な選択肢を提供します。
Helidon 2.0に加え、本日Coherence Community Editionがオープンソースになりました。Helidonで作成したマイクロサービスをCoherence Community Editionという証明された信頼性のあるスケーラブルな、インメモリ・データグリッドのステート管理およびデータ処理のためのプラットフォームと統合する機会をチェックしてみてください。これらの機能は全てオープンソースとして利用可能です。すぐに評価可能なサンプルアプリケーションがあります。
Helidon Sock Shop
https://github.com/helidon-sockshop/sockshop
Helidon、Coherence Community Edition、GraalVM、そしてOracle WebLogic Server間の統合に関する将来のアップデートにご期待ください。
Coherence Community Edition
https://coherence.community/
GraalVM
https://www.graalvm.org/
Oracle WebLogic Server
https://www.oracle.com/middleware/technologies/weblogic.html
Additional Resources
- https://helidon.io
- http://youtube.helidon.io/
- https://medium.com/helidon
- https://github.com/oracle/helidon
- https://microprofile.io/