「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
ソフテックでは、情報共有・蓄積のためのツールとして Lotus Notes(ロータス ノーツ)を採用しています。
今回は、Lotus Notes とは何か、NotesとRDBの違い、Notesの特徴、そしてソフテックでの利用方法を説明いたします。
Lotus Notes(以下、Notesと略)とは、Lotus社(現在はIBM社の一部門)が開発した文書型データベースのシステムです。
一般的に「グループウェア」と呼ばれ、会議室・掲示板・メール等といった機能があり、企業内の情報共有を効率良く行なえるようになります。
Notesは、主に文書を蓄積していく形式のデータベースに向き、文書だけでなく音声・画像・数値データといったデータもまとめて扱えるため、高度な情報共有を行なうことができます。
一般的にデータベースと呼ぶと、SQL等のリレーショナルデータベース(以下、RDBと略)のことですが、Notesは文書型データベースの形式を持ちます。
RDBは、整合性を持った表の形式(定型データ)を持ち、そういった定型データの蓄積・解析を行うデータベースのことです。
定型化したデータ(一定の規則性を元に分類されたデータ)の解析に向く反面、柔軟性が必要な文書データの管理は難しい傾向があります。
それに対して、Notesは文書を蓄積していく形式であり、定型化しにくいデータをそのまま保存して管理するデータベースです。
定型化しにくいデータをそのまま管理できる反面、RDBのようなデータの解析は難しい傾向があります。
また、Notesはデータベースやインターフェースが一体化しているため、それらを連携させやすく、ワークフロー処理に向きます。
Notes | RDB | |
---|---|---|
データ構成 | 柔軟性を持った文書蓄積型データベース | 2次元で整合性を持ったリレーショナルデータベース |
定型データ解析 | △ | ○ |
文書蓄積管理 | ○ | △ |
データの柔軟性 | ○ | △ |
整合性 | △ | ○ |
トランザクション | △ | ○ |
向くもの | 文書管理、ワークフロー | 定型データ解析 |
表1. NotesとRDBの違い
Notesはデータ解析処理に向きませんが、NotesPump や DECS(Domino Enterprise Connection Services:ドミノ基幹連携サービス)と呼ばれる機能を使うことでRDBと連携を取ることができるため、Notesの短所を補ったシステムの構築ができます。
これらのRDB連携機能を使えば、「入力インターフェースやワークフロー等をNotesで実装し、データ解析等をRDBで実装する」というお互いの利点を生かしたシステムを構築可能です。
Notesに最初から提供されていたデータベース(会議室など)だけではなく、必要なデータベースを自社で開発することができます。これによって、業務に必要なデータベースを自分で構築することができ、効率的な作業が可能となります。
複数のデータベースと各ユーザー毎のメールを連携して動作するように構築することで、煩雑な工程を一連のワークフローとして処理ができ、業務の効率化を行なうことができます。
ワークフローとは複数の人が関わる業務作業を一連の流れとしてルール化したものです。
例えば、 ソフテックでのワークフロー処理の例として、購買処理、交通費の精算処理、見積承認処理、稟議書申請処理等があります。
図1. ワークフロー例
次の図は、ワークフローの一例を図解したものです。
このように、一連の処理を一定のルールに従って処理することができます。
通常はNotesサーバー上にあるデータベースを使用しますが、レプリカ(複製)という機能を用いて別のパソコン(出張用パソコン等)上に同じ内容のデータベースをレプリケートすることができます。(この作業をレプリケーション、作成したデータベースをレプリカデータベースと呼びます)
このレプリカデータベースは、サーバーと通信できない環境でも、サーバー上で編集しているのと同じように編集できます。
その後、サーバーと接続できるようになったら、再びレプリケーションすることで「パソコン上で自分が更新したデータ」と「サーバー上で他の人が更新データ」の差分データをやりとりを行い、データの同期を取ることができます。
このレプリカ機能を利用すれば、出張等で通信環境がないところでもデータベースを扱うことができるため、効率的な作業ができるようになります。
図2. Notesのレプリカ
それぞれのデータベースに、それぞれのユーザーの利用権限(ACL:アクセス制御リスト)を設定できます。
ACLには、管理者/設計者/編集者/作成者/読書/投稿者/なしの7種類があり、この設定によって細かい制御ができます。(各権限の詳細は以下の表を参照ください)
管理者 | 設計者 | 編集者 | 作成者 | 読者 | 投稿者 | なし | |
---|---|---|---|---|---|---|---|
管理情報やACLの変更 DBの削除 |
○ | × | × | × | × | × | × |
設計の変更 | ○ | ○ | × | × | × | × | × |
文書の編集 | ○ | ○ | ○ | △ | × | × | × |
文書の削除 | ○ | ○ | ○ | △ | × | × | × |
文書の参照 | ○ | ○ | ○ | ○ | ○ | × | × |
文書の作成 | ○ | ○ | ○ | ○ | × | ○ | × |
表2. ACL一覧
例えば、一般向け会議室データベースでは全員の権限を"作成者"として誰でも使用できるようにすれば、全員が利用できる会議室データベースとなります。
機密情報が載っているデータベースでは関係者だけを"編集者"とし、関係者以外は"なし"とすれば、関係者だけが閲覧・編集できるようになり、機密情報を守ることができます。
また、Notesはデータベース、メール、Notesはサーバー/クライアント通信等で暗号化を行なうことができます。
これらは、ユーザーが特に意識することなく暗号化を行なえ、セキュリティを向上させることができます。
ソフテックでは、様々なデータベースを自社で開発・構築し、運用しています。
また、業務報告書等もNotes上で報告するシステムとなっているため、各担当者が作業状況を把握しやすくなっています。
このように色々な業務に至るまで全面的にNotesを利用しております。
その中の開発・構築例として、「出張精算申請データベース」と「ソフトウェア製品出荷管理」を以下に掲載いたします。
出張費の精算を行なうデータベースです。
財務関連のデータベースと連携しており、このデータベースで出張清算処理を行なった申請は財務関連のデータベースに伝票として取り込み、財務処理のデータとして処理することができます。
図3. 出張精算申請データベース
出荷したソフトウェアのバージョン管理を行なうデータベースです。
それぞれのバージョンにおいて、出荷ファイル、開発データ、確認・テスト資料等の情報を管理します。
図4. ソフトウェア製品出荷管理データベース
上記2つの例以外のデータベース例は以下の通りです。
(K.O.)
※開発済みNotesデータベースは、Notes開発実績として一覧を掲載しています。
ソフテックでは自社で使用するデータベースの構築・開発はもちろんのこと、受託によるデータベース構築・開発も承っております。(お問い合わせ先)
関連ページへのリンク
関連するソフテックだより