実装初心者がローコード開発ツールを使って実装してみた(OutSystems)

この記事は株式会社富士通システムズウェブテクノロジーの社内技術コミュニティで、
「イノベーション推進コミュニティ」略して「いのべこ」が企画するもので
本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。

ここまでお約束 :wink:




#はじめに
初めまして、入社してすぐの研修以来、
プログラミングに触れてこなかった入社3年目のSEです。(もう初心者に等しい)

今回、「実装初心者がローコード開発ツールを使って実装してみた」ということで、
最近、よく耳にするOutSystemsを使って実装をしてみました。
実装するにあたってローコード開発ツールであればなんでもよかったのですが、
ネットで、おすすめのローコード開発ツールを調べると最初にでるのが、この「OutSystems」だったので
実装経験がない私でもハードルが低いと思いOutSystemsを選ばせていただきました。

今回はOutSystemsを使って、ログイン・検索・登録機能を有した
管理台帳アプリケーションを実装します。

#環境情報
・OSエディション：Windows 10 Enterprise
・データベース管理システム：Microsoft SQL Server 2014
・Microsoft .NET Frameworkバージョン：4.8


以下のURLにOutSystemsのシステム要件の情報が記載されているので詳細は確認してください。
[OutSystemsのシステム要件情報](https://success.outsystems.com/ja-jp/Documentation/11/Setting_Up_outsystems/outsystems_system_requirements)


#OutSystemsのインストール

以下のBluememe様のページにインストール方法がまとまっています。
[OutSystemsのインストール方法](https://www.bluememe.jp/outsystems/product/personal-environment.html)


#OutSystems Service Studio11へのログイン
OutSystems Service Studio11を起動して、以下の情報を入力します。
Environment：環境情報
Username or email：インストール時に登録したユーザネームかメールアドレス
Password：インストール時に登録したパスワード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/c080d25a-1f05-8e0b-8f17-9a706ec3a8bf.png)


#作成するアプリケーションの種類を選択
今回は、「New Application」-「Start from scratch」-「Traditional Web」を選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/8a9e6174-a210-8671-3bd0-f3829b2bf6af.png)


アプリケーションの基本情報を入力します。
何でもいいのですが、今回は管理台帳アプリケーションと命名して、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/81ffc12d-8854-ef8d-55ea-ac5c3eb8a5be.png)

「CREATE MODULE」ボタンを押下して、アプリケーションの実装を開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/062fda65-0506-0d72-f973-30a177599e79.png)


#検索機能のアプリケーションの実装
検索機能を有したアプリケーションを実装します。
まずは、テーブルの作成を始めます。(今回は空のものから作成します)
右上の[Data]タブー[Entities］ー[Database]上で、「Add Entity」を押下して、Entity(テーブル)を作成して、[Entity1]を[Management]にリネームします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/43f3347e-3118-51dc-d26d-3ba5d499d3eb.png)


次に作成した[Management]Entity上で「Add Entity Attribute」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/3ffd55b4-698c-a16f-b1fb-938a9102d93a.png)


5つ作成して、それぞれAttribute(テーブルの項目)のリネームをします。
今回はわかりやすく[Day]、[Name]、[MacNo]、[EmpNo]、[PhoNo]の5つでリネームました。
以下は、Attributeの説明です。
[Day]：日時
[Name]：名前
[MacNo]：機器名
[EmpNo]：従業員番号
[PhoNo]：電話番号
リネームして気づいたかもしれませんが、
リネームすることで自動でAttributeのデータタイプが変わっています。
(データタイプは[Data Type]で選択することで変更できます。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/0b5eea8b-63e6-7100-78e2-1e739949471f.png)


次に先程作成した[Management]のEntityを真ん中の画面にドラックアンドドロップします。
すると、[Entry1]と[Management]Web Screenが矢印で繋がりましたね。

これでアプリケーションが1つ作成されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/cfa91f57-fae1-388a-cdee-1fa364fa1b9d.png)


次に先程ドロップした[Management]Web Screenをダブルクリックして、
[Attribute]で構成された[Entity]を表示します。



初期状態だと4カラム分しか表示されていない為、
不足している[Attribute]をドラックアンドドロップするとカラムが追加されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/77e63bd2-28a2-9b4f-b359-4133fa8559f0.png)


英語表記なので日本語に書き換えました。
Attributeを追加したタイミングで日本語名で命名できますが、
Data Typeが自動で変更しないことがあるので、このタイミングでAttributeのリネームを行いました。
上にも書きましたが、自身で[Data Type]を変更していただければ、Attributeを追加したタイミングで
日本語名に指定していただいてもOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/0803d21a-ca18-f2fc-ca0d-3883f24b3578.png)


