2021-07-24

まだまだいける FileMaker 5.5/6 ― レガシーFileMaker の延命 2021 ―

 FileMaker 5.5/6 の発売は今から約20年前ですが、巷ではまだまだ使用している会社も多いです。 今回は レガシーFileMaker のサーバとクライアントのOSの互換性に関して、当社の運用実績、検証、推測を基にレポートします。また、レガシーの修正や改変の際に必要となる分析方法についても記します。

※Windows 11 は 64bit マシン専用OSですが、通常は Windows 32bit アプリケーション も運用可能です。 アプリケーションによっては障害が発生する可能性がありますが、32bit アプリである FileMaker Pro 5.5/6 も Windows 11 にインストールし、起動することができます。 2021年10月現在、トラブル無く運用できています。 今後、運用時間を延ばし、本稿にて状況をレポートする予定です。


FileMaker の最強3トップ

注:
  • レガシーFileMakerのOSとの互換性/延命に関するご意見等は、コメント欄にご投稿ください。
  • 本稿に基づき読者がシステムを構築された場合に問題や障害等が発生しても、当社では責任を負いません

FileMaker Server 5.5とWindows OSとの互換性 

 下表はFileMaker Server 5.5(以下、FMS)と Windows OS との互換性を示します。

Windows  OS 互換性 備考
2000 Server FileMaker社による動作保証
2003  当社等の運用実績に基づく[1]
2008 当社等の運用実績に基づく[1]
2012 当社等の運用実績に基づく[2]
2016 当社検証に基づく、非推奨[3]
2019 ? 未検証[4]
     
2000 Pro FileMaker社による動作保証
XP ? 未検証[5]
7 ? 未検証[5]
10 × 当社検証に基づく、非推奨[6]
[1]:「当社他の運用実績」は、当社及び当社顧客の運用実績有
[2]: 運用可。但、FMS管理コンソールでクラッシュするケースあり、以下の「仮想マシン上で FMSを運用する場合」参照
[3]: DB公開はできるがFMS管理コンソールでクラッシュする、非推奨
[4]: 2019はWindows10系である為、公開はできるがFMS管理コンソールでクラッシュすると推定、非推奨
[5]: System7はWindows 2000 Pro(公式サポートOS)に近いため運用できる可能性有、検証の価値有
[6]: FMS管理コンソールでDBを公開できる時とできない時があり非常に不安定、非推奨

FileMaker Pro 5.5/6 とWindows OSの互換性

 下表はFileMaker Pro 5.5/6(以下、FMP)と Windows OS との互換性を示します。
表中、サーバOSが含まれていますが、これはリモートデスクトップサービスを使用し、マルチユーザライセンスのFMPを複数ユーザで使用することを想定しています。

Windows  OS 互換性 備考
2000 Pro/Server FileMaker社による動作保証
2003  当社等の運用実績に基づく[1]
2008 当社等の運用実績に基づく[1]
2012 当社等の運用実績に基づく[1]
2016 当社等の運用実績に基づく[1]
2019 未検証[2]
     
XP FileMaker社による動作保証
7 当社等の運用実績に基づく[1]
10 当社等の運用実績に基づく[1]
11 2021年10月現在テスト中。経過は順調[3]
[1]:「当社他の運用実績」は、当社及び当社顧客の運用実績有
[2]: 2019はWindows10系である為、運用可能と推定
[3]: 2021年10月現在Hyper-VにWindows11を搭載しテスト中。適時本ページで経過をレポート予定。

新設するサーバ機とOSとの互換性(仮想マシン不使用)

 サーバ機の老朽化によるマシン本体のリプレースについて考えます。この時、仮想マシンを使用せずに、新サーバ(物理マシン)に Windows 2000/2003/2008/2012 をインストールし、このOS上で FMS を運用しようとする場合、物理マシンが各OSをサポートしているか否かはチェックポイントとなります。経験上、メーカーが公式対応していないOSであっても動作する可能性は高いですが、メーカーが公式対応を謳っているマシンであれば、それに越したことはありません。

Dellサーバ機のOS互換性

HPサーバ機のサーバOS互換性

仮想マシン上で FMSを運用する場合

