Share
Embed
ローコード開発とOracle APEX - 教育の分野への活用
2021年4月19日に、Oracle Academyの会員を対象にOracle APEXの紹介を行いました。その際に使用した資料のスライドと話した内容です。
製品コンポーネントと機能については、デモンストレーションで紹介を行い、資料に含まれるスライドは使用していません。
Yuji Nakakoshi
April 28, 2021
Transcript
90 slides
-
本⽇のアジェンダになります。 最初に、ローコードとは?と題しまして、最近のトレンドであるローコード 開発プラットフォームについて、ご紹介いたします。 続いて、Oracle社の製品である、Oracle APEXの紹介として、概要のご説明をさ せていただきます。 Oracle APEXに含まれるコンポーネントや機能については、実際にOracle APEX を使ったアプリケーション開発作業を⾒ていただきながら、説明していきま
す。 製品⾃体についての説明の後、実際に利⽤されている場⾯である、事例や、 Oracle APEXの学習⽅法をご紹介し、 最後にまとめと、させていただきます。 2 -
ローコード開発と、より伝統的なアプリケーション開発⼿法、ここではスク ラッチ開発としましたが、コードを書くという、やり⽅ですね、それを⽐較 したアナリストのコメントです。 Forresterでは、ローコードでの開発は、トラディショナルな⼿法より10倍早 く開発を進められる、とコメントしています。 Gartnerは、2024年には、アプリケーション開発の半分以上が、ローコードの ⼿法による開発になるだろう、と予想しています。 職業プログラマと市⺠開発者の双⽅にとって、開発の短期間化というメリッ トと同時に、⽣産性も向上すると、コメントしています。 ここでCitizen
Developer、市⺠開発者という単語がでてきています。 ⽿慣れない単語かもしれませんが、アプリケーション開発を本職としている 職業プログラマーではなく、 例えば本職は研究事務であったり、医療事務であったり、という職務であり 6 -
ローコードでのアプリケーション開発の利点は、ここでリストしているよう に沢⼭あります。 ローコード開発プラットフォームは、テスト済みのフレームワークとして多 数のコンポーネントを、あらかじめ提供しています。 利⽤者は、そのコンポーネントを使った上でアプリケーションを作成します。 出来上がっているコンポーネントを使うわけですから、それについてのコー ドはしませんし、テストも不要です。 ですので、開発期間も短く、品質も担保されます。習得も容易です。 すでに作成済みのコンポーネントを使⽤するので、確かに作成できるアプリ ケーションには制限がでてきます。
しかし、最近のWebで使えるアプリケーションは、⼤体が似たようなユー ザー・インターフェースになっていると思いませんか? 7 -
Oracle APEXを⼀⾔で説明すると「データベースで動作するWebアプリケー ション開発フレームワーク」です。 最⼤の特徴を3点、ご紹介します。 (左の図) Oracle APEXを使って、デスクトップ向け、および、モバイル向けのWebアプ リケーションを作ることができます。 (真ん中の図) データベースに蓄積されたデータを使ったレポート、フォーム、チャート、
カレンダーなどを、素早く作ることができます。 (右の図) IT技術者はもちろん、IT技術者でなくても、少しのSQLの知識があれば、アプ リケーションを作り始めることができます。 さらに、Oracle APEXはOracle Databaseが提供する機能の多くを利⽤することが 9 -
Oracle APEXの特徴になります。 (左の図) Webブラウザだけでアプリケーションの開発を⾏うことができます。特別な クライアント・ソフトウェアは不要です。Chromebookでも問題ありません。 タブレットを開発に使⽤するには、画⾯が⼩さめなのと、キーボードとポイ ンティング・デバイスは開発には必要で、それらを繋げないと、ちょっと難 しいかもしれません。 (真ん中の図) 次にローコード開発プラットフォームとしての、技術⾯での特徴なのですが、
Oracle APEXでのアプリケーションは、⾊々な設定情報の集まりで、オラクル データベースにそれらが保存されています。 ファイルへのコード⽣成やコンパイルは⾏いません。つまり、アプリケー ションの変更は、すぐに実⾏中のアプリケーションに反映されます。 10 -
Oracle APEXの⾼い⽣産性の例です。 ここでは、スプレッドシート形式でのデータ編集を⾏うアプリケーションを、 例にとっています。 Oracle APEXでは、記述するコードは、1⾏のSQLのSELECT⽂です。 対して、スクラッチ開発は、グリッド編集を⾏うWebコンポーネントを使っ て、Oracle Databaseのデータを編集するアプリケーションを作成するのに、 600⾏を超える程度のコーディングが必要でした。
Oracle APEXでは、Webコンポーネントとデータベースを繋ぐための、コード を書く必要はありません。 このように、データを主に扱うアプリケーションでは、Oracle APEXは20倍の 速さ、100分の1のコード量で、アプリケーションを開発できると考えていま す。 11 -
Oracle APEXがどのように利⽤されているかの例です。 Oracle APEXは幅広い業界で、様々(さまざま)なビジネス上の問題を解決す るために使⽤されています。 (Click - 左の図) ⼀般の従業員、パートナー、顧客といったエンド・ユーザーを対象とした、 簡易アプリケーションや、セルフ・サービスのアプリケーションを素早く開
発することにより、変化の激しいビジネス上の要件にいち早く追従できます。 (Click - 真ん中の図) パッケージ・ソフトウェアを既存のビジネスプロセスと統合するため、およ び、組織が持つ特別な要件を満たすための拡張を⾏うために使われています。 (Click - 右の図) スプレッドシートやMS AccessによるアプリケーションをWeb化することに よって、複数のユーザーが同時に使⽤できる、安全な、アプリケーションを 構築することができます。 その他、レガシーなクライアント・サーバー型のアプリケーションのWeb化 12 -
Oracle Databaseは、アプリケーション開発に活⽤できる、多くの機能を提供し ています。 機械学習、リアルタイム分析(インメモリ)、IoT(Fast Ingest – Kafka)、グラフ分 析(RDF)、ドキュメント(Text)、スペーシャル、やブロックチェーンといった機 能がOracle Databaseに含まれています。
そして、Oracle Databaseが稼働していれば、追加の構成作業をすることなく、 すぐに利⽤可能です。 Oracle Databaseは、アプリケーション開発のプラットフォームとしても利⽤で きます。 そして、これらの機能はOracle APEXから、そのまま利⽤することができます。 13 -
Oracle APEXは、すべてのOracle Databaseで、追加コストなしで利⽤することが できます。 その対象には、Enterprise Editionはもちろんのこと、Standard Edition、さらに はExpress Edition、つまり無料で利⽤可能なOracle Databaseも含まれます。
Oracle Database⾃体がサポート対象であれば、その上で動作するOracle APEXも サポートされます。 発⽣する費⽤は、データベースのライセンスであったり、クラウドのサブス クリプションですので、Oracle APEX⾃体では、その開発者数、エンドユー ザー数、アプリケーション数に関わらず課⾦はされません。 Oracle Cloudが提供する、すべてのOracle Databaseのサービスで、利⽤可能で す。 また、オンプレミス、Oracle Cloud、さらには他社のクラウドであっても、 Oracle Databaseが動いてさえいれば、その上でOracle APEXを利⽤することがで きます。 16 -
こちらは、Oracle APEXの開発環境にログインした直後に表⽰されるページ、 つまり、ホーム・ページになります。 このページは、 Webアプリケーションを開発する機能である、アプリケーション・ビルダー データベースに含まれるオブジェクトのメンテナンスを⾏う、SQLワーク ショップ アプリケーション開発のライフサイクルを管理する、チーム開発 標準で添付されているアプリケーションの⼀覧である、アプリケーション・ ギャラリ
といった機能を提供する統合開発環境(IDE)の⼊り⼝になっています。 (21.1以降はアプリケーション・ギャラリはなくなり、サンプルはGitHubから 提供される予定)。 21 -
基本的な操作⽅法 • 新たに要素の追加は、ドラッグ&ドロップ、または、メニューのショート カットにより⾏います。 • 複数のページ要素の更新を、⼀括で⾏うことができます。 • 変更に対する”Undo”および”Redo”が可能です。 • “保存”と“実⾏”により、すべての変更をデータベースに保存されます。
左ペイン • レンダリング、プロセスおよび共有コンポーネントは、それぞれがひとつ のパネルとしてまとめられ、左ペインに配置されています。 • 動的アクションも、ひとつにまとめられています。 • 要素の作成、移動、複製を実施するには、ドラッグ&ドロップを使うか、 もしくは、右クリックで表⽰される要素によって変わるメニューを使いま す。 • どのようなタイプの要素でも、ツリーから直接削除できます。 23 -
• ひとつまたは複数の要素をクリックして選択すると、グリッド・レイアウ ト上の要素がハイライトし、その詳細がプロパティ・エディタに表⽰され ます。複数の要素が選択されている場合は、共通したプロパティのみが表 ⽰対象となります。 中央ペイン • グリッド・レイアウト: コンポーネントの作成、移動、コピー、削除をド ラッグ&ドロップで実施します。
• ギャラリー: コンポーネント⼀覧を表⽰し、ページにドラッグ&ド ロップできます。 • メッセージ: 開発作業で⽣じたエラーや警告メッセージが表⽰されます。 • ページ検索: ページ内の要素やプロパティを検索します。 • ヘルプ: 選択されているコンポーネントに関するヘルプ情報が表⽰されます。 プロパティ・エディタ – 右ペイン • 現在選択されている要素の詳細を表⽰します。 • 複数の要素が選択されているときは、共通のプロパティを⼀度に編集でき ます。 • プロパティの効果的な設定⽅法として、さらに以下を提供します。 • ⼊⼒へのフィードバックの即時実施。 • 上位の設定に従って、それに依存した選択メニューに切り替え。 • 共通のプロパティ・タイプの設定を容易にする。 • 要素の定義を容易で直感的にすることで、⽣産性を⾼めます。 23 -
ページ・デザイナは、開発者によるOracle Application Expressのページの改善や 保守をとても容易にしました。 左ペインには各種ツリー・ビューが配置されます。それにはレンダリング、 動的アクション、プロセス、共有コンポーネントが含まれます。 中央ペインにはグリッド・レイアウトとコンポーネント・ギャラリーがあり、 新規にコンポーネントをドラッグ&ドロップで簡単に配置することができま す。 右ペインにはプロパティ・エディタがあり、選択したコンポーネントの属性
を別ページを開くことなく更新できます。 SQL、HTMLやCSSをテキストとして⼊⼒するときは、コード・エディタをポッ プアップさせて開くことができます。コード・エディタでは、⽂字列の検索 と置換、⾃動補完やSQLの検証を⾏うことができます。 また、作業をしている部分に容易に集中できるように、ユーザー・インター フェースをカスタマイズする様々な⽅法が提供されています。 24 -
いくつものテーマとそれに含まれる数多くのテンプレートを提供するかわり に、ひとつのテーマとそれに集約されたテンプレート群が提供されています。 このユニバーサル・テーマを使って、素早く、簡単に、美しく洗練されたレ スポンシブなアプリケーションを⼿間をかけずに作ることができます。 Oracle APEX 18.1からjQuery MobileとjQuery Mobile UIはサポート対象外となって
います。まだ既存のアプリケーションがjQuery Mobile UIを使っている場合は、 ユニバーサル・テーマに移⾏する必要があります。 ユニバーサル・テーマはレスポンシブであるようにデザインされているため、 ⼤きさの異なる各種の画⾯に最適化されたルック&フィールになります。ス マホのような⼩さい画⾯向けにデザインされたアプリケーションのために、 Oracle APEX 18.1からは、jQuery Mobile UIを置き換えるための3種類のリー ジョンを提供しています。これは、リスト・ビュー、カラム・トグル・レ ポート、リフロー・レポートです。 26 -
チーム開発はアプリケーション開発のライフサイクルを管理する⽅法を提供 します。 機能、To Do、バグは特定のアプリケーションとページに紐づけることができ ます。 フィードバックは開発者が直接アプリケーションの利⽤者より、コメント、 機能の要望、さらには、バグの報告を集める⽅法を提供します。バグの報告 には開発者による解析を容易にするために、それが発⽣した時点の重要な セッション・ステート情報も付加します。 チーム開発の機能は、Oracle
APEXの開発チームが、それ⾃体がOracle APEXの アプリケーションである、新しいOracle APEXのリリースを開発するために実 際に使⽤しています。 31 -
ファセット検索はインターネット上のアプリケーション、主に店舗や販売系 のウェブサイトでよく見られます。利用者は画⾯左か上に存在する、ファセ ットに検索条件を設定します。ファセットには選択可能な値とともに、現在 の検索結果に含まれる数が表示されます。利用者がファセットを変更すると 、即座にレポートの表示、ファセットの選択肢と出現数が更新されます。 Oracle APEX 19.2から提供されるファセット検索を使うことにより、開発者は 最小限の労力で完全に機能するファセット・ナビゲーションを実装できます 。APEXは、レポートやファセットのリフレッシュ、出現数の再計算に必要な
SQLの生成、レポートとファセットの統合といった低レベルの処理をすべて行 います。開発者はレポートのデータ・ソースと、ファセットおよびそのファ セットで使用する値のリストを宣言するだけです。 ファセット検索のページには、ファセット検索・リージョンとレポートのリ ージョンが含まれます。ファセット検索リージョンは、ページの左側に配置 され、値を選択することにより、検索結果の絞り込みを行います。続けて検 索結果を絞り込むことにより、利用者は欲しいデータを見つけることができ ます。ページの右側にクラシック・レポートのリージョンが配置され、レポ ートもしくはカード形式で表示されます。アプリケーション作成ウィザード 37 -
• サイズや位置はカスタマイズ可能。 • ダイアログ・ページから通常のページへのブランチ(ダイアログの クローズから別ページへのブランチ)や他のダイアログ・ページへの ブランチ(例えばウィザード)が可能。 • ダイアログ・ページがさらにダイアログ・ページを開くことが可能 (スタック・ダイアログ)。 •
基底ページに動的アクションを設定することで、モーダル・ダイア ログが閉じた時にコンテンツをリフレッシュすることが可能。 41 -
Oracle APEXは、データ視覚化を⾏うためにOracle JET (JavaScript Extension Toolkit) を採⽤しています。Oracle JETは最新のJavaScript、CSS3、およびHTML5 の設計と開発原理に基づくモジュラ式のオープン・ソースのツールキットで す。JavaScriptを使ったチャートは、⾼度なカスタマイズが可能、アクセシブ
ル(障害者⽀援への対応)、レスポンシブ・デザインをサポートしています。 Oracle JETをOracle APEXに組み込むことにより、美しく、⾼速で、⾼度なカス タマイズができる、多種多様なチャートを作ることができるようになりまし た。Oracle JETのデータ視覚化コンポーネントには、カスタマイズ可能な チャートやゲージ以外にも、データ分析⽤にデータを⼀覧表⽰したり、階層 表⽰するコンポーネントも含みます。 43 -
Oracle Academy ではOracle APEXへの2つのアクセス⽅法を提供しています。ひ とつはより包括的な、Oracle Academy Cloud Program、もうひとつはOracle Academy APEXです。
Oracle Academy Cloud Programの場合は、そのプログラムに含まれる Autonomous DatabaseにAPEXを構成します。 学⽣の要件として、成⼈年齢に達している必要があります。 学⽣それぞれにクラウド・アカウントが提供され、その学⽣によってアカウ ントは管理されます。 有効期限はありません。7⽇間、データベースの利⽤がないとデータベース は停⽌され、90⽇間そのまま停⽌していると、データベースは削除されま す。ですので、データベースを使⽤している限り、有効期限が切れるという ことはありません。 Oracle Academy APEXについては、授業で使⽤するために設計された専⽤の APEXのインスタンスで、1ワークスペース当たり最⼤99の学⽣アカウント 60 -
Oracle Academy Cloud Programは、Oracle APEXの他にも無償で利⽤できるサー ビスを含んでいます。 1つのOCPUと20GBのストレージ容量をもつ、Autonomous Database をふたつま で。
1/8 OCPUと1GBメモリをもつ、Computeインスタンスをふたつまで。 100GBのブロック・ボリューム、10GBのオブジェクト・ストレージ、10GBの アーカイブ・ストレージ、といったストレージ。 追加サービスとして、ロードバランサーや、監視、通知のサービスを含んで います。 無償以外では、365⽇間有効な、300ドルのクレジットも含まれています。 61 -
Oracle APEXを使って、アプリケーションを開発するために、必要な知識です。 最初のOracle APEXについては、もちろんですが、 データ・モデリングといった概念の理解も必要です。 次に、SQL、PL/SQLまたはJavaScriptといった、サーバー側のプログラミング⾔ 語の知識と理解、 HTML5、CSSおよびJavaScriptといったフロントエンドの技術も⾝につけるべき です。 その他には、ネットワーク・セキュリティや、データベースのパフォーマン
ス・チューニングといった知識もあった⽅がよいです。 この中で、PL/SQL以外は、ベンダーに依存しない標準的な技術になります。 62 -
Oracle APEXでアプリケーションを開発することを仕事としている⽅は沢⼭い らっしゃいます。 そして、そのスキルを、仕事以外のボランティアで活⽤している⽅も沢⼭い らっしゃいます。 ⼀番左のevry.appは、環境問題にたいして、⼩さなことでもできることをしま しょう、というアプリケーションです。そして、⾏ったことをシェアしま しょうという、いわゆるソーシャル・ネットワークのアプリケーションに なっています。 真ん中は、世界中のOracle
APEXの開発者が作成した、COVID-19の感染症に関 連したアプリケーションの⼀覧です。 ⼀番右はOracle APEXによるアプリケーション開発を仕事にしている⼥性たち のネットワークです。 75 -
困ったことがあったり、分からないことがあったり、経験を共有したり、実 際に他のOracle APEX開発者に会ったり。 APEXにまつわる、これらの要望をまかなうための、書籍だったり、ディス カッション・フォーラムだったり、⼩さなミートアップから世界中から開発 者が集まるカンファレンスまで、⾊々な仕組みがあります。 コミュニティの情報が提供されているサイト、apex.oracle.com/community に は、これらの情報がたくさん集まっています。 (残念ながら、ほぼ英語/海外の情報のみ)
⽇本では、Oracle APEXユーザーグループが活動中です。 https://orclapex-jp.connpass.com 76 -
Oracle APEXのまとめとして、 Oracle APEXは、簡単なアプリケーションの開発からミッション・クリティカ ルなアプリケーションを含む、⼤規模なアプリケーションまで、実際に作ら れて利⽤されている実績があります。 世界で利⽤されているリレーショナル・データベースのおおよそ半分はOracle Databaseですから、その上でアプリケーションを作成するチャンスは沢⼭あり ます。 Oracle
APEXは新しい製品ではなく、20年近い歴史があり、オラクル社も継 続的に投資を⾏っています。 そして、Oracle APEXはアプリケーションを作るためのツールですが、その作 業が全てではありません。他に専⾨分野を持つ⽅、たとえば財務や⽣産管理、 研究事務などですが、そのような⽅がアプリケーションを開発するための ツールでもあります。ソフトウェア技術者でなくても、Oracle APEXでアプリ ケーションを作れるようになることよって、⾃分⾃⾝にとって⾝近な問題を 解決することができます。 79 -
Oracle APEX⾃体の構成要素の多くは、業界標準の技術です。 また、アプリケーション開発に使⽤する技術の多くは、標準的に使われてい るもので、仮にOracle APEX以外のツールを使うことになっても、学習が無駄 になることはありません。 その上で、Oracle Databaseの知識があれば、より⾼度なアプリケーションを開 発することができます。 Oracle
Database⾃体も多くの企業で採⽤されているソフトウェアであり、その 知識を役⽴てることができる組織は沢⼭あります。 80