Play、Akka、Akka Streams、Lagom、Apache Spark――Lightbend Reactive Platformとは何か:リアクティブプログラミング超入門(2)(2/2 ページ)
本連載では、リアクティブプログラミング(RP)の概要や、それに関連する技術、RPでアプリを作成するための手法について解説します。今回は、Lightbend Reactive Platformがどういったものなのか詳細に見ていきましょう。Playのセットアップも行います。
Production向け機能
Lightbend Reactive PlatformのProduction機能には、「Enterprise Suite」と呼ばれる、リアクティブアプリケーションを運用、モニタリング、解析などを行うためのツールがあります。ここではEnterprise Suiteの主だった機能について簡単に説明します。
なおProduction向け機能は有償ですが、開発用にサンドボックス(Dockerイメージ)が提供されているので、それで試してみることも可能です(※Lightbend.comでアカウント登録が必要です)。
Application Management――システム構築に関連するオーケストレーション機能
クラスタ管理やロードバランシング設定、デプロイなどのシステム構築に関連するオーケストレーション機能です。Enterprise Suiteでは、「Lightbend ConductR」を使用してこれらを管理します。
Intelligent Monitoring――モニタリング機能
Enterprise Suiteのモニタリング機能はリアクティブアプリケーションを監視するためのいろいろな情報を提供します。
これは「Lightbend Monitoring」とも呼ばれ、サービス内のさまざまなメトリクスを収集できます。また、収集したデータをDatadogと連携させることで、データの可視化が可能です。
Activator uiでPlayをセットアップする
最後に、今後RPでアプリを作成するために、Playをセットアップしておきましょう(※本稿ではHomeBrewを使用してインストールします)。
著者が使用した環境は下記の通りです。
- OS:macOS 10.12.4
- Java:1.8.0_121
Play 2.3より前のバージョンでは、セットアップ時にPlay本体をインストールしてplayコマンドを使用していましたが、現在は「activator」を使用します。HomeBrewを使用して「typesafe-activator」をインストールしましょう。
% brew install typesafe-activator
activatorのhelpを実行してインストールされているのを確認します。
% activator --help Did not detect an activator project in this directory. - activator Load an existing project (has to be executed from the project directory) or print this help message if no project is found ・ ・ ・
次に、Playアプリを作成します。「activator new」コマンドでも作成できますが、今回は「activator ui」コマンドで「Activator ui」画面を呼び出し、使用します。
% activator ui
上記コマンドを実行すると、必要なライブラリをダウンロードした後、ブラウザが起動して次のような画面が表示されます。
「hello-scala」テンプレートを選択して「create app」ボタンを押してください。しばらくすると、hello-scalaアプリのメニューが表示されます。
この画面でアプリのテストや起動を行えます。画面左下の「Run」ボタンを押してみましょう。先ほど作成したサンプルアプリが実行され、画面に「Hello, world!」と表示されました。
これでPlayのセットアップは完了です。
次回はPlayとAkka、Akka Streamsについて
今回はLightbend Platformを構成するプロダクトについて、それぞれの特徴を簡単に解説しました。また、Playのセットアップも実施しました。Lightbend Platformがどういったプロダクトで構成され、どのような機能を持っているのか理解できたと思います。
次回はPlayとAkka、そしてAkka Streamsを紹介する予定です。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Java EE 8/9はマイクロサービス、リアクティブに向かう――MVCは生き残れるのか
デジタルトランスフォーメーション時代に生き残れるエンジニアに求められるものとは何か。長らく、日本のJavaコミュニティで存在感を示し続け、現在は日本マイクロソフトでJavaエバンジェリストとして活動する寺田佳央氏に聞いた。 - EJB、SOA、マイクロサービスへと至る大規模システム向けアーキテクチャの変遷
2000年前後からのアプリケーションアーキテクチャやEJB、SOAに触れながら、今後、大規模システム構築で主流になるであろう「マイクロサービス」アーキテクチャの意義と価値を考える。