CodeZine(コードジン)

特集ページ一覧

FileMakerプラットフォームの豊富な実行環境――サーバサイド環境の場合

プロの開発者こそローコード開発ツールを活用しよう!「FileMaker」完全ガイド 第6回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2022/02/08 12:00

 今回は、Claris FileMakerプラットフォーム(以下、FileMaker)がカバーする豊富な実行環境にフォーカスして、その魅力をお伝えしていきたいと思います。実行環境については第5回の記事で「ワンソース・マルチデバイス」を解説しましたが、これはクライアントデバイスに関する実行環境にフォーカスした内容でした。今回はバックエンド、サーバサイドの環境について詳しく解説をしていきます。

FileMakerがカバーする豊富な実行環境

 こんにちは。株式会社ライジングサン・システムコンサルティングの岩佐です。

 昨今では「クラウドファースト」という言葉もあるぐらい、どんなシステムでもクラウドで動かすのが正義のような風潮があるのではないでしょうか。実際、この数年でさまざまなクラウドサービスが登場し、大規模なシステムから、中小規模のシステムまで、幅広くクラウド環境での運用が可能になってきました。

 一方、その対局にある「オンプレミス」ですが、こちらも完全に「過去のもの」になったわけではありません。特に社内のみで使う業務システムを動かす環境としては、まだまだ十分に検討のテーブルに乗せるべき実行環境です。そしてFileMakerは、国や地方自治体などの行政機関、医療施設、原子力関連施設、運航中の航空機や船舶内でも利用されるなど、ユーザのニーズに応じて、クラウドとオンプレミス、さらにそのハイブリッドと、幅広くその実行環境をカバーしています。

そもそもFileMaker Serverとは

 ここで、FileMakerプラットフォームのバックボーン、もしくは心臓部といってもよいFileMaker Serverというプロダクトについて少し説明をさせてください。実はITプロフェッショナルに対して、FileMakerプラットフォームの概要をお伝えする際、このFileMaker Serverというプロダクトの位置づけが、いまいちよく理解いただけないことがあります。

 FileMaker Serverとは、FileMakerプラットフォームで構築されたアプリケーションを、複数人で安全に利用するためのホスティングサービスおよびそれに付帯するさまざまなサーバサービスを提供するサーバサイドプロダクトです。

 以下より、FileMaker Serverが提供する代表的な5つのサービスを解説します。

1. アプリケーションのホスティングサービス

 FileMaker Serverのメインサービスです。FileMaker Serverは、データとプログラムが同梱されたファイル(fmp12ファイル)をホストし、各クライアントに対してユーザインタフェース(レイアウト)、ビジネスロジック(スクリプト/カスタム関数)の呼び出しおよびクエリリクエストなどに応答します。

 各クライアントからFileMaker Serverへの接続環境は、大きく2つに分かれます。1つは、クライアントデバイスにFileMaker Pro/FileMaker Goがインストールされているケース。そしてもう1つは、これらがインストールされていないケースです。

 FileMaker Pro/FileMaker Goがインストールされている場合、ユーザはクライアントデバイスで、FileMaker Pro/FileMaker Goを経由してFileMaker Serverにアクセスします。一方、インストールされていない場合は、Webブラウザを使ってFileMaker Serverにアクセスします。このときは、FileMaker WebDirectというサービスを利用します。

 以下、UMLの配置図を使って、FileMaker Serverと、各クライアントのデプロイメントを表したものです。

ポート 16000に関しては、FileMaker Server 19.4.1 以降は、Admin Console へのリモートアクセスにポート 443 を使用します。
ポート 16000に関しては、FileMaker Server 19.4.1 以降は、Admin Console へのリモートアクセスにポート 443 を使用します。

 この配置図を見ると、fmp12ファイルは各クライアントには一切配置されておらず、全てFileMaker Server内に配置されていることが分かります。FileMaker Serverでアプリケーションをホストすれば、各クライアントに対して、最新プログラムを配布するような旧来のクライアント・サーバシステムの運用の煩わしさはありません。アプリケーションの更新は、サーバサイドでの作業のみで完結します。

 さらに、FileMaker ServerとFileMakerクライアント間の通信はSSLで暗号化されるので、セキュアなデータ通信が可能です(別途SSL証明書のインストールが必要)。

2. サーバサイドにおけるビジネスロジックのスケジュール実行

 FileMaker Serverには、ホストしているアプリケーションに実装されたビジネスロジックをスケジュール実行できる機能が実装されています。例えば以下の機能の運用が可能です。

  • 1時間ごとに連携対象の他システムへデータを取得しに行く
  • 毎日深夜の時間帯に、大量のトランザクションデータから分析用データマートを生成する
  • 月初の深夜に売上の締め処理を実行し、請求書を規定のフォルダにPDF出力しメール送信する

 また、スケジュール実行とは少し異なりますが、FileMakerクライアントから任意のタイミングでサーバサイドでのビジネスロジック実行も可能です。FileMaker Pro/FileMaker Goで実行するアプリケーションはクライアント・サーバシステムなので、基本的にビジネスロジックはクライアントサイドで実行されます。

 しかし、大量のレコードセットに対して複数のフィールドを一括更新する処理や、あるイベントを発火点として、関連する複数テーブルの複数レコードを正確に更新する、一般的に「トランザクション処理」と呼ばれる処理は、サーバサイドで実行するほうが望ましいです。処理スピードを圧倒的に高速化できるのはもちろんのこと、データの保全性を考慮してもこのような処理はサーバサイドでの実行を検討した方がよいでしょう。

