2016/08/24

MWLUG での Domino Adminblast のご紹介

8月17日-19日、アメリカのテキサス州オースチンでMWLUG 2016というユーザーグループカンファレンスが開催されました。テキサスというと、ヒューストンやダラスが有名ですが、オースチンはIBMの研究所もあり、テキサス州の州都でわりと大きな都市です(私は行ったことありませんが)。
今回で、8回目の開催になるそうですが、 今年も無事に終了し、その感想やスライドなどが、インターネットにアップロードされはじめました。

未来に向かったセッションがたくさんある中で、歴史と伝統の「Adminblast」の講義もあったので、ご紹介いたします。もともとは、Paul Mooneyが Lotusphere 名物セッションとして毎年やっていましたが、それを Chris Miller や Gabriella Davis が強い意志で継続している姿は美しいです。(なおGabriella Davis はオリジナルの頃から共演しています)

今回のイベントでは、ライフタイムIBM ChampionのGabriella Davisが、Slideshareに資料をアップしてくれています。

Domino Adminblast

内容をみると、
- 基本的なDominoの運用
- 全文索引
- Traveler関連
- Sametime 関連
- セキュリティ
- Notesクライアント Tips
など、管理者が知っておくと、どこかで役に立つであろう Tips 満載で、私もワクワクしながら早速拝見しました。

既に知られている話もありますが、例えば私は以下の Tips などは初耳でほうほう、と読みました。
- P3 のメッセージトラッキング用のインデックス再作成
- P4 の domlog をカスタマイズして、より詳細の情報を得るテクニック
など。

以下は、国内でも知られた Tips の例ですが、おすすめです。これに限らず、是非お時間あるときに、スライドを一読していただきたいと思います。
- P23 エージェントマネージャと圧縮のバッティング
- P24-25 log.nsfを大量に取得しつつシステム影響を最小限にする
- P28 Updateタスクの状況確認
- P35 添付ファイルをダブルクリックだけで開く(私がもっとも好きなTipsの1つ)
- P38 巨大DBのレプリカスタブを作成する裏技
- P54 メール配信多ドメインでのマルチスレッド化

Gabriella Davisは、今回のイベントで、なんと4本も講演しているそうです。ライフタイムIBM Champion カッコいいです!

MWLUG Presentations & Wrap Up | The Turtle Partnership Blog

2016/04/24

Dominoのアプリケーション開発の将来に関する1つの話

長年 Notes/Domino のアプリケーション開発の世界で啓蒙を行ってきた Niklas Heidloff (現在はBluemix界隈で活躍中) が、以下のようなブログエントリを書いて、Domino界隈でとても大きな話題になっております。コメントが本日現在で 37件というのだから、その注目度がわかります。あの、Ed Brill までコメントしております。

My Thoughts on the Next Generation of IBM Domino App Dev

内容は、Dominoの開発について、オンプレミス、クラウドの双方を見たときに、今後どのように進化するのか、という外野からの「意見」です。


簡単に紹介すると、次の2点です。
1) Dominoは今後 Node.js の技術をもっと吸収したほうがよいのではないか
これまでも製品は技術を追加することで拡張してきたのだから、出来れば製品標準として組み込めればよい。
特に、Node.js の技術と Dominoが得意なビジネス・コラボレーションアプリの相性がよいのではないか。(例: 認証、認可、RAD、Web/モバイル、NoSQL利用など)
さらに、コラボレーション系のアプリケーションは、今後コグニティブへと融合していくことが予想されるが、例えば Bluemix で提供されるコグニティブ機能に対して、Node.js が一番触りやすいのではないか。(他のランタイムでも出来るけれど、サンプルも豊富だし)
RADという上で考えても、Node.js にはLoopBack という仕組みがある。(もし将来的に、LoopBackからのNSFコネクタが出来ればとてもよい)

2) Cloudant の積極活用を考えてよいのではないか
特に、クラウドでのDominoアプリケーションという意味では、Bluemix上で動かすようになるだろうが、その時のクラウドデータベースとしては、NSFに似ているCloudantがよいのではないか。


