4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OutSystemsAdvent Calendar 2021

Day 12

OutSystems でTwitter のデータをリアルタイムで表示するアプリをつくってみた

Last updated at Posted at 2021-12-21

コードを書かない(書けない)私には福音のごとき「ローコード/ノーコード」のすがすがしい風が吹きまくった2021年ですが、その中でも気になっていたOutSystems。

是非、一度触ってみたいと思い、データ連携畑の人なのでTwitter のデータをOutSystems で引っ張ってくるアプリをつくりました。
この記事はOutSytems Advent Calendar 2021 の12日目の記事です。
https://qiita.com/advent-calendar/2021/outsystems

##OutSytems について
OutSystems をまずWebsite で見て見ましょう。Web アプリケーション、モバイルアプリケーション、デスクトップアプリケーションがめちゃくちゃ簡単に作れるプラットフォームです。
https://www.outsystems.com/ja-jp/

すぐに「Start Free」が見つかります。はじめてみます。

Web に実行環境と管理画面があって、「Service Studio」をデスクトップにインストールして、そこでアプリを作ります。Service Studio をダウンロード。

image.png

全く苦労せずに新しいReactive なWeb アプリを作れました。

スクリーンショット (2751).png

マニュアルなしでここまでは来れてしました。

Twitter データを持ってくるところもCData Connect でノーコード

さて、普通はここでWeb アプリケーションを作りに行くのですがTwitter のAPI をそのまま使うと大変そうなので、CData Connect というノーコードでWeb API をOAS(Open API Spec)に変換してくれるサービスを使います。

こちらからトライアルが申込可能です。

Twitter アカウントへの接続

CData Connect にログインします。「DATA MODEL」タブからTwitter のアイコンを選択します。

スクリーンショット (2711).png

通常Twitter のAPI にアクセスするにはOAuth アプリをTwitter Developer サイトで作成し、申請し、トークンやシークレットをもらってアクセスしますが、Connect では、「Connect」ボタンを押すだけでTwitter API にOAuth 認証できます。

スクリーンショット (2712).png

Twitter にログインして、連携アプリを認証します。

スクリーンショット (2713).png

無事にTwitter と接続できました。

スクリーンショット (2714).png

Twitter のメンションデータを指定

OutSytems ではOAS ファイル定義が使えるので、OData エンドポイントを作って、OAS 定義を保存します。

Twitter データソースを選択して。

スクリーンショット (2722).png

まずはTwitter のMention テーブルを選択。
スクリーンショット (2723).png

今回はGET だけなので、メソッドを選択して、カラムを選択。
スクリーンショット (2744).png

Twitter Mention のエンドポイントができました。
スクリーンショット (2745).png

Open API Spec を保存

Open API をクリックして、URL をクリックして、OAP の定義を.json で保存します。これをOutSytems にロードすれば、API のメタデータをしっかり読んでくれます。Open API(Swagger)などのスタンダードをしっかり使ってくれるところがOutSystems のすごいところです。
スクリーンショット (2726).png

OutSytems でTwitter データを表示するアプリを作成

Out Systems のStudio にもどって、Twitter データを表示するWeb アプリを完成させます。

Logic にTwitter データを設定

まずはLogic をつくっていきます。
「Logic」→「Integration」→「REST」を右クリックして、「Consume REST API」をクリック。

スクリーンショット (2730).png

「REST API URL」で、「Upload File」をクリックします。ここで先ほど保存したOAS 定義ファイルを選択します。
スクリーンショット (2732).png

メソッド選択画面が出てくるので、とりあえず全部選択しておきます。
スクリーンショット (2733).png

これでConnect 経由でTwitter のMention にアクセスする定義ができました。
スクリーンショット (2734).png

Twitter Logic を取得するAction を設定

次に、Twitter Logic を取得して格納するAction を作ります。「Interface」にもどり、Screen を追加。

スクリーンショット (2735).png

Screen で「Fetch Data from Other Sources」を選択します。
スクリーンショット (2736).png

Out1 のパラメータに「getAllTwitter1 Mentions Response」をData Type として選択します。ドロップダウンで選択できます。

スクリーンショット (2737).png

次に、getAllTwitter1 Mentions のメソッドをドラッグして貼り付けます。
スクリーンショット (2738).png

次に、データのAssign をOut1 に設定します。
スクリーンショット (2739).png

これでTwitter のMention をデータとして取得するロジックができました。

この辺がOutSystems のデータのハンドリングの独特なところですね。いわゆるテーブルをまるまるオブジェクトにするようなツールではなく、データを呼び出したり、書き込んだりするロジック部品を定義していくスタイルです。

テーブルにTwitter のロジックを貼り付け

ここまでくればあとは簡単です。
スクリーンにTable オブジェクトをポトペタ。そしてInteface から先ほど作ったvalue をテーブルにドロップします。
スクリーンショット (2740).png

テーブルにTwitter Mention のカラムが入っています。Sort Attribute でvalue.ID などのように不要なvalue. が入っているのでここは手動で削除します。

アプリを実行

真ん中の緑色のボタンをクリックして、パブリッシュします。
スクリーンショット (2748).png

真ん中の青いボタンを押して実際にブラウザで作ったWeb アプリを確認します。
スクリーンショット (2749).png

このようにテーブルにTwitter のデータをバインドして表示できました!!
スクリーンショット (2750).png

感想

outSystems は、データのハンドリングが他のノーコード系のツールと比べユニークです。しっかりとデータをメソッドというかロジックでハンドルして、それを画面に落としていく感じです。

データオリエンテッドな他のツールはテーブルがあって、それに対するフォームがあるだけ。CRUD 操作だけをする場合には楽ですが、そうじゃないロジックを組むと急にコーディングの世界になります。OutSystems はロジックを部品としてしっかり組んでいくので、ローコードでいろいろなことができそうだなと(なにもまだしてないけど)。ローコード/ノーコードのツールも「どのプロセスを楽にしたいか」という点で思想が異なるな。勉強しよ。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?