3. オンラインバックアップ

 FileMaker Serverには強力なオンラインバックアップ機能が実装されています。オンラインバックアップなのでシステムを停止することなく、確実に大切なデータをバックアップすることができます。また、サードパーティのプラグインやシェルスクリプトなどを組み合わせればオフサイトバックアップの実現も可能です。

 バックアップJOBは、任意のスケジュール設定が可能です。そのため、デイリーの夜間バックアップに合わせて、業務時間の日中は30分に1回バックアップを実行する、といった柔軟な運用が可能です。

 また、FileMaker Serverはファイル単位における「差分バックアップ」を実行します。前回バックアップ時から更新のないfmp12ファイルは、ハードリンクを生成するのみなので、対象ファイルが大きくてもバックアップは短時間で終了します。そのため、更新頻度の高いテーブルと更新頻度の低いテーブルをファイルレベルで分割しておけば、バックアップ時間の短縮が期待できます。

4. Webサーバサービス

 第5回でも言及しましたが、FileMakerはWebDirectという機能を持っています。これはWebブラウザをクライアントとして、FileMaker Serverでホストしているアプリケーションを利用する形態です。FileMaker Pro/Goをクライアントにする場合と比較すると、実装できる機能に制限はありますが、Webブラウザのみでアプリケーションを使える運用の手軽さは魅力のひとつでもあります。

 同様に、本連載の第3回で紹介した、FileMaker Data APIというRESTful な Web API サービスも、FileMaker Serverにて提供されます。

5. Server Administratorサービス

 FileMaker Serverの各種設定機能、およびイベントログやアクセスログなどの各種ログデータの閲覧機能を、ブラウザをフロントエンドとしたGUI、もしくはコマンドラインインタフェースを介して提供します。このサービスから取得できる各種ログ情報をもとにアプリケーションで発生する遅延処理などのボトルネックを特定するほか、不正アクセスなどの追求も可能です。

クラウド VS オンプレミス

 ここからは、FileMaker Serverをどこに配置するのかという視点から、クラウド環境とオンプレミス環境を対比して見ていきます。

 まずオンプレミス環境ですが、こちらは社内にサーバマシンを置き、そこにFileMaker Serverをインストールする運用なので、非常にイメージしやすいと思います。サーバOSの選択肢として、この記事を執筆しているバージョン19.4時点では、Windows Server、macOS、およびUbuntu Linuxが選択可能です。FileMaker Serverの詳細な実行環境については、こちらのサイトをご確認ください。

 次にクラウド環境ですが、こちらは大きく2つの選択肢に分かれます。まずはAmazon Web Services(以下、AWS)の EC2や、Google Cloud Platform(以下、GCP)のGCEに代表されるIaaS上に、FileMaker Serverが対応するサーバOSをインストールして利用する方法。そしてもう1つが、FileMaker CloudというClaris International Inc.(以下、Claris社)が提供するFileMakerプラットフォームに特化したPaaSを利用する方法です。

 オンプレミスによるFileMaker Serverの運用およびIaaSを利用したクラウド環境でのFileMaker Serverの運用は、双方ともに、バックアップ、OSのセキュリティパッチ、FileMaker ServerのアップデートおよびSSL証明書の管理など、一般的に「サーバ管理」と呼ばれるタスクはライセンスホルダーによる実施が原則となります。

 一方、FileMaker Cloudは、一般的に「マネージドサービス」と呼ばれるカテゴリーなので、この辺りのサーバ管理業務は全てサービスプロバイダのClaris社が担うことになります。このFileMaker Cloudは、2020年5月にスタートした比較的新しいサービスですが、社内に専任のサーバ管理者がいない中小規模のユーザにとっては「サーバ管理」という煩わしさから解放されるとても魅力的なサービスです。

 特にAWSやGCPといったクラウド環境での運用は、思わぬ設定ミスで大きなセキュリティホールを開けたまま運用しているケースもあるので、この辺りに自信のないユーザにとっては魅力的な選択肢の1つになります。