次に仮想サーバ上での FMSの運用について考えます。この方法では仮想マシンにWindows 2000/2003/2008/2012 をインストールして、FMS を運用します。
 既に仮想環境を構築済みであれば、マシン調達に伴う金銭的コストを負わなくても済むので、担当者の心理的負担は少ないです(経験者談)。逆にFMSだけのために仮想環境を新たに導入するとなると、コスト大の上、担当の心理的負担も大となります(同談)。

 注意点が一つあります。当方で遭遇した現象ですが、Dell PowerEdge T105 のハイパーバイザ上の仮想マシン(Windows Server 2012R2 )では、 FMS5.5 が問題なく動作していましたが、PowerEdge R330 のハイパーバイザ上の仮想マシン(Windows Server 2012R2 )に FMS5.5 を新規インストールした後にFMS の コンソールで「ファイルメーカー Server」を右クリックして「プロパティ」を選択するとコンソールがクラッシュする、ということがありました。 この時、正常稼働している PowerEdge T105 上 の仮想ディスク(VHD)を丸ごと PowerEdge R330 にコピーして仮想マシンを再構成したところ、コンソールで「プロパティ」を選択することができました。
 このように、一見同じに見えるシステム環境であっれも、FMSで障害が発生することがある、と言う事です。
 
 当社ではFileMakerレガシーの延命を多くうけたまわっており、現在までほぼ成功裡に終わっていますが、リスクがあることをユーザに十分理解頂き、業務を進行することがやはり大切です。
 もっとも、最新のテクノロジーでシステムを構築する!、と言っても、既存システムとの互換性、開発失敗リスク、最新テクノロジー故の不安定性・未成熟性といったリスクもあります。また、ベンダーが勝手に契約条件を変更する近年のサブスクリプションというビジネスモデルも大きなリスクです。

 5G、AI、機械学習、IoT/M2M、DXを行わない企業に未来はない!などと、漠然としたIT用語や根拠不明の言説が巷に溢れる中、現行仕様で満足している、或いは現行仕様を修正・拡張しながら利用できれば十分というシステムも普通にあるわけで、であればレガシーシステムの延命は十分考慮に値すると思います。


Windows Server の Windows Update 

 Windows update を行わなければ FileMaker Server 5.5(FMS) が動作しないということはありませんが、Windows 2008/2012 などの古いOSを運用する際に重要なことなので、本項にて触れておきます。

 通常、新たにサーバ機を購入したり、サーバOSをインストールした際は、Windows update を行い、OS を最新の状態にします。これは以下の理由によります。
  1. セキュリティ上の要請
  2. 運用開始後の Update のリスクを低減する
    運用開始後に Windows update を実施すると、何らかの障害が発生し、運用中のソフトウェアが動作しなくなる可能性があります。できるだけ導入・テストの段階で利用可能な全ての update を当て、運用後のダウンタイムを減らしましょう。
  3. Windows Server がある程度最新の状態でないと動作しないプログラムがある
    ある種のアプリケーションをインストールする際、一定のバージョン以上の Internet Explorer や .NET Framework を要求され、インストールを実行できない、ということはままあります。この一定のバージョンに辿り着くまで、何回か Windows update を行う必要があることがあります。導入時に最新のUpdateを当てておけば、運用後にこれらの作業を低減することができます。
  4. Windows Update 自体が動作しなくなることがある
    後述のように Windows Update エージェントが古いと Update 自体ができないことがあります。

Windows update ができない時 

 FileMaker Server 5.5 と互換性の高い Windows Server 2008/2012 ですが、これらのOS のインストール直後に Windows update を実行すると、 0x80072efe というエラーが発生して、Windows Update が完了しないことがあります。
 このエラーは Windows Update エージェント自体に問題あり、Windows Update エージェントのアップデートプログラムを単独でダウンロードし、これを実行することにより解決できます。

 ※ご利用の Windows Server のバージョンに適合したものをダウンロード後、インストールしてください。

 この他にも、いくつかのアップデートを実行できないこともあります。その場合は Windows Update の順番を変えてみたり、個別にアップデートプログラムをダウンロードしたりして対応する必要が出てきます。

 以上、運用開始後のダウンタイムを低減するために、導入段階で Windows Update をできるだけ進め、OSを最新の状態にしておきましょう。

Windows Server のライフサイクル

 参考までに、Windows Server のライフサイクルの表(2021/07/26時点)を挙げておきます。
Windows  OS サポート終了日 延長サポート終了日
Windows Server 2003 2010/07/13 2015/07/14
Windows Server 2003R2 2010/07/13 2015/07/14
Windows Server 2008 2015/01/13 2020/01/14
Windows Server 2008 R2 2015/01/13 2020/01/14
Windows Server 2012 2018/10/09 2023/10/10
Windows Server 2012 R2 2018/10/09 2023/10/10
Windows Server 2016 2022/01/11 2027/01/12
Windows Server 2019 2024/01/09 2029/01/09

実行速度とテストについて

 物理マシン或いは仮想マシンを問わず、構築した新環境に於ける実行速度が旧環境のそれに比べて明らかに遅い場合、問題となります。 旧環境から新環境への移行業務の早い段階で、必要十分な実行速度が得られているかをユーザに判断してもらうべきです。 業務終了間際に実行速度が遅すぎると判明すると、行った作業が全て無駄になる可能性があります。

 当社では実行速度の可否を判断する際、約12万件の郵便番号情報が入った郵便番号.fp5 のファイルをFMSで公開し、FMPからアクセスして住所フィールド(都道府県+市区町村+町域を1つに結合したフィールド)のソートを行います。 この12万レコードのソートが30~40秒程度で終了する、というのを一応の合格基準としています。
