25
Google Apps Script クラウドBPMとの連携 株式会社クエステトラ 日下

20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

Embed Size (px)

DESCRIPTION

以下の「KyotoGASさんとGDG京都のGoolge Apps Script共催勉強会」(2013/7/5)で発表したときの資料です。 https://sites.google.com/a/kyoto-gtug.org/home/kyotogas-gdgkyoto-20130705 ※KyotoGASについてはこちら→https://sites.google.com/site/kyotogas/home

Citation preview

Page 1: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

Google Apps ScriptとクラウドBPMとの連携

株式会社クエステトラ日下 毅

Page 2: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

自己紹介

所属 株式会社クエステトラ

経験 ActionScript、Java、VisualBasic等コミュニティ KyotoGASとりまとめ、FxUG京都スタッフ

Google+ http://gplus.to/tsuyoshi.kusaka/Facebook http://www.facebook.com/tsuyoshi.kusakaBlog http://d.hatena.ne.jp/tk_4dd/

※「Google Apps Scriptsでプログラミングを学ぶ本」の

執筆のお手伝いもさせていただきました

Page 3: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

会社・製品について

株式会社クエステトラ2008年創業、BPM専業

米Gartner社よりCool Vendor認認定

Questetra BPM Suitehttp://www.questetra.com/ja/クラウド型BPMワークフロー

ノンプログラミングでシステム構築可能Google Appsとの連携

Page 4: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

表記について

Google Apps Script → GASGoogle Spreadsheet → SheetJavascript → JSQuestetra BPM Suite → QBPMS

Page 5: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

GASで足りない機能を

早く、安く!

Page 6: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

Drag & Drop でオリジナルなワークフローシステムを構築できる

すごいヤツ!

Page 7: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

マスターデータを管理したい

金額をリアルタイム集計したい!

帳票出力したい!

ワークフローを一括で流したい!予算はないよ♪

Page 8: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

要望:マスターデータ管理×QBPMSではマスターデータ管理ができない

要望:金額をリアルタイム集計×QBPMSでは集計できるデータの制約あり

要望:帳票出力×QBPMSでは帳票出力の仕組みがなかった

要望:ワークフローを一括起動×QBPMSにはリストからの一括起動の仕組みがない

Page 9: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QBPMSにはREST APIがある!QBPMSにJSが埋め込める!

Page 10: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

そうだGASを使おう!

軽量なWebアプリを準備しやすい

早く作れて、安く使える。学習コストも低く、始めやすい

よくある連携系サービスで足りない部分も作ることで補える

Page 11: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QuestetraGoogle Appsとの連携利用が多い

REST API

Javascriptが埋め込める

GAS足りない部分をGAS+Sheetで補いやすい

サーバ処理と連携可能

クライアント処理と連携可能

Page 12: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QBPMSではマスタ管理の仕組みがない

連携1:Sheetでマスタ管理

idを元にマスターデータから関連情報取得

マスタデータを制御

Page 13: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

詰まった点

JSとGASの通信部分でのクロスドメインの問題

(手を抜いて)ブラウザの設定で回避?JS→GAS:リクエスト送信は問題なし

GAS→JS:戻すデータが空っぽになる・・・

↓JSONP方式を使うことで解決

Page 14: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QBPMSでは集計できるデータに制約

連携2:リアルタイム集計

APIで取得したデータをSheetに反映/集計

Page 15: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QBPMSでは帳票出力の機能が無かった

連携3:帳票出力

データを送信してSheetで帳票を作成する

Page 16: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QBPMSには一括処理機能がない

連携4:一括処理

Sheetの実行リストでAPIをたたく

Page 17: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

QBPMSにはカレンダーとの連携機能がない

連携5:イベント事に処理起動営業訪問イベントに応じて、ワークフローを起動するオレオレスクリプト。

カレンダーを定期チェック、イベントに応じてAPIをたたく

Page 18: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

実運用上考慮した点

セキュリティ観点Keyというリクエストパラメータを持たせる

 (サーバアクセスのためGoogle Apps認証ではNG)

運用監視観点GAS処理ログをSheetに出力、

 夜間自動処理の結果をメール送付

エラー回避観点「予期しないエラー」等の発生可能性がある部分では

try catchでリトライの仕組みを入れる

Page 19: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

困っている点 その1

ソースコードの構成管理GoogleDriveまかせが一般的?

別途管理のためにツール使うべき?

httpリクエスト受信で起動する処理のデバッグ実際にリクエスト送信するしかない?

httpリクエストによる処理のアクセスの制限サーバからのアクセスもあり、GoogleApps認証は不可

IPアドレス制限はまだ無理っぽいhttps://code.google.com/p/google-apps-script-issues/issues/detail?id=2569&thanks=2569&ts=1364320993

Page 20: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

困っている点 その2

「予期しないエラー」が出た場合の対応どうすれば詳細事象が把握できる?

「プロジェクトトリガー」の共有共有する方法はある?

オブジェクトのリテラルが数字だけの場合xxx.yyy[‘1’]といった指定ではとれない

Page 21: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

今後考えていること

電話との連携

Page 22: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

今後考えていることGASからQBPMSのAPI経由でデータ取得

QBPMSでグラフ表示できないケースをカバー

Page 23: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

まとめ

GASを使うことで・・・

軽量なWebアプリを準備しやすい

早く作れて、安く使える学習コストも低く、始めやすい

足りない部分を補えるよくある連携系サービスではできることが限られる

Page 24: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

補足

          には無償アカウントがあります!

無償でもGoogle Appsと連携できます

機能制限なし、期間制限なし5ユーザまで登録可能

よければ試してみてください。http://www.questetra.com/ja/free-saas-bpms/

Page 25: 20130705 Google Apps ScriptとクラウドBPMとの連携(KyotoGAS発表資料)

ありがとうございました