| オラクル APEX | |
|---|---|
| 開発者 | オラクル社 |
| 安定版リリース | 24.2 / 2025年1月15日 (2025年1月15日) |
| オペレーティング·システム | Windows、Linux、Oracle Solaris、HP-UX、IBM AIX [ 1 ] |
| ライセンス | Oracle Technical Network License(プロプライエタリ[ 2 ]) |
| Webサイト | apex |
Oracle APEX(Oracle Application Express)は、Oracle Corporationが開発したローコード・アプリケーション開発プラットフォームです。APEX は、クラウド、モバイル、デスクトップ・アプリケーションの開発と導入に使用されます。ウィザード、ドラッグ・アンド・ドロップ・レイアウト・ビルダー、プロパティ・エディタなどのツールを含むWebベースの統合開発環境(IDE)を備えています。
背景
APEXはOracle Databaseの機能です。Autonomous Database Cloud Services内のOracle Cloudの一部であり、スタンドアロンのAPEXアプリケーション開発サービスでもあります。[ 3 ]
Oracle APEX は、2000 年の作成以降、次のように名前が変更されています。
歴史
APEXは、Oracle開発者のマイケル・ヒチュワ氏によって、以前のプロジェクトであるWebDBに続いて開発されました。社内向けWebカレンダーを構築していたヒチュワ氏は、Oracleの同僚であるジョエル・カルマン氏と共同でFlowsを開発しました。二人はWebカレンダーを共同開発し、カレンダー開発に必要な機能をFlowsに追加していきました。Flowsの初期ビルドにはフロントエンドがなかったため、アプリケーションへのすべての変更はSQL Plusの挿入、更新、削除コマンドを使用して実行されていました。[ 8 ]
バージョン5.2では、リリースの年と四半期に合わせて番号体系が変更され、18.1に名称が変更されました。この変更は、Oracleの番号体系の変更と一致しています。
ローコード環境
Oracle APEX はローコード開発プラットフォームであり、その起源を第 4 世代プログラミング言語と迅速なアプリケーション開発(RAD) ツールにまで遡ることができる環境の一種です。
APEXを使用すると、ユーザーは「ノーコード」のグラフィカル・ユーザー・インターフェースを備えたWebアプリケーションを構築できます。しかし、要件がより複雑な場合、APEXは宣言型フレームワークを通じてローコード・オブジェクトの拡張を可能にします。このフレームワークにより、開発者はカスタムロジック、ビジネスルール、およびユーザー・インターフェースを定義できます。開発者は、 SQL、PL/SQL、HTML、JavaScript、CSS 、そしてAPEXプラグインを組み込むことで、これらを実現できます。[ 9 ] [ 10 ]
安全
APEXアプリケーションは、 PHP、ASP.NET、Javaといったより直接的なテクノロジーで構築された他のWebベースアプリケーションと同レベルのアプリケーションセキュリティリスクにさらされています。しかし、APEX 4.0以降、アプリケーションビルダーインターフェースには、アプリケーションのセキュリティ態勢の基本的な評価を提供するAdvisorと呼ばれるユーティリティが含まれています。
APEXアプリケーションに影響を与える2つの主な脆弱性は、SQLインジェクションとクロスサイトスクリプティング(XSS)です。[ 11 ]
SQLインジェクション
APEXアプリケーションは、本質的にPL/SQL構文をサーバーサイドの基本言語として使用し、PL/SQLブロックを介してデータにアクセスします。[ 12 ] APEXアプリケーションは、認可を実装し、Webページ要素を条件付きで表示するためにPL/SQLを使用します。そのため、これらのPL/SQLブロックが悪意のあるユーザー入力 を正しく検証および処理しない場合、APEXアプリケーションはSQLインジェクションの影響を受ける可能性があります。[ 13 ]
OracleはAPEXに「置換変数」 (構文は「&NAME.」)と呼ばれる特殊な変数タイプを実装しましたが、これは安全ではなく、SQLインジェクションを引き起こす可能性があります。PL/SQLブロック内でインジェクションが発生すると、攻撃者は任意の数のクエリまたは文をインジェクションして実行できます。特殊文字をエスケープし、バインド変数を使用することで、XSSおよびSQLインジェクションの脆弱性を軽減することはできますが、完全に排除することはできません。
クロスサイトスクリプティング(XSS)
XSS脆弱性は、他のWebアプリケーション言語と同様に、APEXアプリケーションにも発生します。これに対処するため、Oracleはhtf.escape_sc()関数を提供しており、リテラル文字をHTMLエンティティ名に置き換えて望ましくない動作を回避します。[ 14 ]
開発者は、認可スキームを使用して、APEXアプリケーション内のページやアイテムなどのリソースへのアクセスを管理できます。適切なセキュリティを確保するには、これらのスキームをすべての関連リソースに一貫して適用する必要があります。一貫性のないアクセス制御の例として、ボタンアイテムには認可スキームが適用されているものの、そのボタンにリンクされたプロセスには適用されていない場合が挙げられます。この不一致により、ユーザーはボタンを完全にバイパスして、JavaScript経由で直接プロセスをトリガーできる可能性があります。
サードパーティライブラリ
開発者はサードパーティ製のライブラリを使用してAPEXアプリケーションを改善および拡張することができます。その中には、 JQuery Mobile(HTML 5ベースのユーザーインターフェース)[ 15 ] JQuery UI(Web用のユーザーインターフェース)[ 16 ] AnyChart(JavaScript / HTML 5チャート)[ 17 ] CKEditor(Webテキストエディタ)[ 18 ]などがあります。Oracleは、最新のAPEXパッチを適用すると、プラットフォームにバンドルされている外部ライブラリも同時に更新され、理論的にはアプリケーションの安定性とセキュリティが向上すると主張しています。[ 19 ]しかし、多くのライブラリはAPEXパッチのリリースよりも頻繁に更新されるため、開発者は互換性とセキュリティを維持するために必要に応じて更新を監視し、手動で適用する必要があります。[ 20 ] [ 21 ]
APEX および Oracle Database Express Edition (XE)
Oracle APEXは、無料のエントリーレベルデータベースであるOracle Database Express Edition(XE)内で実行できます。XE上で実行する場合、APEXの機能は意図的に制限されていませんが、データベースエンジンの制限により、一部のAPEX機能が動作しない場合があります。さらに、Oracle XEにはCPU、メモリ、ディスク使用量の制限があります。[ 22 ]
参照
参考文献
- ^ 「Oracle Application Express - ダウンロード」 . Oracle . 2015年12月10日閲覧。
- ^ 「Oracle Application Expressドキュメント」。Oracleヘルプセンター。
- ^ 「Oracle Application Express (APEX): 概要」(PDF) . Oracle Corporation .
- ^ 「Flows for APEXへようこそ」。apex -flowsforapex。2021年9月24日時点のオリジナルよりアーカイブ。 2021年9月24日閲覧。
- ^ 「Oracle API Platform Cloud Serviceの実装」 . Packt . 2021年9月24日閲覧。
- ^ 「Project Marble のメリットを享受する方法」 forums.oracle.com 、 2002 年 9 月 17 日。
- ^ a b「付録:Oracle APEX」 . docs.oracle.com . 2025年1月26日閲覧。
- ^ "Michael Hichwa" . Apress .
Michael Hichwaは、Oracle Application Express (APEX)、別名HTML DBのオリジナル開発者兼設計者です。Michaelは、自身が開発した以前のブラウザベースのアプリケーション開発ツールであるOracle WebDBを100%書き直してAPEXを開発しました。Tom Kyteの貴重な技術支援と指導を受け、Joel Kallmanが共同開発者として加わりました。MichaelとJoelは1999年からAPEX開発を主導してきました。
- ^ Kallman, Joel. 「From Low Code to High Control」 . 2017年11月27日閲覧。
- ^ 「Oracle Application Expressによるローコード」apex.oracle.com . 2017年11月27日閲覧。
- ^ 「Apexによる脆弱性攻撃のセキュリティ強化 – パート3」content.dsp.co.uk . 2024年10月8日閲覧。
- ^ Alpern, D.; Agrawal, S.; Baer, H.; Castledine, S.; Chang, T.; Cheng, B.; Dani, R.; Decker, R.; Iyer, C. 「PL/SQLの概要」Oracleヘルプセンター。2025年1月24日閲覧。
- ^ 「Oracle APEXの使用」 . enterprisearchitecture.harvard.edu . 2025年1月24日閲覧。
- ^ 「Fusion MiddleWare PL/SQL Web Toolkitリファレンス」 . docs.oracle.com . 2024年10月8日閲覧。
- ^ 「Oracle Application Express 5.0を使用したモバイルWebアプリケーションの構築」。Oracle。
- ^ 「Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド」。Oracle。
- ^ 「Oracle APEX: Oracle Application Express (APEX) での AnyChart 製品の使用」。AnyChart。
- ^ 「Oracle が Application Express に FCKeditor を選択」。CKEditor.com。
- ^ 「Oracle Application Express(APEX)パッチ」 . Oracle Base . 2024年12月30日閲覧。
- ^ 「Goodies - APEX 4.2.2に含まれるライブラリ」 Dimitri Gielisのブログ。2013年5月8日。 2015年12月10日閲覧。
- ^ 「APEX 5 初公開」 Grassroots Oracle、2014年3月17日。 2015年12月10日閲覧。
- ^ 「Express Editionの制限事項」 Oracle Corporation 2013年5月22日閲覧。
参考文献
- Ralf Beckmann (2013 年 10 月 1 日)、Oracle Application Express in der Praxis: Mit APEX datenbankbasierte Webanwendungen entwickeln (第 1 版)、Carl Hanser Verlag、p. 416、ISBN 978-3446438965、 2017年6月14日時点のオリジナルよりアーカイブ。 2013年10月13日閲覧。
- Cimolini、Patrick (2011 年 9 月 12 日)、Agile Oracle Application Express (第 1 版)、Apress、p. 200、ISBN 978-1-4302-3759-4
- Mattamal, Raj; Nielsen, Anton (2011年7月28日)、『Expert Oracle Application Express Plugins: Building Reusable Components (第1版)』、Apress、p. 300、ISBN 978-1-4302-3503-3
- Fox, Tim; Scott, John; Spendolini, Scott (2011年6月29日)、『Pro Oracle Application Express 4 (第2版)』、Apress、p. 700、ISBN 978-1-4302-3494-4
- Zehoo, Edmund (2011年6月15日)、『Oracle Application Express 4 Recipes (第1版)』、Apress、300ページ、ISBN 978-1-4302-3506-4
- ランカスター、マーク(2011年5月28日)、Oracle Application Express 4.0 with Ext JS(第1版)、Packt Publishing、p. 392、ISBN 978-1-84968-106-3
- オースト、ディートマール。ドゥスーザ、マーティン・ギフィー。ダグ、ゴールト。ギエリス、ディミトリ。ハートマン、ロエル。ヒチュワ、マイケル。ケネディ、シャロン。デネス・クビチェク。マッタマル、ラージ。マクガン、ダン。フランシス・ミニョー。ニールセン、アントン。 Scott、John (2011 年 5 月 16 日)、Expert Oracle Application Express (第 1 版)、Apress、p. 500、ISBN 978-1-4302-3512-5
- ダグ、ゴールト。カレン・カネル。チモリーニ、パトリック。ドゥスーザ、マーティン・ギフィー。 Hilaire、Timothy St. (2011 年 3 月 31 日)、『Beginning Oracle Application Express 4 (第 1 版)』、Apress、p. 440、ISBN 978-1-84968-134-6
- ヴァン・ゾースト、M. van der Plas、Marcel (2010 年 12 月 14 日)、Oracle APEX 4.0 Cookbook (第 1 版)、Packt Publishing、p. 328、ISBN 978-1-4302-3147-9
- Geller, Arie; Lyon, Matthew (2010年6月1日)、『Oracle Application Express 3.2 – The Essentials and More (第1版)』、Packt Publishing、p. 520、ISBN 978-1-84719-452-7
- van den Bos、Douwe Pieter (2009 年 7 月 29 日)、Oracle Application Express Forms Converter (第 1 版)、Packt Publishing、p. 172、ISBN 978-1-84719-776-4
- Greenwald, Rick (2008年12月22日)、『Beginning Oracle Application Express (第1版)』、Wrox、384ページ、ISBN 978-0-470-38837-2
- スコット、ジョン、スペンドリーニ、スコット(2008年9月16日)、Pro Oracle Application Express(第1版)、Apress、p. 700、ISBN 978-1-59059-827-6