はじめに
ServiceNowで開発を始めると必ず耳にする「アプリケーションスコープ」。
「Global(グローバル)とScoped(スコープ対象)って何が違うの?」と戸惑う初心者は多いですが、実は「シェアハウス」に例えると一瞬で理解できます。
ServiceNowは巨大なシェアハウス
ServiceNowのインスタンスは、一つの屋根の下に複数のアプリケーションが同居するシェアハウスのようなものです 。
- グローバルアプリケーション: リビング、キッチン、バスルーム、トイレなど、入居者全員が自由に使える「共用スペース」です 。
- スコープアプリケーション: 各入居者に割り当てられた「個室」です 。

なぜ「個室(スコープ)」が必要なのか?
もし全員が共用スペース(グローバル)だけで生活するとどうなるでしょうか?
- 全体への影響: トイレで水漏れが発生すると、全員の生活に影響が出てしまいます 。
そのため、共用部分(グローバルアプリケーション)での生活や工事は慎重に影響を見極めたうえで実施する必要があります。

一方で、各居室内での電球切れなどのトラブルは他の居室や、共用部分に影響を与えることはありません。

ServiceNow開発を行う上では、グローバルアプリケーションでの開発はなるべく行わず、スコープアプリケーション内で開発することが重要です。
セキュリティと「許可」の仕組み
シェアハウスでは、自分の部屋にある「貯金箱(大事なデータ)」を勝手に触られたくありませんよね 。
ServiceNowではスコープ間のアクセスを制限する仕組みが用意されています。
(https://www.servicenow.com/docs/r/ja-JP/zurich/application-development/c_ApplicationAccessSettings.html)

不要なアプリケーション間のアクセスを防ぐことで、意図しないデータの書き換えを防止することができます。
まとめ
「基本は自分の部屋(スコープ)で活動し、共用スペース(グローバル)は慎重に扱う」。これがServiceNow開発の鉄則です。

質問・コメント