クラウドをより身近に!Google Driveを使った業務データ移行入門
最近、クラウドファーストという言葉が使われるようになっています。クラウドファーストは、システムの導入・構築に際して、「まずクラウドでできないかを検討し、それが困難な場合にはオンプレミスでの構築を検討する」という考え方です。
しかし、実際に中小の会社などの担当者からよく聞かれるのは、業務内容をクラウドに移行するのは、「まだ不安がある」、或いは「クラウドはやってみたいが技術面での敷居が高い」といったような言葉です。確かに、中小の一般的な企業担当者の多くは、業務システムもクラウド移行を目指すべきと言われても、不安を感じる会社も多いかもしれません。
本連載では、いきなり本格的なクラウドへの移行を行うのではなく、難易度の低いレベルから本格的なクラウドへと、2ステップでクラウド移行を実現するシナリオを紹介したいと思います。
具体的には、、
1stステップとして、難易度の低いクラウドストレージ上のGoogle Apps(以後、Apps)への移行を行い、
2ndステップで、AppsをGoogle App Engine(以後、App Engine)とリンクし、本格クラウドシステムへの移行を達成する。
という考え方です。ここで特徴的なのは、本格クラウドへの移行後も、Appsを使用した処理、さらにはここで取り上げるExcelを使用した従来からのエンドユーザー処理はそのままでも全く問題がないという点です。
1. 連載での最終的なシステム構成
図1は連載での最終的なシステム構成です。図の右側がApp Engine環境、図の左側がApps環境で、処理の流れは次のようになります。
(1)図左下のExcelをGoogle Drive上にアップロードする。アップロードされたExcelはGoogleのスプレッドシート(以後 スプレッド)に自動変換される。
効果:
- セキュリティ:Googleアカウントを使用してスプレッドを参照、編集可能なユーザー(およびユーザーグループ)で共有することができ、作業の効率化を進めることができます。
- スプレッドに変換されると、Google Apps Script(以後、GAS)により、JavaScriptを使用した強力なプログラミング処理機能を付加することができます。
(2)Google DriveのスプレッドデータをApp Engineのアプリから読み込んで、Datastoreに書き込む。
効果:
スプレッドデータをApp Engineから読み込み、さらにDatastoreに書き込むことによって、本格的なクラウド環境でスプレッドデータを扱うことができるようになります。例えば、メール送信などのサービス機能や、Task Queuesによる処理の自動化はこの後見ていきますが、更にChannelを使用したリアルタイムWebや、BigQueryを使用したビッグデータ解析などとリンクすることもできます。
(3)(2)の処理に書き込み完了を関係者のメール送信する処理を追加し、App EngineのPull Taskを使用して処理を自動化する。
効果:
App EngineのTask Queuesを使用すれば、
- Google Drive上のスプレッドデータをApp Engineから読み込む
- スプレッドデータをApp EngineのDatastoreに書き込む
- 処理の完了を関係する担当者にメールで通知する
以上のような処理をすべて自動化することができ、担当者の負担を大幅に削減できます。
(4)Datastoreに書き込まれたスプレッドデータをApp Engineから読み取り、そのデータをGASのURLFetchを使用してスプレッドに書き込む。データが書き込まれたスプレッドはもとのExcelシートにも再現できる。
効果:
スプレッドシートの累積数は業務によっては膨大な数になります。しかしAppsは、App EngineのDatastoreに書き込まれたデータをスプレッドに読み込み再現する事ができます。従って、データが書き込まれたスプレッドをDrive上に置いておく必要はなくなり、スプレッドの管理工数削減およびセキュリティ上大きな効果を上げることができます。
連載ではおおよそ以上のような流れに沿って解説していきますが。図1左のAppsではプログラム言語としてJavaScriptを使用し、右側App EngineではJavaを使用します。連載最初の部分では、プログラミング経験がほとんどないような方でも理解できるように進めますが、その後のApp Engineの処理が関係する部分辺りからは、プログラミング経験もある程度要求される内容になってきます。
また、AppsやEclipseのUI表示は、日本語化も可能ですが、ここではすべて英語表記のままにしてあります。たとえばGoogle社のドキュメントを参照するような場合、日本語のドキュメントは内容が古かったり、日本語化されていないような場合もかなりあります。従って英文のドキュメント参照が強く推奨されますが、その場合はすべてUI表示も英語になっているので、英語表示のUIに慣れておく方が後々便利な事が多いという主旨です。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Google AppとApp Engineの準備・設定を完了する
- AppsスプレッドシートとApp Engineのデータ交換を完成させる
- App Engineから読み取ったデータの書き込みと、スプレッドシートのUIで表示する処理
- AppsのスプレッドシートデータをApp Engineから読み取る
- Google Driveと Cloud DatastoreのデータをBigQueryで使用する
- Slackと外部アプリケーションを連携させる
- エンティティ所有/被所有関係とトランザクション処理
- 簡単なリアルタイムチャットアプリを作成する
- 同一テーブルでプロパティ項目を変更して永続化
- Firebaseの認証機能