マイクロサービスアーキテクチャに最適化したJavaを実現するための「MicroProfile」、Eclipseの正式プロジェクトに
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コミュニティなどのベンダとコミュニティが協力したためです。
この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が登場するとしています。
停滞していたJava EEは、この半年で再び最新技術をキャッチアップしようという動きが見えてきました。この動きが実際の成果に結びついていくかどうか、今年はJava EEにとって重要な年になりそうです。
あわせて読みたい
Amazon AI発表/ムーアの法則が成立しなくなると/Linux OSからFPGAを透過的に利用ほか、2016年12月の人気記事
≪前の記事
Rust言語、asm.jsやWebAssemblyをサポートへ。WebブラウザやNode.jsで実行可能に