当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2016年8月27日土曜日

XPages研究会のハンズオンをまとめましたよ(2)

はい、こんにちは。

前回(XPages研究会のハンズオンをまとめましたよ(1))の続きです。

前回は、Node-REDアプリ経由でTwitterのつぶやきデータをIBM Bluemix上のXPages NoSQL Databaseに格納するところまで実装しました。


次は、XPages NoSQL Databaseの内容をXPagesアプリで表示してみましょう。ということでXPagesアプリを作成します。

5.xspアプリを作成する

  • Bluemixのダッシュボードに戻り、「Cloud Foundryアプリ」にある[アプリの作成]をクリックする
  • 「どのような種類のアプリを作成しますか?」を聞かれるので、[Web]をクリックする
  • 「どのように開始しますか?」を聞かれるので、[XPages]をクリックする
  • 画面下にXPagesの説明が表示されるので読んだら、[続行]をクリックする
  • 「新規アプリはどのような名前にしますか?」と聞かれるので、[アプリ名]にアプリケーションの名前を入力する(*1)
  • [完了]をクリックする
  • アプリケーションのステージングが完了するのを待つ
  • 「アプリは実行中です。http://~」の表示になったら、ダッシュボードに戻る
  • 実行中になっているxspアプリをクリックする
  • アプリケーションの画面になるので、[サービスまたはAPIのバインド]をクリックする
  • 「アプリケーションへのサービスの追加」画面が表示されるので、作成したXPages NoSQL Databaseを選択して[追加]をクリックする
  • 再ステージが必要という画面が表示されるので[再ステージ]をクリックする
  • 再ステージが完了すると、アプリケーションの画面にXPages NoSQL Databaseが追加されているのが確認できる

*1 任意で良いが、Bluemix全体でユニークである必要があるので、自分のものと分かり易いような名前をつけること


これでXPages on Bluemixとしての準備はできましたが、まだXPagesアプリをきちんと作成していません。
ここでようやくIBM Domino Designerを使ってXPagesアプリを作成します。

6.XPagesアプリを作成する

  • 前回の記事の「2.XPages NoSQL Databaseサービスを作成」でダウンロードしたBluemix用のNotes User IDを使ってXPagesアプリケーションを作成する
スターターコードをダウンロードすることによって、ある程度作成されたNotesDBを利用することもできますが、大したものを作成するわけではないので、今回は新規にNotes DBを作成します。

  • まず、事前に作成してあるXPages NoSQL Databaseで作成したフォームを表示するためのXPageを作成する
フォームの情報を表示するので、Domino文書のデータソースを定義します。
まず、データソースはIBM Bluemix上にあるXPages NoSQL Databaseなので、現在作成しているNotes DBとは別の場所にあります。そのため、データソースも「現在のアプリケーション」ではなく、計算して求める必要があります。
計算式は次のようになります。
bluemixContext.getDataService().findDatabaseName();
というのが、Bluemix上のNotes DBを探すための関数です。
xspアプリにXPages NoSQL Databaseをバインドしておくと、この関数によりそのNotes DBのファイル名を取得することができるようです。

あとは、フィールドを表示するためのコントロールを2つ定義して終わりです。
今回は編集する必要はないので、「計算結果コントロール」を配置しています。
  • 次にビューを表示するためのXPageを作成する
今回はサンプルということでビューコントロールを配置しただけのものにしました。
ここで注意したいのが、データソースの定義とビュー列の設定です。

データソースの定義はフォームの時と同じように、
bluemixContext.getDataService().findDatabaseName();
で取得するようにします。
この方法でデータソースを定義すると、ビュー名は自動で取得できないため、手動で入力する必要があります。

また、これにより、ビュー列も自動で取得することができないため、手動で追加する必要があります。
ソース画面で直接入力することもできますが、GUI上での操作をする場合、ビューコントロール上でマウスの右クリックをして[列の追加]メニューを実行すれば良いです。
当然、ビュー列の値も手動で設定する必要があります。

さらに、「実行時に、選択した文書を開くために使用」の項目の値を先ほど作成したフォーム用のXPageの名前に変更します。


ビューが作成できたらXPageを保存します。
  • XPageを作成したらアプリケーションビューで[IBM Bluemix Manifest]をダブルクリックする
  • IBM Bluemix Manifestを作成するウィザードを起動するかどうか聞いてくるので、[はい]をクリックする

ここからはいよいよBluemixにxspアプリをアップロードするための作業に入ります。
IBM Domino Desigerのプリファレンス設定でBluemixとの接続設定はできるようなっているはずですが、どのアプリケーションと関連付けするのかといった設定をすることになります。
といってもウィザードの設定どおりにすれば簡単にできます。
  • デプロイ用のディレクトリの場所を聞いてくるので任意のフォルダを指定する
  • [次へ]をクリックする
任意のフォルダとなっていますが、後で分からなくならないように、Notesが格納されている場所とは別のフォルダにすると良いでしょう。
  • デプロイ方法を聞いてくるので、そのまま[次へ]をクリックする
デプロイするのに、Notes DBのコピーを配置するのかレプリカを配置するのかを聞いてきます。
コピーを推奨しているので、そのままにしておきましょう。
  • デプロイするスペースを聞いてくるので、xspアプリがあるスペースを選択して[次へ]をクリックする
ここでは自分が作成したxspアプリがBluemixのどのスペースにあるのかを聞いてきます。
スペースが見当たらない場合は、Bluemixの別のリージョン(地域:米国南部、英国、シドニーのいずれか)に作成している可能性があるので、IBM Domino DesignerのプリファレンスでBluemixのURLを確認してください。
  • アプリケーションを作成するのか既存のに置換するのか聞いてくるので先ほど作成したxspアプリを選択して[終了]をクリックする
ここでxspアプリの名前を選択します。忘れてしまった!という場合は、Bluemixのダッシュボードで確認しましょう。
たくさんアプリを作成している場合は間違えないように注意してくださいね。
  • IBM Bluemix Manifestが作成されたので、[ESC]を押して画面を閉じる

これでこのNotes DBとBluemixのアプリの連携設定ができました。
この作業(IBM Bluemix Manifestの作成)は一つのNotes DBにつき一度だけ設定すればよいものです。
  • アプリケーションを右クリックして[IBM Bluemix]-[Deploy Application]をクリックする

この作業を行うと、Notes DBがBluemix上にデプロイされます。ここはかなり時間がかかりますので、気長に待ちましょう。

  • デプロイに成功すると、「Deployment Success」というメッセージが表示されるので[OK]をクリックする

このメッセージが表示されたら、IBM Bluemix上でアプリケーションが稼働している状態になっています。
ダッシュボードでアプリの画面を開いてxspアプリのURLをクリックします。
すると、XPagesアプリケーションが別ウィンドウで開きます。



起動したばかりなので、ビューには何も表示されていませんが、Twitterでつぶやけば、その内容が表示されるようになります。
(当然、Node-REDのアプリも起動しておく必要があります)


ということで、XPages研究会の7-8月のハンズオンの内容を2回に分けて紹介してみました。
XPages研究会のメンバーでまだ出来上がってないという方や、IBM BluemixとXPagesの連携に興味があるな。という方は、この記事を元に演習してみてくださったら嬉しい限りです。


では、今日はこの辺で・・・




0 件のコメント: