Google Cloud Business Application Platform - Apigee 編

Sep 20, 2020
 
  

長く開催されていたGoogle Cloud Next 20: Next OnAir も終了したようです。🔚

 

Appsheetが関係するGoogle Cloud Business Application Platformに関するセッションのコンテンツも早速Upされているようですので、見逃された方は、こちらから。リンク

 

Cloud Nextでは広範な話題が取り上げられるため全体像が掴みにくいですが、GCPの概要を俯瞰的に「スケッチブック」に纏めてくれているサイトがありましたので感謝とともに

リンクをシェアします。

 

Google Cloud Next 20の全体俯瞰図(スケッチ)はこちら⬇️。

 
 
 
 
 

インフラ、デーアアナリティックス、Cloud AI、セキュリティ。。。 といった大分類。その中でアップシートはBusiness Application Platformの項目に。

 
 
 

Apigeeを利用して外部のリソース・データと接続・連携。Appsheetでユーザーエクスペリエンスやビジネスロジックを考慮した業務アプリを開発。「おしゃれ」ですね。APIによるデータ・アプリ連携に留まらず、Appsheet Automationと呼称されるモジュールで外部のアプリケーションの各種タスクを操作。Appsheet Automationのベータリリースも待たれますが、まずは、Apigeeをアップシートのデータソースとして指定・利用するための機能が早速Betaリリースされました。👍

 

Appsheet ホームページへのリンク

 
 

Apigeeはこれまで利用した実績もなくゼロからの学習が必要となりますが、初の接続トライアルを実施してみましたので、その報告です。2016年にGoogleはApigeeを買収していたそうですが、エンジニア向けのプロダクトでもあり、これまで一般ユーザーによる認知レベルは正直低かったものと思います(私もその一人)が、今後、Google Cloud Business Platformの一翼を担い、注目度が確実に増していくだろう商品と見ています。

 
 
 

では、ApigeeのセットアップとAppsheetとの連携トライアル。🏁

 

テストに当たり、まず公表されている無料のAPIを借用。超シンプルなAPIで、GET リクエストを出すと足元の為替レート💰(ベース通貨はユーロ)を返してくれるAPIです。

 

https://exchangeratesapi.io/

 

APIって? 🤔 という方も多いと思いますが、超簡単に話を整理してしまうと指定されたURLに呼び出しをかけると「何か」を返してきてくれるのが基本的なAPIです。試しにこのAPIのEndpointといわれるURLはこちらですが、このURLをブラウザーで開いてみてください。

 

https://api.exchangeratesapi.io/latest

 

{"rates":{"CAD":1.5567,"HKD":9.1428,"ISK":162.2,"PHP":57.167,"DKK":7.4396,"HUF":361.16,"CZK":26.747,"AUD":1.6152,"RON":4.86,"SEK":10.408,"IDR":17501.07,"INR":86.861,"BRL":6.2117,"RUB":88.6075,"HRK":7.5418,"JPY":123.38,"THB":36.801,"CHF":1.0742,"SGD":1.6039,"PLN":4.4579,"BGN":1.9558,"TRY":8.9037,"CNY":7.9861,"NOK":10.7238,"NZD":1.7533,"ZAR":19.2673,"USD":1.1797,"MXN":24.8461,"ILS":4.0382,"GBP":0.9153,"KRW":1383.16,"MYR":4.8822},"base":"EUR","date":"2020-09-17"}

 

上のようなテキストデータがブラウザーに表示されるはずです。これはJSON形式のテキストデータと呼ばれるもので、APIで取り扱われるデータの基本構造です。いまのアプリ開発では、こういったAPIといわれるデータや通信を扱う部分、俗にバックエンドといわれる部分を開発するとともに、実際にアプリの操作画面などのいわゆるフロント部分の開発を両輪としてアプリ開発が進められています。従い、当然にアプリ開発には多くの時間と労力が必要とされるわけです。

 

では、APIGEEとAPPSHEETはこの世界に何をもたらしてくれるのか? ⁉️

 

APIは、一般に世界共通の形式・仕様とされているOPENAPIスペック・仕様に合わせて構築されています。但し、現実世界をみれば、このOpenApiスペックに当てはまらない構造のAPIも多く存在するのが実態。APIをベースにアプリ内でそのデータを消費しよう!となるとデータの構造を変更したりしなくてはならず、バックエンドの作業が多く発生するなど開発のスピードが低下する一つの要因となってしまいます。バックエンドのエンジニアがコーディングしなければならないからです。こういったAPIのデータ構造の変更やセキュリティー機能の追加云々といった作業をApigeeのプラットフォームが支援してくれる。基本はノーコードで。

 

Apigee単体を取り上げればそういったツールです。既存のAPIを自らの望むスペックに変更。もしくは、ゼロからAPIを構築する際に役立つServiceですが、一般のアプリユーザー、もしくはアップシートというノーコードツールが対象とするユーザー・マーケットでは馴染みがない、というかこんな話をされても全く分からないという世界に分類されてしまうと思います。

 

本題に戻りますと、Apigeeはアップシートでのアプリ開発にあたりどんなベネフィットをもたらしてくれるのか? 

 