もっとも Niklas は現在、Bluemixに強く関わっており、CLEANスタック というアーキテクチャを啓蒙しようとしておりますので、読み手はそういった背景を理解した上で、自身のフィルタをかけながら読む必要はあると思います。
コメントの中には、Domino自身に Node.js を組み込むのではなく、Node.js から Dominoに触ることのほうが大事だと主張する意見もあります。


いずれにせよ、これだけ REST API ベースでアプリケーションがつながって行く世界なので、Dominoの開発者として、Node.js / Cloudant (MongoDBとかComposeでもよいですが)を知っておくアドバンテージはあるのではないかと私は思います。

2016/04/05

Domino Web Administratorは使わないほうがよい

新しい話ではないのですが、最近質問を受け、あまり知られていないようですので、メモ程度に書いておきます。

以下のTechnoteにある通り、Domino Web Administrator (Web管理クライアント / webadmin.nsf )を使うことは、脆弱性があり、現在推奨されていません。将来的に廃止の予定です。

IBM (参考) セキュリティ情報:IBM Domino Web Administrator の代わりに IBM Domino Administrator クライアントを使用することによる、より安全な IBM Domino サーバーの管理




以下のような Technote もあり notes.ini で Web Administrator の機能を無効化することも出来ますし、webadmin.ntf を削除する方法もあるかと思います。

IBM How to disable webadmin.nsf?

Domino の管理には、管理クライアントをお使いください。


(以下思い出話)
Domino 6 が出荷された時は、まだこの世に Ajax という言葉もなく、DHTML を使ったWeb画面は世間一般にも相当お洒落でした。私も、管理クライアントと同じUIを持つWebクライアントということで、ワクワクしながら触ったことを覚えています。この実現のために(?)、サーバーコンソールコマンドの出力結果にはXML出力オプションがつきましたし、通常の管理クライアントでは扱いにくい notes.ini まで見れたのも、驚きました。
dfc というフレームワークまで作り、それなりの盛り上がりを見せていましたが、これまでの利用のされ方などを見ても、Domino管理クライアント一本化のほうがよいかな、と思いました。

2016/03/21

60+ in 60 - Admin Tipsのスライドを読む

毎年前半は、IBM Connectのセッションスライドを読むのを楽しみにしていますが、そのいくつかを紹介したいと思います。
IBM Connectの名物セッションの1つに「Adminblast」というのがあります。これはPaul Mooneyが中心になってやっていたセッションで、Domino管理者向けの大量のTipsを連発するセッションです。私もかなり影響を受けました。
過去のスライドも公開されているので、見てみると、まだ学べることもたくさんあると思います。
http://www.pmooney.net/resources/

Paulは最近この手の活動から離れているのですが、そこでIBM Championの Chris Miller が今年は類似セッションを受け持ちました。
ものすごい注目セッションのはずだったのですが、IBM Connect では、なんと「What's New in IBM Notes and IBM Domino」と時間がかぶってしまい、私は行くことが出来ませんでした。しかし、ありがたいことに、スライドが公開されているので、読ませて頂きます。もちろん、Chris Millerのことだから、スライドに書いていない話を大量に早口でして、凝縮された充実の1時間であったのだろうと思いますが。

60+ in 60 - Admin Tips Power Hour session slides from IBM Connect 2016

気になるところを多少見て行きます。

#3 では OpenNTF の Mail File Digest というツールが紹介されていますが、使ったことのある日本の方は少ないのではないかと思います。

#4 の show config コマンドは、私も notes.ini のパラメータを簡単に確認したいとこによく使います。類似した話として、先日 stackoverflow で「他サーバーの notes.ini パラメータをどうやって知るか」という質問にも使われていました。

#7 Chris は別のセッションでも、log_replication=1 は無意味だからやめよう、と言っていました。

#9 notes.iniを直接変更した場合にサーバー文書に値を戻すためのパラメータが紹介されています。私は使ったことがありませんが、この Technote にも記載がありました。(あまり知られていないですよね)
'Set Config' parameter does not alter the parameter in the Domino server configuration document

#11 複数の mail.box を作るときの推奨。

#23 サーバー文書を変更すると、自動的に DXL ファイルが出力されるので、後からトラッキングが出来ますよ、という話。

#27 gifファイルなどは、HTTPのログから消したほうが、ログがさっぱりします、という話。

