マイクロサービスアーキテクチャに最適化したJavaを実現するための「MicroProfile」、Eclipseの正式プロジェクトに

2017年1月5日

Javaで業務アプリケーションを構築する場合には、一般にフレームワークとしてJava EEが採用されることが多いでしょう。しかしJava EEは業務アプリケーションに求められる機能を幅広く網羅した大きなフレームワークであることから、より軽量なJavaフレームワークへのニーズも根強くあり、実際に軽量な業務アプリケーション向けJavaフレームワークもこれまでにいくつも登場してきました。

また、Java EE自体もそうした軽量なフレームワークへのニーズに応えるため、特定の機能を抜き出してまとめる「Profile」という概念を採用するようになりました。例えばWebアプリケーションに最適化した「Java EE Web Profile」などはその一例です。

Microservices Architecture(マイクロサービスアーキテクチャ)に対応したアプリケーションをJavaで構築するためのProfileである「MicroProfile」が2016年6月に提唱されたのは、こうした中でJavaをマイクロサービスに対応させるための共通仕様を構築しようと、IBMやRed Hat、Payara、ロンドンJavaコミュニティなどのベンダとコミュニティが協力したためです。

fig

このMicroProfileを充実させるためのプロジェクトが2016年12月16日、Eclipse Foundationの正式なプロジェクト「Eclipse MicroProfile」として承認されました。

マイクロサービスアーキテクチャを簡単に説明するとすれば、サービスに分かれた多数の小さなコンポーネントをAPIによって連携させることで、システムを構築していくものと言えるでしょう。Eclipse MicroProfileはそうしたアーキテクチャの実現に最適化したEnterprise Java環境を構築することを目指しており、ゴールとして下記のようにポータビリティや相互運用性などを提供することが設定されています。

  • Provide a portable Microservices architecture across multiple Enterprise Java runtimes.
    (複数のEnterprise Javaランタイムにまたがるポータブルなマイクロサービスアーキテクチャを提供する)
  • Provide an interoperable Microservices architecture that allows communication among polyglot runtimes (not just Java).
    (Javaではない多言語の実行系のあいだでもコミュニケーションを通じて相互運用が可能なマイクロサービスアーキテクチャを提供する)
  • Provide an "incubation" environment for innovative ideas in the area of microservices and Enterprise Java.
    (マイクロサービスとEnterprise Javaの領域でイノベイティブなアイデアのゆりかごとなる環境を提供する)
  • Once an idea has been iterated on and approved by the larger community we can then submit to the JCP for consideration in a future JSR, (or other appropriate stds body).
    (アイデアがコミュニティ全体で練られ、承認されれば、将来のJSRとして検討してもらえるようJCPもしくは適切な標準化団体へ提案する)

Java EEは昨年、開発が遅延しているとコミュニティから指摘され、9月のJavaOneでオラクルがそれに応えるように新たなロードマップを発表。今年2017年末までに次バージョンのJava EE 8の開発を終え、2018年にはJava EE 9が登場するとしています。

fig

停滞していたJava EEは、この半年で再び最新技術をキャッチアップしようという動きが見えてきました。この動きが実際の成果に結びついていくかどうか、今年はJava EEにとって重要な年になりそうです。

あわせて読みたい

Java プログラミング言語 Java EE Microservices




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本