自由きままに楽しまないとね

こんなこと知ってますか?という幅広い雑記ブログ

【OutSystems】サーバー構築を出来るだけ簡単にネットワーク化する(Database編)

OutSystems

前回引き続きOutSystemsによるサーバーの構築を実行していきます。
今回はDatabase編になります。

Databaseの構築

OutSystemsのDatabaseはEntityという形式で作成します。


Entityの作成
1. 右上の「Data」タブをクリック
2. 「Database」を右クリック
3. 「Add Entity」をクリック
4. 名前を「ChipInfo」に変更

f:id:mstmy:20200104215603p:plain


Entityの要素を追加
1. 「ChipInfo」Entityを右クリック
2. 「Add Entity Attribute」をクリック
3. 名前を「ChipId」に変更
4. 同様に「Name」、「CreateOn」、「UpdateOn」を作成

f:id:mstmy:20200104215620p:plain


Database登録用の独自Actionを作成
1. 右上の「Logic」タブをクリック
2. 「Server Actions」を右クリック
3. 「Add Server Action」をクリック
4. 名前を「CreateOrUpdate_ChipInfo」に変更

f:id:mstmy:20200104215639p:plain


独自Actionに引数を追加
1. 「CreateOrUpdate_ChipInfo」を右クリック
2. 「Add Input Parameter」をクリック
3. 名前を「ChipId」に変更
4. 「Add Local Variable」をクリック 5. 名前を「ChipInfo」に変更

f:id:mstmy:20200104215657p:plain


独自Actionの構築
1. 「CreateOrUpdate_ChipInfo」をダブルクリック
2. 右上の「Data」タブをクリック
3. 「ChipInfo」Entityを「Start」の次の場所にドラッグ&ドロップ

f:id:mstmy:20200104215713p:plain


既存データの確認処理を実装
1. ドラッグ&ドロップした「ChipInfo」をダブルクリック
2. 「Filter」をクリック
3. 「Add Filter」をクリック
4. 以下の内容を入力
ChipInfo.ChipId = ChipId

f:id:mstmy:20200104215727p:plain


既存の判定処理を実装
1. 以下の画像のように設定
※詳細は次の内容にて説明

f:id:mstmy:20200104215744p:plain


最初のIFを追加
1. IFウェジットをドラッグ&ドロップ
2. 以下の内容を入力
GetChipInfoesByChipId.List.Empty

f:id:mstmy:20200104215800p:plain


右のAssignを追加
1. Assignウェジットをドラッグ&ドロップ
2. 以下の内容を入力
ChipInfo.CreateOn = CurrDateTime()
ChipInfo.ChipId = ChipId

f:id:mstmy:20200104215818p:plain


左のAssignを追加
1. Assignウェジットをドラッグ&ドロップ
2. 以下の内容を入力
ChipInfo = GetChipInfoesByChipId.List.Current.ChipInfo

f:id:mstmy:20200104215834p:plain


下のAssignを追加
1. Assignウェジットをドラッグ&ドロップ
2. 以下の内容を入力
ChipInfo.UpdateOn = CurrDateTime()

f:id:mstmy:20200104215853p:plain


更新処理を追加 1. 「ChipInfo」Entityの「CreateOrUpdateChipInfo」をドラッグ&ドロップ
2. Sourceに「ChipInfo」を設定

f:id:mstmy:20200104215911p:plain

f:id:mstmy:20200104215927p:plain


REST APIを変更 1. 「init」をダブルクリック
2. Startの後に「CreateOrUpdate_ChipInfo」をドラッグ&ドロップ
3. ChipIdに「chipid」を設定

f:id:mstmy:20200104215947p:plain


1-Click Publishを実行 1. Publishが完了した後、以下のURLにアクセスする
https://[サーバーのドメイン]/AutoFeeding/rest/chipinfo/init?chipid=XXX000


Databaseの確認 1. 右上の「Data」タブをクリック
2. 「ChipInfo」Entityを右クリック
3. 「View Data」をクリック

データが作成されていることを確認できました。

f:id:mstmy:20200104220005p:plain


再度、URLにアクセスするとDatabaseのデータが更新日付のみ更新されていることを確認することができます。

f:id:mstmy:20200104220020p:plain

まとめ

OutSystemsにて楽にサーバーの構築ができたと思います。
まだまだいろんなことができますが、今回はここまでにしたいと思います。

ご覧いただきありがとうございました。

【OutSystems】サーバー構築を出来るだけ簡単にネットワーク化する(RestAPI編)

OutSystems

前回引き続きOutSystemsによるサーバーの構築を実行していきます。

Web APIの構築

OutSystemsのWebAPIにはSOAPとRESTがあります(SAPはちょっと置いておきます)。
今回はローカル環境と同様にRESTにてWebAPIを作成していきます。


WebAPI構築画面の表示
* 右上の「Logic」タブをクリック

f:id:mstmy:20200102193747p:plain


REST APIの作成
* 「REST」を右クリック
* 「Expose REST API」をクリック
* APIの名前を「chipinfo」に変更
※名前は自由に変更可能です。

f:id:mstmy:20200102193807p:plain


Methodの作成
* 「chipinfo」を右クリック
* 「Add REST API Method」をクリック
* Methodの名前を「init」に変更
※名前は自由に変更可能です。

f:id:mstmy:20200102193823p:plain


