【2016/11/9 NCオープンセミナー】 今日から始める XPages アプリケーション開発!(オープンセミナー 2016 ハンズオン XPagesDay 出張セッション)

我らがXPagesDayがまたもノーツコンソーシアムイベントをハックします!

XPagesDayとはXPages技術に関するテクニカルWEBセミナーです。もちろん参加費無料。

今年2016 年はXpagesDay2016と題して、11 月 21 日(月)、22 日(火)の二日間を計7セッションの濃い内容でお送りします。

毎年ケートリックからも1セッション講師を務めさせて頂いておりますが、今年は私、田付とエンジニアの米原の2人で「XPagesでJava開発するぞ!」というタイトルで普段あまり聞けない内容のセッションをお送りする予定です。

 

そんな普段はウェビナーだけのXPagesDayですが、今年は(も)ノーツコンソーシアム様イベント「ノーツオープンセミナー2016」でセッションを1コマ奪取することに成功したようです!

XPagesDay 2015

「今日から始める XPages アプリケーション開発!」

今年のセッションタイトルはこちら ↑

このセッション、ハンズオンセッション! 2時間弱の濃いセッションです!

ハンズオンセッションなので参加者の皆様と一緒にXPages開発をその場で行っていきます。

 

さらに、

講師を務めるのが2015年までIBMチャンピオンであった (株)ソルクシーズ 吉田さん。

この吉田さんが今回のために用意したセッション資料が怒涛の127ページ!!!

 

さらにさらに、

その吉田さんの号令により集まるXPages開発の猛者たち!

私も僭越ながら補佐役としてこちらのイベントに参加させて頂きますが、その他にも名だたる猛者が脇を固めます。

XPages初心者の方をこれ以上にないほどに強力にバックアップしていきます。

XPages初級者向けのセッションですのでXPagesを業務で学ぶ必要がある方から、興味がある方までどしどしご参加ください。

 

参加費無料のノーツコンソーシアム オープンセミナ―への登録は以下のURLから行なってください。

【 イベント、セッション概要について 】

セッション: <H21> 今日から始める XPages アプリケーション開発!

日時:2016年11月9日(水) 10:00 – 11:45

場所:日本アイ・ビー・エム株式会社 本社事業所

【詳細・お申込みについて】

イベントページhttp://www.notescons.gr.jp/home.nsf/content.xsp?k=ncopen16&w=12


【2016/11/9 NCオープンセミナー】 既存ノーツアプリのWEB化でハマらないためのノウハウをご紹介します

いよいよ「ノーツコンソーシアム オープンセミナー」の開催が近づいてまいりました。

弊社からは

「開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!」

と題して講演をさせて頂きます。

開発者だけでなくノーツアプリのWEB化をすすめるご担当者に是非知って頂きたいWEB化のための解析、分析ツールをデモを交えてご紹介する予定です。

具体的には、以下のツールのご紹介を考えております。

  • Teamstudio Analyzerの監査機能
    XPAGES化の際のハマりどころを事前に洗い出す方法としてTeamstudio社の製品であるAnalyzerの監査機能を使った手法をご紹介。
  • Teamstudio Usage Auditor
    「そもそもこのNSFはWEB化が必要なほど使われているのか?」を利用頻度などの情報から事前に調べることが可能なツールのご紹介。 こちらもTeamstudio社の製品になります。

  • Teamstuio Adviser
    Teamstudio社から今年発表される製品をどこよりも早くご紹介。WEB化のための見積もり算出に使えるツールです。
  • We4IT ScanAlyzr
    We4IT社の製品であるWEB化見積もりツールのご紹介。 XPAGESによる開発工数の自動算出だけでなく、ノーツWEBアプリ作成ツール「Aveedo」でWEB化マイグレーションした際の開発工数の自動算出も行うツールになります。
  • We4IT Aveedo
    既存ノーツアプリをDominoデザイナー要らずでWEB化してしまうツールのご紹介です。お時間がゆるせば実際にサンプルのNSFアプリをAveedoを使い自動WEB化する手順をデモでお見せいたします。

 