上の緑色の(1)のボタンがありますが、ここをクリックするとPublishが行われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/52824dee-591c-22f6-e35e-6d33b9a1961e.png)

青の矢印ボタンになったらクリックしてみましょう。
先ほど作成したアプリケーションをブラウザで確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/fd2a2a5e-25ae-ac7e-346b-98147e590f74.png)
当然ですが、まだデータはありません。
なので、次の章でデータの登録アプリケーションを実装してデータの登録してから、検索機能を確認します。
では、データ登録画面を作成します。

#データ登録機能のアプリケーションの実装
ブラウザからOutSystems Service Studioに移ってもらって、
再び[Management]Web Screenをドラックアンドドロップします。
すると[ManagementDetail]Web Screenが生成されるので、ダブルクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/db703c51-e42c-87d8-e177-7356362379a5.png)

登録画面のようなものが表示されましたね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/798e611d-b011-9422-3c23-02519ec8c129.png)

今回も日本語に書き換えます。
緑のボタンを押下して、ブラウザで確認しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/d9ce9b71-a1ea-46b9-4fa5-7f89437a9a24.png)

何も変わっていないように見えますが、
今回は新たに右上に[Create a new Management Create a new Management]のリンクが増えました。
このリンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/a9689b82-c464-905c-c6e5-952c3867c0d0.png)
すると、先程[ManagementDetail]Web Screenで作成した画面が表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/a44fea28-02f9-3c92-009e-5a1dfdaa229f.png)
適当に値を入力して「保存」ボタンを押下すると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/74a6f0ee-902a-d8cd-37f8-6ef287c901cd.png)
データが登録されました。
これでデータ登録機能のアプリケーションの実装が完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/ed2b7330-63c6-04fd-fb2e-f3aba3fa26be.png)

ちなみに2件データの登録して検索ボタンを押下してみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/aabdaece-2622-63a8-f22f-327de8b41721.png)
ちゃんと検索機能を有したアプリケーションが作成されてます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/0279588b-25f5-91ed-2898-bd8eb4809a75.png)
これで検索機能と登録機能を有したアプリケーションが実装できました。
最後にログイン画面の作成を行います。


#ログイン画面を作成
ログイン画面を作成しようと思ったのですが、[Interface]タブの[Common]をダブルクリックすると、
なんとOutSystemsの標準搭載機能で既にログイン画面がありました。

この[Login]と書いてある[Web Screen]をダブルクリックすると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/3e4b59fb-0445-a780-8eed-59608efbca3d.png)
ログイン画面が表示されました。
こちらも日本語に書き換えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/5dad3bba-efe0-b2ee-3a10-075ec4253d70.png)
次にログイン画面から検索画面への処理の接続を行います。
[Interface]-[Login]-[Login]Run Server Actionをダブルクリックして、下の画像の画面に移ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/b19c9f48-ce01-b1c6-23a7-0e8a830558ce.png)
[Management]Web Screenをドラックアンドドロップして、[User_Login]Run Server Actionから矢印を伸ばします。
([Common\ExternalURL]は削除してください。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/c06ad65a-3ef7-ec77-5d07-4f7bd9fb03b2.png)

これで、ログイン処理をして、正常動作すると検索画面に遷移するような処理の流れを作成しました。

最後にブラウザで確認しましょう。
ログイン画面が表示されました。以下の情報の入力してログインをしましょう。
メールアドレス：OutSystemsに登録したアドレス
パスワード：OutSystemsに登録したパスワード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/3d098a80-8a90-5be1-8456-a25c1ad1b84f.png)
検索画面に遷移しましたね。
もちろん検索機能もちゃんと使えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952216/4d2ccc02-7462-38a1-3959-1f56485877a6.png)

これでログイン・検索・登録機能を有した機器管理アプリケーションの実装が完了です。
お疲れ様でした。


#所感
今回、実装経験もない私がOutSytemsを使って実装しました。
OutSystemsの標準搭載機能を使えば、アプリケーションの実装は非常にスピーディーにできますが、
搭載機能以外の機能を実装するには最低限の実装経験が必要なことがわかりました。
また、ざっくり「この機能のアプリケーションを実装して」という依頼についてはある程度要望に沿えますが、
画面詳細が決まっているものを実装しようとすると、まだまだOutSystemsの勉強が必要だと思いました。
(ツール内の表記が全て英語であることを含めて)
これからOutSystemsについては少しずつ調査・理解していき
新しいツールの機能が分かり次第、随時更新していく予定です。
気長にお待ちください。

以上です。
ありがとうございました。


#参考文献
・[OutSystemsを始めよう！　瞬殺で作る！Staff管理システム](https://techblog.forgevision.com/entry/2019/05/20/124822)
・[OutSystemsでコードレス開発　～初級編～](https://www.casleyconsulting.co.jp/blog/engineer/2421/)