#56 Notesクライアントで添付ファイルをダブルクリックしたときの動作の話ですが、私はこのパラメータが大好きです。

と、いくつかをピックアップしましたが、大変興味深いスライドなので、システム管理系に興味がある方は目を通してみると楽しいですし、日常業務で役に立つこともあるかもしれません。
Chris は、従来より、ツール系の紹介をよくやっており、また、近年ログの活用についてセッションをよくやっていることもあって、この60項目には、ツールの話とログの話が多かったと思います。
この手の話は、60個の中で1つでも有用なものがあれば、成功のようなものでして、少しずつ中身を替えながら毎年やってもらいたいと思います。

2016/02/20

Dominoデータをモダナイズする「LDC Via」ソリューション

IBM Connect 2016に参加するにあたり、テクてく Lotus 技術者夜会で「LDC Via」という海外ソリューションを視察してくる、という宿題を頂きました。
現地では、LDC Viaチームと2回ほどミーティングをさせて頂きましたので、簡単にご報告いたします。

LDC Via とは
イギリスで活動する4人の熟練の Domino 技術者が立ち上げた組織で、現在のNotesのデータ(nsf) をより活用するためのソリューションを提供しています。
彼らの言葉では、データや知識を "modernize" する、と呼んでいるようです。

主に以下の3つがこのソリューションのキーです。
1) NotesDBライクなクラウドデータベースサービス
2) Notesデータベース(nsf)とMongoDBとの同期
3) MongoDBのデータをUI表示するための機能

それぞれ、詳細は以下の通りです。(以下は全て私の理解であり、実際は異なる可能性があります)

1) NotesDBライクなクラウドデータベースサービス

これはバックエンドの実体にMongoDBを使いつつ、NotesDBのような使い方が出来るサービスです。
例えば IBMのDBaaSの1つである compose などの同類に聞こえなくもないのですが、特徴的なのは「Notesデータベースを強く意識している」という点です。

例えば、以下のようなことが実現されています。
- 読者フィールド、作成者フィールドに相当するセキュリティがある
- 返答文書などの階層構造がある
- Notesのリッチテキストデータを引き続ける
- 添付ファイルが格納出来る

基本的にはクラウドのDBサービスですので、データアクセスは REST API になり、上記の機能を含め、Notesの扱いを意識したAPIが大量にあります。
LDC Via API Reference
逆に、いくらバックエンドが MongoDB であったとしても、MongoDBのAPIを直接叩くことは許可されていないそうです。
MongoDBを使うことで、DBサイズやスケーラビリティなど、今の nsf 以上のメリットを受けつつ、Notes的なAPIを使った開発が出来ることになるそうです。
MongoDBを使うことの恩恵は他にもあるのでしょうが、それは利用者が直接使うのではなく、API経由などで提供されていく形になるようです。

REST API ということは、開発言語を問わないので、node.js や Java、そしてXPages も含め好きな言語でデータ取得に行ってよいというのが売りです。

2) Notesデータベース(nsf)とクラウドデータベースとの同期
既存のNotesデータベースと、LDC Viaクラウドサービス(実体MongoDB)とのデータの同期機能があります。現在は、Notes⇒クラウドDBの片側同期ですが、近い将来、双方向の機能がサポートされるとのことです。
この同期にはツールを使いますが、以下の2種類が用意されています。

(1) DominoでDDSを有効にし、クラウド側からJSON経由でデータを同期する
(2) DominoのJavaAPIで作られたツールを使って同期する

デモを拝見して会話したところ、JSON経由はデータベースを1つ1つ指定するため、一括での大量移行には向きません。まとめて移行する場合は、Javaツールを使います。
もちろん、この移行のときに、現行の読者フィールドや文書階層などが維持されるということのようです。

3) MongoDBのデータをUI表示するための機能
上記の通り、基本的な機能はクラウドデータベース機能+ツールなのですが、LDC Via Lens という機能を使うと、さらにデータを表示することが出来ます。
特に、Dominoアプリケーションの中でも代表的な
- ディスカッション
- 文書ライブラリ
- チームルーム
- メールデータベース
は、近代的な Responsive Web UI でモバイルを含む、マルチデバイスで、セキュリティや階層構造を維持したまま閲覧が可能だそうです。

