salesforce Apax用語

開発ソースは全て「すでにあるもの」が「salesforce によってラップされている」と思ってください。
なので、ほぼ全ての開発が「っぽい」感じになります。
既に元の言語を知っている人のほうがハードルが高いので、ここは頑張って懐柔されましょう。

間違い等ございましたらこちらからお願いします。-> s45.rita★gmail.com

Apex

Apex は、Java に似た構文のプログラム言語を指します。見た目とても Java っぽいですが違います。Lightning Platform でコンパイルされ、実行されます。 当然ですが、salesforce に特化しているので salesforce レコードへのアクセスなどの記述は最低限です。

sObject

Apex の扱うデータ型の一つ。(もう一つはプリミティブ型)
sObject は salesforce がオブジェクトとして保持しているもの。

  • 標準オブジェクト(取引先、商談など)
  • カスタムオブジェクト(xxx__c)

DML

データ操作言語。DB に対して検索、登録、更新、削除ができる。 ここでいう DML は、Apex で使用することを前提としていて、Apex のソース内で「しれっとソースの一部に混じって SQL っぽい雰囲気で書けるもの」を指す。
見たら「ふーん」となるのであまり気負わなくてよいです。

DMLの利用例
// Create the account sObject
Account acct = new Account(Name='Acme', Phone='(415)555-1212', NumberOfEmployees=100);
// Insert the account by using DML
insert acct;

SOQL

salesforce Object Query Language
salesforce が SQL をラップしたもの。
1 つのオブジェクトのレコードを取得する場合は SOQL を使用します

注意点

  • SELECT * が使えない
  • 明示的に SELECT 句に指定してない項目に null が入っている(先輩からの口伝なので未確認)

SOSL

salesforce Object Search Language
複数のオブジェクトを対象に項目を検索する場合は SOQL を使用します

注意点

  • Big Object はサポートされない

ガバナ制限

salesforce の開発は Apex という言語を通して、salesforce のプラットフォームで実行させることになります。 salesforce はマルチテナント方式なので、1 つのテナントで莫大なリソース(DB、メモリ等)を食われてしまうと他のユーザに影響があるので、それなりに制限をしましょうね、というのがガバナ制限です。

内容はこちら

Execution Governors and Limits

ちなみに

ここで世界の salesforce サーバ状況が一覧できる。
ちょっと面白い。

salesforce の稼働状況

参考

  • salesForce トレイル内の説明などから抽出