さらに、様々なお客様のご依頼を頂き、NSFアプリのXPAGES化を行っている弊社だからこそお伝えすることができるノウハウを交えてご紹介する内容の濃いセッションになっております。

弊社が販売代理店契約をもつWe4IT社の製品だけではなくTeamstudio社の製品のご紹介など、参加者の方々へのメリットを優先でご紹介するセッションとなっているのも面白い試みだと思いますので是非ご参加ください!

 

イベント参加のご登録がまだの方は是非こちらのリンク下の「お申込みリンク」からご登録を行うことが出来ます。(参加費無料)

 【 開催概要について 】

弊社セッション: <S13> 開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!

日時2016年11月9日(水) 13:00 – 13:45

場所日本アイ・ビー・エム株式会社 本社事業所

セッション情報S13 -開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!

【詳細・お申込みについて】

イベントページhttp://www.notescons.gr.jp/home.nsf/content.xsp?k=ncopen16&w=12


2016/11/9ノーツコンソーシアム 弊社セッションのご紹介

「開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!」

ノーツコンソーシアム様主催による「ノーツコンソーシアムオープンセミナー」が、2016年11月9日(水)に開催されます!
弊社からは「開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!」と題して様々な開発ツール、開発支援ツールをご紹介させて頂きます。

また開発者だけではなく、既存のNSFアプリのWEB化、モバイル化、XPAGES化に問題を抱える担当者様に必見のWEB化解析ツールや見積もりツールをご紹介いたします。

ご興味があるかたは是非ご参加ください。

イベント参加はこちらのリンク下の「お申込みリンク」から行ってください。

【弊社セッション】

S13
開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!

11/9 13:00 - 13:45

大量のノーツアプリのWEB化に頭を抱えていませんか? アプリの利用頻度、コードの複雑さなどを分析、可視化するツールをご紹介。またXPAGES開発以外の様々なノーツアプリWEB化ツールをご紹介。

ケートリック株式会社
代表取締役
田付 和慶 氏

【 開催概要について 】

日時2016年11月9日(水)13:00 – 13:45

場所日本アイ・ビー・エム株式会社 本社事業所

セッション情報:S13 -開発者必見!ノーツアプリを効率的にWEB化するツールをご紹介!

【詳細・お申込みについて】

イベントページ http://www.notescons.gr.jp/home.nsf/content.xsp?k=ncopen16&w=12


【2016/10/21 (金) 】テクテクLotusセッション:DominoのWEBアプリ作成をもっと簡単に。DesignerいらずのWeb開発ツール「Aveedo」

DominoのWEBアプリ作成をもっと簡単に。DesignerいらずのWeb開発ツール「Aveedo」

様々な業務アプリをWEBで直感的に素早く作成できるドイツ生まれのソリューション「Aveedo」のご紹介です。
開発するアプリは自動でスマホ対応はもちろん、グラフ表示、Office・PDF出力、チャット、ワークフローなど便利な機能が満載です。
もう一つの目玉に既存NSFアプリをウィザード操作でカンタンWEB化する機能があり、素早く最新のWEBアプリに生まれ変わらせます。
セッションではAveedoで実際に作られたCRM、SFAなどの高度なアプリを織り交ぜてご紹介致します。
【 開催概要について 】
日時2016年10月21日 (金曜日) 18時から20時 (17時30分開場)
セッション情報セッション 2 : DominoのWEBアプリ作成をもっと簡単に。DesignerいらずのWeb開発ツール「Aveedo」
場所日本アイ・ビー・エム株式会社 IBMイノベーション・センター :会場へのアクセス

IBM Champion 2017へのノミネーションが始まりました

IBM Champion 2017へのノミネーションが始まりました

その年のIBM Championを決めるノミネーションが本日(2016/10/04)より始まっています。

以下のIBMのソリューションやソフトウェアに対し、年間を通してそのテクニカル・コミュニティーに優れた貢献をしてきた人たちに送られる称号がIBM Championと呼ばれています。

  • IBM Analytics (IM/BA/ECM)
  • IBM Clound, including IBM Middleware
  • IBM Collaboration Solution
  • IBM Power Systems

2015、2016年では弊社から私、田付和慶がIBM Championに選ばれるという栄誉を頂きました。2016年では計4名のIBM Championが日本から選ばれました。

IBM Championに自薦、他薦しよう

その年のIBM ChampionはこちらのURLから応募が可能となっています。ここでノミネートされた自薦、他薦を含む人たちの中からIBMが毎年IBM Championにふさわしいと思う人たちを任命する流れになります。

ただ、こちらのエントリーフォームが英語であるため、日本人にとっては少々ハードルが高くなってしまっているようです。

そこで、去年に続き、以下にエントリーフォームの和訳を載せてみました。

※記入は英語で行わなければいけません。自薦、他薦する人は避けようがありませんので頑張ってください(笑)

去年のエントリーと比較していくつか変更点があるようです。(去年の和訳を乗せた弊社のブログはこちら )

気が付いた大きな変更点は以下です。

  1. 2016年版では過去1年前まで遡って行われた貢献を記入するようになっていましたが、今回は18か月まで遡っての貢献に変更
  2. 推薦する人(他薦の場合は推薦対象の人)はdeveloperWorksでプロフィールを持っており、更新されていることを推奨していると明記

 

(なおこちらはIBMからの正式な和訳でもなく、私が勝手に訳したものですので最終的な判断は自己責任でお願いします。)

IBM-Champion-Nomination-Form-1

IBM-Champion-Nomination-Form-2

IBM-Champion-Nomination-Form-3

 

今年も日本からも沢山のノミネートが行われることを期待しています!

エントリーフォームは<こちら>から。


XPages on bluemixとIoTでBB-8を動かしてみた (2/2)

前回からの続き

こちらのブログは前回の「XPages on bluemixとIoTでBB-8を動かしてみた パート1」の続きです。

前回までで、WindowsでBLEを制御するための以下の手順がおわりました。

  • (1)WindowsでBLEを制御するために
  • (2)BluetoothのUUIDを取得

 

(3)GitHubからBB8-Bluemixプロジェクトを入手

BLE接続が出来ればNode.jsのBB-8サンプルコードがあるので、それにドローンの時のようにMQTTを組み込んでIoT対応してやればいいと考えていましたが、なんと既にBB8-Bluemixなるプロジェクトが存在することを発見。今回はありがたく使わせて頂くことにしました。

https://github.com/shamimshossain/bb8-bluemix

こちらからbb8-Bluemixプロジェクトをクローンするなりしてローカルに展開します。

次に、コマンドプロンプトを開き、プロジェクトフォルダのパスにChange Directoryした後、「npm install」を実行します。 依存関係で色々とワーニングが出ましたが自分の環境では実行自体は出来ましたのでそのまま進めます。

bluemix-xpages-bb8-08

インストールが完了したら、プロジェクトフォルダ内にある spheroDemo.js を開き3行目の引数にパート1で取得したBluetooth UUIDを指定します。MAC OSではBLEアドレスは20桁以上であるようですが、Windowsでは12桁のIDでした。

 

(4)BluemixでInternet of Things Platform Starterアプリを作成

  1. bluemix.netに自分のアカウントでログインします。
  2. カタログから「Internet of Things Platform Starter」を選択
    bluemix-xpages-bb8-01
  3. 名前とホスト名を任意の値にして作成をクリック
    bluemix-xpages-bb8-02

(5)IoT Foundationよりデバイスの追加を行う

  1. アプリケーションのステージングが完了したら、左メニューから「Internet of Things Platform」を選択します。
    bluemix-xpages-bb8-03
  2. デバイスの接続から「ダッシュボードを起動」をクリックします。
    bluemix-xpages-bb8-04
  3. IBM Watson IoT Platform画面が開いたら「デバイスの追加」をクリック
    bluemix-xpages-bb8-05
  4. デバイスの追加ウィザードが開くので「デバイス・タイプの作成」を選択。次へ
  5. 「デバイス・タイプの作成」 ‐ 「一般情報」ステップではデバイスの名前を「sphero」にして次へ
  6. 「デバイス・タイプの作成」 ‐ 「テンプレートの定義」ステップでは特になにも選択せず次へ
  7. 「デバイス・タイプの作成」 ‐ 「情報の送信」ステップでもなにもせず次へ
  8. 「デバイス・タイプの作成」 ‐ 「メタデータ(オプション)」ステップもなにもせず「作成」ボタンを押下
  9. 「デバイス・タイプの選択」でさきほど作成したデバイスタイプを選び次へ
  10. 「デバイス情報」ではデバイスIDを任意の名前に設定して次へ
  11. 「メタデータ」ではなにもせず次へ
  12. 「セキュリティー」もなにもせず次へ
  13. 「要約」で確認後、追加ボタンを押下
  14. デバイス資格情報が表示されるので、赤で囲んだ部分をメモしておきます。
    bluemix-xpages-bb8-06
  15. 次に「Internet of Things Platform Starter」のダッシュボードに戻り、apiKeyとapiTokenを確認しメモします。
    bluemix-xpages-bb8-07

(6)BB8-Bluemixプロジェクトの設定ファイルにIoT Foundation情報を設定する

(3)で展開したBB8-Bluemixのプロジェクトを開き、sphero-config.properties ファイルを開きます。
以下のようにファイルを編集します。

  • deviceid: IBM Watson IoT Platform で登録した BB-8 の Device ID
  • authtoken: IBM Watson IoT Platform に BB-8 を登録した際に割り当てられた認証トークン
  • apikey, apitoken: IBM Watson IoT Platform の資格情報に記載されたapiKeyとapiToken

(7)MQTTクライアントからIBM IoT Fundationに接続テスト

にこちらのbb8-bluemix プロジェクトの下部に記載されているNode-Redのコードで実行テストを行います。

  1. bb8-bluemix プロジェクトの下部にあるNode-Redのコードをコピーします。
  2. Bluemixで作成した「Internet of Things Platform Starter」アプリケーションからプロジェクトURLを開きNode-Redを起動させます。
  3. メニューからインポートを選択しコピーしたコードを貼り付けます。
    bluemix-xpages-bb8-09
  4. 青色の「IBM IoT App Out」ノードをダブルクリックして以下のように設定を行います。
    bluemix-xpages-bb8-10
    ・Device TypeはIoT Foundationで指定したspheroを指定。
    ・Device IdにIoT Foundationで追加したデバイスIDを指定。
  5. Node-Redの「Deploy」ボタンを押し保存します。

ここまで設定が完了したら、コマンドプロンプトからspheroDemo.js を実行してBB-8と繋いでおきます。次にNode-Redから「Change color to Red」などのノードをクリックして実行しBB-8を制御できるか試します。

(8)XPages on Bluemixのアプリを作成

ここでやっとXPAGESの話になります。

  1. BluemixのカタログからXPAGESランタイムを選択します。
  2. 任意の名前、ホスト名を入力しアプリケーションを作成します。
  3. XPagesアプリケーションを作成後、スターターコードをダウンロードします。

 

(9)加速度センサーによるBB-8の制御アプリをBluemixにデプロイ

BB-8を制御するXPagesアプリケーションをこちらからダウンロードしてください。

bluemix-xpages-bb8-download

ダウンロード: http://ktrick.com/download/xpages-bb8-tpl.zip

自身のXPAGESアプリケーションの設計をこちらのものに置換するか、XPages, スクリプトライブラリ、リソース、ファイル、スタイルシートの設計をコピーして使ってください。

次にスクリプトライブラリのsp_mqtt_bb8.js を開き以下の赤枠の値を置き換えます。

bluemix-xpages-bb8-13

情報はNode-Redの時と同様に資格情報を参照します。

  • deviceid: デバイスID
  • pubTopic: デバイスタイプがspheroでない場合は書き換えます
  • mqtt_host: 資格情報のmqtt_hostを指定
  • mqtt_s_port: 資格情報のmqtt_s_portを指定
  • org: 資格情報のorgを指定
  • apiKey: 資格情報のapiKeyを指定
  • apiToken: 資格情報のapiTokenを指定

設計置換後にBluemixにデプロイするとXPAGESアプリケーションのTOPページが以下のようなものに置き換わっていることが確認できます。

bluemix-xpages-bb8-12

(10)XPAGESで動作テスト

Node-Redでテストしたときと同様にspheroDemo.jsを実行しBB-8とIoT Foundationを接続しておきます。

次にXPAGESアプリをスマートフォンで開いてください。

今回のXPAGESアプリではHTML5+Javascriptによってスマホのモーションセンサーを感知し前後、左右にBB-8を制御することが出来るようになっています。

こんな感じで操作できます。 

動いた~♪
以上により、フォースはXPAGESとIoTで成り立っていたということが証明できました。


XPages on bluemixとIoTでBB-8を動かしてみた (1/2)

XPagesとIoTでドローンの次はBB-8をプログラムで制御

昨年の2015年11月18日、Notesコンソーシアム「パートナーソリューションセミナー」の1セッションをXPAGESDAYがハックし、「XPagesとIoTでドローンを飛ばそう」という試みを行いました。

今回は、ドローンの代わりにスターウォーズ最新作の映画『スター・ウォーズ/フォースの覚醒(エピソード7)』に登場したドロイド「BB-8」をXPAGESから制御してしまおうという試みです。

なお、ドローン(AR-Drone)の時のシステム構成図がこちらのようになっていました。xpages-iot-drone-diagram

スライドはこちら。

ドローンの時と異なる点

ドローンの時はドローン自身が持つ専用WiFiに接続してIoTを経由してコントロールするというものでしたが、今回のBB-8ではWiFiの代わりにBluetoothを利用する点が大きく異なります。

まずはBB-8を入手

実は自分はBB-8は海外のとある方からの頂きもので偶然入手しました。 通常の遊び方は専用のスマートフォンアプリをインストールしラジコン(古い?)のようにBB-8をコントロールして遊びます。

Amazonで調べるとBB-8のオプションアイテムとしてフォースバンドなるものが2016年9月30日に発売されるようです。 これを見て真っ先に「これってIoTのセンサーデバイスとして流用できるのかな?」と考えた自分はちょっと病んでいるなと思っています。

※日本で買うと結構お高いみたいなのですが、英国のAmazonで買うと半値ぐらいなんですよね。送料込みでも十分元が取れるので興味ある方は海外のAmazonも見てみてください。

bb-8-amazon

Amazonはこちら

 

BB-8の前身はSphero?

さて、なぜBB-8がプログラムにより制御できるかと言いますと、実はSphero Japanが販売しているロボティクスボール「Sphero」というプロダクトが元となっています。

sphero

上の写真のような丸いボールのおもちゃでやはりスマートフォンから制御出来たりするようです。 そしてこの時から開発元が色々とSDKを提供しておりプログラム制御が可能な製品であったようです。 Spheroに頭の部分をつけたのがBB-8と考えるとしっくりきますが、どうやら中の構造は全く同じというわけではないようです。 そのせいか、BB-8が制御可能なSDKは発売後しばらく世に出てきていませんでした。

 

さて、前置きが長くなりましたが、BB-8をXPAGESとIoTを使い制御する解説を行ってまいります。

