0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Apex入門シリーズ】Apexとは?基礎と特徴を理解する

Posted at

1. Apexとは何か

Apex は Salesforce のプラットフォーム専用に用意された、Javaライクなオブジェクト指向プログラミング言語

  • サーバーサイドのロジックを担当
  • クライアント層とDB層の「橋渡し役」

イメージ例: Salesforce開発の中でApexの位置付け
image.png

✅ ユーザーの操作やイベント(レコード作成、更新)に応じて実行
✅ SOQL/SOSLを使ってデータベースの操作(登録・更新・削除)
✅ ガバナ制限(DB操作数、API回数、CPU時間などのリソースを適正管理)

2. どこで使われる?

標準機能だけでは実現できない、複雑なビジネスロジックや自動処理 を行う場面で 使用

種類 説明
トリガー データベース操作(INSERT, UPDATE, DELETEなど)の前後に自動で実行される。
クラス 複雑な処理ロジックをクラスにまとめて再利用できる。
バッチApex 大量データを一括で効率的に処理できる。
スケジュールApex 定期的に自動実行する処理を設定できる。
テストクラス デプロイ時にテストクラスを作成し、75%以上のカバレッジが必要。

3. 実行環境:マルチテナントとガバナ制限

Apexは Salesforce の マルチテナント環境 上で動作する。

  • マルチテナントとは?
    → 複数のユーザー(企業)が1つの物理的なクラウド環境を共有している仕組み。

  • なぜガバナ制限があるのか?
    → 1つの組織の処理が暴走すると、他の組織のパフォーマンスに影響が出る。
    そのため、SOQLクエリ数、DML操作数、CPU実行時間などに上限 が設けられている。

ポイント:

  • 1回の処理でSOQLは最大100件
  • ガバナ制限を超えると処理はエラーで強制終了

制限を守りながら効率的に処理を書くのが、Apex開発のポイント!

SOQLクエリ数、DML数などの最新のガバナ制限一覧↓
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm

🎯 まとめ

項目 内容
Apexとは? Salesforce専用のJavaライクな言語
なぜ必要? 標準機能だけでは実現できない複雑な要件をカバーする
どこで使う? Trigger / クラス / バッチ / スケジュール / テストクラス
実行環境の特徴 マルチテナント & ガバナ制限を前提にした安全設計が必要

📚 参考資料

  • Apex Developer Guide
    Apexの構文やベストプラクティスを網羅した公式ガイド。

  • Governor Limits
    SOQLクエリ数、DML数などの最新のガバナ制限一覧。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?