さらに、Notes でフォームを作るように、フィールドマッピングを行いながら、任意のDBの表示フォームを作ることが可能なようです。
ただ、私が理解する限り、アプリケーションプラットフォームとして使えるほどではなさそうなので、REST API 以外のデータ閲覧手段の1つだと認識してます。
(Notesワークフローがそのまま動くとかではないと思います)

また、データベースの検索なども可能であり、いわゆる「全文検索」と「フィールド別検索」 の組み合わせなどが可能とのことです。
複数のDBを串刺し検索したいという要望も多いらしく、現在は REST API での自作が可能なレベルですが、トッププライオリティで対応すると言っておりました。


LDC Viaソリューションの適用箇所
データをNotesの外に出していくわけですが、現行のNotes/Domino環境に対してポジティブに適用しているところが売りで、そこらへんはDominoコミュニティから生まれてくるだけのことがあります。

- 閲覧だけで使っているDominoの文書ライブラリをクラウドに移行し、オンプレ運用負担を軽くする
-外部へのデータ公開の1つのやり方として
セキュリティの維持や部分的な公開、マルチデバイスへの対応、検索対応など、良いとこどりを出来るのが売りみたいです。


よくある質問と、その回答
Q: 読者フィールドが守れるということは、ユーザーディレクトリの同期が必要なのでは?
A: やはりユーザー情報として、Notes階層名を別名として持つことが必要なようですが、APIで入れ込めますよう、とのことです。
なお、TDI のアダプターがあるわけではないですが、技術的には出来るでしょうとのこと。

Q: 読者フィールドがあるということは、パフォーマンスに問題はないのか?
A: 過去にパフォーマンスの問題があったNotesDBなどを使ってテストしてみたが、今のところパフォーマンス問題は見当たらない

Q: サイズ制限、DB数制限などは?
A: 特にないと思っている

Q: ノンコーディングで、どこまでアプリが作れるのか?
A: Lens機能の範囲で、フォームやビューを作ることが出来る。
(ワークフローなどは多分無理でしょう)

Q: ソーシャル連携を含め、外部連携はどうなっているか?
A: API で好きにつなげてください

Q: モバイルからのアクセスは?
A: Lens 機能で、例えば標準テンプレートは Responsive インタフェースで提供されている

Q: 串刺し検索は?
A: 現行はAPI。これから開発する予定。

Q: 文書リンクは機能するか?
A: 機能する (みたいです)

Q: Notesは出来るが、LDC Via が出来ないことは?
A: データベース機能という意味では、例えば現在データの暗号化の機能などはない。


最後に、UIやドキュメンテーションの日本語対応は現在されていませんが、日本のマーケットにも興味はあると言っていました。

以上が私の理解のサマリーになります。ご興味がある方は、彼らのホームページから、資料や動画が見れるので、確認してみてください。
LDC Via: modernise your Domino data

その他、詳細は、彼らの口から直接説明する機会が日本においてもあるかもしれません。
なお、IBM Champion でもあり、彼ら4人の1名である Mark Myers は日本が大好きで、よくプライベートで来日されるそうです。



なお、私はこの組織の関係者ではなく、テクてくでの宿題の結果としてこのエントリを書いております。

2016/02/16

IBM ConnectのセッションDB

先日、IBM ConnectのセッションDBについてを書きました。
IBM Connect 2016のスライド

が、slideshare を確認したり、ファイルで持っているのではなく、NotesDBでまとめてファイルを持っていたい方に朗報です。

Proud ProgrammerのBob Voith氏が素晴らしいものを公開してくれました。
以下で、セッションDBがダウンロード出来るようになっています。

IBM Connect 2016 session database with abstracts - just add presentations

また、IBM Connectに今年行かれた方は、セッションのスライドファイルを IBM Connect 2016コミュニティのファイルから zip 形式で一括ダウンロードが出来るのですが、それを自動的に各文書にインポートする機能が備わっていて、セッションの概要とスライドの添付ファイルが1つにまとまって使えるようになっています。とても便利です。
行かれた方限定ですが、是非お試し下さい。 

2016/02/14

IBM Connect を満喫する英語レベル

