どんな取り組みか
本記事では、Oracle APEX 26.1で利用可能になった新言語APEXlangとCodex CLIを組み合わせた、AI駆動によるAPEXアプリケーション開発の手法について解説します。APEXlangはAIコーディングに最適化されており、Codex CLIと連携することで、開発プロセスを効率化します。具体的には、APEXlang SkillsとCodex CLIを用いて、APEXアプリのAI駆動開発を試みた事例を紹介します。
使われた技術スタック
- Oracle APEX 26.1
- APEXlang
- Codex CLI
- Oracle AI Database 26ai
- ORDS
- SQLcl 26.1以上
- Git
実装のポイント
開発環境として、リモートのLinuxサーバーにCodex CLIを導入し、承認の手間を減らしつつ、ローカルPCとは分離した安全な環境で開発を進めました。生成されたコードは、そのままAPEX Workspaceへ効率的にインポートできる形式で出力されます。
APEXlangとは
APEXlangは、Oracle APEXでアプリ開発するための新しい言語であり、AI駆動開発に最適化されています。従来のAPEXアプリのエクスポート形式がSQLであったのに対し、APEXlangはAPEX専用の新しい記法を採用しています。APEXlang形式でエクスポートすると、各ページは.apxという拡張子のファイルで出力され、プロジェクト構造もAPEXlang用に定義されています。
開発環境の準備
開発用サーバー(Oracle Linux 8.10)とOracle AI Database 26ai用サーバー(Oracle Linux 8.10)を用意しました。まず、Oracle AI Database 26ai、APEX 26.1、ORDSをインストールします。次に、開発用サーバーにCodex CLIをインストールし、codex login --device-authコマンドで認証を行います。Codexの設定ファイル.codex/config.tomlにpolicy = "on-request"を追記し、AIによる確認が必要な場合にのみ承認を求める設定としました。
APEXlangを扱うためにはAPEXlang Skillsが必要なため、codex skill-installer https://github.com/oracle/skills.gitコマンドでインストールします。また、APEXアプリのエクスポート・インポートやプロジェクトの新規作成、コード検証にはSQLcl 26.1以上が必要なため、最新版をインストールします。
APEXlangを使った開発プロセス
- アプリテンプレート新規作成: SQLclでデータベースにログインし、
apex generate -alias testappコマンドでtestappというプロジェクトを新規作成します。 - Gitリポジトリ作成: AIコーディング中に予期せぬ成果物が出た場合に備え、Gitリポジトリを作成し、バージョン管理を行います。
.gitignoreファイルで管理不要なファイルを指定し、初期コミットを実行します。 - アプリ実装: Codexを起動し、「APEXlangを使ってスキーマ内のテーブルを対話モードレポートで一覧表示するページを作って。メニュー一覧に作成したページを追加して。」といったプロンプトを入力してコードを生成します。
- コード検証: 生成されたコードに対して
apex validate -input ./testappコマンドでLintを実行し、正しく実装されているか検証します。 - APEXへのインポート: 検証が成功したら、
apex import -input ./testappコマンドでワークスペースへインポートします。既存アプリを更新する場合は、-id <app_id>オプションを指定します。
Codexにデータベース接続情報まで伝えておくと、コード生成から検証、インポートまでの一連の処理をCodexが自動で行うことも可能です。コード検証でエラーが発生した場合、Codexが自律的に修正を試みるため、バグ対応も効率化されます。ただし、データベースへの変更が自動で行われるため、取り扱いには注意が必要です。
もう少し複雑なアプリへの挑戦
バイクツーリング計画を立てられる地図アプリの開発も試みました。結果として、約2時間で実用的なAPEXアプリが完成しました。この開発では、PL/SQL、JavaScript、カスタムCSS、HTMLなども活用されましたが、それらの実装はすべてAIが行ったため、開発者は複雑さを意識することなく利用できました。
得られた成果や学び
APEXlangの登場により、これまでローコードながら独特の開発体系に慣れが必要と感じていた開発者にとって、APEXアプリ開発がより扱いやすくなったと考えられます。APEXとデータベースの親和性を活かしつつ、AI駆動開発による効率化が期待できます。
まとめ
Codex CLIとAPEXlangを組み合わせることで、Oracle APEXアプリケーションの開発プロセスをAI駆動で効率化できることが示されました。開発環境の準備から実装、検証、インポートまでの一連の流れを理解し、活用することで、より迅速かつ効率的なAPEXアプリ開発が可能になります。
出典: https://qiita.com/ssfujita/items/68bb52511e97222f5b0b
Related Certifications
この記事に関連する技術領域の認定資格
Salesforce 関連資格
- Salesforce Certified Administrator
- Salesforce Certified Platform Developer I
- Salesforce Certified Platform Developer II
- Salesforce Certified Application Architect
- Salesforce Certified System Architect
- Salesforce Certified Technical Architect
AWS 関連資格
- AWS Certified Cloud Practitioner
- AWS Certified Solutions Architect – Associate
- AWS Certified Developer – Associate
- AWS Certified Solutions Architect – Professional
- AWS Certified DevOps Engineer – Professional
- AWS Certified Machine Learning – Specialty
※ 認定資格は技術スキルの体系的な学習に役立ちます。試験の出題範囲や受験要件は変更される場合があるため、受験前に必ず公式サイトで最新情報をご確認ください。
PR / Recommended
エンジニアの開発環境・業務効率化に役立つクラウドPC
Salesforce / AWS の開発環境やリモートワーク用のWindows環境を、自宅PCに依存せず確保したいエンジニアに最適なサービスです。場所を選ばず一貫した開発環境を維持できます。
SF Tech & Win
Salesforce × AWS × AI 連携の実装ノウハウ
SIer・スタートアップ・中小企業のDX推進に役立つアーキテクチャ事例・実装パターン・最新アップデート情報を毎朝配信。

コメント