Newer Version Available
Apex とは?
| 使用可能なエディション: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、Developer Edition、および Database.com Edition |
| 必要なユーザ権限 | |
|---|---|
| Apex クラスの定義、編集、削除、セキュリティ設定、バージョン設定、連動関係の表示、およびテストの実行を行う | 「Apex 開発」 |
| Apex トリガの定義、編集、削除、バージョン設定、および連動関係の表示を行う | 「Apex 開発」 |
Apex は、開発者が Force.com プラットフォームサーバでフローとトランザクションの制御ステートメントを Force.com API へのコールと組み合わせて実行できるようにした、強く型付けされたオブジェクト指向のプログラミング言語です。Java に似た、データベースのストアドプロシージャのように動作する構文を使用する Apex により、開発者は、ボタンクリック、関連レコードの更新、および Visualforce ページなどのほとんどのシステムイベントにビジネスロジックを追加できます。Apex コードは、Web サービス要求、およびオブジェクトのトリガから開始できます。
Apex は、言語として次の特徴があります。
- 統合されている
-
Apex では、次の一般的な Force.com プラットフォームイディオムが標準でサポートされます。
- INSERT、UPDATE、および DELETE など、組み込み DmlException 処理を含むデータ操作言語 (DML) コール
- sObject レコードのリストを返す、インラインの Salesforce Object Query Language (SOQL) と Salesforce Object Search Language (SOSL) のクエリ
- 複数のレコードの一括処理を可能にするループ
- レコード更新の競合を回避するロック構文
- 保存された Apex メソッドから構築できる、カスタムの公開 Force.com API コール
- Apex が参照するカスタムオブジェクト��たはカスタム項目を編集または削除しようとすると発行される警告とエラー
- 使いやすい
- Apex は、変数および式の構文、ブロックおよび条件ステートメントの構文、ループ構文、オブジェクトおよび配列の表記など、よく知られた Java のイディオムに基づいています。Apex が新しい要素を導入している場合には、理解しやすく、Force.com プラットフォームを効率的に使用できるようにする構文および意味を使用します。その結果、Apex は、簡潔で記述しやすいコードを作成します。
- データ指向
- 開発者がデータベースのストアドプロシージャを使用して複数のトランザクションステートメントをデータベースサーバにまとめるのと同じ要領で、Apex は複数のクエリや DML ステートメントを Force.com プラットフォームサーバ上の 1 つの作業にまとめるように設計されています。他のデータベースのストアドプロシージャと同様に、Apex は、ユーザインターフェースでの要素の実行はサポートしていません。
- 正確である
- Apex は、オブジェクト名や項目名などのスキーマオブジェクトを直接参照する、強力に定型化された言語です。参照が無効である場合は、コンパイル時にすぐにエラーが発生します。アクティブな Apex コードが要求しているときに削除されないように、メタデータのすべてのカスタム項目、オブジェクト、クラス連動関係を保存します。
- ホストされている
- Apex は、すべて Force.com プラットフォームで解釈、実行、および制御されます。
- マルチテナント型
- 他の Force.com プラットフォームと同様、Apex はマルチテナント環境で実行されます。そのため、Apex ランタイムエンジンは、回避コードから保護されるよう設計されており、共有リソースが独占されないようになっています。制限事項に違反するコードは失敗し、わかりやすいエラーメッセージが表示されます。
- 自動アップグレード可能
- Apex は、Force.com プラットフォームの他の部分がアップグレードされた場合でも記述し直す必要がありません。コンパイルされたコードがプラットフォームにメタデータとして保存されるため、Apex は Salesforce リリースの一部としてアップグレードされます。
- テストが容易
- Apex では、コードがどれだけカバーされているか、コードのどの部分がより効果的かを示すテスト結果などの、単体テストを作成および実行できます。Salesforce では、プラットフォームのアップグレードの前にすべての単体テストを実行することによって、すべてのカスタム Apex コードが期待どおりに動作することを確認しています。
- バージョニングされている
- Apex コードを異なるバージョンの Force.com API に保存できます。これにより、動作を維持できます。
Apex は、Performance Edition、Unlimited Edition、Developer Edition、Enterprise Edition、および Database.com に含まれています。
