business-app-insights について
ServiceNow の CMDB と Enterprise Architecture に登録されたビジネスアプリケーションを分析するスキルです。エンタープライズアーキテクトやアプリケーションポートフォリオ担当者向けに、健全性、依存関係、技術標準、ライフサイクル、設計判断をレポートにまとめます。
主な機能
- 01ビジネスアプリケーションとポートフォリオの検索
- 02上流・下流の依存関係のマッピング
- 03技術標準とライフサイクルの照合
- 04インシデントと変更データの分析
- 05設計判断とアーキテクチャ図の関連付け
活用シーン
- 01アプリケーションの健全性と運用リスクの評価
- 02モダナイズや廃止の候補の特定
- 03アプリケーションポートフォリオの概要作成
- 04M&A の調査に向けた依存関係の把握
MCP 対応
ServiceNow の MCP ツールを使用して、ビジネスアプリケーション、CMDB の関係、技術標準、インシデント、変更、設計判断レコード、図を検索します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill business-app-insightsインストール後、Claude Code で/business-app-insightsを入力して読み込まれたか確認します。
詳細
ビジネスアプリケーションのインサイト
概要
このスキルでは、ServiceNow の CMDB およびエンタープライズアーキテクチャモジュールに登録されているビジネスアプリケーションについて、包括的なインサイトを生成します。
- インシデント、変更、停止のデータを通じてアプリケーションの健全性を評価する
- CMDB の関係を通じて上流および下流の依存関係をマッピングする
- テクノロジースタックとエンタープライズ標準との整合性を分析する
- ライフサイクル段階、リスク、コストに基づいてモダナイゼーション候補を特定する
- エグゼクティブダッシュボード向けにアプリケーションポートフォリオの概要を生成する
- アプリケーションとアーキテクチャ決定記録を関連付ける
使用するタイミング: アプリケーションポートフォリオの合理化、テクノロジー刷新計画、M&A のデューデリジェンス、リスク評価の際や、アーキテクトがアプリケーションの状況を包括的に把握する必要がある場合に使用します。
前提条件
- ロール:
ea_admin、ea_viewer、itil、cmdb_read、またはadmin - アクセス: cmdb_ci_business_app、cmdb_rel_ci、sn_ea_tech_standard、sn_ea_architecture_decision_record テーブル
- 知識: CMDB データモデル、アプリケーションライフサイクル管理、エンタープライズアーキテクチャの概念
- プラグイン: Enterprise Architecture(com.sn_ea)、CMDB(com.snc.cmdb)が有効化されている必要があります
- 関連スキル: 意思決定の履歴を把握するため、
ea/adr-summarizationを完了してください
手順
ステップ 1:ビジネスアプリケーションのデータモデルを理解する
cmdb_ci_business_app (Business Application)
├── cmdb_rel_ci (Relationships) ── upstream/downstream CIs
├── sn_ea_tech_standard (Technology Standards)
├── sn_ea_architecture_decision_record (ADRs)
├── sn_ea_diagram (Architecture Diagrams)
├── incident (Related Incidents)
├── change_request (Related Changes)
└── sys_user / sys_user_group (Owners / Support Groups)
主要なテーブル:
| テーブル | 目的 |
|---|---|
| cmdb_ci_business_app | ライフサイクル、重要度、所有者を含むビジネスアプリケーションのレコード |
| cmdb_rel_ci | 依存関係のマッピングに使用する CI 間の関係 |
| sn_ea_tech_standard | テクノロジー標準とライフサイクル状況 |
| sn_ea_diagram | アプリケーションにリンクされたアーキテクチャ図 |
| sn_ea_architecture_decision_record | アプリケーションに影響するアーキテクチャ上の決定 |
ステップ 2:ビジネスアプリケーションの詳細を取得する
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_business_app
query: name=[app_name]
fields: sys_id,name,short_description,owner,business_criticality,lifecycle_stage,operational_status,used_for,version,vendor,cost_center,support_group,managed_by
limit: 10
REST を使用する方法:
curl -u "$SN_USER:$SN_PASS" \
"$SN_INSTANCE/api/now/table/cmdb_ci_business_app?sysparm_query=name=[app_name]&sysparm_fields=sys_id,name,short_description,owner,business_criticality,lifecycle_stage,operational_status,used_for,version,vendor&sysparm_limit=10" \
-H "Accept: application/json"
ステップ 3:アプリケーションポートフォリオの概要を照会する
主要な指標とともにすべてのビジネスアプリケーションを取得します。
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_business_app
query: operational_status=1^ORoperational_status=2
fields: sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor,used_for
limit: 200
REST を使用する方法:
curl -u "$SN_USER:$SN_PASS" \
"$SN_INSTANCE/api/now/table/cmdb_ci_business_app?sysparm_query=operational_status=1^ORoperational_status=2&sysparm_fields=sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor&sysparm_limit=200" \
-H "Accept: application/json"
ステップ 4:アプリケーションの依存関係をマッピングする
上流の依存関係(このアプリが依存する対象)を照会します。
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_rel_ci
query: child=[app_sys_id]
fields: sys_id,parent,child,type,connection_strength
limit: 100
下流の依存関係(このアプリに依存する対象)を照会します。
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_rel_ci
query: parent=[app_sys_id]
fields: sys_id,parent,child,type,connection_strength
limit: 100
REST を使用する方法:
# Upstream
curl -u "$SN_USER:$SN_PASS" \
"$SN_INSTANCE/api/now/table/cmdb_rel_ci?sysparm_query=child=[app_sys_id]&sysparm_fields=sys_id,parent,child,type&sysparm_limit=100" \
-H "Accept: application/json"
# Downstream
curl -u "$SN_USER:$SN_PASS" \
"$SN_INSTANCE/api/now/table/cmdb_rel_ci?sysparm_query=parent=[app_sys_id]&sysparm_fields=sys_id,parent,child,type&sysparm_limit=100" \
-H "Accept: application/json"
ステップ 5:テクノロジースタックとの整合性を分析する
テクノロジー標準を取得します。
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: sn_ea_tech_standard
query: active=true
fields: sys_id,name,description,status,lifecycle_stage,standard_type,category
limit: 200
アプリケーションがどの標準に準拠しているかを確認します。
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: sn_ea_tech_standard
query: related_business_appLIKE[app_sys_id]
fields: sys_id,name,status,lifecycle_stage,standard_type
limit: 50
ステップ 6:インシデントを通じてアプリケーションの健全性を評価する
アプリケーションの最近のインシデントを照会します。
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(90)
fields: sys_id,number,short_description,priority,state,resolved_at,sys_created_on
limit: 100
REST を使用する方法:
curl -u "$SN_USER:$SN_PASS" \
"$SN_INSTANCE/api/now/table/incident?sysparm_query=cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(90)&sysparm_fields=sys_id,number,short_description,priority,state&sysparm_limit=100" \
-H "Accept: application/json"
ステップ 7:変更頻度を評価する
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: change_request
query: cmdb_ci=[app_sys_id]^sys_created_on>=javascript:gs.daysAgo(180)
fields: sys_id,number,short_description,type,state,risk,sys_created_on
limit: 100
ステップ 8:関連するアーキテクチャ上の決定を取得する
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: sn_ea_architecture_decision_record
query: business_application=[app_sys_id]
fields: sys_id,number,title,state,decision,consequences,sys_created_on
limit: 50
ステップ 9:アーキテクチャ図を取得する
MCP を使用する方法:
Tool: SN-Query-Table
Parameters:
table_name: sn_ea_diagram
query: related_record=[app_sys_id]
fields: sys_id,name,description,diagram_type,sys_updated_on
limit: 20
ステップ 10:アプリケーションインサイトレポートを作成する
次のテンプレートを使用して、構造化されたレポートを生成します。
Application Insight Report: [App Name]
================================================
Business Criticality: [Level]
Lifecycle Stage: [Stage]
Operational Status: [Status]
Owner: [Owner Name]
Vendor: [Vendor]
HEALTH SUMMARY:
- Incidents (last 90 days): [Count] ([P1]: X, [P2]: Y, [P3]: Z)
- Changes (last 180 days): [Count]
- Availability: [Derived metric]
DEPENDENCY MAP:
Upstream (depends on):
- [CI Name] (Type: [Rel Type])
Downstream (depended on by):
- [CI Name] (Type: [Rel Type])
TECHNOLOGY STACK:
- [Standard Name] - Status: [Approved/Retiring/Prohibited]
ARCHITECTURE DECISIONS:
- [ADR Number]: [Title] - [State]
MODERNIZATION ASSESSMENT:
- Lifecycle Risk: [Low/Medium/High]
- Technical Debt Indicators: [List]
- Recommended Actions: [List]
DIAGRAMS:
- [Diagram Name] (Type: [Type])
ツールの使用方法
| アクション | MCP ツール | REST エンドポイント |
|---|---|---|
| アプリケーションの詳細を取得 | SN-Get-Record | GET /api/now/table/cmdb_ci_business_app/{sys_id} |
| アプリケーションを照会 | SN-Query-Table | GET /api/now/table/cmdb_ci_business_app |
| 依存関係をマッピング | SN-Query-Table | GET /api/now/table/cmdb_rel_ci |
| テクノロジー標準を取得 | SN-Query-Table | GET /api/now/table/sn_ea_tech_standard |
| インシデントを取得 | SN-Query-Table | GET /api/now/table/incident |
| 変更を取得 | SN-Query-Table | GET /api/now/table/change_request |
| ADR を取得 | SN-Query-Table | GET /api/now/table/sn_ea_architecture_decision_record |
| 図を取得 | SN-Query-Table | GET /api/now/table/sn_ea_diagram |
ベストプラクティス
- 重要度から始める: まずビジネスクリティカルなアプリケーション(重要度 1 または 2)に分析対象を絞ります
- ライフサイクルの段階を活用する: lifecycle_stage フィールドを使って、廃止またはモダナイズの候補を特定します
- インシデントと変更を相互参照する: インシデント件数が多い場合は、最近の変更と関連付けて根本原因のパターンを探ります
- 依存関係の連鎖全体をマッピングする: 依存関係グラフを 2~3 レベルたどり、影響範囲を把握します
- コストデータを含める: 利用可能な場合は、cost_center と TCO のデータを取り入れて財務面の分析に役立てます
- 標準と比較する: ライフサイクル段階が「Retiring」または「Prohibited」のテクノロジーを使用しているアプリケーションにフラグを立てます
- インシデント分析の期間を限定する: ノイズを抑えながら現在の傾向を把握するため、ヘルスメトリクスには 90 日間の期間を使用します
- ポートフォリオビュー向けに集約する: 個々のアプリケーションの分析結果を、ドメインまたはケイパビリティレベルの概要にまとめます
- オーナーに確認する: 自動分析の結果を公開する前に、必ずアプリケーションオーナーに確認します
トラブルシューティング
依存関係が見つからない
症状: アプリケーションに対して cmdb_rel_ci を実行しても結果が返されない 原因:
- CMDB に関係が登録されていない
- アプリケーションが別の CI クラスとして登録されている
- 関係の方向が逆になっている 解決策:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_rel_ci
query: parent=[app_sys_id]^ORchild=[app_sys_id]
fields: sys_id,parent,child,type
limit: 50
ビジネスアプリケーションが見つからない
症状: アプリケーション名でクエリを実行しても結果が返されない 原因: アプリケーションが別の名前または CI クラスで登録されている可能性があります 解決策:
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_business_app
query: nameLIKE[partial_name]^ORshort_descriptionLIKE[partial_name]
fields: sys_id,name,short_description,sys_class_name
limit: 20
テクノロジー標準へのリンクがない
症状: アプリケーションにリンクされたテクノロジー標準がない 原因: 標準が別の関係またはカスタムテーブルを介してリンクされている可能性があります 解決策: 関係フィールドについてはデータディクショナリを確認します:
Tool: SN-Query-Table
Parameters:
table_name: sys_dictionary
query: name=sn_ea_tech_standard^elementLIKEapplication
fields: element,column_label,internal_type
limit: 20
インシデント件数が多すぎるように見える
症状: 1 つのアプリケーションに対して数百件のインシデントが返される 原因: CMDB 階層を介して、親 CI が子 CI のインシデントを取り込んでいる可能性があります 解決策: CI との直接的な関連付けのみを対象に絞り込みます:
Tool: SN-Query-Table
Parameters:
table_name: incident
query: cmdb_ci=[app_sys_id]^cmdb_ci.sys_class_name=cmdb_ci_business_app
fields: sys_id,number,priority
limit: 200
例
例 1:アプリケーションの包括的な健全性評価
# Step 1: Get application details
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_business_app
query: name=SAP ERP
fields: sys_id,name,business_criticality,lifecycle_stage,operational_status,owner,vendor
limit: 1
# Result: sys_id = "app123"
# Step 2: Get dependencies
Tool: SN-Query-Table
Parameters:
table_name: cmdb_rel_ci
query: parent=app123^ORchild=app123
fields: sys_id,parent,child,type
limit: 100
# Step 3: Get recent incidents
Tool: SN-Query-Table
Parameters:
table_name: incident
query: cmdb_ci=app123^sys_created_on>=javascript:gs.daysAgo(90)
fields: sys_id,number,priority,state
limit: 200
# Step 4: Get architecture decisions
Tool: SN-Query-Table
Parameters:
table_name: sn_ea_architecture_decision_record
query: business_application=app123
fields: sys_id,number,title,state,decision
limit: 20
例 2:モダナイズ対象となるポートフォリオの候補
# Find applications in "End of Life" or "Retiring" lifecycle stages
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_business_app
query: lifecycle_stage=end_of_life^ORlifecycle_stage=retiring^operational_status=1
fields: sys_id,name,business_criticality,lifecycle_stage,owner,vendor
limit: 100
例 3:重要なアプリケーションの依存関係レポート
# Find all critical applications
Tool: SN-Query-Table
Parameters:
table_name: cmdb_ci_business_app
query: business_criticality=1^operational_status=1
fields: sys_id,name,owner,lifecycle_stage
limit: 50
# For each, query dependency count
Tool: SN-Query-Table
Parameters:
table_name: cmdb_rel_ci
query: parent=[each_app_sys_id]
fields: sys_id,child
limit: 500
関連スキル
ea/adr-summarization- アーキテクチャ決定記録の要約cmdb/ci-discovery- CMDB 構成アイテムの管理cmdb/relationship-mapping- 依存関係の詳細な分析reporting/analytics-generation- ポートフォリオビュー向けのダッシュボード作成spm/project-insights- プロジェクトおよびポートフォリオ管理に関する分析