Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

業務アプリ開発者が見る、ExcelからWebアプリを作成する「Forguncy」の可能性

数百万円のシステムを、一人の担当者がノンプログラミングで作成する

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/08/03 14:00
目次

カスタムWeb APIを利用したサンプル

 実際に、カスタムWeb APIを利用して他のサービスと連携するサンプルを作成しました。連携サービス「IFTTT」と、体重計「Withings」使い、体重計で計測すると体重のデータがForguncyで作成したアプリケーションへ送信される仕組みを構築しました。コードを書いたのはカスタムWeb APIでの数行のみで、構築にはわずか数十分で済みました。ここでは、簡単に概要を説明します。

図26 サンプル体重管理の概要
図26 サンプル体重管理の概要

 先述のように、HTTPリクエスト内容からテーブルデータを作成するカスタムWeb APIのクラスを作成します。

カスタムWeb APIを定義しているWeightApiクラスのコード
using GrapeCity.Forguncy.ServerApi;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;

namespace ClassLibrary1
{
public class WeightApi : ForguncyApi
  {
    //体重をリクエスト内容から作成します
    [Post]
    public void PostWeightRecord()
    {
      var reader = new StreamReader(Context.Request.Body);
      //リクエストをDictionaryに変換します
      var request = JsonConvert.DeserializeObject<Dictionary<string, object>>(reader.ReadToEnd());
      //現在の日付をフィールドに追加します
      request.Add("Date", DateTime.UtcNow.AddHours(9));

      this.DataAccess.AddTableData(tableName: "体重", newValues: request);
    }
  }
}

 Forguncy Builderに作成したカスタムWeb APIを登録します。続いて、体重一覧を表示するアプリケーションを作成し、Forguncy Serverに発行します。作成したアプリケーションは図27のように、一覧表とグラフのみを表示したものです。

図27 【ブラウザー】Forguncyで体重一覧を表示するアプリケーションを作成し、ブラウザーから表示
図27 【ブラウザー】Forguncyで体重一覧を表示するアプリケーションを作成し、ブラウザーから表示

 次に、IFTTTサービスのダッシュボードにて、「Withingsで体重を計ったらWebRequestを送信する」というコマンドを作成します。WebRequestの内容は、図28のように、先ほど作成したカスタムWeb APIにアクセスするものです。

図28 IFTTTにて送信するHTTPリクエストの内容を設定している様子
図28 IFTTTにて送信するHTTPリクエストの内容を設定している様子

 簡単な説明ですが、以上で体重計にのるとWebアプリケーションから体重を確認できるようになります。カスタムWeb API以外はノンプログラミングで短時間で構築できます。

まとめ

 Forguncyは、「Excel方眼紙」というキーワードに注目されがちですが、筆者はForguncyによって、「通常は数百万円かかるようなシステムを、発注者自らが構築できる可能性」があると感じています。本稿ではそれを実現する3つのポイントを説明しました。Forguncyの良いところは、Excelの機能とWebアプリケーションの良いところをうまく組み合わせて、業務アプリケーションをノンプログラミングで作成できる点です。また、ノンプログラミングだけではなく高度な開発により他のサービスとの連携も可能です。普段Excelを使って業務を担当している方がプロジェクトをリードし、システム開発はそれをサポートする、という体制が可能になるツールです。

 ご興味を持たれた方は、ぜひ評価版のForguncyをお試しください。出張申請など実用レベルな20以上のテンプレートが用意されています。また、イベントも随時開催されています。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 矢後 比呂加(ヤゴ ヒロカ)

     Microsoft MVP for Visual Studio and Development Technologies(https://mvp.microsoft.com/ja-jp/PublicProfile/5000246)  シグマコンサルティング株式会社にて、Microsoft Azu...

バックナンバー

連載:現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(Forguncy)
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5