1. はじめに
弊社では、平成7年(1995年10月)にグループウェアLotus Notes(以下、Notes)を導入しました。
当初は試験運用も兼ねていたため、実際の運用開始は平成8年(1996年)1月となりますが、今年で運用開始から30年目に入りました。
私もNotesの運用開始当初から運用に携わっており、Notes担当者としても今年で30年目となります。
運用開始から現在まで、さまざまな出来事がありました。Notesの開発メーカーも、最初のロータス社(製品名:Lotus Notes)から、IBM社(製品名:IBM Lotus Notes/Domino)を経て、現在のHCLテクノロジーズ社(製品名:HCL Notes/Domino)へと移り変わっています。
現在は Notes バージョン12.0(以下、Notes 12)で運用を行っていますが、このNotes 12へのバージョンアップは、決して簡単に実現できたものではありませんでした。
今回、大変だったことや苦労した点も交えながら、Notes 12へのバージョンアップを振り返ってみたいと思います。
なお、本稿では以下の名称を用いて記述します。
・グループウェアNotes:Notes
・パソコン上で使用するクライアントアプリケーション:Notes Client
・サーバー上で稼働するサーバーアプリケーション:Domino Server
2. Notes 7からNotes 9へのアップグレード検証
最初にNotesのアップグレード計画が持ち上がったのは、Notes 10が発売されるかどうかという時期でした。
それまでもクライアント側は Notes Client 8.5 にバージョンアップして運用していましたが、サーバー側は Domino Server 7 のままで運用を続けていました。
アップグレード計画の開始に伴い、Notes Client 9およびDomino Server 9へ全面的にバージョンアップした場合の影響について、それぞれ動作検証を開始しました。
まずはNotes Client 9へアップグレードして検証を行いました。
基本的なNotesデータベースの動作には問題ありませんでしたが、複数人で検証を進める中で、細かな問題が発生することが分かってきました。
最終的に、次のような問題点が判明しました。
| 問題1 |
Notes Client 9は、Notes Client 7と比べて動作が遅くなったように感じる。 |
| 問題2 |
Notes Client 9で表形式のコピーを行いExcelに貼り付けたところ、Notes Client 7のときとは異なる内容で貼り付けられてしまう。 |
| 問題3 |
しばらくNotes Client 9を操作していない状態で新しい文書を開こうとすると、10〜20秒程度応答がなくなることがある。 |
| 問題4 |
Notes Client 9でメールを作成し、宛先欄やCc欄に送信先の名前を入力しようとしたときの動作がNotes Client 7から変わったように感じる。 |
| 問題5 |
Notes Client 9でメールを送信した際、相手に同じメールが2通届くことがある。 |
| 問題6 |
Notes Client 9では、文書の入力項目で時間を入力する際に「昨日 7:00」などのように「昨日」という文字が自動的に入力されることがある。Notes Client 7ではこのような動作はなかった。 |
| 問題7 |
Notes Client 9で表形式のコピーを行うと、255行目の後に改行が入らず、256行目の内容が255行目の後ろの列に続いて貼り付けられてしまう。 |
| 問題8 |
Notes Client 9でNotesメールを送信した際、宛先欄やCc欄に同じメンバーが含まれている場合、グループ名が消えてしまうことがある。 |
これらの問題について一つひとつ状況を把握し、設定変更による個別対応を行いましたが、一部にはNotes Client 9では対応できない問題も残りました。
ただし、完全な解決には至らなくても、運用による回避が可能であることが分かり、クライアント側については何とか対応できそうだという判断に至りました。
3. Domino Server 9で検証するが問題発生
並行して、サーバー側を Domino Server 7 から Domino Server 9 へアップグレードし、動作検証を行いました。
サーバーについては、実際に業務で稼働しているDomino Serverを無計画にアップグレードすることはできないため、運用環境と同一構成の検証環境を準備して検証を実施しました。
検証を進める中で、社内で独自開発した「SAMSシステム」(※1)が動作しないことが判明しました。
SAMSシステムは業務データの集計処理などを担っており、Notesをアップグレードした後も継続して運用する必要があります。そのため、動作しないことは大きな問題となり、原因調査を行いました。
この原因調査は、非常に困難なものでした。
エラー情報としては「スタック領域不足」という内容が確認できたものの、問題があるエージェントのデバッグ実行では問題が発生せず、サーバー上でのエージェント実行時のみ、処理が失敗する場合があるという状況でした。
そのため、手探りで解析を進めるしかありませんでした。
プログラムの処理内容を大幅に見直したり、一部のプログラムを作り直したりすることで、エラーで停止していた箇所より後の処理まで進むようにはなりましたが、処理を最後まで完了できない状況は改善できませんでした。
結局、このときの動作検証では解決に至らず、Domino Server 9へのアップグレードは保留となりました。
4. Notes 12の検証時にようやく原因判明
その後、Notes 10やNotes 11が発売され、それぞれで動作検証を行いましたが、状況は変わらず、同様の問題が発生していました。
転機となったのは、Notes 12での動作検証を行っていたときです。
HCLテクノロジーズ社から公開されたサポート情報の中に、「これだ」と思える内容を見つけました。
そこには、プログラムで静的文字列配列として確保できるメモリ量に制限があること、また Notes 64ビット版はNotes 32ビット版に比べて2倍のメモリを使用するため、64ビット版ではスタック領域不足が発生する場合がある という説明が記載されていました。
この情報をもとに問題のプログラムを確認したところ、該当箇所が多数見つかりました。
そこで、問題が発生しないようにプログラムを改修して試した結果、正常に処理が完了し、長年悩まされてきた問題が、まるで何事もなかったかのように解決しました。
| 修正前 |
Type TypeData1
Count As Long
Name As String
Comment As String
End Type
Sub Sample1()
Dim MonthData(12) As TypeData1
End Sub
|
| 修正後 |
Type TypeData1
Count As Long
Name As String
Comment As String
End Type
Sub Sample1()
Dim MonthData() As TypeData1
ReDim MonthData(12)
End Sub |
表 1.修正例 (Lotus Script言語)
原因が分かってしまえば単純なことでしたが、グローバル変数だけでなく、サブルーチンや関数内のローカル変数にも影響が及ぶとは想定しておらず、サポート情報がなければ気付けなかったと思います。
5. Notes 12へのアップグレード実施
最大の懸念であったスタック領域不足の問題が解決したことで、全体の動作検証を進め、アップグレードしても問題ないことを確認できました。
そこで、具体的なアップグレード計画の検討に入りました。
安易にアップグレードを実施して「うまくいきませんでした」では、業務システムそのものに支障が出ます。また、利用者である社員側のアップグレード作業が煩雑であれば、社員業務への影響も避けられません。
業務システムの運用に問題がないこと、業務への影響を最小限に抑えることの両方を考慮し、サーバー側・クライアント側それぞれのアップグレード手順を慎重に検討しました。
十分な準備を行った上で実際にアップグレードを実施した結果、細かな問題はいくつか発生したものの、大きなトラブルはなく、現在もNotes 12環境で安定した運用を継続できています。
6. おわりに
これまでNotes R3.3Jに始まり、Notes R4J、Notes R4.1J、Notes R5、Notes 7と段階的にアップグレードしてきましたが、今回のNotes 12へのアップグレードは、動作検証の開始から完了まで、最も時間を要したものでした。
最大の要因は、サーバーアプリケーションであるDomino Serverが、32ビット版から64ビット版へ切り替わったことだと考えています。
また、クライアントアプリケーションであるNotes ClientがEclipseベースのJava版(※2)へ移行したことや、iNotes(※3)対応優先などの機能拡張により細かな動作が変わったこともあり、社内業務への影響を含めた検証に時間を要しました。
現在の最新バージョンはNotes 14.5ですが、Notes Client 14.5では32ビット版が廃止され64ビット版のみとなったことや、AI機能であるDomino IQ(※4)への対応など、新たな懸念事項もあります。
今年はNotes 14.5へのアップグレードを予定しており、他の担当者と連携しながら、スムーズで問題のない切り替えを目指していきたいと考えています。
最後までお読みいただき、ありがとうございました。
(K.O.)