マルチデバイス環境におけるプロジェクト事例
ここからは、読者の皆さまが、よりその魅力を具体的にイメージできるように、弊社が携わったプロジェクトの事例を紹介していきます。
デイサービスのフランチャイズビジネスで利用するソリューション
全国約200拠点で、リハビリ型デイサービス(介護施設)ビジネスを展開している「リハコンテンツ株式会社」では、各拠点での介護記録および法定書類の管理業務に、FileMakerのカスタム Appを活用しています。
利用しているカスタム Appの機能は大きく2つに分かれています。1つは、通所介護計画や個別機能訓練計画書といった、国民健康保険団体連合会への保険請求の証跡となる法定書類の管理機能。そしてもう1つが、利用者一人ひとりに対する介護サービスの記録機能です。
前者の法定書類管理では、官公庁への提出書類にありがちな複雑な様式の帳票を、施設毎に百数十名にのぼる利用者の数だけ、正確に管理する必要があります。このような業務なので、やはり利用環境としては広い画面、そしてマルチウインドウで利用できるデスクトップアプリケーションが最適です。
一方、介護サービスの記録業務は、各介護職員が利用者ごとにその日提供したサービス内容を詳細に記録します。さらにこちらのデイサービスはリハビリ型ということもあり、3カ月に1回、利用者ごとに体力測定が実施されます。この体力測定では、身長・体重・握力などの数値情報に加えて、立ち姿勢での写真撮影や、TUG(Timed Up and Go test)という運動機能テストの様子を動画で記録する業務が含まれます。
このような記録業務をサポートするには、やはりモバイルデバイスが最適です。このプロジェクトでは、iPod touch を実行デバイスとして、各種数値情報の入力機能、および写真・動画の記録機能を実装しました。もちろん、使っている開発プラットフォームは「100% Pure FileMaker」です。
観光・長距離バスの電子チケットソリューション
「濃飛乗合自動車株式会社(本社:岐阜県高山市、以下濃飛バス)」では、従来まで郵送していた長距離バスおよび観光バスの紙の乗車チケットから、QRコードを使った電子チケットに代替するソリューションを、FileMakerプラットフォームで運用しています。
別システムで運用している、ツアーのネット決済サービスから、FileMaker Serverにデータ連携される決済情報をコンバートし、決済したお客さまへQRコードが埋め込まれたHTMLメールを電子チケットとして送付します。
お客さまは乗車の際に、このQRコードを濃飛バスのスタッフに提示します。濃飛バスのスタッフは、FileMakerのカスタム Appを使って提示されたQRコードを読み込み、チェックイン処理を実行します。こちらでも、チェックインアプリの実行環境はFileMaker GoとiPod touchです。
このFileMaker GoとiPod touchで生成したチェックインデータは、FileMaker Serverにホストしているセントラルデータベースに瞬時に記録されます。このチェックインの記録状況は、デスクトップアプリケーションで全体的な進捗などを確認することができます。このデスクトップアプリケーションはFileMaker Proで実行しています。
もちろん、チェックイン状況の全体把握以外にも、ツアー情報や路線情報のマスター設定など、広い画面で作業したほうが効率の良い業務は、デスクトップアプリケーションとして実装しました。こちらも同じく、「100% Pure FileMaker」で開発・運用しています。
マルチデバイス環境における実装の要点
ここでは、FileMakerプラットフォームでの開発における、マルチデバイス環境での実装の要点を、システムエンジニアリング的な視点からお話します。
ワンソース・マルチデバイスのプロジェクトを手掛ける場合、「ひとまず動けば良い」精神で、やみくもに開発を進めてしまうと、システム全体の構造が早晩カオスな状態になります。これを回避するためには、適切なモジュール設計を心がけ、各実行環境間で、似て非なる機能を重複して実装しないなどの配慮が必要です。例えばモジュール分割の考え方のひとつに、MVCモデルがあります。
FileMakerはその構造上、MVCの各層を完全に分離することは不可能なのですが、この考え方を応用して、各層に該当するオブジェクトやコードをできるだけ独立性が高く、互いに干渉しないような構造で実装することは可能です。
例えば、デスクトップアプリケーション(FileMaker Pro)とモバイルアプリケーション(FileMaker Go)の双方から、共通して使うビジネスロジックをモデル層として切り出し、それぞれのビュー(レイアウト)から、モデル層に実装したビジネスロジックを実行するといった実装上の配慮は、保守性を考慮すると重要になります。
この辺りを何も考えずに実装すると、同じような処理を実行するコードが至るところに点在し、保守性が非常に低くなります。この辺りは、ITプロフェッショナルとしては、ある意味で当たり前のことなのですが、一般的に「シチズンデベロッパー」と呼ばれる、非ITプロフェッショナルの開発者には非常にハードルの高いことです。
また、同じく非ITプロフェッショナルが軽視しがちなことに「セキュリティ」への配慮があります。例えば、先にご紹介したデイサービスの事例では、極めて機密性の高い利用者の写真や動画データを記録・閲覧する機能が実装されています。そのため、確実なユーザ認証機能の実装、各種アクセスログなどをしっかりと記録する配慮が必要です。
しかし、この辺りの機能は利便性とのトレードオフになるほか、直接は利益をもたらさない機能になるので、非ITプロフェッショナルの開発者はおざなりにする傾向があります。
内製化支援ビジネスという新しい価値提供
最後に、今回のワンソース・マルチデバイスからは少し話がそれますが、ローコード開発プラットフォームを武器にした新しいビジネスについて提言してみたいと思います。
ITプロフェッショナルは、これまでの知識・経験に加えて、何かのローコード開発プラットフォームをマスターすることで、上記のような非ITプロフェッショナルが不得意な部分を、「内製化支援サービス」という新しいスキームで価値提供することができます。
FileMakerを始めとしたローコード開発プラットフォームは、汎用プログラミング言語と、SQLでハンドリングするRDBMSを組み合わせた開発よりも、非ITプロフェッショナルに優しい開発プラットフォームです。そのため、ソフトウェアの内製化というトレンドの中で、ローコード開発プラットフォームは今、強い関心を持たれています。
当然、ソフトウェア開発の内製化という枠組みでは、ソフトウェア開発に対する知識と経験に乏しい、非ITプロフェッショナルによる開発がその多くを占めるようになります。ローコード開発では、このような専門知識の乏しい人でも、「なんとなく動いてしまう」ソフトウェアが作れてしまうことが強みでもあり、また同時に弱みやリスクでもあります。
非ITプロフェッショナルがやってしまいがちな、誤ったデータモデリング、誤ったモジュール設計、誤ったセキュリティ設定などが見過ごされてしまう。そして「戦略なき内製化」によってもたらされる大きなリスクである属人化は、開発されたソフトウェアを「企業の資産」という視点から評価すると、極めて危険な「負の遺産」になる可能性があります。
このようなリスクを取り除けるのは、一定レベルの知識と経験を持っているITプロフェッショナルだけです。このITプロフェッショナルが持つ知識と経験を付加価値として、先に挙げたようなリスクを取り除くサービスは、内製化支援ビジネスならではの価値提案になります。
内製化支援サービスは、テクニカルトレーニングや実装難易度の高い機能の部分的なアウトソーシング開発だけではありません。視点を高く持てば、このように非常に多岐にわたる価値を提供することが可能なのです。
これまで、非ITプロフェッショナルとITプロフェッショナルには、お互いの言葉がなかなか理解できない大きな壁がありました。しかし、ローコード開発プラットフォームという「仲介者」を通じて、よりスムーズにお互いの意思疎通ができるようになったと捉えることもできます。このような周辺環境の変化もあり、ソフトウェア開発の内製化支援サービスは、今後より一層多様なニーズが生まれてくると思います。
そして、このようなサービスであれば、「多重下請け構造」「一括請負契約」「ウォーターフォール」という、ITプロフェッショナルを苦しめがちな三重苦とは無縁のビジネスを構築することも可能なのです。