社内勉強会:Outsystemsを用いたローコード開発体験

今回の社内勉強会のテーマは「Outsystemsを用いたローコード開発体験」となります。
担当は第2ユニットのTTとなります。

これまで技術者ブログでも頻繁に取り上げてきたOutsystemsですが、未経験者にも実際に触ってもらい、より理解を深めてもらうことを目的とし勉強会を行いました。
また、今回はOutsystemsによる開発を経験したことのあるメンバーも参加しており、関心度の高さを伺うことができました。

今回の勉強会の流れは以下の通りでした。

①動画視聴による基礎学習

②開発用アカウント取得

③スキャフォールディング機能を用いた高速開発体験

①動画視聴による基礎学習

まず、これまでの振り返りとして、Outsystems公式が提供している学習動画を視聴しました(リンクはこちら)。
上記学習動画はトレーニングコースの一環となっており、各セクションの終わりには復習用の問題が用意されていますので理解度を確認できるつくりとなっています。

勉強会の様子。興味深げな様子で学習動画に聞き入っていました。

②開発用アカウント取得

その後、実際に手元で開発を進めるため、参加者ごとにアカウントの作成を行いました(リンクはこちら)。
アカウントを作成することでクラウド領域上にワークスペースが作成されるため、開発ツールであるServiceStudioをインストールすることで個人単位での開発が可能となります。

③スキャフォールディング機能を用いた高速開発体験

環境構築が整った後は、開発の実演を行いました。

ここでは、Outsysmtesが持つスキャフォールディング機能を用いた開発を体験してもらいました(リンクはこちら)。

本機能は、予め作成しておいたエンティティ(テーブル)の定義を基に、テンプレート化された一覧/詳細画面を自動で作成してくれるというOutsystemsの開発補助機能です。
本機能の存在により、Outsystemsは一般的なマスタ/ディティール画面を、スクラッチ開発と比べて非常に高速で作成することが可能となっています。
実際にWebアプリケーションのスクラッチ開発を行ったことのあるメンバーの一人は「手組みなら2~3日程度は必要とするところを、これだけの単純操作でできるとは想像以上だった」と感心しきりな様子でした。

まとめ

今回の勉強会では、主にOutsystemsによる開発を経験したことのないメンバーをターゲットにしていたため、学習内容も基礎的なものが中心でした。
今後は学習内容を徐々にステップアップさせていき、「スキャフォールディング機能を用いない、Outsystemsでの画面開発」「データの一括取込/出力機能」「オープンソースライブラリ”Forge”の活用」など、より実践的な内容について学習を進めていく予定です。

それでは、次回の勉強会の記事をお楽しみに。

In-house event introduction

Hi, this is “Chen” from Unit 1! I am in charge of introducing this event.
I would like to introduce the Dandelions year-end report presentation held at the end of November 2023. I would like to talk about what each section introduced, their plans for next year, and my impressions. This term, reports have been made in sections.

Section 0

Section 0 consists of Unit 0 (WEB Design) and Unit 3 (Cloud Infrastructure). Let’s start with unit 0. The main contents are as follows.
• Website trend survey
• Recruitment site: https://dandelions.co.jp/recruit/
• Corporate site: https://dandelions.co.jp/

Dandelions’ web site

The keyword for Unit 0 is web design, so we introduced recent trends in web design, as well as updates to the Dandelions recruitment site and corporate site. The newly created homepage is very stylish and beautiful!

Introducing the latest ransomware

Section 1

The first section consists of Unit 1 (AI) and Unit 2 (low code). The presentation contents of the first unit are as follows.
• Introduction of the card game “Hello World”
• Introduction to AI image recognition system
• Lucky Box: https://luckybox.jp/ec/

The keywords for Unit 1 are AI and big data. This term’s deliverables were an AI image recognition system and an AI battle card game called “Hello World” that combined AI and big data. AI image recognition is a technology that uses an image recognition system trained in advance by the user to identify objects on a smartphone or computer. Although it is still under development, it is a technology that can be used in a variety of situations, so I have high expectations for it. Also, at the recital, we scanned the QR code and actually played the “Hello World” card game!

EC sites using AI image recognition system

Section 2

The presentation contents of Unit 2 are as follows.
• Attendance system changed to OutSystems
• About attendance app API
• Discussion (operation feel/requests)

Unit 2 is primarily responsible for developing internal attendance management systems. When using the attendance management system that everyone is already using, we listen to opinions such as what features they would like to add, and add various functions. You can now enter attendance at any time.

Image on smartphone

Next term plans

At this term-end report meeting, each unit presented their achievements for this year. I also set goals for what I would do from the next term onwards. Until now, development has been carried out by taking advantage of the characteristics of each unit, but as the next agenda item, we are aiming to first complete the deliverable. Once the deliverable is completed, the different parts are linked together to create a single deliverable. For example, with conventional attendance entry systems, if an employee forgets the password for their computer or tablet, they may not be able to enter attendance. However, by introducing an image recognition system, security can be strengthened as authentication is performed using biometric information such as an employee’s face or fingerprint.

Thoughts

I felt that the efforts of Unit 0, such as introducing trends in web design, were useful in improving the impression both inside and outside the company. I also think that introducing updates to the recruitment site and corporate site is effective for recruitment activities and branding.
I felt that the efforts of Unit 3, which is in charge of internal infrastructure construction and security, are making a significant contribution in invisible ways. I also think that the members of the third unit are a great source of support for the members of other units.
I think the AI image recognition system and the AI battle card game “Hello World” are both technologies that can be expected to play an active role in the future. In particular, I think AI image recognition systems have the potential to be used in a variety of situations. I also think that the AI battle card game “Hello World” has the potential to be used for a variety of purposes, including education and entertainment.
I think that adding functions to the in-house attendance management system and supporting attendance input using smartphones are good initiatives that will improve convenience for employees. In particular, inputting time and attendance using smartphones may contribute to reforming the way employees work.

That’s all for today’s introduction. Please look forward to the next company event introduction!

社内勉強会-カードゲーム事情

前回の勉強会の様子

社内勉強会 – SNS映えする写真加工術

今回の勉強会記事を担当する第2ユニットの「TT」です。
さて、今回のテーマである「カードゲーム事情」についてですが、弊社では「HELLO WORLD」というカードゲームを取り扱っております。
そうした中で、本作品のバージョンアップ、もしくは次弾の構想検討に際し、
既存のカードゲームに実際に触れてみることで理解を深め、どのような要素があり、またその内どれを参考にするべきか(あるいは取り入れるべきか)を学ぶことを目的とし開催しました。
以下、実際に当日プレイしたゲームの紹介となります。

1.「はぁって言うゲーム」

今回集まったメンバーはあまりボードゲーム・カードゲームに馴染みのあるメンバーではなかったため、まずは軽いアイスブレイクとしてルールがシンプルで分かりやすい「はぁって言うゲーム」(リンク先:幻冬舎edu様製品紹介ページ)に挑戦。
ジャンルとしてはいわゆる「体験型」に属しており、体や言葉を使ったゲームなので子供から大人まで年齢を問わず楽しめるのが魅力です。

各プレイヤーは、全体に公開されたお題カードと、自身にのみ公開されたアクトカードに従い、お題を演じます。
他のプレイヤーは、どのお題を演じているかを出題者の声と表情からのみ推測し、投票します。
見事正解できれば出題者にも正解した人数分の得点が入るため、多少大袈裟になっても分かりやすい演技をするといいようでした。

プレイ中の様子。「思ってたんと違う!」「そうはならんやろがい!」と大惨事に(笑)

2.「ハゲタカのえじき」

場が温まったところで、続けてプレイしたのは「ハゲタカのえじき」(リンク先:メビウスゲームズ様製品紹介ページ)。
ジャンルとしては「心理戦」タイプでしょうか。与えられたカードを元に相手の動きを読む、駆け引きが白熱するゲームとなっています。

各プレイヤーは1~15までのカードから1枚を選び、一斉に公開します。
公開された中で最も高い数字を出していたプレイヤーが場の中央に置かれた得点札を獲得できるのですが、本ゲームでは「バッティング」と呼ばれるメカニクスが採用されています。
これは、他プレイヤーと同じ数字カードを出してしまうとその数字は打ち消しあい、次に大きな数字カードを出していた人に権利が移るという仕組みです。
たとえば上図の場合、11が最大ですが重複しているため互いに打ち消しあい、次に大きい数字である5を出したプレイヤーが得点札を獲得できます。

プレイ中の様子。最後の最後で大量にバッティングが発生し、高得点カードを掻っ攫っていくまさかの展開に!?

3.「コヨーテ」

この日最後にプレイしたのは「コヨーテ」(リンク先:ニューゲームズオーダー様製品紹介ページ)。
先に挙げた「体験型」と「心理戦」の複合となっており、箱に描かれた女の子のようにカードを額に当てる(=自分からは見えなくする)という変わったプレイスタイルが特徴です。

「ブラフ」と呼ばれるゲームジャンルの作品で、場に出ている札に書かれた数字の合計を下回るように一人ずつ数字を宣言していきます。
ただし、必ず前に宣言された数字よりも大きな数を宣言しなければならないため、どこかで合計値を上回る宣言をするプレイヤーが出てきます。
直前のプレイヤーの宣言が怪しい!と思った場合「コヨーテ!」と宣言し、嘘をついていたら直前に数値を宣言をしたプレイヤーの負け、本当のことを言っていたらコヨーテを宣言したプレイヤーの負けです。
ここで重要になってくるのが「プレイヤーが見ることのできる札は自分『以外』の札だけである」という点です。
誰かがコヨーテを宣言するまで自分が何の札を持っているか分からないため、周りのプレイヤーの表情や宣言から推測するしかないのです(そして多くの場合、周りのプレイヤーはあなたを勘違いさせようとするでしょう)!

プレイ中、平然と上限を上回るような宣言をし、それに釣られて数字を釣り上げてしまう隣のプレイヤーを見て大爆笑…といった具合に、こちらも大いに盛り上がりました。

最後に

社員の多くが社外へ出向していることに加え、昨今のコロナ禍により中々大勢で集まって何かをやるという機会に恵まれませんでしたが、今回の勉強会ではソーシャルディスタンスを保ちつつも、多くの人数が集まり大いに盛り上がりました。
冒頭で述べたカードゲームの研究の他にも、社内交流の活性化という面でも期待がもてそうです。
今後も折を見て開催していけたらいいですね。

技術者ブログ(2) – ローコード開発のご紹介(Oracle APEX)

技術者ブログと題して社員が日ごろ取り組んでいる学習内容を紹介します。
第2回は、ローコード開発をテーマにしている第2ユニットです。

今回のテーマ
『ローコード開発について』

そもそも、ローコード開発とは、その名の通りLow-Code、つまり手作業によるコーディングを最小限に抑えた開発のことです。
そういった意味では、フルスクラッチのコーディングから、フレームワークを採用しコーディングを省略することも、一種のローコード開発と言えるのかもしれませんね。

ですが、ここで言うローコード開発とは、そこから更に一歩踏み込み、ほぼコーディングが不要となる開発を指します。
たとえば、いくつかのローコード開発プラットフォームでは、GUIベースの開発ツールを用いることにより、部品を配置するだけで画面およびそこから呼び出されるロジックを自動生成してくれるため、一部のプロパティ設定を除いてコーディングがほぼ不要となります。

弊社では、このローコード開発プラットフォームとして
Oracle Application Express(APEX)を使用しています。

Oracle Application Express (APEX)は、最高レベルの機能を備え、どこにでもデプロイできる洗練されたスケーラブルでセキュアなエンタープライズ・アプリケーションを構築できる
ロー・コード開発プラットフォームです。

引用
https://apex.oracle.com/ja/

本製品の特徴として、Oracle Detabaseで完全にサポートされる無償機能であることが挙げられます。
つまり、Oracle APEXをダウンロードし、既存のOracle Databaseにインストールすることで、特に複雑な設定をすることなく利用できます。

また、Oracle APEXにはWeb上で最新バージョンを試用できる無償サービスも用意されており、実際の動作感を確かめることもできるようになっています。

Oracle APEX(無償サービス版)の管理画面。
クラウド上に配置されたOracle Databaseとの間でデータを読み書きするようなWebアプリケーションをGUIベースで作成することができる。

上記無償環境では、予め用意されているテンプレートを利用することで、Webアプリケーションの高速開発を実現しています。
また、デザインや機能のカスタマイズについても、GUIベースの開発ツールから必要な部品をドラッグ&ドロップすることで、開発経験が浅いプログラマでも複雑なコードを書くことなく直感的に開発できるようになっています。


Oracle APEX(無償サービス版)の開発画面。
リージョンと呼ばれる領域にフォーム部品などのアイテムを配置し、プロパティを設定するだけで、画面およびロジックを自動的に生成してくれる。

この他にも、いくつかのプラットフォームにてローコード開発を行っていますので、今後も紹介していきたいと思います。