オルタナティブ・ブログ > 一般システムエンジニアの刻苦勉励 >

身の周りのおもしろおかしい事を探す日々。ITを中心に。

LotusNotesの良いところ(新人SEにとって)

»

入社してから数年はLotus Notesの開発を中心にやってきました。

Notesと言うのはJavaでも.NETでもPerlでもRubyでもない世界です。開発に際してはJAVAもしくはVB6に似たLotusScriptという言語を用います。プログラムのソースはJavaやVBに似たものですので見たことがあるような面構えをしているのですが、中に出てくるのは
NotesUIDocument
NotesDB.GetView
view.getAlldocumentsByKey(strKey,True)
などなど見慣れぬ単語ばかりです。それに加えてところどころで式言語というNotes独自の言語もあるので、腕に覚えのある人ほど「なんじゃこら。こんなの見たこと無いぞ」という思いで不安になります。

実のところ、私はNotesを担当して間もない頃はすごく嫌でした。Javaや.NETなど「つぶしのきく」分野をやりたいという思いが強かったです。同じように、Javaや.NETで開発ができるようになりたい!と思っている新人さんにとってNotesというのは回り道をしているように感じられて仕方ないことでしょう。

しかし今になって振り返ってみると、Notesで良かった!と思えることがたくさんありました。R5から6まででNotesクライアントを利用した開発を担当した思い出は次の通りです。

画面設計が早い

Designerと言われる開発環境で入力フォームや”ビュー”を容易に作る事ができます。とても簡単に見た目を変更することができるため、込み入った画面仕様を決定する際はモバイルPCをお客様のもとにお持ちして目の前で作り変えながら細部を詰めるということも可能でした。

内部設計が少ない

フォームとビューのおかげでテーブル設計やSQLなどを考える必要がありません。この部分についてNotes経験がない方に説明するのは難しいので関係データベースを利用したシステムに例えると、画面に入力用のテキストボックスやカレンダーを貼り付けるとInsertやUpdateのコマンドとテーブル構造が出来上がり、それを取り出すにはGUIから射影する列や選択条件やソート順などを選ぶだけ、といったイメージでしょうか。

メールなど、(Notesの)他システムとの連動が簡単

Javaや.NETで作りこんだアプリケーションをメールと連動させるとなるとなかなか大変なところがあります。Notesならば(サーバのインストールの仕方にもよりますが)極めて簡単にアプリケーションからメールを送ることが出来ます。単純なテキストメッセージを送るだけでなく、そのプロセスで処理している内容をメールに貼付して送るといったことも簡単です。

アクセス制限が強力かつ便利

あるユーザをあるシステムにまったくアクセスさせないですとか、読み取り専用ユーザとしてアクセスさせるといった制御が簡単です。また、同一システム内で、同一フォーマットのデータについても、あるユーザはアクセス可能で他のユーザにはアクセス制御を行うですとか、あるデータを登録したユーザと同じ部署の人間ならば誰でも閲覧できる、と言った制御も簡単に行うことができます。そして強力です。

ユーザ登録などの運用が簡単

ユーザ情報を扱うテーブルを自作する必要がなく、専用のツールにCSVファイルを流し込めば部・課などの階層化された部署情報を持ったアドレス帳を運用する事ができます。

運用ツールが充実している

パスワードを3ヵ月毎に変更するよう強制したり、管理者権限でアカウントをロックアウトしたり、などの運用はGUIから行うことができます。

配布がやりやすい

サーバ上に配備したプログラムが各クライアントにダウンロードされて各クライアント上で実行されるような形になるため、バージョンアップ作業がある場合もサーバ上のファイルを書き換えれば配布が可能です。

これらの要素のひとつひとつはそれほど大きな意味があることではありません。しかしながらアクセス制御の部分やユーザ登録などの部分は既にNotes自体が持っている機能が優秀であるがゆえに、自分で作り込まずに済みます。そのため、その部分について開発に費やす体力を削減し、他の事に使う事ができます。

そのことで、早い段階から小さめのサブシステムを丸ごと1人で面倒を見るという事が出来たように思います。わからないところを先輩に助けてもらっていると、サブシステム全体を見渡した開発になりません。私は2年目には小さいながらもサブシステム内のすべてを自分で見渡して開発を担当する機会に恵まれました。また、開発技術の習得だけでいっぱいいっぱいになることなく、お客様の業務知識の把握などにも意識を払う事ができました。入社2年目にしてアプリケーションエンジニアに合格できたのは、そのあたりが寄与したのではないかと思っています。

また人事異動などに際して発生する運用作業については、使い易いツールが備わっているおかげで自分が何をしているかを理解しながら運用をすることができました。とにかくチェックリスト通りにバッチ処理を流す、など意味を理解していない運用はミスも怖いですし成長にもなりません。その点についてはNotesの運用のしやすさは人事異動の際のデータの変遷などについて学ぶのに向いていたと思います。

上のようなメリットがある一方で、Notesなりのデメリットもたくさんあります。

  • SQLが覚えられない。
  • 表間の制約を自分で作りこまなくてはならないケースがある。
  • 「Notesが得意なこと」を提案するという消極的な提案になりがち。
  • アクセス制御周りが充実し過ぎていてそれに依存してしまう。なので自分でデザインする機会が少ない。
  • Notes自身のバグが多い。

新人さんがいきなりNotesしか知らない技術者になってしまうのはあまり良い事ではないように思いますので、足りないと感じるところについては資格試験の勉強などを利用して身に着けるようにすると良いでしょう。

Comment(0)