注:
これは未ソートの状態で新たににソートした場合の基準です。一旦ソートされた状態で再度ソートすると、ソート時間が30~40%改善するとがあります。このため、ソートテストは常にソートされていない状態で実行してください。

 ユーザは実行速度には敏感ですので、旧環境と新環境で郵便番号をソートのデモを行うのも良い考えだと思います。

 当方の経験上、コア数やメモリも増やしても、実行速度はほとんど改善されません。ただ、ネットワーク(NIC)の設定を変更することにより、劇的に改善することがあります。これについては、こちらを参照してください。

レガシーFileMaker の分析

 当社では第三者が開発したレガシーFileMakerの保守・開発を引き受けていますが、そのシステムを拝見するとデータベースの正規化が無視されていたり、同種のスクリプトを延々と繰り返していたり(コードの再利用という考えがない)、逆にスクリプトが意味不明に細かく分割されていたり、セキュリティが考慮されていなかったりと、掟破りのシステムを目にすることが少なくありません。

 掟破りシステムに障害があると、当社担当が分析・修正するとなるとなります。熟練開発者が書いたスクリプトでも、その開発者の支援無しに第三者がデバッグするのは元々困難な作業です。 これが非熟練者により開発されたものとなると、通常の十倍からそれ以上の工数を要する大変な作業となります。 このような状況では、スクラッチ開発(一から再開発)お勧めしたいのですが、膨れ上がった掟破りシステムをスクラッチ開発するには、多くの時間と費用を要するため、当社担当がデバッグすることになります。

 さて、このような悲惨な状況下での頼みの綱がデバッガや分析ツールですが、旧FileMaker にも FileMaker Developer 5.5/6 (以下、Developer)という製品があり、これによりデバッグや分析を行うことができます。
 Developerを使うと、下図のようなデータベースデザインレポート(実体は FileMakerのファイル)を作成することができます。 このレポートはシステムの開発量(フィールド、レイアウト、スクリプト等の数)を知るのに有用です。



 一方、検索機能が不十分、というか無いに等しいので、保守や障害対応で特定のオブジェクトの検索を行うには、データベースデザインレポートは不適です。
 例えば、システムの改変時にフィールドAに対して何らかの変更を加える場合、そのフィールドが影響を及ぼすオブジェクト(他のフィールド、スクリプト、レイアウト、値一覧、リレーション)が無いかをリストアップし、それぞれ検討を行い、悪影響があると判断される場合には対応が必要になります。この時、上記のデータベースデザインレポートには、フィールドAを指定して、関連するオブジェクトを抽出する機能がありません。
 この種の検索機能が無いと膨大な作業を人力で行う事になりますが、これは実務上ほぼ不可能となります。このため当社ではオブジェクト検索を行う以下のサブシステムを用意しています。
 

 図の「TPC Database Analyzer」は FileMaker 5.5/6用データベース分析ツールです。[検索条件]に「売上日」と入力して検索を実行すると、[売上日]を含むオブジェクトがすべて検索されます。その検索結果が下図です。


 画面左を見るとレコード数が約3万1千ありますが、これがこのシステムを構成するオブジェクトの数です。該当件数が299となっていますが、これが[売上日]が関連するオブジェクトの数です。約3万1千あるオブジェクトから人力で[売上日]を含むオブジェクトをしらみつぶしに調べるのは、実務上ほぼ不可能ですが、299件であれば一つ一つチェックしていければ、時間はかかると思いますが、熟練の開発者であれば必要な修正を加えることが可能です。

 このような分析ツールは障害や部分改変を行う際に限らず、新システムのスクラッチ開発時に旧システムを分析する際にも非常に有用なツールとなります。
(本項は21/10/14に加筆)
 
(NuckyT)




■ FileMaker 5/6等レガシーシステム関連記事

正月休み明け、仮想マシン上の FileMaker Server 5.5 バックアップが失敗していた(22/01/25投稿)
仮想マシンの外部ディスクでI/Oエラーが出た際の復旧方法

まだまだいける FileMaker 5.5/6 ― レガシーFileMaker の延命 2021 ―(21/07/24投稿)
レガシーFileMaker とOSの互換性、移行時の留意点について

IIS6 + FileMaker Web コンパニオン構成の Web サーバ機で TLS1.2 が動作するようにリバースプロキシを設定する (20/07/06投稿)
TLS1.2 非対応の IIS6 に Web ブラウザアクセス時に警告メッセージが出ないようにする

太古の FileMaker システムを延命させる! ― 後日談FileMaker(17/09/07投稿)
下記記事のレガシー延命スキームの実施と結果について。

太古の FileMaker システムを延命させる!(17/04/25投稿)
Remote Desktop Server/FileMaker Pro 5.5 搭載の Windows Server 2008 物理マシンを P2Vし、Hyper-Vに移行することにより、レガシーシステムの延命を図る。

FileMaker 5.5/6 をモバイルで使う(16/05/25投稿)
Android/iOS に Remote Desktop Client を載せて、FileMaker Go のようなことをしてみます。

今なお輝くFileMaker 5.5/6(16/05/23投稿)
レガシーFileMaker の意外な利点。

0 件のコメント: