技術者ブログ:Outsystems導入とサンプル画面作成の紹介

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

今回のテーマ:『Outsystemsを導入してみよう』

今回は、前回の記事にて触れたOutsystemsというローコード開発ツールの導入と、サンプル画面の作成方法を紹介します。

まずはOutsystems公式ページより、無償トライアルを選択。
氏名・メールアドレス・パスワードを入力します。

続いて使途、会社情報を入力します。

アカウントの作成が終わるとポータル画面が開くので、インストーラをダウンロードし、インストールします。

また、入力したメールアドレス宛に認証メールが届くため、認証手続きを行っておきましょう。

インストール終了後、Outsystemsを起動します。
メールアドレスとパスワードを入力することで、割り当てられた個人環境へ接続できます。

初回接続時、React方式によるチュートリアルを促されます。
今回はTraditionalWeb形式での手組み画面を試すため、Backを選択してチュートリアルを中断しましょう。

New Application→From scratch→TraditionalWebと選択を進め、アプリケーション(モジュール(機能)の集約単位)の名前、概要、アイコンを選択します。
その後、モジュール名を入力することでモジュール作成画面に遷移します。

モジュール作成画面に遷移したら一番簡単な作り方として構築済みのEntity(テーブル)をドラッグ&ドロップしてマスタ・ディティール画面を作成します。
Dataタブ→Entitiesディレクトリ→(System)モジュール→Userエンティティをドラッグ&ドロップすることで、1回目はマスタ画面(Users)が、2回目はディティール画面(UserDetail)が作成されます。
画面が自動生成されたら、画面上部にある1-Click Publishを押下し、変更の保存及びサーバへのアップロードを行います。

自動生成されたUsers画面のレイアウト
自動生成されたUsersDetail画面のレイアウト。Entityの各項目に対する入力欄が自動生成される

アップロードが完了すると1-Click PublishがOpen in Browserに切り替わるので、押下することで開発した画面をブラウザで閲覧することができます。

Users画面をブラウザで開いた様子。Userエンティティ内のデータが一覧表示されている
UserDetail画面をブラウザで開いた様子。選択したレコードの値が詳細表示されている

作ってみた感想

以前Oracle Apexを用いた開発でも感じたように、とても簡単かつ短時間で作成することができました。
開発ツールをインストールし、マスタ化したいEntityさえ準備できていればほんの僅かな時間でWebアプリケーションの一機能を用意することができます。
また、いちから画面を作成する場合でもWidget(画面部品)が豊富に用意されているため、幅広いアプリケーション開発に対応できます。
第2ユニットでは様々なローコード開発を行ってますので、今後も紹介していきたいと思います。

社員紹介(8-2)

閲覧いただきありがとうございます。
今回の社員紹介記事を担当する第2ユニット所属の「TT」です。
一年半ほど前の自己紹介に引き続き、今回が二度目の紹介となります(前回はこちら

現在の業務内容

前回とは異なる案件に参画しており、そちらでローコード開発ツール「OutSystems」を用いたシステム開発に従事しております。
プロジェクト全体の方針としてローコード開発の強みを生かした開発を進める方針となっており、OutSystems標準部品の積極的採用や画面間で似通った機能の共通部品化などを通じて工数削減に努めています。
また、画面の製造や軽微な修正が容易に行え、即座に反映できることから基本設計の段階よりお客様と入念に認識合わせを行うことができ、品質の向上に繋げられるのも強みの一つと言えます。

設計・製造フェーズに向けて同ユニットのメンバー増員も検討されており、合流できるのが楽しみです。

自己アピール

我が家のボードゲーム・これくしょん(更に増えました…)

前回の記事でも紹介させていただきましたが、気が付けばボードゲームが棚を三段占領する事態に。
また、写真の外では更に別の引き出しの中にも大小様々なボードゲーム・カードゲームがみっしりと…。
昨今のコロナ禍による影響で中々顔を突き合わせて遊ぶこの手のゲームは敷居が高くなってしまい、寂しい限りです。
少しずつですがワクチン接種も進んできているようなので、近いうちにまた大勢で集まって遊べる環境が戻ってくるとよいのですが…。

また、コロナ禍による影響がもう一つ。
と言っても、悪い話ではありません。
在宅勤務が増えた都合上、どうしても自室での作業が増えてきたため業務環境を改善しようと一念発起し…

頼れる相棒。去年までよく辛抱できていたものです…

ついに自分の部屋にクーラーを設置しました!
中々に手痛い出費でしたが、その甲斐あってこの記事を書いている現在もすこぶる快適です。
今年の夏も暑くなりそうですが、これで何とか無事に乗り切りたいですね。

今回の社員紹介は以上となります。
梅雨と夏の猛暑が交互にくるような変な天気が続きますが、皆様も体調管理にはくれぐれもお気をつけて。
次の社員紹介もどうぞお楽しみに!

技術者ブログ:Oracle APEX上でPL/SQLを動かす

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

今回のテーマ:Oracle APEX上でPL/SQLを動かす

前回の記事にて、Oracle APEXを用いたローコード開発の流れを紹介したのに引き続き、
今回もOracle APEXの紹介となります。
今回は、APEX上でのPL/SQL(プロシージャ)の作り方、動作確認手順、実際に呼び出すための設定方法を紹介します。

1.プロシージャを作成する

SQL Workshop内のObject Browserを開き、+プルダウンよりProcedureを選択します。

Create Procedure画面にて、作成するプロシージャ名を入力します。

引数を定義します。

プロシージャの中身を記述します。
ここでは、create or replace procedure "[プロシージャ名]" ([引数宣言]) isまでを自動で生成してくれるため、それ以降のローカル変数定義やBody部を記述します。

SQLを押下すると実際に生成されるSQLがプレビュー表示されるので、内容に問題がなければCreate Procedureボタンを押下します。

以上の手順により、プロシージャが新規作成されます。

また、一度作成されたプロシージャについては、本画面にて編集後、Save & Compileを実施することで更新が反映されます。

2.動作確認する

SQL Workshop内のSQL Commandsを開き、呼び出したいプロシージャをbegin~end;で囲み、Runを押下することで実行結果がResults欄に出力されます。

3.画面から実行する

画面からプロシージャを実行する場合、ボタンによって実行される動的アクションに設定する方法があります。


まず、詳細画面にボタンを配置します。
今回は、CREATEボタンを複製して作りました。
Behavior>Actionを”Defined by Dynamic Action”に、Database Actionを未選択に変更します。

次に、動的アクションを定義します。
Identification>Actionを”Execute Server-side Code”に設定し、PL/SQL CodeにSQL文を記述します。
2.の動作確認で書いたように、実行したいプロシージャをbegin~end;で囲みます。
画面の入力値を引数として使う場合、Items to Submitにアイテムを列挙します。

また、2つ目の動的アクションを用意し、Identification>Actionを”Submit Page”に、Setting > Request / Button Nameを動的アクションを”[実行するボタン名]”に設定します。

上記手順により、一覧 / 詳細画面にプロシージャを呼び出すボタンを1つ追加しました。
画面から本ボタンを押下することで、プロシージャが実行され、入力値を元にしたレコードが追加されます。


まとめ

APEXに限らず、ローコード開発ツールでは基本的な動作であれば標準で用意されている部品の組み合わせで対応できるよう設計されていますが、
一方で複雑な動作を実現するために、自前のコードを埋め込み実行させる仕組みも用意されています。
本記事にて、そういった実装をする際の一助になれば幸いです。

技術者ブログ ORACLE APEXを使ってローコード開発をしよう!

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

今回のテーマ『ローコード開発してみよう』

今回は実際にORACLE APEXというローコードの開発環境を使ってシステムを作っていきます。
ローコードって何?ORACLE APEXって?という方は以前の記事を読んで下さい。
→技術者ブログ(2) – ローコード開発のご紹介(Oracle APEX)

あらかじめ作成しておいたユーザー情報のテーブルを元に、登録・更新機能を備えたユーザー管理画面を作成します。

まずはORACLE APEXの管理画面からページ作成をクリックして画面のレイアウトを決めます。
今回はフォーム付きレポートを選択します。

つぎにページの中にどんな情報を入れるのかを設定します。
ユーザー管理画面なので、ユーザー名・ID・パスワードを設定することにします。

たったこれだけです♪
これで作成ボタンを押すと、すでに登録されているユーザー情報が一覧で載っているページが簡単に作成できてしまいます。

この画面では右上の作成ボタンをクリックすれば新たなユーザーを登録することができるようになっていますので、ソースコードを書かなくてもアプリケーション上でユーザー情報を追加することができます。

Dさんの情報を入力

 ↓

ユーザー一覧に”Dさん”が追加された

また応用編として、ユーザー名をリンクにしてクリックするとその人の勤怠管理画面に遷移するなど、クリックひとつで簡単に設定することができます。

NAMEのタイプを”リンク”に変更し、遷移先の画面を設定
Nameの箇所がリンクになりクリックすると、、、
ユーザー個別の勤怠管理画面に遷移

作ってみた感想

とても簡単に短時間で作成することができました。
ORACLE APEX初心者の新入社員でも10分もかからずに作ることが可能でした。
またレイアウトやオプションが充実しているので、幅広いアプリケーションに対応できると思います。
多くの企業で実際の開発に使用されているのも納得できます。
第2ユニットでは様々なローコード開発を行ってますので、今後も紹介していきたいと思います。

社員紹介(8)

11月になり、少しずつ冬の足音が近づいてきた今日この頃、皆様いかがお過ごしでしょうか。
この度社員紹介を務めさせていただきます、TT@風邪引きです。
季節の変わり目ということもあり、見事にダウンしてしまいました。
皆様はくれぐれも体調管理にご注意ください。

肩書

第2ユニット(ローコード開発担当)に所属しております。

経歴

普通科高校
→工業大学工学部情報工学科
→大学院情報科学研究科
→IT業界の会社
→ダンデライオンズ

気が付けば社会人6年目。思えば遠くへ来たものです。

現在の業務内容

少し前まで、ローコード開発プラットフォーム「OutSystems」を用いたシステム開発を行っておりました。
これまで経験したことのない技術に触れるのは楽しくもありますが、
まだまだ開発ノウハウの蓄積が既存のプログラミング言語を用いた開発に比べて少ないこともあり、
苦労の連続でした。

現在は、上記とは別のローコード開発ツールで作成された業務ロジックをJavaで置き換える作業を行っています。
無闇矢鱈にローコード化すればよいというものではない、という現実を目の当たりにし、色々考えさせられます。

自己アピール

我が家のボードゲーム・これくしょん(一部)

大学時代に非電源系ゲームのサークルに入っていたこともあり、
一時期離れていたこともありましたが、足掛け10年くらいのボードゲーマーです。
ダイスをジャラジャラ振ったり、デッキ構築型ゲームでコンボを狙いに行くのが好きですね。
ただ、ついつい自分の手元にかかりきりになってしまい、盤面が疎かになってしまうこともしばしば…。

以上、簡単ではありますが自己紹介でした。
次回の社員紹介もどうぞお楽しみに。

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

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