入力用の変数を作成
* 「init」を右クリック
* 「Add Input Parameter」をクリック
* 名前を「chipid」に変更

同様に出力用の変数を作成
* 「init」を右クリック
* 「Add Output Parameter」をクリック
* 名前を「Out」に変更

f:id:mstmy:20200102193839p:plain


JSON変換に必要なStructureの作成
* 右上の「Data」タブをクリック
* 「Structures」を右クリック
* 「Add Structure」をクリック
* 名前を「Rest_ChipinfoInitResponse」に変更

Structureに要素を追加
* 「Rest_ChipinfoInitResponse」を右クリック
* 「Add Structure Attribute」をクリック
* 名前を「chip_id」に変更

f:id:mstmy:20200102193857p:plain


JSON変換用の変数を追加
* 右上の「Logic」タブをクリック
* REST APIのMethodの「init」を右クリック
* 「Add Local Variable」をクリック
* 名前を「ResponseJson」に変更
* DataTypeを「Rest_ChipinfoInitResponse」に変更

f:id:mstmy:20200102193914p:plain


initの内容を編集
* Startの次にAssignを追加
* Assignに以下を設定
ResponseJson.chip_id = chipid

f:id:mstmy:20200102193938p:plain


変数をJSON文字列に変換
* Assignの次にJSONSerializeを追加
* Dataに「ResponseJson」を設定

f:id:mstmy:20200102193953p:plain


戻り値を設定
* JSONSerializeの次にAssignを追加
* Assignに以下を設定
Out = JSONSerialize1.JSON

f:id:mstmy:20200102194008p:plain


「1-Click Publish」ボタンをクリックし、結果を確認
* 「https://[サーバーのドメイン]/AutoFeeding/rest/chipinfo/init?chipid=XXX000」にブラウザにてアクセス

f:id:mstmy:20200102194035p:plain

結果

ローカル環境とほぼ同様の処理が比較的楽に構築できたかと思います。
ちょっと長くなったのでDatabase側の構築は次回行います。

【OutSystems】サーバー構築を出来るだけ簡単にネットワーク化する

自動給餌機の開発を進めていきたいのですが、現在帰省中なので開発環境がありません(泣)
ですので、前回まで作成したサーバーをネットワーク経由で構築する方法を試していきたいと思います。

ネットワーク経由のサーバー構築

ネットワーク上にサーバーを構築する方法を色々調べたのですが、以下の条件の元調査しています。

  • 無料で構築可能であること
  • RESTful APIが構築可能であること
  • Databaseが構築可能であること
  • 初心者にやさしいこと!

調査した結果これがいいかなというツールがありました。

OutSystems

以前からお話は色々なところで聞いていたのですが、個人の環境で自由に開発が可能ということで早速試してみたいと思います。

個人環境の申請

個人環境を構築する際に以下のサイトにアクセスします。
OutSystemsホームページ

表示された画面の右上にある「無償トライアル」ボタンをクリックします。

f:id:mstmy:20191231185916p:plain


表示された内容を入力します。
会社名などは適当に設定して問題ないようです。

f:id:mstmy:20191231185940p:plain


入力が完了すると設定したメールアドレスにOutSystemsからメールが来ます。

f:id:mstmy:20191231190010p:plain


送付されたメールの内容にある「Click Me!」をクリックします。

f:id:mstmy:20191231190038p:plain


個人環境の名前と開発用のユーザのパスワードを入力します。

f:id:mstmy:20191231190109p:plain


個人環境を構築する際の目的などを聞かれますので入力していきます。

f:id:mstmy:20191231190126p:plain


開発するためのツール(Service Studio)をダウンロードする画面が表示されますので、ダウンロードします。

f:id:mstmy:20191231190144p:plain


ダウンロードしたファイルを実行します。
インストール画面が表示されるので「INSTALL」ボタンをクリックし、Service Studioをインストールします。

f:id:mstmy:20191231190215p:plain


インストールが完了すると、ブラウザに以下のような内容が表示されますが、無視してスタートメニューから「OutSystems Service Studio 11」を起動します。

f:id:mstmy:20191231190236p:plain


Service Studioによる開発

Service Studioが起動すると以下のような画面が表示されます。
「CONNECT TO ENVIRONMENT」をクリックし個人環境にアクセスします。

f:id:mstmy:20191231190256p:plain


以下の内容を入力します。
Environment:個人環境の名前
Username:登録したメールアドレス
Password:登録したパスワード

f:id:mstmy:20191231190355p:plain


個人環境に接続すると以下の内容が表示されますので、「New Application」をクリックします。

f:id:mstmy:20191231190321p:plain


最終的にタブレットで自動給餌機のコントロールを行う予定ですので、「Tablet App」を選択して「NEXT」ボタンをクリックします。

f:id:mstmy:20191231190529p:plain


アプリケーションの名前とアイコンの色を選択して「CREATE APP」ボタンをクリックします。

f:id:mstmy:20191231190553p:plain


アプリケーションが自動的に開くので、アプリケーション名と同じモジュールを作成します(「CREATE MODULE」をクリック)。

f:id:mstmy:20191231190613p:plain


モジュールが作成されると以下の画面が表示されます。

f:id:mstmy:20191231190653p:plain


まとめ

今回は個人環境の申請と、アプリケーションの作成までを行いました。
次回はローカルサーバーと同様にRestful APIの構築とDatabaseの構築を実施します。

みなさま、よいお年を