今回もIBM Connectにはたくさんの日本人が参加され、またオンライン動画を視聴された方も多くいらっしゃと思います。全てのセッションは英語で行われるので、全てを理解するのは難しいと思いますが、1人の日本人として私の感想を書いておきます。願わくば、次回自分が行く時はこれ以上の理解でありたいですし、他の方々の参考にもなればと思います。

私はここ数年何故かわりと英語を勉強していて、海外長期滞在経験はないのですが、資格だけで言えばTOEICリスニングは495点です。全部完璧に聞き取れて当たり前のように見えますが、実際はそんなことはありません。わからないことが多々ありますし、ある程度妥協しながら、重要なところだけ満喫出来ればよいかなと思いました。

1. OGSの英語
 OGS(Opening General Session)は今回2つありました。
IBM Connect 2016-GS Part 1
最初に登場したJason Silva氏の講演は私は多分80%くらい理解出来ました。情熱的でところどころ速いので、集中力を欠くとついていけなくなります。
tool の話と、exponentially のキーワードと、billionaire の再定義の話が理解できればよいかなという感想です。
 
次のWatsonの技術者の話は同じようなテンポ(やや速)ですが、ずっと聞き続けて、多分集中力が切れる人も多いと思います。ジョークの一部は理解出来ないものも多々あります。全体的に私の理解度は高くないです。

ケニアからのスピーカーは、訛り以外は問題なかったと思いますが、訛り慣れしてないと厳しいでしょう。一応理解出来たつもりでいます。

最後のディスカッションは、Katrina TroughtonのNZ訛りがやや聞きにくく、あと真ん中の女性が早口で、彼女が本気で内容の濃い話をしたら多分ついていけません。内容はほぼ理解出来ましたが、一字一句聞けてるわけではなくて雰囲気で判断してます。

IBM Connect 2016-GS part 2
OGS Part2 はようやく製品系デモが出てきますが、まず最初に、GreenWell社がいきなり出てきて、この仮想会社がOGSで登場することを知らないと状況理解がついていけなかったと思いますし、私もロールプレイの整理がすぐに出来ませんでした。
Part1はTED風プレゼンで、素直に理解しやすいのですが、Part2 は得意の製品系デモのはずなのに案外理解が弱いです。
- いきなりのロールプレイ理解の難しさ
- デモ画面の詳細が会場だとあまりよく見えない
といった理由で、私も現地1回だけでは6~7割くらいしか理解しておらず、実際には、後からYouTube動画を再生して詳細を確認しました。

今回の雰囲気だと、ゲストスピーカーのお話は TED のようなものだと思って、聞けばよいと思います。
製品デモに関しては、念のため過去数年のOGSでのデモを見ておくと、理解しやすいと思いました。来年は、多分ホストが Jeff Schick ではなく、Inhi Cho Suhになるので、彼女の TED などで慣れておくとよいと思います。


2. セッションの英語
セッションはスピーカーによってだいぶ違うのですが、私の理解は平均して 30%~90%くらいです。聞き落としの原因の多くは
- スピーカーがインテリ過ぎる
- 技術に馴染みがない
- 文化的な話が入る
- 早口すぎる
- 訛りがキツイ
- ボソボソ話す
などです。

有名人を例にすると:
まず Ed Brill のセッション。以下は過去のIBM Connectのセッションです。

IBM Connect 2013 - Whats New in IBM Notes 9
この例はNotes9の話でわかりやすいですが、Ed の最近のVerse社内展開の話は、やや速いスピードで格調高い単語・表現が使われたりするので、私はそんなに完璧には聞きとれません。おおよそのエッセンスはわかります。
(なお、私は今回 Ed のセッションは取りませんでしたが、すれ違うたびに挨拶だけしました)

もともと IBM Champion で今はIBM社員となった Mat Newman。以下も過去のセッションの例です。
Mat Newman - Lotusphere 2012 - BP102 - User Blast!
典型的なオーストラリア訛りですが、プレゼンが上手で、案外引き込まれてしまいます。私は今回のMatのセッションは80%くらいは理解出来ました。「ちゃんとリハーサルもやってるんだよ」とも言っていましたし、わかりやすいセッションだったと思います。時々オーストラリア訛りに対する脳内アイエイ変換が不発で聞き落とすこともあります。(特に、メールがマイルになるところ。。)

