SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2020】セッションレポート (AD)

これからのマイクロサービスに必要な最新技術が凝縮した「Helidon」を徹底解説【デブサミ2020】

【14-C-5】クラウド・ネイティブ時代に最適なJavaベースのマイクロサービス・フレームワーク ~ Helidonの実力を見極めろ!

  • このエントリーをはてなブックマークに追加

Helidon MP:MicroProfile仕様を駆使して効率的に

 Helidon MPはSEをベースにMicroProfile準拠であることが大きな特徴だ。Eclipse MicroProfileが最初にリリースされたころはJava EE 8を由来とした、CDI、JAX-RS、JSON-Pなどの仕様に限定されていた。しかし2019年11月にリリースされたEclipse MicroProfile 3.2では、マイクロサービス標準に準拠した仕様が増えてきている。Helidon MPではMicroProfile準拠の仕様に加え、JPA/JTAなどJava EE機能やgRPCも採り入れている。

Helidon MP Components
Helidon MP Components

 REST APIを実装する時は、普通のJavaのクラスにアノテーションをつけてRESTサービスにできる。JSONフォーマットのデータをやりとりするには、JSON-BでJavaオブジェクトにバインディングできるのでJSONデータを直接扱う必要はない。

 古手川氏は注目すべきMicroProfile仕様を3つ挙げた。サーバーが生きているか、準備OKかを答える「MicroProfile Health 2.1」、システムの健全性を測定する「MicroProfile Metrics 2.2」、分散トレーシングのためのAPIを提供する「MicroProfile OpenTracing 1.3」。古手川氏はデモとしてJaegerでサービスを呼び出すリクエストをトラッキングする様子を示した。HelidonがHTTP、セキュリティ、メソッドのレベルでトレーシング情報を自動で出しているのがポイントだ。つまりトレーシングに関してはコーディングしていない。

Helidon 拡張機能:セキュリティ、データ永続化、通信プロトコル

 Helidonにはエンタープライズアプリケーション向けの拡張機能もある。例えば認証や認可に関する機能を「Security Providers」として提供している。MicroProfileでも規定されているJWTを用いた認可機能、HTTP Basic AuthenticationなどHTTP系の各種認証機能、Google Login Authentication Provider、OIDC(Open ID Connect)Authentication Provider、さらにOracle Identity Cloud ServiceのグループとRoleをマッピングする機能を提供している。

 MicroProfileの仕様には含まれていないデータの永続化やキャッシュに便利な機能も備える。データベースへのデータ操作、コミットの制御、コネクションのプーリングによるパフォーマンス向上に関するものなどだ。具体的にはJavaオブジェクトをデータベースに永続化するための「JPA」、トランザクションを管理する「JTA」、コネクションプールとしてはHikariCPやOracle UCPなどが使える。

データの永続化/キャッシュが必要な場合に便利な機能
データの永続化/キャッシュが必要な場合に便利な機能

 マイクロサービス間で効率的な通信を実現するためのgRPCもある。現在はまだ「Experimental」の位置づけであるものの、将来が期待される技術だ。HTTP/2をベースとしており、バイナリフレームを用いて双方向ストリーミングに対応できることと、送信データをシリアライズしてバイナリ変換するため転送データ量を削減できるのが特徴だ。

Helidon 2.0に向けて:Verrazzanoと合わせてこれからのマイクロサービス・フレームワークに

 2020年2月5日、次のマイルストーンビルドHelidon 2.0.0-M1がリリースされた。Helidon 2.0ではJava 11をターゲットとしている。主要な新機能となるのがHelidon MPでもGraalVMネイティブイメージが作成可能となること、データベースアクセスのためのFlow API実装(JDBCとMongoDB)、リアクティブ処理に関するMicroProfile仕様のサポートが広がること、Kafkaコネクタの提供などが挙げられる。

 さらに古手川氏は「Verrazzano」を挙げた。これはオラクルがHelidonと並行してオープンソースで進めているソリューションのプロジェクトだ。RancherによるKubernetesのマルチクラスタ管理、オンプレからマルチクラウドまで包括的なアプリケーションのライフサイクル管理などを含む。

 HelidonはVerrazzanoやGraalVMなどと合わせて、オラクルが考えるクラウド・ネイティブ時代に適したマイクロサービスフレームワークとなる。古手川氏は「ぜひHelidonを試してみてください。そしておちゃかふぇ(Oracle Cloud Hangout Cafe)にも来てください」と呼びかけ、セッションを終えた。

お問い合わせ

 日本オラクル株式会社

 お問い合わせ先

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2020】セッションレポート 連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12054 2020/04/01 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング