IBM Notes/Domino

IBM Domino AppDev Pack ベータ

Share this post:

IBM Notes/Domino V10 リリーステーマの目玉の 1 つに JavaScript によるアプリケーション開発機能の強化がありました。

具体的には、Node.js で IBM Notes/Domino と連携したアプリケーションを開発できるようするという話になります。

その Node.js でのアプリケーション開発を実現にするために提供されるのが IBM Domino AppDev Pack と呼ばれる、

IBM Notes/Domino V10 用のアドオンモジュールになります。

IBM Domino App Dev Pack のリリースが迫ってきましたので、ここで公開中のベータを元に内容について少し解説しようと思います。

 

IBM Domino App Dev Pack のベータプログラムには以下のリンクから登録可能です。
https://ibm.biz/V10AppDevPack

 

IBM Domino App Dev Pack で提供予定のモジュールは

  • dominoDB NPM : IBM Notes/Domino 連携のための Node.js 用パッケージ
  • サーバーアドオン(Proton) : IBM Domino が Node.js アプリと通信するためのモジュール
  • IAM (Identity and Access Management) : Node.js のアプリが IBM Notes/Domino にアクセスする際のユーザー毎の権限管理
  • OIDC (OpenID Connect) : Node.js アプリのユーザー識別
  • OAuth : Node.js アプリにユーザーの権限を委譲

になります。

 

公開中のベータ版には Linux 版 IBM Domino に対応したサーバーアドオンモジュールと、Node.js 用のパッケージが含まれています。

Windows 版 IBM Domino 対応版や、IAM/OIDC/OAuth に関してはベータ版では試すことができないので注意してください。

 

ベータ版ではサーバーアドオンである Proton と呼ばれるモジュールはバイナリファイルで提供されており、

Linux 版 IBM Domino のプログラムディレクトリーにコピーしてパーミッションを設定するだけで利用する事が可能になります。

HTTP などの他のタスクと同様に Proton も IBM Domino のサーバータスクとして動作します。

以下のように Proton がインストール済みの環境であれば、load コマンドで実行する事が可能です。

 

load proton
> [013486:000002-00007FC39A557840] 12/10/2018 03:13:07.43 PM PROTON> Build 0.1.0-5497660
[013486:000002-00007FC39A557840] 12/10/2018 03:13:07.43 PM PROTON> Listening on 0.0.0.0:6009, INSECURE
[013486:000002-00007FC39A557840] 12/10/2018 03:13:07.43 PM PROTON> Note: Requested port was 0, Actual listen port is 6009
[013486:000002-00007FC39A557840] 12/10/2018 03:13:07.43 PM PROTON> Server initialized
[013486:000002-00007FC39A557840] 12/10/2018 03:13:07.43 PM PROTON> Server allows Anonymous access only.

 

これで IBM Domino に Node.js アプリから接続し操作する事が可能になります。

例えば、以下のようなプログラムを書いて実行すると、対象の IBM Notes アプリケーションに新規に 2 文書が追加されます。

 

const { useServer } = require(‘@domino/domino-db’);

const serverConfig = {
hostName: ‘xxxx.yyy.co.jp’, // Host name of your server
connection: {
port: ‘6009’, // Proton port on your server
},
};

const databaseConfig = {
filePath: ‘node-demo.nsf’, // The database file name
};

const createOptions = {
documents: [
{
Form: ‘Contact’,
FirstName: ‘Aaron’,
LastName: ‘Aardman’,
City: ‘Arlington’,
State: ‘MA’,
},
{
Form: ‘Contact’,
FirstName: ‘Brian’,
LastName: ‘Zelnick’,
City: ‘Chelmsford’,
State: ‘MA’,
},
],
};

useServer(serverConfig).then(async server => {
const database = await server.useDatabase(databaseConfig);
const response = await database.bulkCreateDocuments(createOptions);

// Display the new document UNIDs
const unids = response.documents.map(doc => doc[‘@unid’]);
console.log(`Documents created: ${unids}`);
});

 

プログラムを実行する前に dominoDB パッケージを取り込む必要があることに注意してください。

 

より詳細な IBM Domino AppDev Pack の情報については先日行ったテクてく Lotus 技術者夜会の資料を参考にしてみてください。

https://www.ibm.com/developerworks/community/files/app#/folder/944d94ba-6b6e-41b6-b6ac-712af016e223

 