早口の例としては、カリスマ IBM Champion の Chris Miller。いつも素晴らしいコミュニティ活動をされています。
以下は彼がやっている Podcast から、今回の IBM Connect 2016の紹介です。
IBM Connect 2016 OGS and Day 1 review | IdoNotes Episode 145
このPodcastでも、やや早口なところもあるのですが、なんとか聞き取れます。
ところが、実際のセッションの中でのトークの速いこと速いこと。しかも、親切なことに、スライドに書いていない重要情報を大量に話すのです。残念なことに、私のリスニング力では、50~60%といったところです。


次に、life-time champion となった、Nerd Girlsでもリーダーシップを発揮している Gabriella Devis。
以下は、過去の Nerd Girlsセッションの動画です。
Gabriella Davis and Taking That Jacuzzi Time | Spark Ideas by the Nerd Girls
正直、かなり訛りがきつくて、私は理解が苦しいです。 今回はセッションに行っていませんが、場合によっては50%くらいしかわからないことも過去にありました。
彼女は、Connections を中心に、今後 Dominoエンジニアがフォローしていかなければいけない技術領域をリードしていて、もっと積極的に彼女から学ぶ必要があるのですが。

3. Ask the developer
名物セッションで、質問に対して開発者・製品マネージャが回答します。
スライドがないので、リスニング能力が全てです。
私は今回、90%以上は理解出来ました。質問も回答もわかりやすかったと思います。 (このセッションをこんなにすっきり聞けたのは今年が初めてでした)

4. 全体的なリスニング感想

私個人としては、今回の滞在で以下のようなシチュエーションが大変苦手でした。
日本で勉強しているだけだと、陥りやすいのだと思います。

1) ぶっきらぼうな人との会話
入国審査、タクシーの運転手、レストランでの会話、など。
さすがにこのような人は、IBM Connectの中では見かけませんが、通じない経験というのはそれなりにショックです。

2) うるさいところでの会話
例えばソリューションEXPOや、SpeedGeekingでは、とにかく周りが煩くて、日本語ですら聞くのが大変です。また、大きい声で話そうとすると、どうしても発音が母音が強くなり、こちらが話すことも通じにくくなります。しかし、今後に向けて特に対策はありません。。。

3) ぼそぼそと話す人
開発者に多いのですが、セッションによっては何を言っているかさっぱりわからない人がいます(今回はBluemixの担当者)。マイクを付けているのか付けていないのかわからないような人です。これは理解できなくても仕方ないだろうと、私は思いました。

4) 訛りがきつい人との会話
ヨーロッパ系もそうですが、ラボなどでは、中国人・インド人もたくさんいて、やはり不慣れだと会話に苦労します。私は実践経験が少ないので、訛りは苦手です。
普段から極力、YouTubeで、セミナー動画などを見ておくとよいかと思いました。特に、最近の OpenMic や、他の領域(例:Bluemix)ではインド人スピーカーのセッションも多くて、勉強になります。

5. 自ら話す機会

自ら望まず、業務上の必要性がなければ、ほぼおそらく話さずに終えることも出来ますが、折角の機会なので、以下はカタコトでも挑戦したほうがよいと私は思います。
- 憧れの人に挨拶する。セッション終了後や、ラボ、あと名前を見かけたら強引に。(私も今回憧れのChampionと会話が出来て感動しました)
- TechLab に行って、質問をたくさんする。これは日本から準備したほうがよいですが、うまく担当者が見つからないこともあるので期待し過ぎない程度に。
- Solution EXPO で会話する。 海外のトレンドと日本のギャップなどがわかって、ビジネスチャンスにもなるし、ガラパゴス化防止にもなります。


私が今度何年後に行くことになるかはわかりませんが、今年よりもさらに充実度があがればよいと思い、今年の感想を書いてみました。
本当は全部100%わかるに越したことはないのですが、日本では平均以上の英語力があると見なされても、こんな程度しか理解出来ないものですので、苦労があったとしてもあまり気にせず、また、日本人みんなで未来に向かってノウハウ共有したり、WWに向かったモチベーションが高まればよいなと思います。