なぜ「Power Automate」と「Web API」の組み合わせがシステム連携で有効なのか?
SaaSやオンプレミスのアプリケーションなど複数のシステムを使い分けながら仕事を進める現在、それらに蓄積されたデータを活用するには、システムをつなぎ、効率的にデータを収集する仕組みづくりが必要だ。
現在の企業を取り巻くシステムは一昔前のそれとは様相がまるで違います。昔のようにモノリシック(一体型)のシステムではなく、複数の業務特化型SaaS(Software as a Service)を併用しながら業務を進めるようになりました。企業は、勘定系のみならず、ありとあらゆるシステムからデータを収集し、組織成長のために活用しています。
周辺環境はモダナイズしたものの、組織の中核情報となり得る財務情報はまだ一昔前のレガシーシステムに集約されたまま……というのはよく聞く話です。そこで問題となるのが「最先端の周辺ツールとレガシーシステムの情報をどのように集約し、どう連携させるか」です。
情報の集約と加工、出力といった定型業務の自動化ニーズは年々高まりつつあり、RPA(Robotic Process Automation)などの自動化ツールが市場に出回るようになりました。経済産業省が発行した「DXレポート2」では、定型業務の自動化や、デジタル化はデジタルトランスフォーメーション(DX)を推進するための業務プロセス再設計に重要なファクターとしています(※1)。
こうした背景を受け、本連載(全3回)では「先端ツールとレガシーシステムをどうつなぐか」という課題に対して、「Microsoft Power Automate Desktop」の登場でさらに関心を集める「Microsoft Power Automate」と「Web API」を使った対応法を考えていきます。
著者プロフィール:大川貴志(内田洋行ITソリューションズ)
2011年、内田洋行ITソリューションズに入社。システム開発本部 ATD 技術推進課所属。「Microsoft Graph」を用いた社内システムの改善や、「Microsoft Azure」のPaaSを活用した各種ソリューションの設計、構築、開発を担当する。主な役割は、新技術の検証や新規サービスの開発、Azure導入のサポートなど。「Microsoft MVP Office Development」「Microsoft Certified Azure Developer Associate」「Certified ScrumMaster」「JDLA Deep Learning for GENERAL 2019#2」「MCSA: Web Applications」「MCSD: App Builder」を受賞。
まずは「Power Automate」をさらっと解説
ご存じの通りPower Automateは「Microsoft Power Platform」と呼ばれるツール郡の一つです。Power Platformは「Microsoft Power Apps」「Microsoft Power Automate」「Microsoft Power BI」「Microsoft Power Virtual Agents」から成り、MicrosoftのWebサイトには次のような説明があります(※2)。
Power BI を使用して洞察のためにデータを分析し、Power Apps を使用してカスタムアプリをすばやく簡単に構築し、Power Automate を使用してワークフローを自動化して、ビジネスの生産性を向上させ、Power Virtual Agents を使用してコードなしのインターフェースでインテリジェントなボットを構築する。
Power Automateの主な機能はワークフローの自動化です。Webサイトはもちろん、デスクトップでも動作し、GUIで業務フローをデザインし、自動化することが可能です。データ接続に必要なコネクターがあり、データを簡単に収集、利用できます。つまり、業務プロセスの設計に必要な情報の収集と整理、展開が行えるプラットフォームだということです。
先に上げた3つのソリューションと連携させることで、他のソリューションの価値を高めることも可能です。Power Automateは開発者でなくても扱えるツールですが、開発者と協力することで、さらにその利用価値を高めることができます。
CSVと一般的なRPAツールによるシステム連携の問題点とは?
ここからは、冒頭で述べた「最先端ツールとレガシーシステムの連携問題」を解決するための方法を考えてみましょう。
レガシーシステムとの連携と言えば、多くの人が「CSVによる手作業の連携」を考えるでしょう。SaaSアプリケーションからCSVを出力し、レガシーシステムに取り込む、といった方法ですね。
しかし、この方法は作業が属人的になりがちで、そこがボトルネックになる可能性があります。また、うっかりミスなどヒューマンエラーによる手戻りが発生することも考えられます。
こうしたリスクを理解している人は「手作業ではなくRPAで自動化したい」と考えるでしょう。しかし、両者にはそれぞれ問題があります。CSVとRPAを用いた方法の問題について、中身を詳しく説明していきます。
一般的なRPAツールの問題点
一般的なRPAツールの役割を一言で言えば、マウスやキーボード操作といったアクションを自動的に再生するものです。多くのものに依存し、データが壊れる可能性が非常に高く、ちょっとしたイレギュラー処理に弱いという性質があります。
一般的なRPAツールに影響する主な要因
- RPA動作時のメモリやCPU使用率などのPCの状態
- ディレクトリ構造の変更
- ネットワークの速度
- アプリケーションエラー
- 動作するPCの電源状態
- OSやアプリケーションのバージョン
アプリケーションの機能開発が高速化されている中、「Webアプリケーションのレイアウトが突然変わる」といったことはSaaS時代では珍しくありません。しかし、雑に組んだRPAではそのささいな変更が命取りになります。例外処理をフローでつぶすとしても、動作不調の原因となる要因はさまざまです。
「どうやってシステム間連携をスムーズにするか」といった、自動化の本質的な目的とは別の所で、RPAを問題なく動かすための“闘い”が発生してしまうことがよくあります。
雑にRPAを推進するだけだと、「人の問題」が「RPAの問題」にすり替えられてしまいがちです。ツールの変更が容易であるとはいえ、常に変わり続ける変更に追随するのはかなり大変な作業です。
CSVの問題
CSVは、一昔前では連携に大活躍だったデータ形式ですが、現在の自動化ツールと並べると、自動化作業で使用するには取り扱いにくいものになってしまいました。
CSVの主な問題
- 構造的なデータの表現を行うにはつらい
- 項目の順番に依存するので仕様変更にとても弱い
- 方言が多種多様(ヘッダの有無、改行コードの有無、ダブルクオートの有無、エスケープなど)
これらの問題から言えることは、仕様の変更にとても弱いデータ形式であるということです。
システム連携は、出力と入力側双方の仕様に大きく依存します。項目が追加された程度であればまだ良い方ですが、項目が差し込まれたとなると阿鼻(あび)叫喚な状態になります。変化のスピードが求められる現在、変更に弱いデータ形式を用いるのはリスクがあると言えるでしょう。
これらの問題を解決したい
システム連携を考える際、CSVとRPAのどちらにも何らかの問題があり、自動化できたとしても容易に構成が壊れる可能性があります。トライ&エラーで修復するにしても、壊れる要因はさまさまなため、いたちごっこになる可能性があります。
ツールでコードやフローを修正するよりも従来通り手作業でデータやディレクトリ構造、環境を補正する方が手軽なため、「自動化といっても恩恵はあまりないな」という結果になりかねません。業務の自動化において重要なのは、そうした要因を排除することです。つまり、さまざまなシステムの情報収集を含め、業務の自動化にはさらなるステップアップが必要ということになります。
人やマシンといったブレやすい環境で実行されず、また変化に弱いデータ形式を使用せずに自動的にシステムを連携させたい。そうした場合にPower AutomateとWeb APIの組み合わせが大きな効力を発揮します。
システム連携に「Web API」を利用する意味
「APIエコノミー」という言葉は今でも盛んに使われていますが、Googleトレンドで調べてみると2014年辺りから使われ始め、2016年末には大きく注目されました。総務省の平成30年の情報通信白書でも取り上げられたキーワードでもあります(※3)。情報通信白書ではAPI公開の効果は次のように記述されています。
APIを公開することにより、あらゆる人や企業の持つサービスと自社のサービスを連携し、自社サービス自体の価値を高めることができる。結果としてAPIによる経済圏、即ちAPIエコノミーの形成とも言える状態ができつつある。
つまり、「他社が提供するWeb APIを利用することでさらなるサービスの向上を図れる」ということです。
当時の情報通信白書では対ユーザー目線の書き方でしたが、DX時代に移り、APIエコノミーが私たちの業務にも浸透する状況になりました。社内のシステム連携にスポットを当ててみると、次のように言い換えることができます。
APIを公開することにより、社内で利用するあらゆるサービスと統合サービスを連携してサービス全体の価値を高め、それによってAPIによる経済圏すなわち“APIエコノミー”が形成された状態に近づける。
なぜWeb APIなのでしょうか。Web APIを利用する利点は以下の点にあると考えています。
- ネットワークがつながればどこからでもアクセスができること
- ネットワークがつながれば何からでもアクセスができること
- やりとりする情報の取り扱いが容易であること
公開されているWeb APIであれば、場所を問わずアクセスすることが可能であり、HTTP通信ができるのであればアプリケーションや言語を問わずに使用できます。データ通信で使用されるXMLやJSONといったフォーマットは構造化されたデータであり、CSVと比べると取り扱いが容易なフォーマットです。
取り扱いが容易ということは加工の難易度が低く、Power Automateでも扱いやすいということでもあります。
本稿で、Power AutomateとWeb APIが、業務システムの自動化や情報収集の効率化において重要な要素だということがご理解いただけたかと思います。次回は、「Money Forward」などを利用したフロー処理を例に挙げ、Power Automateとシステムをどう連携させ、情報を収集、集約するにはどうすればいいかを説明します。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- これから始める「Power Automate Desktop」 無償版と有償版の違い、習得ステップを解説
Power Automate Desktopを使い始めるに当たって、無償版と有償版の違いなど事前に知っておくべきこと、今までRPAに触れたことがないユーザーは何から始めればよいのかなどを解説する。 - Microsoft MVPが解説「Azure AD」3つの認証フローと使い分け、認証エラーの対処法
MicrosoftのクラウドベースのID管理、認証基盤「Microsoft Azure Active Directory」を使った認証フローの種類は、大きく分けて3つある。それらはどう違うのか。利用が適するシーンと併せて解説する。 - なぜ「Power Platform」は使われない? Office 365による業務改善の成否を分ける分岐点
連載最終回となる本稿では、業務改善に焦点を当てローコード開発ツール「Power Platform」を用いた現場課題の解決法について解説する。