<目次>
▶クラウド、オンプレミス間連携の課題
▶データ連携ツールによるAPI連携の開発
「テレワーク」「リモート(Web会議)でのお客様対応」「DX(デジタルトランスフォーメーション)」などの普及により、クラウドサービスの利用が急速に広がりをみせています。
クラウドサービスを利用するメリットとして以下が挙げられます。
・サーバ構築不要
・すぐにサービス利用可能
・臨機応変にスケールアップ可能
これらのメリットは急に変化する業務に、素早く対応できるという強みがあり、ビジネスに恩恵をもたらすでしょう。
しかし、クラウドサービスを利用することだけが先行し、既存システムとの連携方式について何も考慮しないまま導入してしまうと様々な問題が顕在化します。
クラウド間連携の課題
クラウドサービス同士や、オンプレミス等の既存システムとクラウドをデータ連携を考慮するうえで、以下のような課題がよく見受けられます。
・データ連携処理を様々な仕様で個別開発し、データのサイロ化が発生してしまう。
・各クラウドベンダーがWeb上で公開する連携のためのAPI仕様を紐解き開発する必要があり、
仕様の読解で想定以上の工数が掛かってしまう。
・API連携の開発は専門性が高いため、開発/メンテナンスで属人化が発生してしまう。
・認証の仕組み等でAPI側の仕様が変更される度に、プログラムの修正が必要になってしまう。
サイロ化や、属人化、開発/メンテナンス工数増大の課題は一般的なスクラッチ開発の課題としてもよく取り上げられますが、特にクラウドサービスとの連携の場合、短いスパンでAPIの仕様が変わることが多く、その都度プログラムの修正を余儀なくされます。
データ連携ツールによるAPI連携の開発
WebAPI連携の開発時の課題は「データ連携ツール」(EAI)を用いて解決できます。
ここからはデータ連携ツール「DataSpider」を用いた具体例を実際に紹介しながら説明します。
売上実績を関係者にチャットで通知
担当者がクラウドサービス「Kintone」のアプリに商品の売上実績のレコードを登録すると
DataSpiderが一定のタイミングで差分レコードをSlackbotへ渡します。
SlackbotはDataSpiderから送られたメッセージを特定のチャットルームに送信します。
DataSpiderからSlackbotへ連携する際、チャットルームでメッセージを読みやすい形にするため
DataSpider側でKintoneから受け取ったデータの加工を行いたいと思います。
コーディングレスで連携処理を開発
DataSpiderの大きな特長の1つに、プログラムを専用GUI画面を用いて
コーディングレスで開発できる点があります。
GUIでの開発のメリットとして、アイコンベースで処理ごとに可視化されるため処理内容が理解しやすいこと、
属人化を解消しつつ修正時のポイントも見つけやすいことが挙げられます。
複雑なAPIの仕様はアダプタ側で吸収
DataSpiderでは、各データソースとの接続で「アダプタ」と呼ばれる
接続用インターフェースを用いてデータの入出力を行います。
Kintoneとの接続の場合、DataSpiderでは専用の「Kintoneアダプタ」が提供されています。
クラウドサービスの専用アダプタはAPIの仕様に基づいて設計されているため
APIの複雑なソースコードをプログラム内に実装する必要がなく、実装時の工数を大幅に削減します。
データの加工変換処理もアイコンの配置で実装
入力データの変換も、同様にアイコンベースで行えます。
用意されたアイコンを組合せによって多様なデータの加工変換を表現できます。
加工変換処理の内容(一部抜粋)
・条件による抽出
・文字列変換
・四則演算などの数値変換
・日付データの変換
など
他のAPI連携も汎用のRESTアダプタで対応
Slackbotへメッセージを渡す場合はREST APIをコールして
データのやり取りを行える汎用のRESTアダプタを用いて行います。
GET、POST、PUT、DELETEといった基本的なREST APIのコールが可能です。
今回はSlackの接続情報と、botに渡すクエリパラメータを設定するだけで完成です。
APIの仕様変更はパッチ適用で対応
APIの仕様変更についてはメーカにて変更後の仕様にあわせてパッチのリリース対応を行います。
特に処理を修正することなく、パッチ適用のみで手間なく改修が可能です。
動作を確認
実際に動かしてみましょう。
DataSpiderでは作成した処理をその場でテスト実行して動作を確認できる機能があります。
一通り処理のフローを組み上げ、接続先の接続を確認、果たして動作するか・・・
無事SlackのチャットルームにKintoneで登録したレコードが送信されました!
成功です!
まとめ
データ連携ツールを用いることで様々なクラウドサービスとの連携処理も柔軟に開発することが出来、ツールがAPIの仕様を吸収してくれるため開発工数をぐっと抑えることが出来ます。
またメンテナンス面の観点で見ても、改修箇所の見つけやすさや、APIの仕様変更に対してパッチ適用で対応できる点など長期的に見ても大きなメリットが数多くあります。
DataSpiderでのクラウドサービス連携、WebAPI連携に興味がある方は是非こちらもご覧ください!
・いまさら聞けない「WebAPIとは?」 -基礎・利用方法・API連携を解説します