Bluemixが開発~確認~デプロイをシームレスに連携
続いて、万仲氏はデモンストレーションで、Bluemix上で行うアプリケーション開発の流れを紹介した。サンプルアプリケーションは、画面からPOSTしたデータをMongoDBに入れ、さらにそれをGETして画面に表示するというシンプルなもの。Java EE 6で作成されている。デモでは、Cloud Foundryプラグイン(Cloud Foundry Eclipse Plugin)を組み込んだEclipse上で、作成済みのWebアプリケーションがデータベースとして使用するMongoDBサービスを追加。次に、これをWAS Liberty Profile上にデプロイし、実行確認が行われた。
次の画面は、Eclipse上で追加したMongoDBサービスが、アプリケーションから接続できていることを確認する様子である。
続く下の画面は、BluemixのWAS Liberty Profileにアプリケーションをデプロイしている様子である。やはり、Eclipse上で行っている。
しばらく待つと、Liberty Profileにデプロイしたアプリケーションが、Eclipse上と同じように動作することを確認できた。万仲氏は「ぜひサクサクと作成し、サクサクと動かして確認し、リリースしてほしい」と、Bluemixで行う開発の手軽さを強調した。
また、万仲氏はアプリケーション開発時のポイントとして、アプリケーションのデプロイと、MongoDBへの接続について説明を加えた。
まず、アプリケーションのデプロイについては、Java EE 6で作成されたアプリケーションをプッシュするときには、server.xmlが自動的に設定される。そのため、Java EE 6のみのシンプルなアプリケーションなら十分対応できる。一方、もう少し複雑なアプリケーションを作成する場合には、Java EE 6のファイルだけでなく、Liberty Profileなどの設定情報もまとめてプッシュする方法がある。その際、zipファイルにする必要があるが、Liberty Profile内のパッケージコマンドを使えば自動的に生成されるので、プッシュに手間は掛からないという。
MongoDBへの接続については、2013年にMongoDBとの連携強化が発表され、それに伴い比較的接続しやすくなっているという。MongoDBへの接続情報は、通常、環境変数VCAP_SERVICESからCredentialsを取得する形をとるが、「この方法はJavaでは面倒。Clound Foundryのvcap-javaなどを使うほうが快適だろう」(万仲氏)。また、接続情報を扱う方法にはもう1つ、リソースインジェクションがある。アプリケーションのデプロイ時に、リソースとしてMongoDBを登録してしまうのだ。登録されたサービス名からJNDI名が自動生成されるので、命名規則とサービス名だけは意識する必要がある。
最後に万仲氏は「自由な環境下でアプリケーションを作成し、デプロイして動かして、しかもポータブルという開発環境をIBMとして全力でサポートしていきたい。IBMの戦略の中でも重要なものとして位置づけており、その核となるのがCloud FoundryベースのPaaSであるBluemixと、アプリケーション開発を支援するSaaSであるJazzHub。それらの有用性を実感していただくためにも、ぜひ一度触ってみてほしい」と開発者にメッセージを送った。
日本アイ・ビー・エム株式会社
〒103-8510 東京都中央区日本橋箱崎町19-21
TEL: 0120-04-1992