見出し画像

Notesアプリケーション開発はローコード!誰もが開発者に?

Notes/Dominoの技術者が不足していると耳にすることがあります。業務で20年以上Notesを利用している企業の方からも、最近は機能改善をしたくても、社内に技術者がおらず困っているとご相談頂くこともあるので、実際にその傾向にあるのかなとも感じます。

ただ、そのように業務でしっかりと活用されている企業であれば、社内に1、2人でも開発や運用に詳しい人がいれば、よりビジネスに有効活用出来るので、非常に勿体ないことだと感じています。

Notes/Dominoは、ローコードからプロコードまで対応可能であり、業務合わせて柔軟な開発が可能であるにも関わらず、比較的に開発の難易度は低い製品だと思います。その為、あまり開発経験のなかった方も、これからNotesアプリケーション開発に挑戦してみてはいかがでしょうか?

どこにでもいたNotes技術者

Notes/Dominoは、最近流行りのローコードツールの先駆けと言えるでしょう。Notes/Dominoが高いシェア率を占めていた2000年代前半、システム部門だけではなく、各部署の担当者が現場の業務に合わせて、柔軟に多くのアプリケーションが開発されていた企業も多くありました。いわゆる市民開発、EUCと呼ばれることの実践ですね。

また、現在はNotesアプリケーションの開発には、Domino Designerが必要であり、基本的にシステム部門の方だけがインストールして、利用されているケースがほとんどです。
しかし、当時はNotes Client自体に設計を編集する機能があり、誰もが気軽にNotesアプリケーション開発が可能でした。

現在のようにインターネットでの情報収集も盛んでなかった時代にも関わらず、多くの市民開発者が誕生し、無数のアプリケーションが生み出されてきました。この事実からも、Notesアプリケーションの開発は簡単であり、開発ツールさえ手にすれば、誰もがNotes技術者になれる可能性を秘めているのです。

マルチプラットフォーム対応に特別なスキルはいらない

10年程前、業務システム全般にマルチプラットフォーム対応が求められはじめ、NotesアプリケーションもXPageを活用したWebアプリケーション開発に注目が集まりました。しかし、これには別途Web用に画面の構築が必要であり、これまでのNotes Client向けのアプリケーション開発スキルに加えて、XPagesやJavaScript、スタイルシートなどWeb開発の知識など、必要な開発スキルが高くなりつつありました。

しかし、近年はNomad Mobile、Nomad Webの登場により、状況は一変しています。これにより、ほとんどの既存Notesアプリケーションを改修することなく、そのままマルチプラットフォームで利用可能となりました。

つまり、基本的なNotesアプリケーションの開発スキルさえあれば、マルチプラットフォームに対応したアプリケーションの開発が可能なのです。

※XPagesの技術が不要になったわけではありません。Webアプリケーションの場合、やはりXPagesの方が自由度の高い表現が可能ですので、適材適所使い分けることが重要です。

LotusScriptは難しくはない

Notesアプリケーション開発で、複雑な処理を作成する場合は、LotusScriptというNotes独自のプログラミング言語が必要となります。

LotusScriptの基本的な構文は、VBAと同じで、メソッドなども共通しているものが多くあります。また、Notes特有のデータベース、ビュー、文書といったオブジェクトには、JavaScriptのDOM操作と同じような感覚でプログラミングすることができます。

VBAとJavaScriptは、プログラム言語の中でも簡単と言われています。それらに似たLotusScriptも当然に簡単なプログラミング言語なのです。

Notesアプリケーションの設計が難しいと言われる由縁

これは良くも悪くも過去に多くの市民開発によって、多くのNotesアプリケーションが生み出されたことに起因します。

システム部門でも全体像が把握ができておらず、開発者も人事異動や退職で不在であり、利用はしているが仕様が分からないといった『属人化』、『ブラックボックス化』などと表現される事態に陥っているケースがあります。また、市民開発者は必ずしもプログラミングに精通した方が作成されたわけではない為、ソースコードに無駄が多く、それが解読を困難にしていることも多々あります。

しかし、これはNotes/Dominoの問題と言うよりは、当時、明確な開発ルールがなく、そして何より設計書が作成されてこなかったことが原因です。今後の為に、設計書はきちんと残しましょう。

Notesアプリケーションの一歩先へ

掲示板やワークフローなど、一般的なNotesアプリケーションを開発する際、高い開発スキルは不要です。しかし、最近流行りのChatGPTやBOXなどのWebサービス、SQLサーバー、基幹システムとの連携や、XPageでの本格的なWebアプリケーション開発などは、Notes/Domino以外の知識も必要となり、少しハードルが上がります。

そのようなケースでは、周りに相談できる方がいないことも当然あるかと思います。Notes/Dominoの場合、他の言語と比べると技術情報がインターネットで見つけにくいように思います。
そのような場合は、Notes/Dominoのコミュニティに参加してみてはいかがでしょうか。技術面だけではなく、運用面も含めて様々な話を聞くことができ、きっと良い閃きや刺激を受け取ることができるでしょう。

いいなと思ったら応援しよう!