FileMaker Cloud は SaaSビジネスにも使える

 上記でご紹介したとおり、FileMaker Cloud はこれまでFileMakerユーザが手を煩わせてきたサーバ管理業務から解放される魅力的なサービスなのですが、ITプロフェッショナルとしての視点、そしてよりビジネス的な視点から見ると、FileMaker Cloudの革新性の本質はそこではありません。

 FileMaker Cloudの真の革新性は、ライセンスホルダーの「組織の外側」に所属するユーザに対しても、FileMaker Serverでホストしているアプリケーションを「サービス」として提供可能になったことです。

 これまでの「ボリュームライセンス」と呼ばれる形態で購入していたFileMakerのライセンスでは、一部の例外的なケースを除いて「所属組織(法人)の壁」を超えたアプリケーションの提供は不可能でした。

 例えば、ある企業がFileMakerで素晴らしいアプリケーションを開発し、それを「外販」する場合を考えてみましょう。このような場合、これまではそのシステムを導入する企業にFileMakerのライセンスを必要な数だけ購入してもらい、システムを提供する企業ごとにFileMaker Serverを建てて、実行環境を構築する必要がありました。

 これは、一般的なクライアント・サーバタイプのパッケージシステムやERPと同じ形態ですが、これだけクラウド環境が整ってきた現在からすると、いささか「レガシーさ」を感じてしまいます。そして何よりも、契約企業ごとに実行環境を構築する必要があるので、イニシャルコストおよび運用保守業務の肥大化リスクがありました。

 さらに、当該アプリケーションを一企業あたり2〜3名しか利用しないような場合でも、FileMakerのボリュームライセンスは、通常5ライセンスからの発注になるので、場合によっては余剰のライセンスをユーザ企業に購入してもらう必要がありました。

 一方、FileMaker Cloud であれば、このアプリケーションを開発した企業が一括してライセンスを購入し、システムを提供したい企業に対して必要な分だけ自由にユーザライセンスを割り当てて、アプリケーションを利用してもらうことができます。

 例えば、サービスプロバイダ企業がFileMaker Cloudを50ライセンス契約し、それを一企業あたり2ユーザずつ、合計25企業に全く同じアプリケーションを、同一のインスタンスから提供することができます。従来のように企業ごとに実行環境を構築する必要もありません。

 FileMaker Cloud は、1ユーザあたり年間4万8,000円、月額換算で4,000円(税抜、Standard プランの場合)のライセンス費用が発生しますが、このライセンス費用を上回るだけの価値を提供できるサービスであれば、十分ビジネスになる可能性があります。

 例えば、経理部門や経営企画部門の限られたユーザのみが使用する、さらに医療業界に特化した財務諸表の予実管理システム、もしくは管理会計システムを考えてみましょう。

 これを1ユーザあたり月額3万円で提供したとします。ここから単純にFileMaker Cloudの1アカウントあたりの月額換算ライセンス費用4,000円を引くと、手元には 2万6,000円が残ります。単純計算ですが、これを100ユーザで50の医療施設(一施設あたり2ユーザ)に展開できれば、月額260万円、年間3,120万円の収益を生みます(実際の契約は年間プランです。ライセンスについて詳しくはこちらの資料をご確認ください)。

 この収益額をどう見るかは、目標とする事業規模にもよると思いますが、一般的なWebシステムのように高単価のプログラマを数名抱えこんで、Webベースのシステムを展開するようなSaaSビジネスとは違った、シナリオや規模感でのビジネスが十分にできるのではないかと思います。

 つまり月額5万円、10万円出してでも「こういうソフトウェアが使いたい!」と思うマーケットを見つけ出し、そのニーズに応えるアプリケーションを開発・運用できれば、より収益性の高いビジネスを展開することが可能だということです。

 そして何より、Claris FileMakerは開発生産性の高いローコード開発プラットフォームです。なので「これだ!」というマーケットを見つけ、最初のバージョンのアプリケーションをリリースした後も、ユーザとマーケットのニーズに応じて柔軟にアプリケーションを改良し続けることができます。

 ビジネス的な観点からしても、ローコードの強みを活かした、小規模な開発チームによる素早い開発とPDCAサイクル、そして軽やかなピボットがより現実的なシナリオとして描けるのです。

最後に

 これまで全6回に分けて、ローコード開発プラットフォーム・FileMakerの魅力をお伝えしてきました。本連載の第1回で「ローコード開発プラットフォームはどのような強みを持つのか、さらに、ITプロフェッショナルが、これまでに培ってきた技術力やソフトウェア開発経験の強みを活かし、ローコードを活用した新しいビジネスモデルの構築に関して提言します」と述べました。

 ローコードは、非ITプロフェッショナルでも動くソフトウェアの構築ができる素晴らしいソリューションです。しかし、その副反応として「素人さん向けの開発ツール」と誤解されるケースも多い開発プラットフォームでもあります。

 この連載を最後までお読みいただいたITプロフェッショナルの皆さまには、ローコードが「必ずしも素人さん向けの開発プラットフォームではない」「システムエンジニアリングに関する専門知識と経験があるプロが使うことで、より高度で洗練されたアプリケーションを構築可能」であることがお分かりいただけたと思います。

 さらには、ITプロフェッショナルを不幸にすることもある「多重下請け構造」「一括請負契約」「ウォーターフォールモデル」からの脱却も可能なのでは……とその可能性を感じていただければ、著者としてこれほど嬉しいことはありません。

関連リンク

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 岩佐 和紀(イワサ カズキ)

     1973年、宮崎県出身。現在は長野県長野市に在住。 BMWジャパンやDOLCE&GABBANAジャパンといった外資系企業、及び東証一部上場企業において、情報システム部門の立ち上げから基幹システムの企画・開発・運用まで幅広い経験と実績を持つ。 2006年にフリーエージェントのITコンサルタントとして...

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5