Share
Embed
Oracle APEX:アイデアからアプリケーションへ:光の速度で実現する環境
2020/12/17 - Oracle Developer Daysのセッションの資料
1. Oracle APEX製品紹介
2. デモ(デモ自体は含まず)
3. COVID-19 Therapeutic Learning Systemの開発過程を紹介
ノート付き
Yuji Nakakoshi
December 17, 2020
Transcript
39 slides
-
Oracle APEXは、業界で最も利用されている、企業向けローコード・アプリケーショ ン開発プラットフォームです。 世界の127ヵ国で、5万以上の顧客が、簡単なものから複雑なものまで、様々なアプ リケーションをOracle APEXを使って開発し、利用しています。 開発者は50万人で日々増加しています。 作成されたアプリケーションの数は220万以上、1日当たりに開発される、新規アプ リケーション数は3000以上、 新規のインストールは数百という単位になっています。
--- 数え方 サポートリクエストの数 ソフトウェアのダウンロード数の数 Check for Updateの情報から apex.oracle.comの利用状況 等 5 -
数多くある、ローコードでのアプリケーション開発の利点を、いくつか取り上げま す。 アプリケーションの開発を始めてから、リリースされるまでの期間が短縮されます。 これは、すでに出来あがっている、テスト済みのフレームワークを活用することで、 実際に記述するコードの量が少なくなりますし、また、必要なテストも少なくなるた めです。 同様に、テスト済みのフレームワークを活用することで、高い品質が確保されます し、また、同じフレームワークにアプリケーションを作成することで、それらの間に 一貫性が生まれます。 習得が容易、というのも利点としてあげられます。コードの記述量は実際少なくなり
ますし、また、ソフトウェア工学の素養がなくてもアプリケーションを作ることがで きます。 例えば、Oracle Databaseを使うWebアプリケーションを作るには、SQL、PL/SQLま たはJavaといった手続き言語、HTML、CSS、JavaScriptを知っていることが必要で す。 これらが全部できる、フルスタック・エンジニアを確保することは、なかなか難しい のが現状です。 ローコード開発ツールは、それらの知識の不足を補ってくれます。 7 -
Oracle APEXの高い生産性の例です。 ここでは、スプレッドシート形式でのデータ編集を可能とするモジュールの実装を、 例にとっています。 Oracle APEXでは、記述するコードは、1行のSELECT文です。 対して、スクラッチ開発は、グリッド編集を行うWebコンポーネントを使って、 Oracle Databaseのデータを編集するアプリケーションを作成するのに、600行を超え る程度のコーディングが必要でした。
Oracle APEXでは、WebコンポーネントとDBを繋ぐための、コードを書く必要はあり ません。 このように、データを主に扱うビジネス・アプリケーションでは、APEXは20倍の速 さ、100分の1のコード量で、アプリケーションを開発できると考えています。 8 -
では、Oracle APEXの説明です。 Oracle APEXは、Oracle Databaseで動作する、ローコード・アプリケーション開発プ ラットフォームです。 (左の図) デスクトップ向け、および、モバイル向けのWebアプリケーション開発に使うことに よって、美しく、レスポンシブなアプリケーションを作ることができます。 スマートフォーン向けやタブレット向けの特別の知識は必要とせず、フルスタックの
開発者である必要はありません。 (真ん中の図) 次に、Oracle APEXは、データを操作する処理を、特にうまく行うことができます。 データベースに蓄積されたデータを使った、レポート、フォーム、チャートやカレン ダーなどを、素早く作ることができます。 (右の図) さらに、SQLやデータベースの機能についての知識があれば、よりよいアプリケー ションを作ることができます。 9 -
Oracle Databaseは、アプリケーション開発に活用できる、多くの機能を提供していま す。 機械学習、リアルタイム分析(インメモリ)、IoT(Fast Ingest – Kafka)、グラフ分析 (RDF)、ドキュメント(Text)、スペーシャル、やブロックチェーンといった機能が Oracle Databaseに含まれています。
そして、Oracle Databaseが稼働していれば、追加の構成作業をすることなく、すぐに 利用可能です。 Oracle Databaseは、アプリケーション開発のプラットフォームとしても利用できま す。 そして、これらの機能はOracle APEXから、そのまま利用することができます。 10 -
Oracle APEXの代表的な用途です。 スプレッドシートでは、例えば、休暇や勤怠など、スプレッドシートにまとめて、関 係者みんなで更新して、どれが最新かわからなくなったり、スプレッドシートをメー ルに添付して回覧して、どこで止まっているかわからなかったり。そういったことは ありがちです。 スプレッドシートに保存するデータをOracle Databaseに投入し、Oracle APEXで簡単 なアプリケーションを作れば、ずっと効率よく仕事を進めることができます。
全員が同じアプリケーションを同じURLからアクセスして、それぞれデータを更新す ればよく、作業が競合することも発生せず、そのアプリケーションから確認できる データは常に最新です。 オポチュニスティック・アプリケーションとは、期間が限定されたニーズに応えるア プリケーションのことです。 締め切りが今月中といった作業に使うアプリケーションの開発に、1ヶ月かかるのであ れば、作る意味がありません。 それが数日で使用に耐えるものができるのであれば、作ろうと思えるはずですし、ま た、作業が終わったあとに使われなくなっても、それほど惜しくはないでしょう。 Oracle APEXはOracle CloudのAutonomous Databaseで利用できます。Webアプリ ケーションですので、URLがわかって、ネットにつながってれば、どこからでも、 データの参照や更新が可能です。これは社内でも社外でも同様です。 11 -
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を利用することができます。 12 -
Thera-peu-tic (theh – ruh – pyoo – tuhk) このシステムは、米国政府の要請を受けて、オラクルが開発し、クラウド上で稼働す るサービスとして、米国政府に寄贈したものになります。
COVID-19に罹患した患者を担当している医師が、このシステムに利用者登録を行いま す。 そして、彼ら、彼女らの患者は、利用者登録を行った医師によって、システムに追加 されます。 追加された患者に、電子メールもしくはSMSで通知が送られ、その通知にしたがって 患者が毎日、容体をアップデートする、というものです。 集められたデータは、医師によって参照されます。 15 -
最初の日は、夜の9時半から、深夜の2:45分まで、やらなければならないことは何か 、開発チームがZoomで会議を始めました。 Oracle APEXのチームがこの会議に呼ばれましたが、APEXのチーム・メンバーはソフ トウェア開発者であって、医療の専門家ではありません。 幸い、米国オラクルには、ヘルスケアを担当する部門があり、その部門から、複数の 専門家の方々がZoomの会議に参加しました。 一番最初に取り組んだことは、データ・モデルの作成です。参加者の間で素早く設計 結果が共有できるように、 データ・モデルの作成には、インターネットからアクセスでき、誰でも無料で利用で
きるapex.(ドット)oracle.(ドット)comの環境と、 データモデルを素早く定義できる、クイックSQLが使用されました。 -
このミーティングに向けて、アプリケーションの開発環境を、社内で利用されている インスタンスに変更しました。 オラクルでは、所属や国籍、予算の有無にかかわらず、社内の誰でも、ワークスペー スのリクエストができ、そこで、APEXを使ったアプリケーションを開発、実行する ことができます。 この社内環境では5000を超えるワークスペース、および、1万を超えるアプリケ ーションが実行されています。 この時点で、米国のシアトルに拠点があるOracle Cloud Infrastructure
– OCIのチーム が、このアプリケーションを載せるExadataのサービスを準備していましたが、ま だ、利用可能にはなってはいませんでした。ですので、社内のセキュアな環境は、開 発を進める上で重要でした。 -
アカウントの登録画面です。 電子メールまたはショート・メッセージを使った、追加の確認が実装されています。 右側の画面は、医師が使用するアプリケーションです。 ---- (確認にはDEA番号とNPI番号が使用されています。) DEA番号 – 米国麻薬取締局が医療提供者(医師、歯科医、獣医などに割り当てる番号) NPI –
National Provider Identifier - 医療機関毎のID、HIPPAに基づく事務、財務上の 処理に使用する。 -
Oracle APEXの利点のまとめです。 まずは、 Oracle Databaseをお持ちで、 すでに、そこに蓄積されたデータがあり、 そのデータを活用したい、と考えていらっしゃるのであれば、 Oracle APEXはベストのツールです。 すべてのOracle
Databaseで、追加の費用なく利用でき、無料で利用できる環境も提供 されているため、気軽に始めることができます。 リレーショナル・データベースやSQLの知識はあった方がよいですが、 JavaScriptとCSSは知らなくても、スマホ、タブレット、PCすべてに対応したレスポ ンシブなWebアプリを作成することができます。 36 -
最後に、今回、説明した事例ですが、検査、治療、ワクチン投与の機能を加えて、 Oracle Health Management Systemとして、現在、アフリカの3カ国で利用されてい ます。ガーナではすでに、黄熱、Yellow Feverを対象としたワクチン投与に利用され ています。 システムが稼働した最初の週で70,000人を超える人がこのシステムに登録され、実際 にワクチンが投与されました。
本プログラムを推進しているトニー・ブレア・グローバル・チェンジ研究所とオラク ルは、現在、アフリカをはじめアジア、欧州、北米の30カ国以上において、同様のシ ステムを使ったCOVID-19のワクチン接種プログラムの運用管理について協議を行って います。 37