前提

  • Windows OSにnode.jsをインストール済みであること
  • Bluemixのアカウント作成済みであること
  • CFコマンドラインインターフェースをインストール済みであること
  • Bluemixコマンドラインインターフェースをインストール済みであること
  • IBM Domino DesignerにBluemixツールをインストール済みであること(設定はこちら
  • BB-8
  • Bluetooth 4.0 USB アダプター

 

システム概略

bb-8-system-overview

今回のbb-8の場合はドローン制御よりシンプルな構成です。

 

(1)WindowsでBLEを制御するために

自分の環境ではVAIOに内蔵のBluetoothデバイスをBLE接続のために利用出来なかったためBluetooth 4.0 USB アダプターを別途購入し、そのアダプターに対してZadig と呼ばれるツールでWinUSB driverの設定をするという手順が必要になりました。

こちらが購入したBluetooth 4.0 USB アダプター

IMG_5630

Bluetooth 4.0 USB アダプターがそろえば、あとはこちらの動画の手順に従い作業を進めてください。

https://github.com/sandeepmistry/noble

※これがMacだとこの面倒な手順が必要ないんですよね。Visual Studio、Pythonをインストールしての作業とかなり面倒なのでさすがに次期開発マシンはMacにしようかと心が揺らいでしまいます。

 

(2)BluetoothのUUIDを取得

上記の設定が整えば、node.jsのパッケージ管理ツールである npmを使い、「cylon-ble」というパッケージをグローバルインストールします。

npm i -g cylon-ble

次に「cylon-sphero-ble」をインストールします。

npm i cylon-sphero-ble

以上の手順でようやくBB-8のBluetooth UUIDを参照するための「cylon-ble-scan」コマンド が使えるようになります。

以下はWindows コマンドプロンプトの実行例ですが、以下からBB-で始まるNameを探しその下の行のUUIDを割り出します。

 

パート2へ続く

長くなったので、ブログを複数回に分けることにしました。

XPAGESは今のところ全く触れられていませんがパート2で出てきますのでもう少しお付き合いください。

続きは「XPages on bluemixとIoTでBB-8を動かしてみた パート2」へ


Notes/Domino 9.0.1 Fix Pack 7リリースと今後のNotes/Domino

 Notes/Domino 9.0.1 Fix Pack 7がダウンロード可能になりました

ダウンロードはこちらから

今後のNotes/Domino

2016年9月12日、Notes/Domino 9.0.12021年9月までサポートが延長されることが正式に発表されました。
⇒ https://www.ibm.com/blogs/social-business/2016/09/12/ibm-notes-domino-v9-extends-support/

振り返ると、2016年1月のIBM ConnectイベントでIBMは2016年第4四半期にNotes/Domino 9.0.2をリリースするとアナウンスしていました。

IBM Championの加藤さんがブログ(こちら)にてうまくまとめておられますが、先月8月に行われたMWLUG イベントで時期リリースは 9.0.2ではなくFix Packとしてリリースされることが噂として広がり、たちまちNotes/Dominoの今後を心配する声が多く聞かれるようになりました。

 

Fix Centralでバグフィックスと合わせて新しい機能も提供されていく

今後、Fix Packがただのバグ修正だけでなく、Java 8やMicrosoft Edge browserサポートなどの新しい機能がFix CentralでFPとしてダウンロードできる形で提供されていくようです。

 

IBM Championコミュニティーでの反応

Notes/Dominoの今後についていち早く議論をしてきたIBM Champion達ですが、これらの発表を受け、現在はIBM ChampionコミュニティーではNotes/Dominoのサポート5年延長を好意的にとらえています。

セールスの担当者レベルではエンドユーザーにこのバージョニングの変更を説明する難しさというのはあるかと考えますが、Notes/Domino関連のプロダクトを開発・販売しているIBM Championの会社も多い中、彼らがNotes/Dominoの今後についてパニックではなく、好意的に受け入れられたというのは意味があると思っています。

世界のIBM Champion達は生粋のハイスキル エンジニアばかりですから、バージョンの数字の持つ意味よりその中身のほうが気になっているのは、まさにエンジニアという感じがします。

Application Modernizationについてはいまだ語られず

こちらもいろいろなブロガーから注目をあつめているバズワードです。 これが今後のバージョン(いつのVerかわかりませんが)で組み込まれる予定の新しい機能のようですがその中身はいまだベールに包まれたままです。

IBMは2016年第4四半期中になにを意味するか詳しく発表する予定です。

自分としては一開発者としてこの機能の全貌が一番興味があるためまた最新の情報があればこちらで発信していきたいとおもいます。

 


XPAGES開発の実績紹介を追加しました

実績紹介ページに実績を4つ追加しました

nc-top-sq■ノーツコンソーシアム様のホームページをレスポンシブ対応で作成致しました。
CMS・ブログ投稿として機能するシステムをXPAGESで実装
詳細はこちら

■Notes添付ファイル マルウェア解析 WebAPI 連携

Javaを使いNotesクライアント、ブラウザのどちらからでも添付ファイルのマルウェア解析を行うことが出来るようになっています。
詳細はこちら


■ログインID・パスワードを暗号化で安全運用、シングルサインオン サービス

管理者であっても覗き見ることができない設計の暗号化ロジックを実装しています。
詳細はこちら


■ワークフローのスマホ対応 (XPagesによるWeb化)

既存ワークフローNSFをレスポンシブ対応でWEB化した事例です。
詳細はこちら


XPages on Bluemix からオンプレミスDominoのデータにアクセス

Hybrid XPages アプリケーション on Bluemix

XPages on Bluemixが2016年5月に製品版としてリリースされ、クラウド上で簡単にXPAGESアプリケーションを開発する環境が用意されました。

XPages on Bluemixでは”XPages ランタイム” と呼ばれる実行環境からXPAGESを動かすことになります。xpages_runtime

ただ、XPagesランタイムはあくまで実行環境という位置づけであり、データ(文書)の格納を行うには、別途データ格納先として”XPages No SQL Database”と呼ばれるサービスと組み合わせて開発することが一般的でした。

"XPages No SQL Database"と言っても蓋を開けてみればただのNSFファイルであるので、フォームやビューを作って文書を格納することができます。

しかし、この”XPages No SQL Database”というサービスは今のところ Bluemix Labs Catalogと呼ばれる実験的なサービスの一部という扱いとなっており、データの永続性が保障されるわけではないというのがIBMからの発表になります。

そこで、今回ご紹介するのがデータの格納先としてオンプレミスのDominoを指定してクラウドサービスのXPages on Bluemixを使ってみようという試みです。

オンプレミスのDominoでなくても、SoftLayer等のクラウド上にあるDominoでもいいのですが、要はBluemixのサービス外からデータを参照させるという方法になり、「Hybrid XPages Application on bluemix」なんてカッコいい呼び方もされるみたいです。

 

BluemixのXPagesランタイムで使用するための Dominoサーバーのセットアップ

icon-website-support-200x20Hybrid XPagesアプリケーションを動作させるにはオンプレミスの Domino構成に少し手を加える必要があります。

"XPages No SQL Database"サービスを利用したことがあればイメージがつき易いと思うのですが、"XPages No SQL Database"のユーザー情報等では「/O=bluemix」の組織名が利用されています。

これではXPages on BluemixからオンプレミスのDominoには相互認証がなくアクセス出来ないことが容易に想像できると思います。

そこで、オンプレミスのDominoから信頼されているサーバーIDを新たに作成し、XPagesランタイム・コンテナーにアプリケーションをデプロイするタイミングでサーバーIDファイルも同時にプッシュして提供するという方法をとります。

そうすることでXPagesランタイムがNRPC(Notesポート:1352)を使いセキュアにデータにアクセスすることが出来るようになります。

ここから先の前提条件

  • Domino Designer, Administratorがインストール済みであること
  • Domino Designer 9.0.1FP6もしくは OpenNTF.org からリリース15以上のXPages Extension Libraryがインストール済みであること
  • Domino DesignerのプリファレンスからBluemixの設定が完了していること
  • Bluemix上でXPagesランタイムを使ったアプリを1つ用意してあること。またXPagesアプリケーションファイル、manifestファイルをダウンロード済みであること。

Step1: Bluemix用のサーバーIDの作成

  1. Domino Administratorを起動し「設定」タブをクリック
  2. 「ツール」ペインから、「登録」⇒「サーバー」を選択
  3. 認証者の選択ダイアログで認証者IDを指定して[OK]bluemix_server_01
  4. Cert IDのパスワードを入力して[OK]
    bluemix_server_02
  5. サーバーの登録ダイアログでは登録サーバーを任意で変更して[続行]
  6. 新規サーバーの登録ダイアログではBluemix用のサーバー情報を記入。[全てを登録]を押して登録を完了させます。
    bluemix_server_03サーバーのパスワードはオプションなので追加しない人も多いと思いますが、自分の場合は今回サーバーIDファイルを外部に提供するわけなのでパスワードをかけておくことにしました。
    また「ファイル」の箇所をチェックしておき書き出し保存しておいた方が後のステップで使う時に便利なのでお勧めします。

これでサーバーの登録は完了です。特に変わった設定はなかったかと思いますが、1つ違う点として、この作成したサーバーIDをもとに新たにDominoをインストールするという必要はありません。あくまでBluemixのXpagesランタイムに渡してやるだけで動作するようになります。

※注意1: 新たに追加したサーバーIDが「LocalDomainServers」に含まれていることを確認してください。

※注意2: Bluemix XPagesランタイムからアクセスがあるサーバーのサーバー文書の「セキュリティー」タブ一番下、Trusted Serversに新たに作成したサーバー名もしくはグループ名が入っていることを確認してください。

bluemix-domino-server-04

Step2: IBM Bluemix Manifestの設定

  1. Domino Designerを開き、あらかじめBluemixで作っておいたXPagesアプリケーション(nsf)を開きます。
  2. 「アプリケーション構成」⇒「IBM Bluemix Manifest」を開きます。
  3. 右上「Hybrid Configuration」から「Edit」ボタンを押します
    bluemix-domino-server-05
  4. Hybrid 構成の情報を入力します
    bluemix-domino-server-06

    • Remote Server Address ( APP_REMOTE_DATA_SERVER_ADDRESS)
      : オンプレミスDominoのIPアドレスを指定。
    • Remote Server Name (APP_REMOTE_DATA_SERVER_NAME)
      : オンプレミスDominoのサーバー名(例: App01/ZetaDataBank)。
    • Runtime Server Name (APP_RUNTIME_SERVER_NAME)
      : 上記で作成した新規サーバー名 (例: bluemix/ZetaDataBank)。
    • Runtime Server ID File (APP_RUNTIME_SERVER_IDFILE)
      : 上記で作成した新規サーバーのIDファイル。
    • Runtime Server ID Password (APP_RUNTIME_SERVER_PASSWORD)
      : サーバーIDにパスワードを指定した場合は入力。
    • Directory Assistance Enabled (APP_DA_ENABLED)
      : ハイブリッド構成でディレクトリアシスタンスを有効にするかを指定。
    • Directory Assistance Domain (APP_DA_DOMAIN)
      : ドメイン名を指定(例:ZetaDataBank)。
    • Directory Assistance Address Book (APP_DA_ADDRESS_BOOK)
      : ハイブリッド構成で認証のために必要なディレクトリNSF (例: “names.nsf”)。

以上で設定は完了です。

試しにXPagesアプリケーションに以下のようなXPageを作成してみました。

このサンプルXpageではオンプレミスにあるNSFファイルのビューを指定しています。

あとはDomino DesignerからBluemixへデプロイしてやります。

bluemix_server_07

Bluemixサービスが自動で再起動され、さきほど作成したXPAGEにアクセスしオンプレミスのデータが問題なく取れていれば成功です。