IBM Domino AppDev Pack のリリース後にたくさんの IBM Notes/Domino と連携した Node.js アプリが見られることを楽しみにしています。

Customer Success Manager for IBM Collaboration Solutions

More IBM Notes/Domino stories
By Atsushi Sato on January 15, 2019

IBM Notes/Domino Developer Feedback Session

次のメジャーバージョンアップとなる IBM Notes/Domino V11 のロードマップを決定するために、 IBM Notes/Domino を利用しているユーザーさま、パートナーさま、開発者さまから多くのフィードバックコメントを集めるための Domino V11 Jam が世界各国で開催されています。 https://www.ibm.com/blogs/collaboration-solutions/2018/11/26/the-domino-v11-jams-are-here/   日本においても、1月10日(木)に Domino V11 Jam が開催されたくさんのフィードバックをいただく事ができました。 参加いただきたくさんのフィードバックをしてくださった皆様に感謝いたします。 なお、その様子はノーツコンソーシアムのブログサイトで紹介されていますのでアクセスしてみてください。 https://notescons.gr.jp/home.nsf/blog.xsp?action=openDocument&documentId=68BA1F376630CF104925838300009378   Domino V11 Jam at Tokyo に参加いただいた皆様との集合写真がすごくいいものだったのでここにも添付させていただきます!   この Domino V11 Jam ですが、参加人数に制限があったために、IBM Notes/Domino V11 に対してアイディアがあるけども、 参加できなかった人もたくさんいらっしゃるのではないかと思います。 そこで、1月18日(金)に開催を予定している 2019 年最初のテクてく Lotus 技術者夜会では、Jam を開催する事としました。 開発に特化した Domino V11 Jam を Developer Feedback Session という名目で開催させていただきます。 この […]

Continue reading

By Atsushi Sato on December 18, 2018

IBM Notes/Domino 10.0.1

IBM Notes/Domino 10.0.1 が予定通り出荷され PA サイトからダウンロード可能となりました。 具体的なダウンロード方法のガイドも公開されています。 IBM Notes 10.0.1 ダウンロード方法 http://www-01.ibm.com/support/docview.wss?uid=ibm10738469 IBM Domino 10.0.1 ダウンロード方法 http://www-01.ibm.com/support/docview.wss?uid=ibm10738463   今回の IBM Notes/Domino 10.0.1 のハイライトとしては以下の点が上げられます。 1.  macOS に対応した IBM Notes の提供 2. Node.js でのアプリケーション開発を可能にする IBM Domino AppDev Pack の提供 3. 非商用利用で利用できる Community Edition の提供 その他、バグフィックスやMarvelClient Essentials の同梱もされています。 詳しくは英語になりますが、以下のブログに書かれています。 https://www.ibm.com/blogs/collaboration-solutions/2018/12/17/get-more-domino-in-december/   アプリケーション開発者が待ちわびていたのは IBM Domino AppDev Pack 1.0 ではないかと思います。 […]

Continue reading

By Atsushi Sato on November 1, 2018

IBM Domino Mobile Apps ベータ

10月10日に発表された IBM Notes/Domino V10 で大きな注目を集めた目玉機能の 1 つである IBM Notes/Domino アプリケーションをそのまま iPad からの利用を可能とする IBM Domino Mobile Apps のベータ版が予定通り10月末(アメリカ時間)に公開されました。 すでにベータプログラムへの登録を行っていた人にはベータアクセスへの招待がメールで届いているかと思います。 登録をし忘れてしまった、登録したはずなのだが招待メールが届かないという人は以下の URL から参加が可能になっています。 https://ibm.biz/V10MobileApps   この IBM Domino Mobile Apps のベータ版ですが、Apple 社が提供するベータ版テストのためのプログラムである TestFlight を利用して提供されています (https://developer.apple.com/jp/testflight/) 。 従いまして、事前準備として iPad に TestFlight アプリケーションの導入が必要となります。 こちらは App Store から導入可能になっているので事前に導入をしておいてください(https://itunes.apple.com/jp/app/testflight/id899247664)。   TestFlight の導入が済んだら、iPad からベータ招待のメールについているリンクをクリックないしは、 新たなサインアップアプリケーション(https://ibm.biz/V10MobileApps)から登録を行ってください。 自動的に TestFlight が起動して、IBM Domino Mobile Apps のベータ版を […]

Continue reading