これまでバックエンドのエンジニア、もしくはフロント・バックエンド双方を操れるいわゆるフルスタックのエンジニアさんの専業分野であるバックエンドの構築をApigeeを利用することにより簡単に実装できてします。仮にAPIが存在しているようなアプリケーションやサービスがあるのであれば、Apigeeで独自APIをノーコードで作成。そちらをAppsheetのデータソースとして指定することで、あたかもスプレッドシートにデータがあるかのような状態で瞬時にアプリを構築出来てしまうのです。

 

前述の為替レートのAPIを例にアップシートからAPIGEE経由で接続。

 
 
 
 
 

データソースは、新たに設定したAPIGEEのAPI。こちらをデータソースとして自動でテーブルが作成され、簡単なViewも表示。すごい!👍🏻

 

といってもまだまだ良く分からないと思います。では、Apigeeのコネクターが出来る前までであれば、同じアプリを開発するためにはどのようなアプローチであったか。その手法は無限にあるかもしれませんが、例えばの話として一つの手法をベースにお話しします。

 

まず、APIから呼び出した結果返されるデータを「格納」するために、Google App Scriptでコーディング。Google SheetのAPIを利用し、この為替レートのAPIを呼び出して、データをGoogle Spreadsheetに保存するためのファンクションを開発。また、データが適宜・適時更新されるように関数が自動で走るようにスケジューリング。このシートをアップシートから読み込みアプリ化。

 

おっと! コーディングが必要だ。🤪

 

そうです。ノーコードではできなかったのです。但し、Google Spreadsheetには各種多様な追加機能が用意されているので、これらのサービスを利用してAPIの呼び出し、スプレッドシートへの落とし込みもノーコードで実装するための手法はありますが、いずれにせよ外部サービスを利用しなければならないし、その設定も複雑だったりといった弊害が。

 

これがApigeeとの連携機能が登場したことにより既存のAPIをApigeeに登録。アップシートから接続。これだけの操作・設定で、バックエンドの設定が完了し、後は普段通りのやり方でアップシートによるアプリ開発が実行できるようになってしまうのです。

 

Awesome!!。😆

 

但し、良いことばかりではないようです。真実をお話してしまうと、今回のTrialで利用したこの為替レートの最新情報を取得するAPIは、OpenAPIスペックではない、また、返されるData(冒頭の説明にあるJSONのデータ)がAppsheetでは読み込めない仕様となっているため、このJSONの構造を変更する必要がありました。Apigeeは初めてでしたので設定に手こずりましたが、Apigeeの設定内で、Policyといわれるものを一つかませることで簡単に実装できてしまいました。但し、そのPolicyでは「Javascript」を使用。。。。残念ながら完全ノーコードの世界では収まりきらず、コーディングさせられました。ノーコードを基本・信念とする私にとっては不服ですが、仕様上致し方ありません。というわけで、手放しで「ぜーんぶノーコードで実装!!」という話でもない点については触れておかねばいけないと思います。

 

但し、OpenApiのスペックであれば、こういった作業も必要ないはず。つまりApigeeの設定も基本ノーコードで行えるはず。OpenApiのスペックのAPIをApigeeに登録すると、仮にそのAPIで元になるアプリケーション・データベースのデータ読み取りだけではなく、データの修正、新規登録、削除ができるAPIの仕様であれば、その仕様の通り、AppsheetからAPIを介してデータを操作できることになるとAppsheetのDocumentは言っています。これもおしゃれ!🚀

 

弊社では会社の会計システムにFREEEさんのクラウドシステムを採用しています。クラウドネイティブなシステムが故にAPIも準備されており、今後のトライアルとして、ApigeeにFREEEのAPIを登録。アップシートから接続して、経理システムを操作できるInteractiveなアプリが構築できてしまうか? 次のTrialのトピックとしています。

 

アプリ開発の新たな潮流となるのは間違いない!思うのは私だけでしょうか。。?

 

但し、Apigeeへの接続モジュールとは別に提供される予定のAppsheet Automation。こちらは、外部アプリへのAPI接続を含めて標準化されたモジュールが事前準備されているはずで、ユーザーは認証情報を入れるだけで、Apigeeで実現できるようなデータ接続に加え、外部アプリの操作まで実装できてしまうはずです。これまでに行われたアップシートのデモでは、SalesForceへの接続がAppsheet Automationの事例として紹介されていました。従い、例えばSalesForceもAPIが提供されていますが、Automationでの接続が出来るプロダクトについては、Apigeeでわざわざ何か設定する必要もなく、「選択・承認」というボタンクリックだけで、よりリッチな機能を瞬時に実装できてしまうということになると想像しています。さらに、おしゃれです!🤩

 

今回のGoogle Cloud Next のプレゼンを通じても、グーグルの本気度と情熱が伝わる内容でした。まだまだリリースされている追加・新機能はほんの一部ですが、十分に今後の利便性の強化が確実のもので、アプリ開発に於けるUser Experenceを劇的に変える内容であるであろうことは確認できました。

 

アップシートに関する認識はまだまだ誤認されているようにも思われます。「ノーコードなんて、出来ること限られているでしょ。」「家計簿、ToDo管理的な簡単なものしか作れないよな。」 そんなことは有りません、大きな誤った認識です。 エンタープライズレベル・仕様の超リッチなアプリ開発に十分に応えられるアプリ開発を実現できるプラットフォームで、今後も実現できる分野・幅が劇的に拡大し、アプリ開発の主流となると信じています。 長いブログとなりましたが、ご高覧いただき有難うございました。🙏 アップシートの明日に期待しましょう。🌅