392
Cisco Systems, Inc. www.cisco.com シスコは世界各国 200 箇所にオフ ィ スを 開設しています。 所在地、 電話番号、 FAX 番号 は以下のシスコ Web サイトをご覧ください。 www.cisco.com/go/offices Cisco Prime Service Catalog 11.0 統合ガ イ ド 2015 4

Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisco Prime Service Catalog 11.0 統合ガイ ド2015 年 4 月

Cisco Systems, Inc. www.cisco.com

シスコは世界各国 200 箇所にオフ ィ スを 開設し ています。 所在地、 電話番号、 FAX 番号 は以下のシス コ Web サイ ト をご覧 く だ さい。 www.cisco.com/go/offices

Page 2: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

こ のマニ ュ アルに記載さ れている仕様および製品に関する情報は、 予告な し に変更さ れる こ と があ り ます。 こ のマニ ュ アルに記載さ れている表現、 情報、 お

よび推奨事項は、 すべて正確であ る と 考えていますが、 明示的であれ黙示的であれ、 一切の保証の責任を負わない も の と し ます。 こ のマニ ュ アルに記載さ れ

ている製品の使用は、 すべてユーザ側の責任にな り ます。

対象製品の ソ フ ト ウ ェ ア ラ イ セン スおよび限定保証は、 製品に添付 された 『Information Packet』 に記載さ れています。 添付されていない場合には、 代理店に

ご連絡 く だ さ い。

The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public domain version of the UNIX operating system. All rights reserved.Copyright © 1981, Regents of the University of California.

こ こ に記載さ れている他のいかな る保証に も よ らず、 各社のすべてのマニ ュ アルおよびソ フ ト ウ ェ アは、 障害も含めて 「現状のま ま」 と し て提供さ れます。

シ ス コおよびこ れ ら各社は、 商品性の保証、 特定目的への準拠の保証、 および権利を侵害し ない こ と に関する保証、 あ る いは取引過程、 使用、 取引慣行に

よ っ て発生する保証をはじ め と する、 明示さ れた ま たは黙示さ れた一切の保証の責任を負わない も の と し ます。

いかな る場合において も、 シ ス コおよびその供給者は、 こ のマニ ュ アルの使用ま たは使用で き ない こ と に よ っ て発生する利益の損失やデータ の損傷をはじ め

と する、 間接的、 派生的、 偶発的、 あ る いは特殊な損害について、 あ ら ゆ る可能性がシ ス コ ま たはその供給者に知ら さ れていて も、 それ ら に対する責任を一

切負わない も の と し ます。

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S.and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

こ のマニ ュ アルで使用し ている IP ア ド レ スおよび電話番号は、 実際のア ド レ スおよび電話番号を示すも のではあ り ません。 マニ ュ アル内の例、 コ マン ド 出

力、 ネ ッ ト ワー ク ト ポ ロ ジ図、 およびその他の図は、 説明のみを目的 と し て使用 されています。 説明の中に実際のア ド レ スおよび電話番号が使用さ れていた

と し て も、 それは意図的な も のではな く 、 偶然の一致に よ る も のです。

Cisco Prime Service Catalog 11.0 統合ガ イ ド © 2015 Cisco Systems, Inc. All rights reserved.

Page 3: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

C O N T E N T S

C H A P T E R 1 使用する前に 1-1

C H A P T E R 2 Cisco RESTful SOAP ベース API の概要 2-1

概要 2-1

HTTP ク ラ イアン ト での REST ベース API の使用 2-1

ヘ ッ ダー ベース認証による nsAPI の呼 び 出し 2-1

RESTful nsAPI 呼 び 出しの認証 2-3

ト ーク ン ベース認証の使用 2-4

サポー ト されているエンテ ィ テ ィ 2-5

サポー ト される操作 2-5

要求と応答の形式 2-6

サービス オーダーまたはサービス要求の送信と管理 2-7

サービス オーダーでの RESTful API の使用 2-7

サービス オーダーのレガシー SOAP ベースの RAPI 2-9

Web サービスのク ラ イアン ト コー ドの作成 2-11

要求管理のための Web サービス 2-12

タ スク管理用の Web サービス 2-22

要求と応答の例 2-24

REST/Web サービスのエラー メ ッ セージ 2-39

C H A P T E R 3 Prime Service Catalog RESTful API のリ フ ァ レンスおよ び 例 3-1

概要 3-1

REST URL の構文およ び 表記法 3-1

サポー ト されている フ ィ ルタ 3-2

ワイルド カー ド検索エン ト リ 3-4

ソー ト コ ン ト ロールとページング コ ン ト ロール 3-5

ソー ト 3-5

ページング 3-6

ネス ト されたエンテ ィ テ ィ 3-8

JavaScript ポー ト レ ッ ト での nsAPI の使用 3-9

Ext JS グ リ ッ ド でデータ をレンダ リ ングする 3-9

ログイ ン ユーザの取得 3-11

JSR ポー ト レ ッ ト での nsAPI の使用 3-11

認証 3-11

ログイ ン ユーザの取得 3-11

iiiCisco Prime Service Catalog 11.0 統合ガイ ド

Page 4: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

Get 操作 3-12

Post 操作 3-14

API リ フ ァ レンスおよ び 例 3-15

定義データ 3-15

カテゴ リ 3-15

環境 3-18

サービス 3-20

エージ ェ ン ト ( Agents ) 3-34

契約 3-37

課金レー ト 3-39

Policies 3-47

デ ィ レ ク ト リ データ 3-53

Person 3-53

組織 3-57

グループ ( Groups ) 3-63

アカウン ト ( Unused Voice Mail Accounts ) 3-67

ト ラ ンザクシ ョ ン データ 3-70

申請 3-70

要求エン ト リ 3-77

承認 3-79

タ スク 3-81

ポ リ シーアラー ト 3-85

課金履歴 3-86

サービス項目データ 3-90

サービス項目の詳細 ( Service item Details ) 3-90

すべてのサービス項目 3-101

サービス項目に対する作成 / 更新 / 削除 API 3-104

権限の付与または取り消し 3-108

標準 ( Standards ) 3-114

サービス カ タ ログ ( Service Catalog ) のデータ 3-116

カス タム コ ンテンツ ( Custom Content ) 3-116

REST API 要求のレー ト 制限の設定 3-117

エラー メ ッ セージ 3-120

サポー ト される操作の要約 3-121

参照テーブル 3-121

C H A P T E R 4 AMQP との統合 4-1

概要 4-1

メ ッ セージ キュー 4-1

ivCisco Prime Service Catalog 11.0 統合ガイ ド

Page 5: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

REST-based nsAPIs 4-2

データ構造 4-4

C H A P T E R 5 Service Link 標準アダプ タによる統合の設計 5-1

概要 5-1

Service Link 統合を開発するための前提条件 5-1

Service Link の設計コ ンポーネン ト 5-2

Business Engine およ び nsXML と Service Link の相互作用 5-3

Service Link 統合の設計 5-4

Service Link へのアクセス 5-5

通信プロ ト コルの設計 5-5

統合の管理 5-6

アダプ タの管理 5-6

エージ ェ ン ト の管理 5-7

エージ ェ ン ト パラ メ ータの使用 5-12

ビル ド済み関数の適用 5-16

変換の管理 5-19

エージ ェ ン ト 定義と プロパテ ィ シー ト の確認 5-20

Service Link エージ ェ ン ト の作成と導入 5-21

Service Link エージ ェ ン ト を使用する タ スクの設定 5-23

外部タ スクの作成 5-23

エージ ェ ン ト マ ッ ピングとサービス定義の同期 5-24

nsXML メ ッ セージ 5-25

発信 nsXML メ ッ セージ 5-25

着信 nsXML メ ッ セージ 5-26

変換と nsXML 5-33

Service Link ト ラ ンザクシ ョ ンのモニ タ リ ング 5-33

Service Link ホーム ページからのメ ッ セージの表示 5-34

メ ッ セージの表示 5-34

メ ッ セージ詳細 ( Message Details ) 5-36

フ ィ ルタおよ び 検索 5-37

エラー メ ッ セージの再送信 5-37

外部タ スクの表示 5-38

フ ィ ルタおよ び 検索 5-39

手動メ ッ セージの送信 5-39

Service Link メ ッ セージの再発行 5-41

Service Link アダプ タの管理 5-42

Auto-Complete アダプ タ 5-42

ダ ミ ー アダプ タ 5-42

v

Page 6: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

データベース アダプ タ 5-43

データベース接続 5-43

受信プロパテ ィ 5-44

受信メ ッ セージ とワーク フ ロー 5-45

送信プロパテ ィ 5-46

送信メ ッ セージ とワーク フ ロー 5-47

フ ァ イル アダプ タ 5-47

フ ァ イル アダプ タの受信プロパテ ィ 5-47

フ ァ イル アダプ タの送信プロパテ ィ 5-48

HTTP/WS アダプ タ 5-49

送信プロパテ ィ 5-49

Web サービスの起動 5-53

JMS アダプ タ 5-54

受信アダプ タのプロパテ ィ 5-54

送信アダプ タのプロパテ ィ 5-54

MQ アダプ タ 5-55

受信プロパテ ィ 5-55

送信プロパテ ィ 5-56

サービス項目リ スナー アダプ タ 5-56

受信プロパテ ィ 5-57

送信プロパテ ィ 5-57

Web サービス リ スナー アダプ タ 5-57

受信プロパテ ィ 5-58

送信プロパテ ィ 5-58

機密データの保護 5-59

ク ラウ ド リ ソース マネージャのアダプ タ 5-60

Service Designer での [ 統合 ( Integration ) ] ウ ィ ザー ドの使用 5-60

一般情報 5-61

送信プロパテ ィ 5-62

送信要求パラ メ ータのマ ッ ピング 5-63

送信応答パラ メ ータのマ ッ ピング 5-64

統合の要約 5-65

Service Link の ト ラ ブルシューテ ィ ングと管理 5-66

Service Link のステータ スの確認 5-66

エージ ェ ン ト の起動と停止 5-66

ログ 5-66

JBoss のロギング 5-66

WebLogic のロギング 5-67

WebSphere のロギング 5-67

メ ッ セージの消去 5-67

viCisco Prime Service Catalog 11.0 統合ガイ ド

Page 7: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

アプ リ ケーシ ョ ン サーバのコ ン フ ィ ギュ レーシ ョ ン フ ァ イル 5-68

オン ラ イ ン エラー ログ 5-68

事前作成済み関数 5-69

関数の使用法 5-69

関数の概要 5-70

substring 5-70

index_of 5-70

last_index_of 5-71

length 5-71

lower_case 5-71

replace 5-71

upper_case 5-71

C H A P T E R 6 Adapter Development Kit による統合の設計 6-1

使用する前に 6-1

JDK のイ ンス ト ール 6-1

ADK のイ ンス ト ール 6-1

ADK 構造 6-2

アダプ タのソース構造の作成 6-3

アダプ タのコ ンパイル 6-3

アダプ タの導入 6-4

アダプ タの実装について 6-4

アダプ タの種類 6-5

アダプ タのコ ンポーネン ト 6-6

接続プロパテ ィ 6-6

例 : フ ァ イル アダプ タの実装 6-6

デ ィ レ ク ト リ構造の作成 6-6

発信アダプ タ ク ラスの作成 6-7

ポーラー着信アダプ タ ク ラスの作成 6-8

リ スナー着信アダプ タの作成 6-9

例外ハン ド ラの実装 6-9

ト ラ ンザクシ ョ ン通知の設定 6-9

adapter.xml 記述子について 6-10

Adapter.xml の例 6-12

通信メ ッ セージのコ ンテンツ と構造の理解 6-14

メ ッ セージ 6-14

Task Started または Task Cancelled 6-15

タ スク 6-16

申請 6-18

vii

Page 8: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

申請エン ト リ ( Requisition Entry ) 6-20

データ値 6-21

サービス 6-22

デ ィ クシ ョ ナ リ 6-23

フ ォーム ( Form ) 6-24

エージ ェ ン ト パラ メ ータ 6-25

着信およ び 発信ド キュ メ ン ト の例 6-26

task-started または task-canceled ( 発信 ) 6-26

take-action ( 着信 ) 6-32

send-parameters ( 着信 ) 6-32

add-comments ( 着信 ) 6-32

C H A P T E R 7 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発 7-1

ポー ト レ ッ ト の構造とパッ ケージ化 7-1

JBoss アプ リ ケーシ ョ ン サーバ 7-1

Weblogic アプ リ ケーシ ョ ン サーバ 7-3

依存ラ イブ ラ リ 7-4

ポー ト レ ッ ト の開発 7-4

MyJSR.css 7-6

MyJSRCreatePersonView.js 7-6

MyJSREdit.js 7-8

MyJSRHelp.js 7-8

MyJSRView.js 7-9

portlet.xml 7-11

web.xml 7-12

MyJSREdit.jsp 7-13

MyJSRHelp.jsp 7-15

MyJSRView_listperson.jsp 7-16

MyJSRView_updateperson.jsp 7-17

MyJSRController.java 7-18

MyJSRApplicationContext.xml 7-24

jsrportlet.properties 7-24

Log4j.properties 7-25

jboss-deployment-structure.xml 7-25

JSR ポー ト レ ッ ト コ ン ト ローラのコ ンパイル 7-25

ポー ト レ ッ ト の導入 7-25

C H A P T E R 8 外部デ ィ レ ク ト リ との統合 8-1

概要 8-1

viiiCisco Prime Service Catalog 11.0 統合ガイ ド

Page 9: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

前提条件 8-2

デ ィ レ ク ト リ統合を設定するための前提条件 8-2

データ ソースの定義 8-2

マ ッ ピングの定義 8-4

必須マ ッ ピング 8-5

オプシ ョ ンのマ ッ ピング 8-6

カス タム マ ッ ピング 8-9

統合イベン ト 、 操作 、 およ び 手順の定義 8-9

イベン ト 8-9

操作 ( Operations ) 8-10

ログイ ン イベン ト 8-11

シングル Sign-On 運用 8-12

外部ユーザ認証 ( EUA ) 操作 8-14

Person Lookup イベン ト 8-15

Person Search 操作 8-15

[ 個人のイ ンポー ト ( Import Person ) ] 操作 8-17

[ マネージャのイ ンポー ト ( Import Manager ) ] 操作 8-17

カス タム コー ド操作 8-20

デ ィ レ ク ト リ LDAP 統合の設定 8-21

デ ィ レ ク ト リ統合の有効化 8-21

デ ィ レ ク ト リ統合の設定 8-23

データ ソース情報の設定 8-23

データ ソースの追加または編集 8-24

接続情報の設定 8-25

証明書の設定 8-25

照 会 用データ ソースの設定 8-26

接続のテス ト 8-27

マ ッ ピングの設定 8-27

マ ッ ピング タ イプ 8-29

簡易マ ッ ピングと複合マ ッ ピング 8-29

式マ ッ ピング 8-30

Java ク ラス マ ッ ピング 8-32

マ ッ ピングのテス ト 8-32

デ ィ レ ク ト リ マ ッ プ テス ト 機能の有効化 8-32

データ マ ッ ピング テス ト コ ン ト ロールの使用 8-34

デ ィ レ ク ト リ統合イベン ト の設定 8-35

デ ィ レ ク ト リ統合でのカス タム コー ドの使用 8-37

カス タム コー ド操作イ ン ターフ ェ イス 8-39

Login イベン ト カス タム コー ド イ ン ターフ ェ イス : ISignOn 8-41

ix

Page 10: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

目次

Person Lookup のカス タム コー ド イ ン ターフ ェ イス : IPersonSearch 8-45

カス タム Java ク ラス マ ッ ピング イ ン ターフ ェ イス 8-46

属性マ ッ ピングに対する カス タム Java ク ラス : IEUIAttributeMapping 8-47

Directory Server API 8-48

ILDAPApi のイ ンス タ ンスの取得 : API 実装 8-48

デ ィ レ ク ト リ統合ユーテ ィ リ テ ィ ( EUIUtil ) ク ラス 8-48

LDAP 設定情報 ( LDAPConfigInfo ) ク ラス 8-48

API のメ イ ン イ ン ターフ ェ イス : ILDAPApi 8-48

LDAPEntryBean 8-49

個人のイ ンポー ト / 更新 API 8-49

個人のイ ンポー ト / 更新 API イ ン ターフ ェ イス : ISignOnImportPersonAPI 8-49

ベス ト プ ラ ク テ ィ ス 8-50

カス タム コー ド Java フ ァ イルのコ ンパイル 8-50

コーデ ィ ングのガイ ド ラ イ ン 8-51

パッ ケージ名 8-51

ログ 8-51

例外処理 8-51

Administration モジュールでのカス タム コー ドの設定 8-51

ステ ッ プ 1 : グローバル設定の実行 8-51

ステ ッ プ 2 : データ ソースの設定 8-51

ステ ッ プ 3 : 属性マ ッ ピングの設定 8-52

ステ ッ プ 4 : イベン ト / カス タ マイズ イベン ト の設定 8-52

カス タム コー ドの導入 8-53

API のビ ュー / 用途の例 8-53

SQL データ ソース 8-53

データ ソースの定義 8-55

マ ッ ピングの例 8-56

イベン ト の設定例 8-57

SQL ベースの個人検索のサンプル コー ド 8-58

サポー ト される タ イム ゾーン 8-66

build.xml フ ァ イルの例 8-68

xCisco Prime Service Catalog 11.0 統合ガイ ド

Page 11: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 1

使用する前に

Cisco Prime Service Catalog は、 企業 IT で使用さ れる (ユーザご と に販売さ れる ラ イ セン ス)、およびク ラ ウ ド コ ン ピ ューテ ィ ン グで使用さ れる (サーバご と に販売される ラ イ セン ス)、 セルフサービ ス ポータル、 サービ ス カ タ ロ グ、 およびラ イ フサ イ ク ル管理ソ フ ト ウ ェ アを従業員に提供し ます。 こ れら のサービ スはサービ ス設計者に よ り Cisco Prime Service Catalog で設計さ れ、 Service Catalog ポータルでエン ド ユーザが注文で き る よ う になっています。

こ う し たサービ スには IT サポー ト が従業員にラ ッ プ ト ッ プを提供する ためにラ ッ プ ト ッ プを注文する などの単純なサービ ス も あれば、 さ まざ まな タ ス ク の自動化やオーケ ス ト レーシ ョ ンを必要とする アプ リ ケーシ ョ ン ス タ ッ ク のプロ ビジ ョ ニングなどの複雑なサービ ス も あ り ます。

自動化やオーケ ス ト レーシ ョ ン を必要 と する サービ ス を実行で き る よ う に、 Prime Service Catalog は外部シ ス テム と 統合さ れます。 外部シ ス テムには外部デ ィ レ ク ト リ 、 ド メ イ ン マネージ ャ、 BMC Remedy SRM、 Cisco UCS Director などがあ り ます。

サービ ス を要求し た り サービ ス項目を管理し た り する コールを発信する アプ リ ケーシ ョ ンは統合設計の ノ ースバウ ン ド にあ り 、 要求を受信し、 必要な処理を実行し、 応答を送信する アプ リ ケーシ ョ ンは統合設計アーキテ クチャのサウ スバウ ン ド にあ り ます。 た と えば、 サービ ス要求のために Service Catalog に API コールを発信する企業のカ ス タ ム ポータルは、 Prime Service Catalog のノ ースバウ ン ド にあ り 、 必要な操作を実行する ために Prime Service Catalog から API コールを受信する他のアプ リ ケーシ ョ ンは、 Prime Service Catalog のサウ スバウ ン ド にあ り ます。

1-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 12: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 1 章 使用する前に

図 1-1 統合シナ リ オの例

サービ ス要求/提供のワーク フ ローにおいて、 Prime Service Catalog は Cisco Process Orchestrator と 統合さ れます。 統合さ れた Cisco Process Orchestrator は他のアプ リ ケーシ ョ ン と 対話し てサービ ス要求を実行で き る よ う に し ます。 ま た、 統合の設計に基づいて外部アプ リ ケーシ ョ ンと 直接対話する こ と も可能です。 つま り 、 Prime Service Catalog は外部アプ リ ケーシ ョ ンに対して直接、 サウ スバウ ン ド コールを発信する こ と に よ り 、 そのアプ リ ケーシ ョ ン と 対話する か、ま たは Cisco Process Orchestrator を介し て外部アプ リ ケーシ ョ ン と 対話し ます。

Service Catalog が企業ポータル と 統合さ れる実装も い く つかあ り ます。 こ れは、 各サービ スが企業ポータル内で企業に よ り 定義さ れてお り 、 Prime Service Catalog を使用し て設計、 提供さ れる こ と を意味し ます。 し たがって、 エン ド ユーザは企業ポータルを使用し てサービ ス要求を送信し、 ポータルは Prime Service Catalog と 対話し てサービ ス を提供し ます。

Prime Service Catalog 統合に関する次のシナ リ オを考え ます。

シナ リ オ : ユーザは自分自身を組織グループに追加する必要があ り ます。

ワーク フ ロー :

1. Service Designer に よ り サービ スが設計さ れます。 こ の と き、 サービ ス フ ォームには次の詳細が含まれています。

ユーザ ID、 グループ名 ( ド ロ ッ プダ ウ ン リ ス ト )、 ユーザ名、 要求名 「Join Group」。

2. ユーザが Service Catalog に ロ グ イ ン し、 サービ ス 「Join group」 を要求し ます。

3. ユーザがサービ ス フ ォームに詳細を入力し、 [送信 (submit) ] を ク リ ッ ク し ます。

4. Prime Service Catalog はユーザの詳細 と サービ ス フ ォーム属性をサービ ス フ ォームか ら取得し、 それを Service Link に送信し ます。

User

Optional Custom Portal

Cisco Prime Service Catalog

Cisco ProcessOrchestrator

NorthboundIntegrations

SouthboundIntegration

3637

11

Cisco UCSDirector

LDAPBMC

Remedy

Service LinkAMQP

PuppetCisco Intercloud

Fabric for Business

(Includes Orchestration)

1-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

yuxi
Rectangle
if need to translation, please confirm.
Page 13: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 1 章 使用する前に 章

5. Service Link が Active Directory に対し て、 ユーザを グループに追加する API コールを行います。

6. Active Directory が要求を実行し、 HTTP 応答 200 を返し て ワーク フ ローが完了し ます。

(注) • Cisco Prime Service Catalog バージ ョ ン 11.0 は、 Puppet および UCS Director と 連携し てアプリ ケーシ ョ ン ス タ ッ ク のプ ロ ビジ ョ ニン グ を行 う ための組み込み Orchestration コ ンポーネン ト を提供し ています。

• Prime Service Catalog の Service Link モジ ュールに よ り 、 Prime Service Catalog の外部シ ス テム と の統合が実現で き ます。

1-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 14: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 1 章 使用する前に

1-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 15: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

P A R T 1

ノ ースバウン ド統合

Page 16: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ
Page 17: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 2

Cisco RESTful SOAP ベース API の概要

概要Cisco Prime Service Catalog は、サービ ス オーダーま たは要求を送信し てサービ ス カ タ ロ グ内で 定義さ れたエンテ ィ テ ィ にア ク セ スする ための、 一連の RESTful API を介し た ノ ースバウ ン ド 統合をサポー ト し ています。 Service Catalog には、 要求を送信し て管理する ための、 一連の古い SOAP ベースの API も あ り ます。

シ ス コ では、 サービ ス カ タ ロ グ (Service Catalog) で定義されたエンテ ィ テ ィ にア ク セスする た めに、 一連の標準的な REST (Representational State Transfer) API および Java ス タ ブを提供し ています。 こ れ ら は、 ま と めて nsAPI と 呼ばれます。 nsAPI の発信者はセ ッ シ ョ ン を確立する ために、 有効な Service Catalog アカ ウ ン ト を使って 初に自身を認証する必要があ り ます。

Service Catalog のエンテ ィ テ ィ に対する ア ク セ ス権限は、 サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ンでユーザに対し て定義 さ れた ロールベース ア ク セ ス コ ン ト ロール (RBAC) のオブジ ェ ク ト レベル権限に よ って制御さ れます。SSO を使用し て サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ンにサ イ ン イ ン し た場合、SSO ト ー ク ンは API に自動的に渡さ れます。

外部アプ リ ケーシ ョ ンか ら の呼び出 し を サポー ト し てい る 以外に、 nsAPI は Service Portal モ ジ ュール内か ら呼び出すこ と も で き ます。 ポータル機能は、 Java、 JavaScript、 ま たは HTML を 使用し て作成 さ れたポー ト レ ッ ト の設計や表示をサポー ト し ます。 こ の よ う なポー ト レ ッ ト 内で、 nsAPI を呼び出し て必要なエン テ ィ テ ィ の情報を取得し、 特定の タ イ プのエン テ ィ テ ィ の データ を更新可能にする こ と がで き ます。 Portal モジ ュ ールに関する詳細については、 『Cisco Prime サービ ス カ タ ロ グ (Service Catalog) 設計者ガ イ ド 』 を参照し て く だ さ い。

HTTP ク ラ イアン ト での REST ベース API の使用Cisco Prime Service Catalog がサポー ト し ている REST API (別名 nsAPI) を使用する一般的な方 法は、 HTTP ベースの ク ラ イ アン ト を使用する方法です。 ク ラ イ ア ン ト が こ れ ら の API を呼び 出すには、 初に発信者を認証する必要があ り ます。 nsAPI はヘ ッ ダー ベースの認証 と ト ー ク ン ベースの認証の 2 種類の認証方式をサポー ト し ています。

ヘ ッ ダー ベース認証による nsAPI の呼び出し

RESTful nsAPI 呼び出しは、 発信者が自身を認証で き る場合にだけ処理さ れます。 こ れは、 ブ ラ ウ ザを介し て以下のページでユーザが Prime Service Catalog に 初に ロ グ イ ンする と き に似て います。

http://<serverURL>/RequestCenter

2-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 18: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

HTTP ク ラ イアン ト での REST ベース API の使用

次に、 Service Catalog に正常に ロ グ イ ンする と 、 ブ ラ ウザのア ド レ ス バーに有効な nsAPI REST の URL を入力し ます。 例を以下に示し ます。

http://<serverURL>/RequestCenter/nsapi/definition/categories/id/3

次の よ う な応答 XML がブ ラ ウザに表示されます。

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><category> <categoryId>3</categoryId> <categoryName>Workplace Services</categoryName> <description>Services for voice and data communications, desktop, mobile devices, and application access.</description> <topDescriptionEnabled>false</topDescriptionEnabled> <topDescription /> <middleDescriptionEnabled>false</middleDescriptionEnabled> <middleDescription /> <bottomDescriptionEnabled>false</bottomDescriptionEnabled> <bottomDescription /> <catalogTypeId>1</catalogTypeId> <catalogType>Consumer Services Catalog</catalogType> <isRoot>false</isRoot> <associatedServices> <associatedService> <description>Order a new or refurbished laptop.Manager approval required.</description> <id>20</id> <name>New Laptop</name> <status>Active</status> </associatedService> <associatedService> <description>Order a new iPhone or Blackberry, configured and maintained under corporate policy.</description> <id>22</id> <name>New Mobile Device</name> <status>Active</status> </associatedService> </associatedServices> <includedCategories> <includedCategory> <id>8</id> <name>Email</name> </includedCategory> <includedCategory> <id>9</id> <name>Laptops</name> </includedCategory> </includedCategories> <categoryURLSc> <a href='/RequestCenter/myservices/navigate.do?categoryid=3&amp;query=catalog&amp;layout=popup_p' onclick="return GB_showFullScreen('Category', this.href)">Workplace Services</a> </categoryURLSc> <categoryURLOnlySc>/RequestCenter/myservices/navigate.do?categoryid =3&amp;query=catalog</categoryURLOnlySc></category>

REST API 要求がアプ リ ケーシ ョ ンに ロ グ イ ンする前に実行さ れた場合、 URL は次のエ ラーを 返し ます。

HTTP Error 401 Unauthorized

2-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 19: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

HTTP ク ラ イアン ト での REST ベース API の使用

RESTful nsAPI 呼び出しの認証

HTTP ヘ ッ ダーには、 次のパラ メ ータ を含める必要があ り ます。

username=<username>

password=<password>

すべての nsAPI および RAPI 要求で、 HTTP Header- acceptEncryptedPassword=true が設定さ れていれば、 パス ワー ド は暗号化さ れている と 見な さ れます。

パス ワー ド は、 次の場合に暗号化さ れます。

• Accept Encrypted Password の値が、 [管理 (Administration) ] > [設定 (Settings) ] ページで有効 (オンに設定) になってお り 、 HTTP ヘ ッ ダーで false に設定さ れている場合。

• Accept Encrypted Password の値が、 [管理 (Administration) ] > [設定 (Settings) ] ページで無効 (オフに設定) になってお り 、 HTTP ヘ ッ ダーで true に設定されている場合。

認証が成功する と 、 HTTP 応答で JSessionID cookie が返さ れます。 後続の nsAPI の呼び出し で 認証を再度行わずにセ ッ シ ョ ン を維持する には、 こ の呼び出し の要求に同じ JSessionID cookie を含める必要があ り ます。

認証時の応答コー ド は、 ユーザ アカ ウ ン ト のパス ワー ド の期限切れや失敗し たパス ワー ド 試行 に よ り 、 ロ ッ ク さ れている かど う かが示されます。 ユーザ アカ ウ ン ト の ロ ッ ク を解除する には、 シ ス テム管理者に問い合わせて く だ さ い。

(注) ま た、 ユーザ認証の応答コー ド は、 ユーザ アカ ウ ン ト が猶予期間であ る かど う か と 、 ユーザ パス ワー ド の更新期限の日付も示し ます。

パス ワー ド ポ リ シーの詳細情報については、 『Cisco Prime Service Catalog 管理および操作ガ イ ド 』 の 「パス ワー ド ポ リ シーの実行」 を参照し て く だ さ い。

API セ ッ シ ョ ンは、 セ ッ シ ョ ン タ イ ム ア ウ ト が発生する か、 ま たは任意のユーザに nsapi ロ グ ア ウ ト が呼び出さ れた場合に、非ア ク テ ィ ブにな り ます。nsapi を使用し た ロ グア ウ ト の URL は 次の と お り です。

RequestCenter/nsapi/authentication/logout

次の API は、 セ ッ シ ョ ンがまだ有効であ る かど う かを確認する ために使用さ れます。 ク ラ イ ア ン ト イ ン ターフ ェ イ スは、 セ ッ シ ョ ンが有効な場合は HTTP コー ド 200 を、 それ以外の場合は HTTP 401 コー ド を返し ます。

http://<ServerURL>:8088/RequestCenter/nsapi/authentication/session

次の よ う な応答 XML がブ ラ ウザに表示されます。

<nsapi-response utid=”235c3faa2bbade2ebc85afc2b7f29bd3”>User is authenticated.</nsapi-response>

Service Catalog アプ リ ケーシ ョ ンのセ ッ シ ョ ンの タ イ ム ア ウ ト 設定に関する詳細情報について は、 『Cisco Prime Service Catalog 管理および操作ガ イ ド 』 の 「サ イ ト 管理」 の章を参照し て く だ さ い。

(注) いずれかの nsAPIs が(nsAPI ロ グ イ ン を呼び出すこ と な く )ク レデンシ ャルに よ り 直接呼び出された場合、セ ッ シ ョ ンは応答の送信後に自動的に終了する必要があ り ます。nsAPI ロ グ イ ンが明示的に呼び出さ れた場合、nsAPI ロ グア ウ ト が手動で呼び出される か、API タ イ ムア ウ ト の新しい管理設定([管理設定(Administration Settings)] > [APIタ イ ムア ウ ト (API Timeout)])に基づいてセ ッ シ ョ ンが タ イ ムア ウ ト し ない限 り 、nsAPI セ ッ シ ョ ンは自動的に終了し ません。

2-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 20: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

HTTP ク ラ イアン ト での REST ベース API の使用

(注) nsAPI を ク ロ スサ イ ト リ ク エス ト フ ォージ ェ リ (CSRF)に よ る セキ ュ リ テ ィ 脆弱性か ら保護する には、newscale.properties フ ァ イルの session.token.validation の値を 1 に設定し ます。さ ら に、セ ッ シ ョ ンに認証 ト ーク ン を提供する場合、後続の nsAPI 呼び出し にユーザ ID と パス ワー ド を入力する必要はあ り ません。

ト ーク ン ベース認証の使用

Prime Service Catalog は ト ーク ン ベースの認証 メ カニズム をサポー ト し ています。 要求 (呼び出 し) ご と にユーザ名 と パス ワー ド で認証を行 う のではな く 、 1 回認証し て、 期間限定の ト ーク ン を代わ り に取得で き ます。 ト ーク ン を (GET 要求を使用し て) 入手し た ら、 ユーザ名 と パス ワー ド を入力し な く て も、 後続の RESTful 呼び出し にその ト ーク ン を使用で き ます。

ト ーク ン ID の取得

次の nsAPI GET 呼び出し で ト ーク ン を要求し ます。HTTP ヘ ッ ダーに有効なユーザ名 と パス ワー ド が指定さ れている こ と を確認し て く だ さ い。

http://<ServerURL/RequestCenter/nsapi/authentication/token?persistent=true

サンプル応答 :

<sessiontoken utid="P_D887A7375EC640D725A1D042FBFBEAFE"/>

ト ーク ン検証パラ メータ値の設定

次の よ う に、 newscale.properties フ ァ イルで session.token.validation パ ラ メ ータ の値を設定し ます。

session.token.validation=1

さ ら に、[管理(Administration)] > [設定(Settings)] タ ブ の [API セ ッ シ ョ ン タ イ ム ア ウ ト (API Session Timeout)] フ ィ ール ド で、ト ーク ン有効性の タ イ ムア ウ ト 時間を設定し ます。

ト ーク ンの有効期限の指定

nsAPI で使用さ れる ト ーク ンが期限切れの場合、 nsAPI の発信者に次のエ ラーが返さ れます。

<nsapi-error-response errorcode="AUTH_0014"> Token Invalid</nsapi-error-response>

ト ーク ンの使用

後続の REST ベースの nsApi 呼び出し には、REST 呼び出し か ら取得された ト ーク ン ID を HTTP ヘ ッ ダー と し て追加する必要があ り ます (ユーザ名 と パス ワー ド は不要です)。

utid=<token_id>

2-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 21: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

HTTP ク ラ イアン ト での REST ベース API の使用

サポー ト されているエンテ ィ テ ィ

nsAPI でサポー ト さ れる エンテ ィ テ ィ は、 次のカテゴ リ に分け られます。

サポー ト される操作

次の タ イ プの操作が、 nsAPI でサポー ト されています。

• すべてのエンテ ィ テ ィ のデータ取得に対する HTTP GET 操作

• 個人、 アカ ウ ン ト 、 契約、 課金レー ト 、 ポ リ シー、 およびサービ ス項目の イ ン ス タ ン ス を作成ま たは更新する ための HTTP POST 操作 と PUT 操作。

• タ ス ク処理を実行する ため、 およびサービ ス項目権限を付与/取 り 消すための HTTP POST 操作。

• アカ ウ ン ト 、 契約、 課金レー ト 、 ポ リ シー、 およびサービ ス項目イ ン ス タ ン ス を削除するための HTTP DELETE 操作。

表 2-1 サポー ト されているエンテ ィ テ ィ

エンテ ィ テ ィ グループ エンテ ィ テ ィ タ イ プ (Entity Type)

定義データ カテゴ リ

サービ ス

エージ ェ ン ト (Agents)

課金レー ト

Policies

デ ィ レ ク ト リ データ 組織 人物 グループ (Groups)

アカ ウ ン ト (Unused Voice Mail Accounts)

ト ラ ンザ ク シ ョ ン データ 契約

申請 要求エン ト リ 承認 タ ス ク

サービ ス項目および標準 サービ ス項目の詳細 すべてのサービ ス項目 標準 (Standards)

課金履歴

ポ リ シー ア ラー ト

Portal Designer データ コ ンテン ツのカ ス タ マ イ ズ テーブル

2-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 22: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

HTTP ク ラ イアン ト での REST ベース API の使用

要求と応答の形式

すべての nsAPI は要求の コ ンテン ツ タ イ プに 「application/xml」 の使用をサポー ト し ています。 次のエンテ ィ テ ィ は、 application/json コ ンテン ツ タ イ プ も サポー ト し ています。

• サービ ス項目 (Service Items)

• アカ ウ ン ト 、 契約

• 課金レー ト 、 課金履歴

• ポ リ シーおよびポ リ シー ア ラー ト

デフ ォル ト の応答の コ ンテン ツ タ イ プは要求の コ ン テン ツ タ イ プ と 同じ ですが、 ク エ リ パ ラ メ ータ 「responseType」 (xml ま たは json) で上書き で き ます。

例 :

サービ ス を追加し て、 新し い要求/カー ト を送信し ます。

Method: POST

REST URL:

/RequestCenter/nsapi/transaction/requisitions

ペイ ロー ド :

{

"requisition": {

"customerLoginName": "admin",

"billToOU": "H_OU",

"services":[{

"name": "TestServiceRest"

"quantity": "1",

"version": "0",

"dictionaries": [{

"name": "TestNonGrid",

"data": {

"FullName": "AAB",

"HireDate": "78/02/20",

"MultiSelect":["MS3","MS4"],

}

},{

"name": "TestG",

"data":

[

{"city":"Bangalore", "country": "India"},

{"city":"Mysore", "country":"India"}

]

2-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 23: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

}]

}]

}

}

成功コー ド : 201

応答エ ラー コー ド : REST/Web サービ スのエ ラー メ ッ セージの表を参照し て く だ さ い。

サービス オーダーまたはサービス要求の送信と管理こ こ では、 RESTful ク ラ イ アン ト が Prime Service Catalog にオーダーを出す方法、 確認のための ス テータ スの読み取 り 、 そ し てオーダーのキ ャ ンセルについて説明し ます。 サービ ス オーダー やサービ ス要求、 および要求エン ト リ でサポー ト さ れる API は他に も あ り 、 そ う し た API は こ のマニ ュ アルの参照の項に記載さ れています。

サービス オーダーでの RESTful API の使用

サービ ス オーダーま たはサービ ス要求の送信

Cisco Prime Service Catalog でサービ ス オーダーま たはサービ ス要求を送信する よ う 、 RESTful ク ラ イ アン ト を書き込む と き には、 次の手順を実行する必要があ り ます。

1. サービ ス を発注する ための RBAC 権限があ る有効なユーザ アカ ウ ン ト を使用し て、 ク ラ イアン ト を認証し ます。

コ マン ド の発行

http://<ServerURL>/RequestCenter/nsapi/authentication/token?persistent=true

HTTP ヘ ッ ダーでユーザ名 と パス ワー ド を指定する

呼び出し が成功し た場合、 認証 ト ーク ン を受信し ます。 <sessiontoken utid="P_D887A7375EC640D725A1D042FBFBEAFE"/>

2. JSON 形式で API ペイ ロー ド を作成し ます。 オーダーが UI で送信さ れた場合、 こ れら のデータは通常、 ユーザがオーダー フ ォームに入力し たデータ です。

要求の送信先であ る Prime Service Catalog サービ ス、 および指定する必要があ る フ ォーム フ ィ ール ド の値がわかっている場合、 次の よ う にサービ ス要求ま たは要求のペイ ロー ド を作成し ます。

Payload: {

"requisition": { "customerLoginName": "admin", "billToOU": "H_OU", "services":[{

"name": "TestServiceRest" "quantity": "1",?"version": "0", "dictionaries": [{

"name": "TestNonGrid", "data": {

"FullName": "AAB",

"HireDate": "78/02/20", "MultiSelect":["MS3","MS4"],

} },{

] }]

}] }

}

2-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 24: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

サービ スが他のユーザに対し てオーダーさ れた こ と を示すには、 「customerLoginName」フ ィ ール ド を使用し ます。

(注) RBAC の設定で定義さ れた権限に基づいて、 別のユーザの代わ り にオーダーで き ます。

前の手順で受信し た utid=<token_id> を、 HTTP ヘ ッ ダーで指定し ます。

オーダーが正常に送信さ れる と 、 Prime Service Catalog は成功コー ド : 201 を返し ます。

応答のペイ ロー ド は次の と お り です。

{ "RequisitionSubmit": {

"requisitionId": 536,

"customer": "admin admin",

"initiator": "admin admin",

"startedDate": "...",

"startedDateRaw": ...,

"dueDate": "..."

"dueDateRaw": ...,

"status": "Ordered",

"links" : [

{ "name" : "RequisitionStatus",

"href" : "http://..."

},

{ "name" : "ServiceItems",

"href" : "http://..."

}

]

}

}

応答エ ラー コー ド : REST/Web サービ スのエ ラー メ ッ セージの表を参照し て く だ さ い。

3. オーダーが入ったため、 RESTful API ク ラ イ アン ト は、 要求 ID を使用し ます。 こ の要求 ID は、 オーダーのス テータ ス を監視する ために前の手順で受信し た も のです。 オーダーはサービ ス オーケ ス ト レーシ ョ ン と 配信プ ロ セスに応じ て、 完了までに数分か ら数日かかる場合があ り ます。 nsAPI ク ラ イ アン ト は以前に受信し た同じ utid=<token_id> ト ーク ン を利用する場合も、 新し い ト ーク ン を取得する ために認証を行 う 場合も あ り ます。

オーダーのス テータ ス を取得する ために RESTful 呼び出し を実行する

HTTP Method: GET

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitions/id/<requisitionId>

ま たは、 ユーザがオーダーを行った と き に受け取った応答のペイ ロー ド には、 要求のステータ ス を確認する ために使用で き る URL も含まれています。

2-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 25: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

カ ス タ ム ポータルに対し て行ったオーダー /要求を キ ャ ンセルする場合は、 カ ス タ ム ポータル のキ ャ ンセルを呼び出すこ と がで き ます。

こ の場合、 ポータルの基礎 と な る RESTful API ク ラ イ アン ト が、 Prime Service Catalog に対し て対応する要求を発行し ます。

HTTP メ ソ ッ ド : DELETE

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitionentries/<reqEntryId>?

ペイ ロー ド は不要です。

成功コー ド : 200

応答エ ラー コー ド : REST/Web サービ スのエ ラー メ ッ セージの表を参照し て く だ さ い。

サービス オーダーのレガシー SOAP ベースの RAPIこ こ では、Service Catalog の Web サービ スの使用方法について説明し ます。これには SOAP ベー ス版の API 要求 (外部シ ス テムが Service Catalog 内のサービ ス要求を作成および管理で き る よ う にする API であ る RAPI 2) を実装する Web サービ スが含まれます。 Web サービ スには、 サー ビ ス要求内の提供タ ス クや承認タ ス ク の管理を許可し、Service Catalog の内容の確認を行 う 要求 など も含まれます。

WSDL

作成し た要求を検証する には、SOAP ベースの Web サービ スの WSDL が使用で き る必要があ ります。 WSDL は次の場所にあ り ます。

http://<ServerName>/RequestCenter/webservices/wsdl/

使用可能な WSDL について、 次の表にま と めます。

ロールと機能の設定

Web サービ ス を利用で き る のは、 Web サービ ス モジ ュールに対する適切な権限が含まれる ロールを持つユーザです。 事前に設定さ れた ロールには こ の よ う な権限は含まれていないため、 管理者は Organization Designer を使用し て、 1 つ以上のカ ス タ ム ロールを作成する必要があ り ます。 ロールを作成し た ら、 Web サービ スの権限を追加で き ます。

WSDL 目次

AuthenticationService.wsdl 指定し たユーザを サービ ス カ タ ロ グ (Service Catalog) に対し て認証する要求。

RequisitionService.wsdl 要求の送信、 要求のキ ャ ンセル、 ま たはそのス テータ スの確認を求める要求。

ServiceCatalog.wsdl 内部使用専用。

ServiceManagerTaskService.wsdl 承認の許可ま たは拒否の要求、 あ る いは確認が実行済みであ る と の通知を求める要求。

2-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 26: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

Web サービ スの権限を次に示し ます。

• Service Catalogア ク セス (Service Catalog Access) : こ の権限を持つユーザは、 Service Catalog の Web サービ スにア ク セ スで き ます。

• デマン ド 管理ア ク セス (Demand Management Access) : こ の権限を持つユーザは、 自分のデマン ド 管理 Web サービ スにア ク セスで き ます。

• NSAPIア ク セス (NSAPI Access) : こ の権限を持つユーザは、 NSAPI Web サービ スにア クセスで き ます。

• 要求ア ク セス (Requisition Access) : この権限を持つユーザのみが、 自分の RequisitionService Web サービ ス要求にア ク セスで き ます。 認証さ れたユーザ と イ ニシエータは同一人であ る必要があ り ます。 同一人でない場合、 対応する エ ラー応答がス ローされます。

• 要求シ ス テムアカ ウ ン ト (Requisition System Account) : こ の権限を持つユーザは、 自分だけでな く 他のユーザの RequisitionService Web サービ ス要求に も ア ク セスで き ます。 認証されたユーザ と イ ニシエータは同一人であ る必要はあ り ません。

• REX APIア ク セス (REX API Access) : こ の権限を持つユーザは、 Catalog Deployer の機能にア ク セスで き ます。

• タ ス ク ア ク セス (Task Access) : こ の権限を持つユーザのみが、 自分の ServiceManager TaskService Web サービ ス要求にア ク セスで き ます。 こ の権限は必須です。

• タ ス ク シ ス テムアカ ウ ン ト (Task System Account) : こ の権限を持つユーザは、 自分だけでな く 他のユーザの ServiceManager TaskService Web サービ ス要求に も ア ク セスで き ます。 認証さ れたユーザ と イ ニシエータは同一人であ る必要はあ り ません。

2-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 27: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

Web サービスのク ラ イアン ト コー ドの作成

Web サービ スの ク ラ イ アン ト は、 Apache の CXF や Axis などのツールを使用し て コーデ ィ ングで き ます。

Axis 2 による ク ラ イアン ト コー ドの作成

Axis 2 を使用し て Web サービ スの ク ラ イ アン ト を生成する ための詳細な説明 と ユーザ ガ イ ド については、 Apache の Web サ イ ト を参照し て く だ さ い。

soapUI を使用し て axis2 ク ラ イ アン ト を作成する手順の概要は次の と お り です。

ステ ッ プ 1 Axis 2 の ラ イ ブ ラ リ をダ ウ ン ロー ド し ます。

ステ ッ プ 2 Axis 2 ラ イ ブ ラ リ の場所を soapUI の [Preferences] メ ニ ューで設定し ます。

ステ ッ プ 3 [Tools] > [Axis 2 Artifacts] を使用し て、 ク ラ イ アン ト コー ド を作成し ます。

ク ラ イ アン ト コー ド を作成する と き には、 データバイ ンデ ィ ン グ方式 と し て adb (Axis のデフ ォル ト バイ ンデ ィ ン グ) を選択する必要があ り ます。 テ ス ト ケース オプシ ョ ン も作成する必要があ り ます。

ク ラ イ アン ト コー ド が生成さ れます。 テ ス ト ケース内に メ ソ ッ ド のス タ ブが作成されます。こ のオブジ ェ ク ト に正確に入力する必要があ り ます。

Apache CXF による ク ラ イアン ト コー ド の生成

CXF を使用し て Web サービ ス ク ラ イ アン ト を生成する ための手順については、Apache の Web サ イ ト を参照し て く だ さ い。

soapUI を使用し て CXF ク ラ イ アン ト を作成する ために必要な手順は、 次の と お り です。

ステ ッ プ 1 Apache CXF の ラ イ ブ ラ リ をダ ウ ン ロー ド し ます。

ステ ッ プ 2 CXF ラ イ ブ ラ リ の場所を soapUI の [Preferences] メ ニ ューで設定し ます。

ステ ッ プ 3 [ツール (Tools) ] > [Apache CXF] を使用し て、 ク ラ イ アン ト コー ド を作成し ます。

ク ラ イ アン ト コー ド が生成さ れます。 対象の ク ラ スは次の と お り です。

RequisitionServicePortType_RequisitionServiceHttpPort_Client.java

こ の ク ラ スには main メ ソ ッ ド があ り 、 WSDL で定義さ れているすべての処理を こ こ か ら起動で き ます。 こ れら の処理を起動する コー ド は、 すでに用意されています。 必要な各種変数を入力する必要があ り ます。 メ ソ ッ ド のス タ ブが作成さ れます。 必要な操作は、 オブジ ェ ク ト を正し く 入力する こ と だけです。

2-11Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 28: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

要求管理のための Web サービス

RAPI 2 要求管理に よ って実行で き る処理を、 以下の表に要約し ます。

(注) RAPI 2 では、 要求の送信にグ ローバル OOB 設定ではな く 、 OOB 権限が必要です。 OOB 権限の詳細については、 『Cisco Prime Service Catalog Designer Guide』 の 「Organization Design」 の章を参照し て く だ さ い。

Web サービスの認証

Service Catalog で公開さ れる Web サービ スは、 すべて認証さ れる必要があ り ます。 認証さ れていない Web サービ ス コールは、 遮断および停止する必要があ り ます。

Service Catalog の Web サービ スに よ る認証は、 以下の方法で実行で き ます。

• セ ッ シ ョ ン ご と の認証

• 要求ご と の認証

認証されてないユーザは、 Web サービ ス呼び出し を正し く 実行する こ と ができ ません。 グ ローバル設定の [Webサービ スの有効化 (Enable Web Service) ] をオフにする と、 Service Catalog の Web サービ スにア ク セスでき な く な り ます。 デフ ォル ト では、 この設定はオフになっています。

要求 説明 (Description)

addComment オープン状態の要求に コ メ ン ト を追加し ます。

要求への コ メ ン ト の追加を参照し て く だ さ い

cancelRequisition 要求内のすべてのサービ ス要求を含め、 オープン状態の要求を キ ャ ンセルし ます。

要求のキ ャ ンセルを参照し て く だ さ い

cancelRequisitionEntry サービ ス要求を キ ャ ンセルし ます。 要求内の 後のサービ ス要求の場合は、 要求がキ ャ ンセル さ れます。

要求のキ ャ ンセルを参照し て く だ さ い

getOpenRequisitions オープン状態のすべての要求の リ ス ト を入手し ます。

要求の リ ス ト の入手を参照し て く だ さ い

getRequisitions オープン状態のすべての要求の リ ス ト を入手し ます。オプシ ョ ンで リ ス ト の内容を制限で き ます。

要求の リ ス ト の入手を参照し て く だ さ い

getRequisitionStatus 指定し た要求のス テータ ス を入手し ます。

要求のス テータ スの入手を参照し て く だ さ い

getServiceDefinition 要求を行 う 対象のサービ スの定義を入手し ます。

getServiceDefinition 応答を参照し て く だ さ い

submitRequisition 新し い要求を送信し ます。

submitRequisition の応答の例を参照し て く だ さ い

2-12Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 29: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

セ ッ シ ョ ンご との認証

こ の方法では、 ユーザは 初に Authentication Web サービ ス コールを実行し て、 ユーザを認証し ます。 その後、 サーバがそのユーザに対し てセ ッ シ ョ ン を確立し ます。 こ のセ ッ シ ョ ンが有効な間、 ユーザはその他の Web サービ ス コールを実行で き ます。 セ ッ シ ョ ン ご と の認証要求は、 AuthenticationService WSDL に含まれています。

認証要求のフ ォーマ ッ ト は以下の と お り です。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://authentication.api.newscale.com"> <soapenv:Header/> <soapenv:Body> <aut:authenticate> <aut:userName>?</aut:userName> <aut:password>?</aut:password> </aut:authenticate> </soapenv:Body></soapenv:Envelope>

認証時のエ ラー コー ド は、 ユーザ アカ ウ ン ト のパス ワー ド の期限切れや失敗し たパス ワー ド試行に よ り 、 ロ ッ ク さ れている かど う かが示さ れます。 ユーザ アカ ウ ン ト の ロ ッ ク を解除するには、 シ ス テム管理者に問い合わせて く だ さ い。

(注) ま た、 ユーザ認証のエ ラー コー ド は、 ユーザ アカ ウ ン ト が猶予期間であ る かど う か と 、 ユーザ パス ワー ド の更新期限の日付も示し ます。 エ ラー コー ド の詳細については、 REST/Web サービ スのエ ラー メ ッ セージを参照し て く だ さ い。

要求ご との認証

こ の方法では、 Web サービ ス を認証する ための個別の コールはあ り ません。 ユーザは各 Web サービ ス コールの一部 と し て SOAP ヘ ッ ダーに認証情報を入れて送信し ます。 Service Catalog の Web サービ スに対する認証ハン ド ラ が、 そのユーザを認証する かど う かを確認し ます。 こ のユーザに対し てセ ッ シ ョ ンがまだ確立さ れていない場合は、 ハン ド ラ が認証情報を SOAP ヘ ッダーか ら読み取 り ます。 認証情報が存在すれば、 ハン ド ラ がユーザの認証を試みます。 認証情報がない場合や、 有効でない場合、 ハン ド ラ は ク ラ イ アン ト に対し て該当する エ ラー コー ド およびエ ラー メ ッ セージ と 共に例外を ス ローし ます。

暗号化 (Encryption)

SOAP ヘッ ダーに指定されるパス ワード は、 暗号化された形式だけを受け入れる よ う に設定されている場合があ り ます。 暗号化パス ワード を強制するには、 Administration モジ ュールの [暗号化されたパス ワード を受け入れる (Accept Encrypted Password) ] 設定を有効にし ます。 暗号化ユーテ ィ リ テ ィ は、 パス ワード の暗号化された値を取得するサイ ト 管理者ロールを持つユーザが使用でき ます。 このユーテ ィ リ テ ィ にア ク セスするには、 次のブラ ウザ ページを開き ます。

http://<server>:<port>/RequestCenter/EncryptedPassword.jsp

Web サービスの認証メ カニズム

Service Catalog で公開さ れてい る各 Web サービ スには、 関連付け られたシ ス テム権限があ り ます。 認証ハン ド ラ で も、 指定し たユーザが Web サービ スにア ク セ ス (ま たは実行) で き る かどう かを確認し ます。 ユーザに適切なシ ス テム権限があれば、 ユーザは処理を続行で き ます。 適切なシ ス テム権限がない場合は、 ク ラ イ アン ト に対し てエ ラー コー ド と エ ラー メ ッ セージ と共に例外を ス ローし ます。

2-13Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 30: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

SOAP 認証と Directory Integration との相互関係

Directory Integration が イ ネーブルでない場合は、 SOAP 要求が発行さ れる前に、 指定し たユーザが個人デ ィ レ ク ト リ に存在し ている必要があ り ます。

Directory Integration が イ ネーブルで、 [ロ グ イ ン (Login) ] イベン ト に [個人の イ ンポー ト(Import Person) ] の処理が含まれてい る場合は、 ユーザのプ ロ フ ァ イルを入手する際に外部デ ィ レ ク ト リ が確認の対象 と な り 、 その情報が個人デ ィ レ ク ト リ に挿入されます。 こ の方法を取る には、 デ ィ レ ク ト リ 情報に適切な Web サービ ス権限を付与する ロールが含まれている か、ユーザが属する事業部 (部門) (ま たはサービ ス チーム) にその よ う な ロールが事前に割 り 当て られている必要があ り ます。 し たがって、 使用する SOAP アカ ウ ン ト はデータベースに事前に入力し、 こ れら のアカ ウ ン ト が要求を送信する前に、 アカ ウ ン ト に対し て適切な権限を割 り当ててお く こ と を推奨し ます。

Directory Integration が有効で、 シン グル サ イ ンオン (SSO) だけを行 う よ う に [ロ グ イ ン(Login) ] イベン ト が設定さ れてい る場合は、 デ ィ レ ク ト リ イベン ト を完全にバイパス し、 個人デ ィ レ ク ト リ に対する単純認証にフ ォールバ ッ クする オプシ ョ ンがあ り ます。 デフ ォル ト では Web サーバへの SOAP 要求があ り 、 SSO が成功し た場合、 SSO のユーザは、 Web サービ スのセ ッ シ ョ ン ユーザにな り ます。 そのためには、 SOAP ヘ ッ ダーにユーザ ク レデンシ ャルを含めない必要があ り ます。 ただ し、 優先ク レデンシ ャルが SOAP 要求ヘ ッ ダーに指定されている場合は、 その ク レデンシ ャルを使用し て、 外部デ ィ レ ク ト リ ではな く 、 個人デ ィ レ ク ト リ に対して認証を行います。 つま り 、 SOAP ヘ ッ ダーのユーザ ク レデンシ ャルの存在は、 認証を ローカルで行 う か、 ま たは外部で行 う かを制御し ます。

[ロ グ イ ン (Login) ] イベン ト の Directory Integration に外部認証の手順 (SSO と の組み合わせの有無にかかわ らず) が含まれる場合、 認証は必ずデ ィ レ ク ト リ データ ソースに対し て実行されます。

サービス定義の入手

getServiceDefinition 要求は、 指定し たサービ スが記述さ れた メ タデータ を返し ます。 要求を送信する には、 こ の メ タデータ が必要です。 グ リ ッ ド デ ィ ク シ ョ ナ リ を含むサービ スに こ の操作を使用する こ と は、 こ の リ リ ースではサポー ト さ れていません。 その よ う なサービ スに対し て操作を呼び出す と 、 エ ラーが返さ れます。

getServiceDefinition 要求

こ の要求では、 その定義を必要 と する サービ スの名前を指定し ます。

soapUI で、 [getServiceDefinition] ノード の下にあ る要求の例 (Request1) を右ク リ ッ ク し て、 [要求エデ ィ タの表示 (Show Request Editor) ] を ク リ ッ ク し ます。 生成された要求が表示されます。疑問符 (?) は、 値を必要とするすべての XML 要素を示し ます。

2-14Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 31: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

図 2-1 要求

SOAP 要求にはエン ド ポ イ ン ト を指定する必要があ り ます。 こ の要求のプ ロパテ ィ (および上図の メ ニ ューバー) を よ く 見る と 、 エン ド ポ イ ン ト がまだ定義されていない こ と がわか り ます。 こ れを以下の RAPI 2 サービ スのエン ド ポ イ ン ト で置き換え ます。

http://<ServerName>/RequestCenter/services/RequisitionService

こ こ で、 RequisitionService は wsdl 名です。

次に、 Request Editor の メ ニ ューバーにあ る [Creates a copy of this request] ア イ コ ン ( ) を使用し て、 こ の要求を コ ピーし ます。 こ のプ ロ ト タ イ プの要求は参照用に残し ておき ます。 コピーを使用し て、 疑問符の部分を置き換え、 認証条件のほか、 イ ニシエータやカ ス タ マーの ログ イ ン名、 対象 と する サービ スの名前など を入力し ます。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://requisition.api.newscale.com"> <soapenv:Header> <req:AuthenticationToken> <req:Username>admin</req:Username> <req:Password>admin</req:Password> </req:AuthenticationToken> </soapenv:Header> <soapenv:Body> <req:getServiceDefinition> <req:initiatorLoginName>admin</req:initiatorLoginName> <req:customerLoginName>mthurston</req:customerLoginName> <req:serviceName>New Standard Laptop Computer</req:serviceName> </req:getServiceDefinition> </soapenv:Body></soapenv:Envelope>

2-15Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 32: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

getServiceDefinition 応答

getServiceDefinition 要求を送信する には、 Request Editor ウ ィ ン ド ウの左上にあ る [Submit request to specified URL] ボ タ ン ( ) を ク リ ッ ク し ます。 応答が [要求エデ ィ タ (Request Editor) ] 内の要求の右側に表示さ れます。

getServiceDefinition に対する応答では、 サービ スについての メ タデータ が返さ れます。 以下の表に要約を示し ます。

表 2-2 getServiceDefinition に対する応答

XML 要素 (および ド キュ メ ン ト の階層) 説明 (Description)

サービ ス

名前 サービ スの名前

pricingmodel

quantity オーダーする サービ スの数量

version サービ スのバージ ョ ン番号

デ ィ ク シ ョ ナ リ

デ ィ ク シ ョ ナ リ 各サービ スには 1 つ以上のデ ィ ク シ ョ ナ リ が含まれます。

名前 デ ィ ク シ ョ ナ リ の名前

readable オーダー時点で、 Service Designer のア ク テ ィ ブ フ ォーム コ ンポーネン ト にあ る ア ク セス コ ン ト ロールに従って、 デ ィ ク シ ョ ナ リ が読み取 り 可能であれば true、 そ う でない場合は false。

writable オーダー時点で、 Service Designer のア ク テ ィ ブ フ ォーム コ ンポーネン ト にあ る ア ク セス コ ン ト ロールに従って、 デ ィ ク シ ョ ナ リ が書き込み可能であれば true、 そ う でない場合は false。

[フ ィ ール ド (Fields) ] >

DictionaryField 各デ ィ ク シ ョ ナ リ には 1 つ以上のフ ィ ール ド が含まれます。

canSelectMultiple こ のフ ィ ール ド に対し て複数の値を選択で き る かどう かを示し ます。

defaultValue フ ィ ール ド のデフ ォル ト 値

fieldDataType フ ィ ール ド のデータ型 (数値、 日付など)

fieldName フ ィ ール ド の名前

inputType フ ィ ール ド の html の入力タ イ プ

label フ ィ ール ド の ラベル

入力必須 こ のフ ィ ール ド が必須の場合は true、 必須でない場合は false。

maxLength フ ィ ール ド の 大長

selectableValues フ ィ ール ド に対し て選択可能な値

2-16Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 33: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

各デ ィ ク シ ョ ナ リ と、 デ ィ ク シ ョ ナ リ 内の各フ ィ ールド が記述されています。 オーダー時点でデ ィ ク シ ョ ナ リ に対して指定されている ア ク セス コ ン ト ロールは、正確な形式の submitRequisition 要求を記述するのに不可欠です。 オーダー時点でカス タマーから読み込みおよび書き込み可能なデ ィ ク シ ョ ナ リ だけが応答に取 り 込まれます。 これは、 submitRequisition 要求に取 り 込む必要があり ます。

<name>Customer_Information</name> <readable>true</readable> <writable>true</writable></Dictionary>

「New Standard Laptop Computer」 に対する完全な getServiceDefinitionResponse は、 要求 と 応答の例に記載し てあ り ます。

要求の送信

submitRequisition 要求を送信する前に getServiceDefinition 要求を実行する必要はあ り ません。ただ し、 getServiceDefinition では、 現在のサービ スのバージ ョ ンに関する有効な submitRequisition メ ッ セージの記述に必要な情報が返さ れます。

• サービ スの現在のバージ ョ ンは必須です。 バージ ョ ン番号は、 サービ ス定義自体、 ま たは含まれている ア ク テ ィ ブ フ ォーム コ ンポーネン ト 、 ま たはデ ィ ク シ ョ ナ リ が更新された とき に、 必ず増分さ れます。

• getServiceDefinition 要求は、 どのフ ィ ール ド が必須であ る か指定し ます。 送信要求にはすべての必須フ ィ ール ド のデータ が含まれる必要があ り ます。

• 送信する要求には、 すべての必須デ ィ ク シ ョ ナ リ と フ ィ ール ド が リ ス ト されている必要があ り ます。 デ ィ ク シ ョ ナ リ 、 ま たはそれぞれのデ ィ ク シ ョ ナ リ 内のフ ィ ール ド の表示順序は任意です。

• ブ ラ ウザ側で ト リ ガ さ れる よ う に設定さ れたフ ォーム ルールは、 Web サービ スに影響し ません。 フ ォーム ルールに よ って入力さ れる必要があ る選択 リ ス ト やデフ ォル ト 値があ る場合、 それら のルールが検証およびワーク フ ローの開始前に実行される よ う に、 After Submission イベン ト と 関連付け る必要があ り ます。

• getServiceDefinition 要求では、 各フ ィ ール ド に指定さ れてい るデフ ォル ト 値も返さ れます。こ れには、 カ ス タ マーま たはイ ニシエータ情報のための解決済みの Lightweight 名前空間などが含まれます。 こ れら の値は通常は必須であ り 、 submitRequisition 要求で指定する必要があ り ます。

• サービ スの定義にオプシ ョ ン (単一選択、 複数選択、 およびオプシ ョ ン ボタ ン) を伴 うフ ィ ール ド があ り 、 それらのオプシ ョ ンがア ク テ ィ ブ フ ォーム コ ンポーネン ト の [Display Options] (HTML Representation) ページを使用し て定義されている場合、 getServiceDefinition 要求を使用し て、 そのサービ スに対する要求を送信でき ます。 オプシ ョ ンがデータ取得ルールによ って指定されている と き も、 サービ ス要求は送信でき ますが、 そのフ ィ ール ド の値が有効なオプシ ョ ンであ るかど う かの確認は、 送信側のプロ グ ラ ムの責任にな り ます。

submitRequisition 要求では、 My Services か ら要求が送信さ れる と き に発生する オーダーの時間が、 基本的に省略さ れます。 条件付きルール、 データ取得ルール、 ま たは ISF は、 送信さ れた要求 と 一緒には実行さ れません。 し たがって、 こ の よ う な仕組みがデ ィ ク シ ョ ナ リ フ ィ ール ドの値の指定や評価の実行に使用さ れている場合は、 こ れ ら の値を指定する ための別の手段を探す必要があ り ます。 グ リ ッ ド デ ィ ク シ ョ ナ リ を含むサービ スに こ の操作を使用する こ と は、 この リ リ ースではサポー ト さ れていません。 その よ う なサービ スに対し て操作を呼び出す と 、 エラーが返さ れます。

2-17Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 34: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

submitRequisition 要求

オーダー時点で表示ま たは編集が可能なデ ィ ク シ ョ ナ リ は、 submitRequisition 要求の <section> ノ ー ド と し て組み込む必要があ り ます。 すべての必須フ ィ ール ド と その値を指定する必要があり ます。 オプシ ョ ンのフ ィ ール ド には値を指定する必要はあ り ません (し か し、 soapUI に よ って挿入さ れた疑問符は削除する必要があ り ます)。 デ ィ ク シ ョ ナ リ の順序 と フ ィ ール ド の順序は、 サービ ス定義での順序 と 一致する必要はあ り ませんが、 フ ィ ール ド は対応するデ ィ ク シ ョナ リ ノ ー ド の下にあ る必要があ り ます。

た と えば、 デ ィ ク シ ョ ナ リ RC_ServiceLocation 内の ZipCode フ ィ ール ド の値を 「07201」 に設定する XML は、 以下の よ う にな り ます。

<req:Section>. . .

<req:fields>. . .

<req:Field><req:name>ZipCode</req:name><req:value>

<req:string 07201/></req:value>

</req:Field></req:fields><req:name>RC_ServiceLocation</req:name>

</req:Section>

submitrequisition の応答

要求を送信する要求が成功する と 、 応答には作成さ れた要求の要求 ID と 、 その要求の他の属性が含まれます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns1:submitRequisitionResponse xmlns:ns1="http://requisition.api.newscale.com">

表 2-3 submitRequisition 要求

XML 要素 (および ド キュ メ ン ト の階層) 説明 (Description)

initiatorLoginName イ ニシエータ の ロ グ イ ン名

customerLoginName カ ス タ マーの ロ グ イ ン名

serviceRequests > ServiceRequest 複数のサービ ス要求を指定で き ます。

名前 サービ スの名前

quantity オーダーさ れるサービ スの数量

version サービ スのバージ ョ ン

Sections > Section 各サービ スには複数のデ ィ ク シ ョ ナ リ (セ ク シ ョン) を指定で き ます。

名前 デ ィ ク シ ョ ナ リ の名前

Fields > Field 各デ ィ ク シ ョ ナ リ には複数のフ ィ ール ド を指定でき ます。

名前 フ ィ ール ド の名前

value > string こ のフ ィ ール ド に設定する値

2-18Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 35: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<ns1:submitRequisitionResult ns1:customer="admin admin" ns1:dueDate="2009-05-08T16:14:26.267-07:00" ns1:requisitionId="186" ns1:initiator="admin admin" ns1:startedDate="2009-04-30T18:14:26.110-07:00" ns1:status="Ongoing"/> </ns1:submitRequisitionResponse> </soap:Body></soap:Envelope>

submitRequisitionResult 応答の属性を、 次の表に要約し ます。

要求が失敗する と 、 エ ラー メ ッ セージが返さ れます。 発生する可能性のあ る エ ラーは、 「付録 B : RAPI のエ ラー メ ッ セージ」 に記載されています。 エ ラー メ ッ セージは、 次の例に示すよう に、 必ず 「SOAP fault」 と い う 書式で表されます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>The version specified in the request does not match the version in the database for service 'New Standard Laptop Computer'.Please get the latest service definition.</faultstring> <detail> <RequisitionFault xmlns="http://requisition.api.newscale.com"> <errorCode>REQ_0018</errorCode> <errorMessage>The version specified in the request does not match the version in the database for service 'New Standard Laptop Computer'.Please get the latest service definition.</errorMessage> </RequisitionFault> </detail> </soap:Fault> </soap:Body></soap:Envelope>

要求のリ ス ト の入手

getRequisitions と getOpenRequisitions の処理では、 オープン状態の要求についての情報を返します。 こ れら は要求に含める こ と ので き る引数が異な り ます。

こ れら の処理は、 要求の管理に役立つ場合があ り ます。 た と えば、 オープンな状態の要求の リス ト が返さ れた ら、 その中か ら、 ユーザ定義の期限を超えた特定の タ イ プ (特定のサービ スについて) を調べる こ と がで き ます。

表 2-4 submitrequisition の応答

XML 要素 説明 (Description)

submitRequisitionResponse > submitRequisitionResult

こ の応答には、 サービ ス要求内にあ るサービ ス と 同じ数のエン ト リ が含まれます。

イ ン タ ビ ューの 要求のカ ス タ マー名

dueDate 要求の期限

requisitionId 要求の要求 ID

initiator 要求の イ ニシエータ

startedDate 要求が開始さ れた日付

status 要求のス テータ ス

2-19Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 36: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

getOpenRequisitions 要求

getOpenRequisitions は、 指定し た 大数まで、 オープン状態の要求をすべて返し ます。 要求は、要求 ID の降順で返さ れます。 こ の要求は、 一部の古い Service Catalog 統合ポ イ ン ト と の下位互換性のためだけにサポー ト さ れている ため、 Web サービ スで使用し ないで く だ さ い。

getRequisitions 要求

getRequisitions は、 指定し た 大数まで、 要求をすべて返し ます。 返される要求の表示タ イプやステータ ス を指定する こ と も でき ます。 こ の要求は、 一部の古い Service Catalog 統合ポ イ ン ト との下位互換性のためだけにサポー ト されている ため、 Web サービ スで使用し ないで く だ さい。

要求のステータ スの入手

getRequisitionStatus の処理では、 指定し た要求の承認やタ ス ク プ ラ ンのス テータ スに関する情報を返し ます。 詳細度は、 My Services ユーザが提供計画を表示し た場合の内容 と 同程度です。

図 2-2 getRequisitionStatus

getRequisitionStatus 要求

こ の要求は、 要求の現在のス テータ スに関する情報を返し ます。

GetRequisitionStatus 応答

要求を取得する要求が成功する と 、 その応答には要求に関する情報が含まれます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> </soap:Body></soap:Envelope>

get*RequisitionsResult 応答の属性を、 以下の表に要約し ます。

表 2-5 getRequisitionStatus

XML 要素 (および ド キュ メ ン ト の階層) 説明 (Description)

loginUserName 情報を要求する ユーザの名前。 こ のユーザは要求を表示する権限を持ってい る必要があ り ます。

requisitionid 紹介さ れる要求の ID。

表 2-6 GetRequisitionStatus 応答

XML 要素 説明 (Description)

getRequisitionStatusResponse > get*RequisitionsResult

RequisitionEntryStatuses > RequisitionEntryStatus

要求内の各サービ スに対する 1 つのス テータ ス ブ ロ ッ ク

2-20Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 37: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

要求へのコ メ ン ト の追加

addComments に よ って、 指定し た要求にユーザの コ メ ン ト を追加し ます。

addComments 要求

こ の要求では、 指定し た コ メ ン ト を指定し た要求に追加し ます。 指定されたユーザは、 要求にア ク セスする権限を持っている必要があ り ます。

要求のキャ ンセル

cancelRequisition は、 指定し たサービ ス要求を キ ャ ンセルする ために使用し ます。 要求に含まれるすべてのサービ スがキ ャ ンセルさ れます。

cancelrequisitionentry は、 サービ ス要求内にあ る指定し たサービ ス (要求エン ト リ ) を キ ャ ンセルし ます。 要求内の唯一 (ま たは 後) のサービ スの場合は、 要求がキ ャ ンセル されます。 そう でない場合は、 ス テータ スは変更さ れないま まにな り ます。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req=> <soapenv:Header> <req:AuthenticationToken> <req:Username>admin</req:Username> <req:Password>admin</req:Password> </req:AuthenticationToken> </soapenv:Header> <soapenv:Body> <req:cancelRequisition> <req:loginUserName>ltierstein</req:loginUserName> <req:requisitionId>99</req:requisitionId> </req:cancelRequisition> </soapenv:Body></soapenv:Envelope>

itemNumber 要求内でサービ スに割 り 当て られた連続番号

quantity サービ ス オーダーの数

requisitionEntryId サービ スの要求エン ト リ ID

serviceName サービ スの名前

status 要求エン ト リ の現在のス テータ ス

requisitionStepStatuses > RequisitionStepStatus

サービ スの提供計画に設定さ れている各時点についての StepStatus

dueDate 現在の承認、 確認、 ま たはタ ス ク の期限の日付

名前 提供計画での時点。 (「Service Group Authorization」 ま たは 「Delivery project for <service name>」 など)

stepStatus タ ス ク のス テータ ス。 (「In Progress」、 「Pending」、「Completed」 など)

表 2-6 GetRequisitionStatus 応答 (続き)

表 2-7 addComments 要求

XML 要素 (および ド キュ メ ン ト の階層) 説明 (Description)

loginUserName コ メ ン ト を追加する ユーザの名前

requisitionid 対象 と な る要求の ID

commentText ユーザ コ メ ン ト のテキ ス ト

2-21Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 38: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

応答は以下に示すと お り です (読みやす く する ために書式化し てあ り ます)。<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns1:cancelRequisitionResponse xmlns:ns1="http://requisition.api.newscale.com"> <ns1:cancelRequisitionResult ns1:closedDate="2009-06-02T12:04:32.837-07:00" ns1:customer="Leslie Tierstein" ns1:dueDate="2009-04-03T15:00:00-07:00" ns1:id="99" ns1:initiator="Leslie Tierstein" ns1:startedDate="2009-04-03T09:55:54.843-07:00" ns1:status="Cancelled"/> </ns1:cancelRequisitionResponse> </soap:Body></soap:Envelope>

タ スク管理用の Web サービス

概要

タ ス ク管理用の Web サービ スか ら実行で き る処理を、 以下の表に要約し ます。

承認のリ ス ト の入手

getAuthorizations および getMyAuthorizations 操作は、 「In Progress」 であ る承認についての情報を返し ます。 こ れら は要求に含める こ と ので き る引数が異な り ます。

要求サービ スの操作では、 操作の対象 と な る Web Services Administrative ユーザ (SOAP ヘ ッダーで指定) や Service Catalog ユーザご と に個別のプ ロ ビジ ョ ニング を行いますが、 それ と は異な り 、 こ れら の タ ス ク サービ スの操作では、 ユーザを 1 名のみ SOAP ヘ ッ ダーに指定で き ます。 し たがって、 承認を入手ま たは処理さ れる ユーザは、 Web サービ ス モジ ュールの Task Access 権限を持っている必要があ り ます。 手順は次の と お り です。

• こ の権限が含まれる ロールを作成し ます。 承認を実行する権限は My Services Professional ロールに含まれている ので、 こ の ロールの子を作成し ます。

• Web サービ ス を使用し て、 自身の承認を確認ま たは処理する必要のあ る ユーザに、 こ のロールを割 り 当て ます (追加する か、 ま たはMy Services Professional の代わ り と し ます)。

表 2-8 タ スク管理用の Web サービス

要求 説明 (Description)

approveTask 承認/許可の許可

getAuthorizations 承認の入手

getAuthorizationsForUser 指定し たユーザの承認の入手

getMyAuthorizations 指定し た人に割 り 当て られている承認の入手

rejectSelectedReqEntry 指定し たサービ ス (要求エン ト リ ) の拒否

rejectTask 承認/許可の拒否

reviewTask 「確認」 タ ス ク を確認済み と し てマーク

2-22Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 39: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

getMyAuthorizations 要求

getMyAuthorizations は、 すべてのオープン状態の要求を、 Service Catalog の ク レデンシ ャルが SOAP ヘ ッ ダーに指定されている ユーザに対し て、 指定されている 大数まで返し ます。 要求は、 要求 ID の降順で返さ れます。 こ の要求は、 JSR168 準拠の承認ポー ト レ ッ ト での使用だけがサポー ト さ れてお り 、 Web サービ スでは使用で き ません。

getAuthorizations 要求

getAuthorizations は、 リ ス ト で指定し た承認か ら開始し て、 特定の承認の 大数まで、 すべての承認を返し ます。 返さ れる要求の表示タ イ プやス テータ ス を指定する こ と も で き ます。 こ の要求は、 JSR168 準拠の承認ポー ト レ ッ ト での使用だけがサポー ト さ れてお り 、 Web サービ スでは使用で き ません。

getAuthorizationsForUser 要求 (内部用途のみ、 非サポー ト )

こ れは上記の getAuthorizations と よ く 似ていますが、 承認を入手する対象のユーザを指定で きる userLoginName パ ラ メ ータ が追加さ れています。

getAuthorizationsForUser SOAP 要求の例

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:smt="http://smtask.api.newscale.com"> <soapenv:Header> <smt:AuthenticationToken> <smt:Username>admin</smt:Username> <smt:Password>admin</smt:Password> </smt:AuthenticationToken> </soapenv:Header> <soapenv:Body> <smt:getAuthorizationsForUser> <smt:userLoginName>qreviewer</smt:userLoginName> <smt:startRow>0</smt:startRow> <smt:numberOfRows>5</smt:numberOfRows> <smt:status>1</smt:status> <smt:viewType>2</smt:viewType> </smt:getAuthorizationsForUser> </soapenv:Body></soapenv:Envelope>

getAuthorizations 要求および getAuthorizationsForUser 要求に役立つパラ メ ータ

承認の許可または拒否

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:smt="http://smtask.api.newscale.com">

表 2-9 getAuthorizations および getAuthorizationsForUser 要求のパラ メ ータ と値

パラ メ ー タ 値

Status 処理中 : 1

キ ャ ンセル済み : 2

承認済み : 3

拒否済み : 4

確認済み : 5

すべて : 6

ViewType 自身の承認 : 1

自身の割 り 当ておよび非割 り 当て : 2

2-23Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 40: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<soapenv:Header> <smt:AuthenticationToken> <!--Optional:--> <smt:Username>admin</smt:Username> <!--Optional:--> <smt:Password>admin</smt:Password> </smt:AuthenticationToken> </soapenv:Header> <soapenv:Body> <smt:approveTask> <smt:approverLoginName>maria</smt:approverLoginName> <smt:taskID>281</smt:taskID> </smt:approveTask> </soapenv:Body></soapenv:Envelope>

応答は以下に示す と お り です (読みやす く する ために書式化し てあ り ます)。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns1:approveTaskResponse xmlns:ns1="http://smtask.api.newscale.com"> <ns1:approveTaskResult ns1:actionID="5" ns1:requisitionId="103" ns1:status="approved" ns1:taskName="Computer Memory - Upgrade - APPROVAL NEEDED"/> </ns1:approveTaskResponse> </soap:Body></soap:Envelope>

要求と応答の例

getServiceDefinition 応答

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns1:getServiceDefinitionResponse xmlns:ns1=> <ns1:getServiceDefinitionResult> <dictionaries> <Dictionary> <fields> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>ModelNumber</fieldName> <inputType>text</inputType> <label>Model Number</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField>

2-24Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 41: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>AssetTag</fieldName> <inputType>text</inputType> <label>Asset Tag</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> </fields> <name>NewLaptop</name> <readable>true</readable> <writable>true</writable> </Dictionary> <Dictionary> <fields> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>admin</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>First_Name</fieldName> <inputType>text</inputType> <label>First Name</label> <mandatory>false</mandatory> <maxLength>100</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>admin</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Last_Name</fieldName> <inputType>text</inputType> <label>Last Name</label> <mandatory>false</mandatory> <maxLength>100</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>admin</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Login_ID</fieldName> <inputType>hidden</inputType> <label>Login ID</label> <mandatory>false</mandatory> <maxLength>200</maxLength> <selectableValues> <string/>

2-25Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 42: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

</selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Personal_Identification</fieldName> <inputType>text</inputType> <label>Personal_Identification</label> <mandatory>false</mandatory> <maxLength>510</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>ed @cisco.com</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Email_Address</fieldName> <inputType>text</inputType> <label>Email Address</label> <mandatory>false</mandatory> <maxLength>1024</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>Site Administration</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Home_Organizational_Unit</fieldName> <inputType>text</inputType> <label>Department</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Company_State</fieldName> <inputType>text</inputType> <label>State</label> <mandatory>false</mandatory> <maxLength>100</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple>

2-26Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 43: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Supervisor</fieldName> <inputType>hidden</inputType> <label>Supervisor</label> <mandatory>false</mandatory> <maxLength>100</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Supervisor_Email</fieldName> <inputType>hidden</inputType> <label>Supervisor Email</label> <mandatory>false</mandatory> <maxLength>1024</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Custom_1</fieldName> <inputType>text</inputType> <label>Custom_1</label> <mandatory>false</mandatory> <maxLength>200</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Custom_2</fieldName> <inputType>text</inputType> <label>Custom_2</label> <mandatory>false</mandatory> <maxLength>200</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> </fields> <name>Customer_Information</name> <readable>true</readable> <writable>true</writable> </Dictionary> <Dictionary>

2-27Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 44: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<fields> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>admin</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>First_Name</fieldName> <inputType>text</inputType> <label>First Name</label> <mandatory>false</mandatory> <maxLength>100</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>admin</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Last_Name</fieldName> <inputType>text</inputType> <label>Last Name</label> <mandatory>false</mandatory> <maxLength>100</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>admin</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Login_ID</fieldName> <inputType>text</inputType> <label>Login ID</label> <mandatory>false</mandatory> <maxLength>200</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Personal_Identification</fieldName> <inputType>hidden</inputType> <label>Personal Identification</label> <mandatory>false</mandatory> <maxLength>510</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue>

2-28Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 45: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<string>ed @cisco.com</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Email_Address</fieldName> <inputType>text</inputType> <label>Email Address</label> <mandatory>false</mandatory> <maxLength>1024</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>Site Administration</string> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Home_Organizational_Unit</fieldName> <inputType>text</inputType> <label>Department</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> </fields> <name>Initiator_Information</name> <readable>false</readable> <writable>false</writable> </Dictionary> <Dictionary> <fields> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string>Yes</string> </defaultValue> <fieldDataType>Boolean</fieldDataType> <fieldName>PerformWork</fieldName> <inputType>radio</inputType> <label>Will work be performed at the customer location?</label> <mandatory>false</mandatory> <maxLength>0</maxLength> <selectableValues> <string>Yes</string> <string>No</string> </selectableValues> </DictionaryField> </fields> <name>RC_PerformWork</name> <readable>true</readable> <writable>true</writable> </Dictionary> <Dictionary> <fields> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Street1</fieldName>

2-29Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 46: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<inputType>text</inputType> <label>Street</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Street2</fieldName> <inputType>hidden</inputType> <label>Street2</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Floor</fieldName> <inputType>hidden</inputType> <label>Floor</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>OfficeCubeRoom</fieldName> <inputType>text</inputType> <label>OfficeCubeRoom</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Building</fieldName> <inputType>hidden</inputType> <label>Building</label> <mandatory>false</mandatory> <maxLength>50</maxLength>

2-30Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 47: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>City</fieldName> <inputType>text</inputType> <label>City</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>State</fieldName> <inputType>text</inputType> <label>State</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>PostalCode</fieldName> <inputType>text</inputType> <label>Zip Code</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Country</fieldName> <inputType>hidden</inputType> <label>Country</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField>

2-31Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 48: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>MailStop</fieldName> <inputType>hidden</inputType> <label>MailStop</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Region</fieldName> <inputType>hidden</inputType> <label>Region</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>District</fieldName> <inputType>hidden</inputType> <label>District</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>LocationName</fieldName> <inputType>hidden</inputType> <label>LocationName</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/>

2-32Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 49: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

</defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>LocationCode</fieldName> <inputType>hidden</inputType> <label>LocationCode</label> <mandatory>false</mandatory> <maxLength>50</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> </fields> <name>RC_RequestorLocation</name> <readable>true</readable> <writable>true</writable> </Dictionary> <Dictionary> <fields> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Street</fieldName> <inputType>text</inputType> <label>Street</label> <mandatory>false</mandatory> <maxLength>40</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>OfficeCubeRoom</fieldName> <inputType>text</inputType> <label>OfficeCubeRoom</label> <mandatory>false</mandatory> <maxLength>40</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>State</fieldName> <inputType>text</inputType> <label>State</label> <mandatory>false</mandatory> <maxLength>40</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField>

2-33Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 50: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>City</fieldName> <inputType>text</inputType> <label>City</label> <mandatory>false</mandatory> <maxLength>40</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>BuildingName</fieldName> <inputType>hidden</inputType> <label>BuildingName</label> <mandatory>false</mandatory> <maxLength>40</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>Floor</fieldName> <inputType>hidden</inputType> <label>Floor</label> <mandatory>false</mandatory> <maxLength>40</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> <DictionaryField> <canSelectMultiple>false</canSelectMultiple> <defaultValue> <string/> </defaultValue> <fieldDataType>Text</fieldDataType> <fieldName>ZipCode</fieldName> <inputType>text</inputType> <label>Zip Code</label> <mandatory>false</mandatory> <maxLength>15</maxLength> <selectableValues> <string/> </selectableValues> </DictionaryField> </fields> <name>RC_ServiceLocation</name> <readable>true</readable> <writable>true</writable> </Dictionary>

2-34Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 51: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

</dictionaries> <estimatedpriceperunit>1500.0</estimatedpriceperunit> <name>New Standard Laptop Computer</name> <pricingmodel>0</pricingmodel> <quantity>0</quantity> <serviceId>5</serviceId> <version>32</version> </ns1:getServiceDefinitionResult> </ns1:getServiceDefinitionResponse> </soap:Body></soap:Envelope>

submitRequisition の応答の例

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req=> <soapenv:Header> <req:AuthenticationToken> <req:Username>admin</req:Username> <req:Password>admin</req:Password> </req:AuthenticationToken> </soapenv:Header> <soapenv:Body> <req:submitRequisition> <req:initiatorLoginName>admin</req:initiatorLoginName> <req:customerLoginName>admin</req:customerLoginName> <req:serviceRequests> <req:ServiceRequest> <req:name>New Standard Laptop Computer</req:name> <req:quantity>1</req:quantity> <req:sections> <req:Section> <req:fields> <req:Field> <req:name>ModelNumber</req:name> <req:value> <req:string>T60</req:string> </req:value> </req:Field> <req:Field> <req:name>AssetTag</req:name> <req:value> <req:string>ABC123</req:string> </req:value> </req:Field> </req:fields> <req:name>NewLaptop</req:name> </req:Section> <req:Section> <req:fields> <req:Field> <req:name>First_Name</req:name> <req:value> <req:string>admin</req:string> </req:value> </req:Field> <req:Field> <req:name>Last_Name</req:name> <req:value> <req:string>admin</req:string> </req:value> </req:Field> <req:Field> <req:name>Login_ID</req:name>

2-35Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 52: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<req:value> <req:string>admin</req:string> </req:value> </req:Field> <req:Field> <req:name>Personal_Identification</req:name> <req:value> <req:string /> </req:value> </req:Field> <req:Field> <req:name>Email_Address</req:name> <req:value> <req:string>[email protected]</req:string> </req:value> </req:Field> <req:Field> <req:name>Home_Organizational_Unit</req:name> <req:value> <req:string>Site Administration</req:string> </req:value> </req:Field> <req:Field> <req:name>Company_State</req:name> <req:value> <req:string /> </req:value> </req:Field> <req:Field> <req:name>Supervisor</req:name> <req:value> <req:string /> </req:value> </req:Field> <req:Field> <req:name>Supervisor_Email</req:name> <req:value> <req:string /> </req:value> </req:Field> <req:Field> <req:name>Custom_1</req:name> <req:value> <req:string /> </req:value> </req:Field> <req:Field> <req:name>Custom_2</req:name> <req:value> <req:string /> </req:value> </req:Field> </req:fields> <req:name>Customer_Information</req:name> </req:Section> <req:Section> <req:fields> <req:Field> <req:name>First_Name</req:name> <req:value> <req:string>admin</req:string> </req:value> </req:Field> <req:Field>

2-36Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 53: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<req:name>Last_Name</req:name> <req:value> <req:string>admin</req:string> </req:value> </req:Field> <req:Field> <req:name>Login_ID</req:name> <req:value> <req:string>admin</req:string> </req:value> </req:Field> <req:Field> <req:name>Personal_Identification</req:name> <req:value> <req:string /> </req:value> </req:Field> <req:Field> <req:name>Email_Address</req:name> <req:value> <req:string>[email protected]</req:string> </req:value> </req:Field> <req:Field> <req:name>Home_Organizational_Unit</req:name> <req:value> <req:string>Site Administration</req:string> </req:value> </req:Field> </req:fields> <req:name>Initiator_Information</req:name> </req:Section> </req:sections> <req:version>32</req:version> </req:ServiceRequest> </req:serviceRequests> </req:submitRequisition> </soapenv:Body></soapenv:Envelope>

getMyAuthorizations の応答の例

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body> <ns1:getMyAuthorizationsResponse xmlns:ns1="http://smtask.api.newscale.com"> <ns1:getMyAuthorizationsResult> <ns1:Activity> <activityFormId xmlns="http://smtask.api.newscale.com">2</activityFormId> <activityTypeId xmlns="http://smtask.api.newscale.com">2</activityTypeId> <actualDuration xmlns="http://smtask.api.newscale.com">0.0</actualDuration> <agentId xmlns="http://smtask.api.newscale.com">0</agentId> <clientOrganizationalUnit xmlns="http://smtask.api.newscale.com"> <authorizationStructure>0</authorizationStructure> <billable>true</billable> <costCenterCode xsi:nil="true"/> <description xsi:nil="true"/> <GUID>3C921968-6474-45B2-8D65-A1822E52782F</GUID> <id>6</id> <localeId>1</localeId> <managerId>0</managerId> <managerName xsi:nil="true"/>

2-37Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 54: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<name>Field Sales</name> <organizationalUnitTypeId>2</organizationalUnitTypeId> <parentId>0</parentId> <parentName xsi:nil="true"/> <parentOrganizationalUnitGuid xsi:nil="true"/> <placeId>0</placeId> <placeName xsi:nil="true"/> <recordStateId>1</recordStateId> <tenantId>1</tenantId> </clientOrganizationalUnit> <clientOuId xmlns="http://smtask.api.newscale.com">6</clientOuId> <creatorObjectId xmlns="http://smtask.api.newscale.com">57</creatorObjectId> <creatorObjectInstId xmlns="http://smtask.api.newscale.com">9</creatorObjectInstId> <customer xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <customerId xmlns="http://smtask.api.newscale.com">12</customerId> <customerName xmlns="http://smtask.api.newscale.com">Terry Training</customerName> <customerRoleId xmlns="http://smtask.api.newscale.com">0</customerRoleId> <customerRoleName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <defActivityId xmlns="http://smtask.api.newscale.com">0</defActivityId> <depth xmlns="http://smtask.api.newscale.com">0</depth> <displayOrder xmlns="http://smtask.api.newscale.com">0</displayOrder> <dueOn xmlns="http://smtask.api.newscale.com">2009-06-03T23:00:00-07:00</dueOn> <dueOnTz xmlns="http://smtask.api.newscale.com">149</dueOnTz> <effort xmlns="http://smtask.api.newscale.com">0.5</effort> <escalationLevel xmlns="http://smtask.api.newscale.com">0</escalationLevel> <expectedDuration xmlns="http://smtask.api.newscale.com">8.0</expectedDuration> <flagId xmlns="http://smtask.api.newscale.com">0</flagId> <formURL xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <group xmlns="http://smtask.api.newscale.com">0</group> <hasChildren xmlns="http://smtask.api.newscale.com">false</hasChildren> <icon xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <id xmlns="http://smtask.api.newscale.com">422</id> <instructions xmlns="http://smtask.api.newscale.com"/> <isBusy xmlns="http://smtask.api.newscale.com">0</isBusy> <isLast xmlns="http://smtask.api.newscale.com">false</isLast> <lastChannelId xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <listCount xmlns="http://smtask.api.newscale.com">-1</listCount> <nextActionId xmlns="http://smtask.api.newscale.com">5</nextActionId> <overbookTime xmlns="http://smtask.api.newscale.com">0</overbookTime> <parentId xmlns="http://smtask.api.newscale.com">0</parentId> <performerActualDuration xmlns="http://smtask.api.newscale.com">0.0</performerActualDuration> <performerId xmlns="http://smtask.api.newscale.com">11</performerId> <performerName xmlns="http://smtask.api.newscale.com">Jared Roberts</performerName> <performerOfficeId xmlns="http://smtask.api.newscale.com">0</performerOfficeId> <performerRoleId xmlns="http://smtask.api.newscale.com">331</performerRoleId> <performerRoleName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <performerSharable xmlns="http://smtask.api.newscale.com">false</performerSharable> <performerShared xmlns="http://smtask.api.newscale.com">false</performerShared> <priority xmlns="http://smtask.api.newscale.com">0</priority> <priorityName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <processId xmlns="http://smtask.api.newscale.com">0</processId> <projectActivityId xmlns="http://smtask.api.newscale.com">0</projectActivityId> <reqId xmlns="http://smtask.api.newscale.com">170</reqId> <retryCount xmlns="http://smtask.api.newscale.com">0</retryCount> <scheduledStart xmlns="http://smtask.api.newscale.com">2009-06-03T15:00:00-07:00</scheduledStart> <startedOn xmlns="http://smtask.api.newscale.com">2009-06-03T12:09:41.443-07:00</startedOn> <startedOnTz xmlns="http://smtask.api.newscale.com">149</startedOnTz> <stateId xmlns="http://smtask.api.newscale.com">6</stateId>

2-38Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 55: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

<stateName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <stepId xmlns="http://smtask.api.newscale.com">4</stepId> <stepLogicName xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <subject xmlns="http://smtask.api.newscale.com">Computer Memory - Upgrade - APPROVAL NEEDED</subject> <taskUrl xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> <ticketId xmlns="http://smtask.api.newscale.com">175</ticketId> <ticketObjectId xmlns="http://smtask.api.newscale.com">37</ticketObjectId> <totalCost xmlns="http://smtask.api.newscale.com">0.0</totalCost> <waiting xmlns="http://smtask.api.newscale.com">0</waiting> <WDDXCheckList xsi:nil="true" xmlns="http://smtask.api.newscale.com"/> </ns1:Activity> </ns1:getMyAuthorizationsResult> </ns1:getMyAuthorizationsResponse> </soap:Body></soap:Envelope>

REST/Web サービスのエラー メ ッ セージ

以下のエラー メ ッ セージにおいて数値を波カ ッ コで囲んだ記号の部分 (「{0}」 など) は、 実際のエラー メ ッ セージではエラーの発生元 と なったオブジェ ク ト の名前や ID で置き換え られます。

AUTH_0001 こ のユーザはまだ認証さ れていないか、 セ ッ シ ョ ンが タ イ ムア ウ ト になっています。

AUTH_0002 ユーザ 「{0}」 の認証に失敗し ま し た。

AUTH_0003 Service Catalog は SSO を使用する よ う 設定さ れていますが、設定の問題によ り SSO が正し く 動作し ていません。

AUTH_0004 パス ワー ド を正し く 暗号化する必要があ り ます。

AUTH_0005 ユーザ名のヘ ッ ダーが正し く あ り ません。 存在し ていないか、 空白です。正確なヘ ッ ダーを送信し て く だ さ い。

AUTH_0006 Web サービ スへのア ク セスがオフになっています。

AUTH_0007 ユーザが こ の Web サービ スにア ク セスで き ません。

AUTH_0008 SOAP ヘ ッ ダーの構造が無効であ る か、 セ ッ シ ョ ンが タ イ ムア ウ ト し まし た。

AUTH_0009 リ モー ト ユーザ名が無効です。 有効な名前で再試行し て く だ さ い。

AUTH_0010 ユーザに、 バージ ョ ン情報を表示する権限があ り ません。

AUTH_0011 アカ ウ ン ト が ロ ッ ク さ れています。 シ ス テム管理者にお問い合わせ く ださ い。

AUTH_0012 パス ワー ド は <date> に期限切れにな り ます。 こ の日付よ り 前にパス ワード を リ セ ッ ト し ない と 、 アカ ウ ン ト が停止さ れます。

つま り 、 パス ワー ド が期限切れ と な り 、 アカ ウ ン ト が停止し ます。

INFRA_0001 Service Catalog Business Engine キ ューが使用で きず、 非同期送信についての管理者設定がオンになってい る ため、 要求を送信で き ません。 後で再実行する か、 管理者にお問い合わせ く だ さ い。

REQ_0001 イ ニシエータ 「{0}」 がシ ス テム上で見つか り ません。

REQ_0002 カ ス タ マー 「{0}」 がシ ス テム上で見つか り ません。

REQ_0003 サービ ス 「{0}」 がシ ス テム上で見つか り ません。

REQ_0004 ユーザ 「{0}」 がシ ス テム上で見つか り ません。

2-39Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 56: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

REQ_0005 要求 ID 「{0}」 がシ ス テム上で見つか り ません。

REQ_0006 指定し た要求 ID 「{1}」 が一致し ないため、 要求エン ト リ 「{0}」 を キ ャンセルで き ません。

REQ_0007 指定し たサービ ス 「{1}」 が一致し ないため、 要求エン ト リ 「{0}」 をキ ャ ンセルで き ません。

REQ_0008 ユーザに こ の要求を キ ャ ンセルする ための権限があ り ません。 要求をキ ャ ンセルで き る のは要求のオーナーだけです。

REQ_0009 こ の要求はすでにキ ャ ンセル さ れています。

REQ_0010 カ ス タマー 「{0}」 にはサービ ス 「{1}」 をオーダーする権限があ り ません。

REQ_0011 サービ ス 「{0}」 はオーダーで き ません。

REQ_0012 こ の要求に コ メ ン ト を追加する ための権限がユーザにあ り ません。

REQ_0013 サービ ス フ ォームの必須フ ィ ール ド 「{0}」 に値が入力さ れていません。

REQ_0014 サービ ス フ ォーム フ ィ ール ド 「{0}」 が、 許可さ れてい る 大の長さ を超えています。

REQ_0015 フ ィ ール ド 「{0}」 に有効な数字を入力し て く だ さ い。

REQ_0016 サービ ス フ ォーム フ ィ ール ド 「{0}」 には、 値は 1 つしか指定でき ません。

REQ_0017 ユーザに こ の要求にア ク セスする ための権限があ り ません。

REQ_0018 要求で指定さ れたバージ ョ ンが、 サービ ス 「{0}」 のデータベースにあ るバージ ョ ン と 一致し ません。 新のサービ ス定義を使用し て く だ さ い。

REQ_0019 イ ニシエータ 「{0}」 には、 こ のカ ス タ マー 「{1}」 に対する Order on Behalf 権限があ り ません。

REQ_0020 認証済みユーザ 「{0}」 に、 Web サービ スの RAPI シ ス テム アカ ウ ン ト 権限があ り ません。

REQ_0021 このフ ィ ール ド 「{0}」 に渡された値が、 オプシ ョ ン リ ス ト にあ り ません。

REQ_0022 こ のフ ィ ール ド 「{0}」 の値に、 設計さ れてい る値を超え る量のデータ が含まれています。

REQ_0023 このフ ィ ール ド 「{0}」 に渡された値が、 オプシ ョ ン リ ス ト にあ り ません。

REQ_0024 サービ ス フ ォーム フ ィ ール ド 「{0}」 に無効な日付形式が含まれています。

REQ_0025 サービ ス フ ォーム フ ィ ール ド 「{0}」 に無効な日時形式が含まれています。

REQ_0026 サービ ス フ ォーム フ ィ ール ド 「{0}」 で、 指定さ れた ロ グ イ ン 「{1}」 がシ ス テムに存在し ません。 ロ グ イ ン名を入力し て く だ さ い。

REQ_0027 こ の要求 ID 「{0}」 はキ ャ ンセルで き ません。 こ の要求は閉じ られています。

REQ_0028 こ の要求 ID 「{0}」 は、 変更可能な時点を過ぎています。 こ の要求はキ ャンセルで き ません。

REQ_0029 こ の要求エン ト リ ID 「{0}」 はキ ャ ンセルで き ません。 こ の要求エン ト リは閉じ られています。

REQ_0030 サービ ス 「{0}」 のス テータ スが非ア ク テ ィ ブです。

REQ_0031 こ の要求 ID 「{0}」 はキ ャ ンセルで き ません。 こ の要求エン ト リ はすでにキ ャ ンセル さ れています。

REQ_0032 こ のフ ィ ール ド 「{0}」 に渡された値が、 オプシ ョ ン リ ス ト にあ り ません。

REQ_0033 こ のフ ィ ール ド 「{0}」 に渡された値が、 オプシ ョ ン リ ス ト にあ り ません。

2-40Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 57: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

REQ_0034 こ のフ ィ ール ド 「{0}」 の値に、 設計さ れてい る値を超え る量のデータ が含まれています。

REQ_0035 デ ィ ク シ ョ ナ リ 名 「{0}」 が こ のサービ ス用に存在し ません。 フ ィ ール ド名を修正し て く だ さ い。

REQ_0036 デ ィ ク シ ョ ナ リ フ ィ ール ド 「{0}」 が こ のデ ィ ク シ ョ ナ リ 「{0}」 用に存在し ません。 フ ィ ール ド 名を修正し て く だ さ い。

REQ_0037 ユーザに こ の要求エン ト リ を キ ャ ンセルする ための権限があ り ません。

REQ_0038 フ ィ ール ド の数が こ のデ ィ ク シ ョ ナ リ 「{0}」 に一致し ません。

REQ_0039 デ ィ ク シ ョ ナ リ の数が こ のサービ ス 「{0}」 に一致し ません。

REQ_0040 ユーザ 「{0}」 は Service Catalog データベースに存在し ません。 LDAP から ユーザの イ ンポー ト を試みま し たが、 LDAP ル ッ ク ア ッ プが false に設定さ れています。

REQ_0041 OOB イベン ト が設定ま たは有効に さ れていません。 こ のユーザ 「{0}」 の LDAP 検索は実行さ れませんで し た。

REQ_0042 LDAP か らデータ を イ ンポー ト 中にエ ラーが発生し ま し た。

REQ_0043 ユーザ 「{0}」 が Service Catalog データベース と LDAP シ ス テムに存在しません。

REQ_0044 サービ ス フ ォームの個人検索イベン ト が設定されていないか、 有効になっていません。 このユーザ 「{0}」 の LDAP 検索が実行されませんでし た。

REQ_0045 LDAP か ら個人を イ ンポー ト する ための イベン ト 処理が正し く 設定さ れていません。

REQ_0046 こ のフ ィ ール ド 「{0}」 には通貨記号な し の金額のみを入力し て く だ さい。 小数点 と し て 「.」 を使用し て く だ さ い。

REQ_0047 こ のフ ィ ール ド 「{0}」 には文字 と 数字だけを入力し て く だ さ い。

REQ_0048 こ のフ ィ ール ド 「{0}」 には文字 と 数字だけを入力し て く だ さ い。

REQ_0049 デ ィ ク シ ョ ナ リ 「{0}」 が要求に複数回繰 り 返さ れています。 特定のデ ィク シ ョ ナ リ は一度だけ要求に表示で き ます。

REQ_0050 デ ィ ク シ ョ ナ リ フ ィ ール ド 「{0}.{1}」 が要求に複数回繰 り 返さ れています。 特定のデ ィ ク シ ョ ナ リ フ ィ ール ド は一度だけ要求に表示で き ます。

REQ_0051 サービ ス 「{0}」 に 1 つ以上のグ リ ッ ド デ ィ ク シ ョ ナ リ が含まれています。 こ の API はグ リ ッ ド デ ィ ク シ ョ ナ リ 値を持つ要求の送信を受け入れません。

REQ_0052 サービ ス フ ォームは次のエ ラーのために送信で き ませんで し た : {0}

REQ_0053 サービ ス フ ォームは次のエ ラーのために送信で き ませんで し た : 必須フ ィ ール ド {0} があ り ません

REQ_0054 オーダー モー ド に基づいた個々の送信だけが可能なサービ スが 1 つ以上含まれてい る ため、 要求を送信で き ませんで し た。

REQ_0055 プ ロ セスが実行さ れた 後の日付

REQ_0056 デ ィ ク シ ョ ナ リ 「{0}」 に対し て許可さ れる 大レ コー ド 数 「{1}」 に達し ま し た。

REQ_0057 リ ク エス ト ID 「{0}」 はすでに送信済みです。

REQ_0058 未送信の要求が見つか り ません。

REQ_0059 オーダー モー ド オプシ ョ ンがサービ ス {0} に対し て無効になっています。

2-41Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 58: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 2 章 Cisco RESTful SOAP ベース API の概要

サービス オーダーまたはサービス要求の送信と管理

REQ_0060 要求を キ ャ ンセルで き ません、 ま たは削除で き ません。

REQ_0061 複数の未送信要求が見つか り ま し た。

REQ_0062 要求 {0} のエン ト リ が見つか り ません。

REQ_0063 要求 {0} のエン ト リ をキ ャ ンセルで き ません、 ま たは削除で き ません。

REQ_0064 要求操作のためのア ク セスが拒否されま し た。

REQ_0065 こ の要求の要求エン ト リ が見つか り ません。

REQ_0100 実行時の例外が発生し ま し た。 こ れは正規の Business Engine ワーク フロー例外に よ って発生し た可能性があ り ます (Service Designer で定義されてい る ため タ ス ク のキ ャ ンセルが許可さ れていないなど)。 タ ス ク定義を確認し て く だ さ い。

REQ_0101 サービ ス フ ォーム データ の読み取 り 中に ラ ン タ イ ム エ ラーが発生し まし た。

REQ_0101 サービ ス フ ォーム データ の読み取 り 中に ラ ン タ イ ム エ ラーが発生し まし た。

TASK_0005 タ ス ク 「{0}」 は拒否で き ません。

TASK_0008 タ ス ク 「{0}」 がシ ス テムにあ り ません。

TASK_0001 ユーザ 「{0}」 には 「{1}」 を許可する権限があ り ません。

TASK_0002 ユーザ 「{0}」 には 「{1}」 を拒否する権限があ り ません。

TASK_0003 ユーザ 「{0}」 には 「{1}」 を確認する権限があ り ません。

TASK_0004 タ ス ク 「{0}」 は許可タ ス ク ではあ り ません。

TASK_0005 タ ス ク 「{0}」 は拒否で き ません。

TASK_0006 タ ス ク 「{0}」 は確認タ ス ク ではあ り ません。

TASK_0008 タ ス ク 「{0}」 がシ ス テムにあ り ません。

TASK_0009 指定し た タ ス ク ID 「{1}」 に対する要求エン ト リ ID 「{0}」 が一致し ません。

TASK_0010 タ ス ク 「{0}」 には複数の要求エン ト リ を指定で き ません。

TASK_0011 タ ス ク 「{0}」 には財務ま たは OU の承認があ り ません。

TASK_0012 ユーザ 「{0}」 には、 こ の タ ス ク 「{1}」 に対する部分的な要求エン ト リを拒否する権限があ り ません。

TASK_0013 タ ス ク 「{0}」 はすでに拒否さ れています。

2-42Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 59: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 3

Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要こ の章では、 サービ ス カ タ ロ グ (Service Catalog) の Web サービ スの使用法について説明し ます。 こ れには、 SOAP ベース バージ ョ ンの要求 API (RAPI 2) を実装する Web サービ スが含まれます。 こ れは、 外部シ ス テムが Service Catalog 内でサービ ス要求を作成および管理で き る よう にする API です。 Web サービ スには、 サービ ス要求内の提供タ ス クや承認タ ス ク の管理を許可し、 Service Catalog の内容の確認を行 う 要求など も含まれます。

REST URL の構文および表記法

• REST の URL は次の規則に従います。

http(s)://<serverURL>/RequestCenter/nsapi/<entityGroup>/<entityType>/<filters>?sortBy=<columnName>&sortDir=<sortOrder>?startRow=<x>&recordSize=<y>

角カ ッ コ (<>) で囲まれた要素は、 適切なパ ラ メ ータ ま たはパラ メ ータ値を代入する必要があ る こ と を示し ます。

• フ ィ ルタ、 ソー ト 、 およびページン グの コ ン ト ロール と ア ク シ ョ ンは、 オプシ ョ ン パ ラメ ータ と し て REST URL に渡さ れます。 フ ィ ルタ には、 「サポー ト さ れてい る フ ィ ルタ」 の項で説明する よ う に、 1 つま たは複数の式を含める こ と がで き ます。 フ ィ ルタ を指定し なかった場合は、 エンテ ィ テ ィ に関し て見つかったすべての イ ン ス タ ン スが返されます。

• 複数のフ ィ ルタ の組み合わせが可能な こ と も あ り ます。 その場合、 2 番め以降のパラ メ ータ の指定はオプシ ョ ンです。 こ の よ う なパラ メ ータ については、 構文内でそのパ ラ メ ータ構文を角カ ッ コ ([]) で囲むこ と に よ って示し ています。 オプシ ョ ンのパラ メ ータは、 区切 り 文字 (|) で囲む必要があ り ます。

• 特記のない限 り 、 すべての URL で大文字 と 小文字が区別されます。

• バージ ョ ン管理は nsAPI に組み込まれています。 ベース バージ ョ ン 1.0 の REST URL にはバージ ョ ン番号を表すパラ メ ータ があ り ません。 し か し、 これは将来の リ リ ースで変更される可能性があ り ます。

• 要求さ れた操作が成功し たのか、 それ と も失敗し たのかを示すために、 HTTP のス テータス コー ド およびエ ラー メ ッ セージが REST 応答で返さ れます。

• nsAPI Java バイ ンデ ィ ング パ ッ ケージの名前は com.newscale.nsapi.* です。

3-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 60: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要

サポー ト されている フ ィ ルタ

nsAPI は、 次の よ う に GET 操作においてエン テ ィ テ ィ の タ イ プに基づき 多様な フ ィ ル タ をサ ポー ト し ています。

表 3-1 サポー ト されている フ ィ ルタ テーブル

エンテ ィ テ ィ タ イ プ (Entity Type) 使用可能な フ ィ ルタ /構文 REST URL の例

す べ て の エ ンテ ィ テ ィ

ID

/id/<value>

http://serverURL/RequestCenter/nsapi/definition/servicedefs/id/16

名前 : 完全一致

/name/<value>

http://serverURL/RequestCenter/nsapi/definition/servicedefs/name/Create%20Custom%20VM

名前 : ワ イル ド カー ド 検索

?name=<value>

http://serverURL/RequestCenter/nsapi/definition/servicedefs?name=Create%20Custom*

標準、 サービ ス項目、 カ ス タ ムコ ンテン ツ

すべてのテーブルのカ ラ ム。次の要素で構成 さ れた フ ィ ル タ 式 を

大 3 つ使用可能

• 比較演算子 : =、 >、 <、 >=、<=

• 関係演算子 : AND、 OR (大文字 と 小文字を区別し ない、オーダーの優先順位はサポー ト さ れていません)

• 区切 り 文字 : |

/<columnName1><operator1><value1>[|<AND|OR>|]<columnName2><operator2><value2>][|<AND|OR>|<columnName3><operator3><value3>]

日 付 フ ィ ー ル ド の 値 はmm-dd-yyyy 形式にす る 必要が あ り ます。

http://serverURL/RequestCenter/nsapi/standard/StOperatingSystem/Custom1=Linux|AND|Custom2=64

こ れは、 次の よ う に記述する こ と も で きます。

http://serverURL/RequestCenter/nsapi/standard/StOperatingSystem/Custom1=Linux|Custom2=64

http://serverURL/RequestCenter/nsapi/standard/StOperatingSystem/Custom1=Linux|OR|Custom2=64

http://serverURL/RequestCenter/nsapi/serviceitems/serviceitemsubscription/SubmitDate>=03-01-2011

http://serverURL/RequestCenter/nsapi/serviceitems/serviceitemsubscription/AccountName=tenantaccount1

http://serverURL/RequestCenter/nsapi/customcontent/UcAnnouncementObj/Category=Corporate

サ ー ビ ス 項 目(Service Items)

ビ ュー名 (View Name)

?ViewName=<value>

指定可能な ビ ュ ー名は次の と おり です。

• My ServiceItems (My Services に表示さ れる)

• Manage ServiceItems (Service Item Manager に表示さ れる)

http://serverURL/RequestCenter/nsapi/serviceitem/SiDesktop?ViewName=My%20ServiceItems

http://serverURL/RequestCenter/nsapi/serviceitem/SiDesktop?ViewName=Manage%20ServiceItems

3-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 61: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 概要

組織 OU Type

?type=<all/businessUnit/serviceTeam>

http://serverURL/RequestCenter/nsapi/directory/organizationalunits?type=serviceTeam

Person ロ グ イ ン名 (Login Name)

?loginname/<value>

http://serverURL/RequestCenter/nsapi/directory/people?loginname/dsmith

OU 名前

?ouname=<value>

http://serverURL/RequestCenter/nsapi/directory/people?ouname=Operations

グループ名 (Group Name)

?groupname=<value>

http://serverURL/RequestCenter/nsapi/directory/people?groupname=Approvers

役割名

?rolename=<value>

継承 さ れた ロ ール を フ ィ ル タ に使用する こ と はで き ません。

http://serverURL/RequestCenter/nsapi/directory/people?rolename=Service%20Performer

カテゴ リ カテゴ リ タ イ プ

?catalogType=<serviceCatalog/offeringCatalog>

http://serverURL/RequestCenter/nsapi/definition/categories?catalogType=serviceCatalog

サービ ス カテゴ リ 名 (Category Name)

?categoryName=<value>

http://serverURL/RequestCenter/nsapi/definition/servicedefs?categoryName=Manage%20Physical%20Servers

キーワー ド

?keywordName=<value>

http://serverURL/RequestCenter/nsapi/definition/servicedefs?keywordName=server

要求お よ び承認

ビ ュー名、 ス テータ ス

/ViewName=<value1>[| Status=<value2>]

フ ィ ル タ に使用可能な ビ ュ ー名は、 My Services の [Requisitions] タ ブお よ び [Authorizations] タ ブ に あ る ビ ュ ーの リ ス ト に対応 しています。

ス テー タ ス フ ィ ル タ はビ ュ ー名 フ ィ ル タ と と も に使用す る 必要があ り 、 単独では使用で き ま せん。

http://serverURL/RequestCenter/nsapi/transaction/requisitions/ViewName=Ordered%20for%20Self

http://serverURL/RequestCenter/nsapi/transaction/authorizations/ViewName=Authorizations%20for%20Self

http://serverURL/RequestCenter/nsapi/transaction/authorizations/ViewName=Authorizations%20for%20Self| Status=Approved

表 3-1 サポー ト されている フ ィ ルタ テーブル (続き)

エンテ ィ テ ィ タ イ プ (Entity Type) 使用可能な フ ィ ルタ /構文 REST URL の例

3-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 62: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要

POST 操作では、 次のフ ィ ルタ がサポー ト さ れています。

ワイルド カー ド検索エン ト リ

エンテ ィ テ ィ 名フ ィ ルタ でワ イル ド カー ド 検索を行 う 場合 (?name=<value> など)、 検索文字列 の先頭のワ イル ド カー ド 文字 (「*」 や 「%」 など) は無視されます。 これ ら の文字が文字列の中ま たは末尾にあ る場合は、 ワ イル ド カー ド 照合で適用さ れます。

名前検索で先頭の ワ イ ル ド カー ド 文字の使用を有効にす る には、 ContainsQueryInFnS プ ロ パ テ ィ を newscale.properties フ ァ イル (RequestCenter.war/WEB-INF/classes/config にあ り ます) で 見つけ、 値を true に設定し ます。

ContainsQueryInFnS=true

タ ス ク ビ ュー名 (View Name)

?viewName=<value>

フ ィ ル タ に使用可能な ビ ュ ー名は、 Service Manager のシステム定 義ビ ューの リ ス ト に対応し ています。 ユーザ定義ビ ューを フ ィ ルタに使用する こ と はでき ません。

http://serverURL/RequestCenter/nsapi/transaction/tasks?viewName=AvailableWork

タ ス ク (特定の要 求 エ ン ト リに関する も の)

タ ス ク タ イ プ (Task Type)

?taskType=<value>

可能な タ ス ク タ イ プは「すべて」、 「提供」、 および 「承認」 です。

タ ス ク ス テータ ス (省略)

?showSkippedTasks=<false|true>

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/RequisitionEntryNumber=1234?taskType=delivery&showSkippedTasks=true

表 3-1 サポー ト されている フ ィ ルタ テーブル (続き)

エンテ ィ テ ィ タ イ プ (Entity Type) 使用可能な フ ィ ルタ /構文 REST URL の例

表 3-2 POST 操作でサポー ト されている フ ィ ルタ テーブル

エンテ ィ テ ィ タ イプ (Entity Type) 使用可能な フ ィ ルタ REST URL の例

Person ロ グ イ ン名ま たは Id

フ ィ ル タ は操作の中で暗黙的に行われ、 個人の識別情報が要求 XML か ら取得さ れます。

http://serverURL/RequestCenter/nsapi/directory/people/update

同 じ URL が作成操作 と 更新操作の両方 で使用さ れます。ユーザの属性を URL に 渡す必要はあ り ません。

タ ス ク ID

/<value>/<done |approve |reject | review>

「|」 は、 指定可能なオプシ ョ ンを 1 つだ け選択す る 必要が あ る こ と を示し ています。

http://serverURL/RequestCenter/nsapi/transaction/tasks/215/approve

3-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 63: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 概要

こ のプ ロパテ ィ は、 Service Manager および Service Link モジ ュールにおけ る ワ イル ド カー ド 検索サポー ト もすべて制御し ます。

(注) こ の よ う な検索操作は、 シ ス テム パフ ォーマン スに悪影響を与え る可能性があ り 、 実稼働環境では一般的に推奨さ れません。

関連付け られている エンテ ィ テ ィ と は、プ ラ イ マ リ エンテ ィ テ ィ と 一緒に取得さ れる、ネ ス ト さ れたエンテ ィ テ ィ の こ と です。た と えば、個人が メ ンバ と し て属し ている OU などがあ り ます。関 連付け ら れてい る エンテ ィ テ ィ 名のフ ィ ルタ は、ワ イル ド カー ド 検索をサポー ト し ません。こ のよ う な フ ィ ル タ に よ る 検索では、完全一致の結果のみが返 さ れます。ま た、大文字小文字が区別さ れます。つま り 、検索文字列内の ワ イ ル ド カー ド 文字は、照合の際に リ テ ラ ル と し て扱われます。次に例を示し ます。

/nsapi/directory/people?ouname=star*OU

組織内の正確に 「star*OU」 と い う 名前の個人を返し ます。

/nsapi/directory/people?groupname=starGroup*

グループ内の正確に 「starGroup*」 と い う 名前の個人を返し ます。

ソー ト コ ン ト ロールとページング コ ン ト ロール

ソー ト

複数のデータ行を返す操作では、 ソー ト コ ン ト ロールを使用で き ます。 フ ィ ルタ の場合 と 同様、 ソー ト コ ン ト ロールは REST URL のパラ メ ータ と し て指定さ れます。

?sortBy=<columnName>&sortDir=<sortOrder>

• sortBy – ソー ト の基準 と する フ ィ ール ド 名。

• sortDir – ソー ト の方向。 指定可能な値は asc (昇順) と desc (降順) です。

どの ソー ト パラ メ ータ も REST URL に渡さ れない場合は、 次の表に示すよ う に、 デフ ォル ト の ソー ト フ ィ ール ド と ソー ト 順序が使用さ れます。

表 3-3 ソー ト パラ メ ータ

エンテ ィ テ ィ タ イ プ (Entity Type) デフ ォル ト のソー ト フ ィ ール ド と ソー ト 順序

カテゴ リ Name (昇順)

サービ ス Name (昇順)

カ リ キ ュ ラ ム Name (昇順)

エージ ェ ン ト (Agents) Name (昇順)

人員 (People) First Name (昇順)

組織 Name (昇順)

グループ (Groups) Name (昇順)

アカ ウ ン ト (Unused Voice Mail Accounts) Name (昇順)

すべてのサービ ス項目 Row Id* (昇順)

サービ ス項目の詳細 (Service item Details) Row Id* (昇順)

標準 (Standards) Row Id* (昇順)

3-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 64: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要

Row Id と は、 サービ ス項目、 標準、 およびカ ス タ ム コ ンテン ツ テーブルにレ コー ド が挿入さ れ た物理的な順序を表し ます。 こ れは、 それ ら の各テーブルの PrimaryID と い う カ ラ ムに対応し ています。

サービ ス項目、 標準、 およびカ ス タ ム コ ンテン ツのエンテ ィ テ ィ はすべてのカ ラ ムの ソー ト を サポー ト し ています。 他のエン テ ィ テ ィ は、 特定のフ ィ ール ド に よ る ソ ー ト だけがサポー ト されています。 詳細については、 API リ フ ァ レ ン スおよび例を参照し て く だ さ い。

/nsapi/directory/people?sortBy=lastName&sortDir=asc

個人レ コー ド が、 姓の昇順に リ ス ト さ れて返さ れます。

/nsapi/directory/people?sortBy=login&sortDir=desc

個人レ コー ド が、 ロ グ イ ン名の降順に リ ス ト さ れて返さ れます。

ページング

複数のデータ行を返す操作では、 ページ コ ン ト ロールを使用で き ます。 ま た、 REST URL のパ ラ メ ータ と し て も指定さ れます。

?startRow=<x>&recordSize=<y>

• startRow - レ コー ド の取得を開始する行。 デフ ォル ト 値は 1 です。

• recordSize – 同時に取得される レ コー ド 数。 デフ ォル ト 値は、 Portal Designer の共通設定で設定さ れます。 許容 大レ コー ド 数は 50 です。

上記の各パラ メ ータおよび返さ れる レ コー ド の総数が、 REST XML 応答のルー ト タ グ内に属性 と し て示さ れます。 次に例を示し ます。

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <categories totalCount="11" recordSize="10" startRow="1"> <category> <categoryId>1</categoryId> <categoryName><b>Consumer Services</b></categoryName> <description /> . . .

取得さ れる レ コー ド 数よ り 大き い startRow を指定する と 、HTTP 500 エ ラーが返さ れます。取得 さ れる レ コー ド 数よ り 大き い recordSize を指定する と 、 すべての行が返さ れます。

カ ス タ ム コ ンテン ツ (Custom Content) Row Id* (昇順)

申請 Submit Date (昇順)、 Requisition Id (昇順)

要求エン ト リ 要求エン ト リ ID (Requisition Entry ID) (昇順)

タ ス ク タ ス ク名 (Task Name) (昇順)、 タ ス ク ID (Task Id) (昇順)

承認 要求 ID (Requisition Id) (昇順)、 タ ス ク ID (Task Id) (昇順)

契約 Agreement Name (昇順)

表 3-3 ソー ト パラ メ ータ (続き)

3-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 65: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 概要

次の例では、 Service Designer で 60 個のサービ スが定義さ れてお り 、 Portal Designer の nsAPI 設 定で指定で き る レ コー ド の 大数が 30 であ る と 想定し ています。

例 1 :

/nsapi/definition/servicedefs

初の 30 個のサービ スが返 さ れます。 こ の よ う な要求に対する応答の例は次の よ う にな り ます。

<services totalCount="60" recordSize="30" startRow="1">. . . </services>

例 2 :

/nsapi/definition/servicedefs?startRow=4

4 番めのサービ スか ら始ま る 30 個のサービ スが返されます。 こ の よ う な要求に対する応答の例 は次の よ う にな り ます。

<services totalCount="60" recordSize="30" startRow="4">. . .</services>

例 3 :

/nsapi/definition/servicedefs?startRow=4&recordSize=5

4 番めのサービ スか ら始ま る 5 個のサービ スが返さ れます。こ の よ う な要求に対する応答の例は 次の よ う にな り ます。

<services totalCount="60" recordSize="5" startRow="4">. . .</services>

例 4 :

/nsapi/definition/servicedefs?startRow=4&recordSize=35

4 番めのサービ スか ら始ま る 30 個のサービ スが返されます。 こ の よ う な要求に対する応答の例 は次の よ う にな り ます。

<services totalCount="60" recordSize="30" startRow="4">. . .</services>

3-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 66: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要

ネス ト されたエンテ ィ テ ィ

あ る種のエンテ ィ テ ィ にはネ ス ト 構造が含まれます。 第 1 レベルの子だけ ま たは関連付け られ たエンテ ィ テ ィ の取得は nsAPI に よ ってサポー ト さ れます。 親エンテ ィ テ ィ およびその子エン テ ィ テ ィ を表にま と めます。

結果セ ッ ト で複数行のデータ を返すカテゴ リ 検索、 サービ ス検索、 ま たは人の検索では、 関連付け ら れたエンテ ィ テ ィ はパフ ォーマン ス上の理由に よ り 取得 さ れません。 関連付け ら れたエンテ ィ テ ィ を利用で き る のは、個々のエンテ ィ テ ィ に対する ID ま たは名前に よ る取得操作の場 合だけです。

/nsapi/directory/people/loginname/<value>

個人が メ ンバー と なっている グループが返さ れます。

<person>. . .<associatedGroups> <associatedGroup> <id>2</id> <name>group2</name> </associatedGroup> <associatedGroup> <id>5</id> <name>group5</name> </associatedGroup> </associatedGroups></person>

/nsapi/directory/people/id/<value>

個人が属し ている グループが返さ れます。

/nsapi/directory/people

個人が属し ている グループは返さ れません。

/nsapi/directory/people?ouname=<value>

個人が属し ている グループは返さ れません。

表 3-4 ネス ト されたエンテ ィ テ ィ

親エンテ ィ テ ィ 子エンテ ィ テ ィ

カテゴ リ カテゴ リ のサブカテゴ リ 、 組み込みサービ ス、 および提供

サービ ス サービ スに関連付け られたカテゴ リ 、 キーワー ド 、 およびバン ド ル サー ビ ス

Person 個人に関連付け られた OU、 グループ、 ロール、 住所、 連絡先、 設定、 お よび代理人

3-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 67: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 概要

JavaScript ポー ト レ ッ ト での nsAPI の使用

nsAPI コールは、 Portal Designer モジ ュールで開発さ れた JavaScript ポー ト レ ッ ト で呼び出すこ と がで き ます。 JavaScript、 REST URL、 AJAX、 ま たは Ext JS コ ン ポーネ ン ト を使用す る と 、 ポー ト レ ッ ト を作成し て目的のエン テ ィ テ ィ のデータ を取得し、 グ リ ッ ド 形式でレ ンダ リ ン グで き ます。

Ext JS グリ ッ ド でデータ をレンダ リ ングする

以下に、 Ext JS を使用し てカテゴ リ の リ ス ト を レ ンダ リ ングする例を示し ます。

getUrl = "/RequestCenter/nsapi/definition/categories";

var proxy = new Ext.data.HttpProxy({ url: getUrl, method: 'GET'});

defaultPageSize = 5;fieldList = [ "categoryId", "categoryName", "description", "topDescriptionEnabled", "topDescription", "topDescriptionURL", "middleDescriptionEnabled", "middleDescription", "middleDescriptionURL", "bottomDescriptionEnabled", "bottomDescription", "bottomDescriptionURL", "catalogTypeId", "catalogType", "isRoot", "descriptionURL", "categoryURL"]

displayList = [ {id: 'id', header: 'Id', width: 50,sortable: false, dataIndex: 'categoryId'}, {header: 'Name',sortable: true, dataIndex: 'categoryName'}, {header: 'Description', dataIndex: 'description',sortable: false}, {header: 'TD Enabled', dataIndex: 'topDescriptionEnabled',hidden:true,sortable: false}, {header: 'Top Description', dataIndex: 'topDescription',hidden:true,sortable: false}, {header: 'Top Description URL', dataIndex: 'topDescriptionURL',hidden:true,sortable: false}, {header: 'Middle DescriptionEnabled', dataIndex: 'middleDescriptionEnabled',hidden:true,sortable: false}, {header: 'Middle Description', dataIndex: 'middleDescription',hidden:true,sortable: false}, {header: 'Middle Description URL', dataIndex: 'middleDescriptionURL',hidden:true,sortable: false}, {header: 'Bottom Description Enabled', dataIndex: 'bottomDescriptionEnabled',hidden:true,sortable: false}, {header: 'Bottom Description', dataIndex: 'bottomDescription',hidden:true,sortable: false}, {header: 'Bottom Description URL', dataIndex: 'bottomDescriptionURL',hidden:true,sortable: false},

3-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 68: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要

{header: 'Catalog Type Id', dataIndex: 'catalogTypeId',hidden:true,sortable: false}, {header: 'Catalog Type', dataIndex: 'catalogType',hidden:true,sortable: false}, {header: 'isRoot', dataIndex: 'isRoot',hidden:true,sortable: false}, {header: 'descriptionURL', dataIndex: 'descriptionURL',hidden:true,sortable: false}, {header: 'URL', dataIndex: 'categoryURL',sortable: false} ]; var store = new Ext.data.XmlStore({ autoDestroy: true, proxy: proxy, root : "categories", record: 'category', idPath: 'rowId', totalProperty: '@totalCount', autoLoad: true, paramNames: { start: 'startRow', limit: 'recordSize', catName : 'categoryName' }, fields: fieldList});

var sortchange = function(obj,direction) { store.setBaseParam("sortBy","categoryName");

store.setBaseParam("sortDir",direction.direction); store.load();}

var grid = new Ext.grid.GridPanel({ renderTo : '#divName#', store : store, autoWidth : true, height : 300, title : 'Category List', colModel: new Ext.grid.ColumnModel({ defaults: { width: 120, sortable: true }, columns:displayList, }), bbar : [new Ext.PagingToolbar({ store : store, displayInfo : true, pageSize : defaultPageSize, params:{ startRow: 1, recordSize: defaultPageSize } })] }); grid.on("sortchange",sortchange);store.setBaseParam("recordSize",5);store.load();

3-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 69: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 概要

ログイン ユーザの取得

現在ロ グ イ ン し てい る ユーザの名前空間変数は JavaScript ポー ト レ ッ ト で使用で き る よ う にな り ます。 次に例を示し ます。

Ext.onReady(function() { /* Demonstrate JavaScript to get Logged-In user details */ alert(‘PersonId: ’ +nsAPP_CurrentUserId); alert(‘Login name: ’ +nsAPP_CurrentUserLoginName); alert(‘First name: ’ +nsAPP_CurrentUserFirstName); alert(‘Last name: ’ +nsAPP_CurrentUserLastName); alert(‘HomeOUId: ‘ +nsAPP_CurrentUserHomeOuId);}

JSR ポー ト レ ッ ト での nsAPI の使用

認証

JSR ポー ト レ ッ ト を介し てア ク セス し た場合、nsAPI Java ク ラ イ アン ト を使用し て ロ グ イ ン操作 およびロ グア ウ ト 操作を呼び出せます。

import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClient;. . .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username", "password" ); // Login by username, password.. . .. . .nsApiClient.logout(); // Logout

. . .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter", sessionId); // Login using current session id.. . .. . .nsApiClient.logout();

ログイン ユーザの取得

次に、 ロ グ イ ン し てい る ユーザの詳細情報を取得する、 Spring ベースの JSR Portlet Controller の 例を示し ます。

import javax.portlet.RenderRequest;import javax.portlet.RenderResponse;import org.springframework.ui.Model;import org.springframework.stereotype.Controller;import com.newscale.nsapi.directory.person.Person;… @Controllerpublic class MyJSRController {private NSApiClient nsApiClient = getNSApiClient();public NSApiClient getNsApiClient() {return nsApiClient; }public void setNsApiClient(NSApiClient nsApiClient) {this.nsApiClient = nsApiClient;

3-11Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 70: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリファレンスおよび例

概要

}@RequestMapping("VIEW")@RenderMapping("NORMAL")public String viewNormal(RenderRequest request, RenderResponse response, Model model) { nsApiClient.login("http://<AppServer host>:<port>/RequestCenter", request.getPortletSession().getId());// Get Currently Logged-in user from nsAPI clientPerson persons = nsApiClient.getDirectory().getCurrentUser();// Get user infolong personId = persons.getPersonId());long homeOUId = persons.getHomeOrganizationalUnitId());String firstName =persons.getFirstName()); String lastName =persons.getLastName()); String username =persons.getLogin()); }}

Get 操作

こ こでは、 エンテ ィテ ィの取得方法を示すサンプル コードの一部をいくつか示します。 これらの方法の詳細については、 個々のエンテ ィテ ィ ク ラスに関する Javadoc を参照して ください。

• Id による個人の取得

package com.newscale.nsapiclient.directory;import com.newscale.nsapi.directory.person.Person;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.directory.Directory;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClient;. . .

NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");

Person person = nsApiClient.getDirectory().getPersonById(123);

/* This is the equivalent of REST URLhttp://<serverURL>/RequestCenter/nsapi/directory/people/id/123*/. . .nsApiClient.logout();

• Name による個人の取得

package com.newscale.nsapiclient.directory;import com.newscale.nsapi.directory.person.Person;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.directory.Directory;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClient;. . .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");Person person = nsApiClient.getDirectory().getPersonByLoginName("jsmith");/* This is the equivalent of REST URLhttp://<serverURL>/RequestCenter/nsapi/directory/people/loginname/jsmith*/

. . .nsApiClient.logout();

3-12Cisco Prime Service Catalog 11.0 アダプタ統合ガイ ド

Page 71: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 概要

• すべての人の取得

package com.newscale.nsapiclient.directory;import com.newscale.nsapi.directory.person.Person;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.directory.Directory;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClient;import java.util.List;import org.apache.commons.collections.map.MultiValueMap;. . .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");

PersonList persons = nsApiClient.getDirectory().getPeople(null);

/* This is the equivalent of REST URL http://<serverURL>/RequestCenter/nsapi/directory/people*/. . .nsApiClient.logout();

• ク エ リ ー フ ィ ルタ に よ る個人の取得

package com.newscale.nsapiclient.directory;import com.newscale.nsapi.directory.person.Person;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.directory.Directory;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClientConstants;import com.newscale.nsapiclient.NSApiClient;import org.apache.commons.collections.map.MultiValueMap;

import java.util.List;

NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");

MultiValueMap filterMap = new MultiValueMap();//this can be used to specify multiple filter criteriafilterMap.put(NSApiClientConstants.QUERYPARAM_NAME, "John");PersonList persons = nsApiClient.getDirectory().getPeople(filterMap);

/* This is the equivalent of REST URLhttp://<serverURL>/RequestCenter/nsapi/directory/people?name=John*/. . .nsApiClient.logout();

• 複数の ク エ リ ー フ ィ ルタ に よ る個人の取得

package com.newscale.nsapiclient.directory;import com.newscale.nsapi.directory.person.Person;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.directory.Directory;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClientConstants;import com.newscale.nsapiclient.NSApiClient;import org.apache.commons.collections.map.MultiValueMap;

import java.util.List;. . .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");

3-13Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 72: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

概要

MultiValueMap filterMap = new MultiValueMap();filterMap.put(NSApiClientConstants.QUERYPARAM_NAME, "John");filterMap.put(NSApiClientConstants.QUERYPARAM_SORTBY, "lastName");filterMap.put(NSApiClientConstants.QUERYPARAM_SORTDIR, "asc");PersonList persons = nsApiClient.getDirectory().getPeople(filterMap);

// This is the equivalent of REST URL// http://<serverURL>/RequestCenter/nsapi/directory/people?name // =John&sortBy=lastName&sortDir=asc // search for people by the name John, // sort the result set by Last Name in ascending order. . .nsApiClient.logout();

Post 操作

こ こ では、 個人の作成および更新方法、 な らびに タ ス ク に対する ア ク シ ョ ンの実行方法を示すサンプル コー ド の一部をい く つか示し ます。 こ れら の方法の詳細については、 個々のエンテ ィ テ ィ ク ラ スに関する Javadoc を参照し て く だ さ い。

• 個人の更新

package com.newscale.nsapiclient.directory;import com.newscale.nsapi.directory.person.Person;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.directory.Directory;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClient;.. .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");Person person = NSApiClient.getDirectory().getPersonById(123);person.setLastName("Smith");Person persons = NSApiClient.getDirectory().updatePerson(person);/* This is the equivalent of posting XML of person 123 with last name changed to "Smith" to the REST URLhttp://<serverURL>/RequestCenter/nsapi/directory/people/update*/. . .nsApiClient.logout();

• 配信タ ス ク の完了

package com.newscale.nsapiclient.transaction;import com.newscale.nsapiclient.transaction.task.TaskAction;import com.newscale.nsapi.NSApiConstants;import com.newscale.nsapiclient.transaction.Transaction;import com.newscale.nsapiclient.NSApiClientFactory;import com.newscale.nsapiclient.NSApiClientConstants;import com.newscale.nsapiclient.NSApiClient;import org.apache.commons.collections.map.MultiValueMap;

import java.util.List;. . .NSApiClient nsApiClient = NSApiClientFactory.getInstance();nsApiClient.login("http://<serverURL>/RequestCenter","username","password");

// This is the equivalent of REST URL// http://<serverURL>/RequestCenter/nsapi/tasks/10/done

NSApiClient.getTransaction().completeTask(10);nsApiClient.logout();

3-14Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 73: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

API リ フ ァ レンスおよび例nsAPI の javadoc は、製品イ ン ス ト ーラ の Image フ ォルダにあ り ます。REST URL および java ク ラ イ アン ト か ら nsAPI を呼び出す例を、 サポー ト されている エンテ ィ テ ィ ご と に示し ます。

定義データ

カテゴ リ

表 3-1 カテゴ リ API テーブル

領域 例

Core API すべてのカテゴ リ の取得

デフ ォル ト では、 タ イ プが 「Service Catalog」 のカテゴ リ のみが返されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/categories?catalogType=serviceCatalog

Java の例

CategoryList categories = NSApiClient.getDefinition().getCategories(null);

すべての コ ンシ ューマ サービ ス カテゴ リ の取得

「Consumer Services」 タ イ プのすべてのカテゴ リ が返されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/categories

Java の例

CategoryList categories = NSApiClient.getDefinition().getCategories("serviceCatalog");

Name に よ る コ ンシ ューマ サービ ス カテゴ リ の取得

指定し た名前のサービ ス カ タ ロ グ カテゴ リ が返さ れます。ネ ス ト さ れたエンテ ィ テ ィ (サブカテゴ リ および組み込みサービ ス) が取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/categories/name/<categoryName>

Java の例

Category categories = NSApiClient.getDefinition().getCategoryByName("<categoryName>");

3-15Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 74: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

Id に よ る コ ンシ ューマ サービ ス カテゴ リ の取得

指定し た Id のサービ ス カ タ ロ グ カテゴ リ が返さ れます。 ネ ス ト さ れたエンテ ィ テ ィ (サブカテゴ リ および組み込みサービ ス) が取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/categories/id/<categoryId>

Java の例

Category categories = NSApiClient.getDefinition().getCategoriesById(<categoryId>);

Name に よ る提供サービ ス カテゴ リ の取得

ネ ス ト さ れたエン テ ィ テ ィ (サブカテ ゴ リ および組み込み提供) が含まれます。指定し た名前のサービ ス提供カテゴ リ が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/categories/name/<categoryName>?catalogType=offeringCatalog

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put(QUERYPARAM_CATALOG_TYPE, "offeringCatalog");Category categories = NSApiClient.getDefinition().getCategoryByName("<categoryName>");

フ ィ ルタ(Filters)

カテゴ リ 名フ ィ ルタ

検索では大文字 と 小文字が区別さ れます。

StartsWith (newscale.properties の ContainsQueryInFnS=false):先頭のワ イル ド カー ド は無視さ れます。

Contains (newscale.properties の ContainsQueryInFnS=true) : 先頭の ワ イ ル ド カー ド は適用さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/categories?name=<wildcardValue>&catalogType=serviceCatalog

Java の例MultiValueMap paramsMap = new MultiValueMap();paramsMap.put(QUERYPARAM_CATALOG_TYPE, "serviceCatalog");paramsMap.put(QUERYPARAM_NAME, "<wildcardValue>");CategoryList categories = NSApiClient.getDefinition().getCategories(paramsMap);

表 3-1 カテゴ リ API テーブル

領域 例

3-16Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 75: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

ソー ト カ ラ ム

CategoryName

応答 XML <categories totalCount="x" recordSize="y" startRow="z"> <category> . . . <associatedServices> . . . <associatedService> <description> </description> <id></id> <imageURL></imageURL> <name> </name> <status> </status> </associatedService> . . . </associatedServices> . . . </category></categories>

表 3-1 カテゴ リ API テーブル

領域 例

3-17Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 76: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

環境

3-18Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 77: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

表 3-2 環境 API テーブル

領域 例

コ ア API パブ リ ッ ク GUI ID を使用し て AMQP 環境の詳細を取得 (パブ リ ッ ク GUI ID : [管理 (Administration) ] > [設定 (Settings) ] に移動し、 パブ リ ッ ク /プ ラ イベー ト キーを指定し ます)

すべての AMQP 環境の詳細が返さ れます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/messagebroker/service/<serviceName>?publicKeyGUID=...

http://<ServerURL>/RequestCenter/nsapi/messagebroker/overview?publicKeyGUID=...

ス テータ ス コー ド : 200 OK

ス テータ ス コー ド : 400 Bad request

パ ブ リ ッ ク キ ー GUID を 使用 し た 暗号化 ク レ デ ン シ ャ ルの詳細につい て は、 「AMQP と の統合」 の項を参照し て く だ さ い。

プ ロバイ ダー タ イ プ、 短縮名に よ り ク ラ ウ ド 接続の詳細を取得

指定し た短縮名について、 Base64 符号化形式の SSL 証明書を含む、 ク ラ ウ ド タ イ プ (UCSD/ICFD/PUPPET など) の接続情報が返さ れます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/connections/provider/{providerName}/shortName/{shortName}

{Provider name} には UCSD/ICFD/PUPPET を指定で き、 {psc} は接続に使用さ れる 短縮名 ID です。接続イ ンシデン ト が https の場合、 API は接続に使用するルー ト 証 明書を返し ます。 接続の SSL 証明書 (Base 64 形式) も返さ れます。

ス テータ ス コー ド : 200 OK

ス テータ ス コー ド : 400 Bad request

サンプル応答 :

{

"connections":

{

"connection":

[

{

"primaryID": 2,

"userName": "admin",

"protocol": "https",

"hostName": "172.21.38.151",

"description": "...",

"url": "https://172.21.38.151:443/app/api/rest",

"port": 443,

3-19Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 78: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービス

プ ロバイ ダー タ イ プ、パブ リ ッ ク GUI ID を使用し た短縮名に よ り 、 ク ラ ウ ド の接 続詳細を取得

外部シ ス テムのパブ リ ッ ク キー GUID が ク エ リ ー パ ラ メ ータ と し て渡さ れた場 合、 応答内の ク レデンシ ャル (パス ワー ド と ト ーク ン) は GUID に関連付け られ てい るパブ リ ッ ク キーに よ り 暗号化さ れます (PO のセキ ュ ア ス ト リ ング形式を 使用)。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/connections/provider/{providerName}/shortName/{shortName}?publicKeyGUID=..

パブ リ ッ ク キー GUID が渡さ れないか、 間違っている場合、 ス テータ ス コー ド : 400 不正な要求が返さ れます。

表 3-3 サービス API テーブル

領域 例

コ ア API すべてのサービ スの取得

すべてのサービ スが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs

Java の例

ServiceList services = NSApiClient.getDefinition().getServices(null);

サービ ス カ タ ロ グのワ イル ド カー ド 検索に よ るすべてのサービ スの取得

サービ スの名前、 サービ スの説明、 カテゴ リ 、 ま たはキーワー ド が検索文字列 と 一致し ている サービ スがすべて返さ れます。先頭のワ イル ド カー ド はサポー ト されません。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs?search={wildcardValue*}

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("search", "<wildcardValue*>");ServiceList services = NSApiClient.getDefinition().getServices(paramsMap);

表 3-2 環境 API テーブル (続き)

領域 例

3-20Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 79: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

Id に よ る サービ スの取得

ネ ス ト さ れたエンテ ィ テ ィ (関連付け られてい る カテゴ リ およびキーワー ド ) は、getById および getByName の場合にのみ取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs/id/<serviceId>

Java の例

Service services = NSApiClient.getDefinition().getServiceById(<serviceId>);

Name に よ る サービ スの取得

ネ ス ト さ れたエンテ ィ テ ィ (関連付け られてい る カテゴ リ およびキーワー ド ) は、getbyId および getByName の場合にのみ取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs/name/<serviceName>

Java の例

Service services = NSApiClient.getDefinition().getServiceByName("<serviceName>");

カテゴ リ に含まれるすべてのサービ スの取得

そのカテゴ リ に関連付け られているすべてのサービ スが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs?categoryName=<categoryName>

Java の例

ServiceList services =NSApiClient.getDefinition().getServiceByCategoryName("<categoryName>");

キーワー ド に よ るすべてのサービ スの取得

そのキーワー ド に関連付け られているすべてのサービ スが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs?keywordName=<keyword>

Java の例

ServiceList services = NSApiClient.getDefinition().getServiceByKeyword("<keyword>");

表 3-3 サービス API テーブル (続き)

領域 例

3-21Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 80: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

サービ ス名フ ィ ルタ

検索では大文字 と 小文字が区別さ れます。

StartsWith (newscale.properties の ContainsQueryInFnS=false) : 先頭のワ イル ド カー ド は無視さ れます。

Contains (newscale.properties の ContainsQueryInFnS=true) : 先頭のワ イル ド カー ド は、 必要に応じ て指定し て く だ さ い。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/servicedefs?name=<wildcardValue>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("name","<wildcardValue>");ServiceList servicesList = NSApiClient.getDefinition().getServices(paramsMap)

ソー ト カ ラ ム

ServiceName

応答 XML <services totalCount="x" recordSize="y" startRow="z"> <service> . . . <includedServices> . . . <includedService> <id></id> <name> </name> </includedService> . . . </includedServices> . . . </service></services>

表 3-3 サービス API テーブル (続き)

領域 例

3-22Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 81: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

CategoriesExtensions およびファセッ ト

カテゴ リ 、 フ ァ セ ッ ト 、 および拡張子に よ り サービ ス を作成/更新し ます。

新し いサービ スに POST を使用 - サービ スがすでに存在する場合、エ ラーが発生し ます。 カテゴ リ 、 フ ァ セ ッ ト 、 および拡張子を作成/更新し、 それをサービ スに関連付けます。

既存のサービ ス を更新する ために PUT を使用 - サービ スが存在し ない場合、エ ラー が発生し ます。 カテゴ リ 、 フ ァ セ ッ ト 、 および拡張子を作成/更新し て、 それをサービ スに関連付けます。

REST URL:

/RequestCenter/nsapi/cloud/marketplace/service

サンプル ペイ ロー ド :

{

"serviceName": "TestServiceT225", "serviceId": "...", "templateName": "TestService", "templateCategory" : "TemplateCategory", "description": "test", "imageData": "", "imageURL": "$RC_IMAGEPATH$/ABCServer.jpeg", "overview": "<p><strong>Product Details<\/strong><br />Version: 1.23.0-0 on Ubuntu 12.04.4<br />", "serviceGroupName": "TestGrp",

"categories": [

{

"name": "TestABCImageURL2", "description" : "TestDesc", "imageURL": "$RC_IMAGEPATH$/ABCServer.jpeg"}

],

"facetes": {

"facetlogicname1" : {"displayName" : "Facet 1", "values" : ["f1val1", "f1val2", "f1val3", "f1val4"]},

"facetlogicname2" : {"displayName" : "Facet 2", "values" : ["f2val1", "f2val2"]}

},

"extensions": {

"extensionlogicname1" : {"displayName" : "Extension 1", "values" : "extval1"},

"extensionlogicname2" : {"displayName" : "Extension 2", "values" : "extval2"}

}

}

サンプルの応答 XML :

{ "JSONObject":

{

"serviceName": "TestNewJSON1-TestNew",

"serviceEndpoint":

"/RequestCenter/nsapi/definition/servicedefs/name/TestNewJSON1-TestNew"

}

}

表 3-3 サービス API テーブル (続き)

領域 例

3-23Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 82: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービ スのカテゴ リ の リ ン ク を解除する

POST REST URL :

http://<Server URL>/RequestCenter/nsapi/definition/servicedefs/id/{serviceId}/delinkCategories

サンプル ペイ ロー ド :

{"categories" :["catname1","catname2",...]}

ス テータ ス コー ド : 200 OK

ス テータ ス コー ド : 400 Bad request

サンプル応答 :

{

status-message:

{

code: "...."

value: "....."

}

}

表 3-3 サービス API テーブル (続き)

領域 例

3-24Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 83: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

さ ま ざ ま なシナ リ オにおけ る応答 :

1. 渡さ れた serviceId が存在し ない場合 :

HTTP コー ド : 404

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0001"

errormessage: "ServiceId does not exist."

}

}

2. 渡さ れる カテゴ リ のいずれかがサービ ス と 関連付け られていない場合 : HTTP コー ド : 404 HTTP 応答 : { nsapi-error-response: { errorcode: "SERV_0003" errormessage: "Categories could not be unlinked from the Service." } }

3. すべての汎用例外で、 JSON 応答は次の よ う にな り ます。 HTTP コー ド : 500 HTTP 応答 : { nsapi-error-response: { errorcode: "EXC_0001" errormessage: "Some NSAPI Exception Occurred." } }

4. ロ グ イ ン ユーザに serviceId で識別さ れるサービ スに対する RBAC 権限がない場合 : HTTP コー ド : 401 HTTP 応答 : { nsapi-error-response: { errorcode: "NSAPI_ERROR_004" errormessage: "The user does not have sufficient permission to perform the operation on this object." } }

表 3-3 サービス API テーブル (続き)

領域 例

3-25Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 84: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

5. カテゴ リ の リ ン ク解除が正常に行われた場合 : HTTP コー ド : 200 HTTP 応答 : { status-message: { code: "Success" value: "Categories Unlinking is done Successfully for the Service." } }

表 3-3 サービス API テーブル (続き)

領域 例

3-26Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 85: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

サービ スか ら のフ ァ セ ッ ト の リ ン ク解除

POST REST URL :

http://<Server URL>/RequestCenter/nsapi/definition/servicedefs/id/{serviceId}/delinkFacets

ペイ ロー ド はフ ァ セ ッ ト 名 (<facetName> は表示名ではな く 、 フ ァ セ ッ ト の名前) と 、 次の JSON 配列形式の値を と り ます。

{

"<facets>" :["<facet1>","<facet2>",...]

}

さ ま ざ ま なシナ リ オにおけ る応答 :

1. 渡さ れた serviceId が存在し ない場合 :

HTTP コー ド : 404

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0001"

errormessage: "ServiceId does not exist."

}

}

2. フ ァ セ ッ ト がサービ スに関連付け られていない場合 : HTTP コー ド : 404 HTTP 応答 : { nsapi-error-response: { errorcode: "SERV_0005" errormessage: "Facets could not be unlinked from the Service." } }

3. ロ グ イ ン ユーザに serviceId で識別さ れるサービ スに対する RBAC 権限がない場合 : HTTP コー ド : 401 HTTP 応答 : nsapi-error-response: { errorcode: "NSAPI_ERROR_004" errormessage: "The user does not have sufficient permission to perform the operation on this object" } }

表 3-3 サービス API テーブル (続き)

領域 例

3-27Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 86: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

4. すべての汎用例外で、 JSON 応答は次の よ う にな り ます。 HTTP コー ド : 500 HTTP 応答 : { nsapi-error-response: { errorcode: "EXC_0001" errormessage: "Some NSAPI Exception Occurred." } }

5. フ ァ セ ッ ト の リ ン ク解除が正常に行われた場合 : HTTP コー ド : 200 HTTP 応答 : { status-message: { code: "Success" value: "Facets Unlinking is done Successfully for the Service." } }

表 3-3 サービス API テーブル (続き)

領域 例

3-28Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 87: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

複数値のフ ァ セ ッ ト か ら値を リ ン ク 解除し ます。 こ の API は複数値のフ ァ セ ッ ト に対し てのみ適用で き ます。

POST REST URL :

http://<Server URL>/RequestCenter/nsapi/definition/servicedefs/id/{serviceId}/delinkMultiValueFacet

ペイ ロー ド はフ ァ セ ッ ト 名 (<facetName> は表示名ではな く 、 フ ァ セ ッ ト の名前) と 、 次の JSON 配列形式の値を と り ます。

{

"<facetName>" :["<facetValue1>","<facetValue2>",...]

}

さ ま ざ ま なシナ リ オにおけ る応答 :

1. 渡さ れた serviceId が存在し ない場合 :

HTTP コー ド : 404

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0001"

errormessage: "ServiceId does not exist."

}

}

2. フ ァ セ ッ ト 値がサービ スに関連付け られていない場合:

HTTP コー ド : 404

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0005"

errormessage: "Facet values could not be unlinked from the Service."

}

}

表 3-3 サービス API テーブル (続き)

領域 例

3-29Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 88: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

3. ロ グ イ ン ユーザに serviceId で識別さ れる サービ スに対する RBAC 権限がない場合 :

HTTP コー ド : 401

HTTP 応答 :

nsapi-error-response:

{

errorcode: "NSAPI_ERROR_004"

errormessage: "The user does not have sufficient permission to perform the operation on this object"

}

}

4. すべての汎用例外で、 JSON 応答は次の よ う にな り ます。 HTTP コー ド : 500 HTTP 応答 : { nsapi-error-response: { errorcode: "EXC_0001" errormessage: "Some NSAPI Exception Occurred." } }

5. フ ァ セ ッ ト 値の解除が正常に行われた場合 : HTTP コー ド : 200 HTTP 応答 : { status-message: { code: "Success" value: "Facet Values Unlinking is done Successfully for the Service." } }

表 3-3 サービス API テーブル (続き)

領域 例

3-30Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 89: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

サービ スか ら サービ ス拡張子を リ ン ク解除する

POST REST URL :

http://<Server URL>/RequestCenter/nsapi/definition/servicedefs/id/{serviceId}/delinkServiceExtensions

ペイ ロー ド は次の JSON 配列形式のサービ ス拡張子名 (<serviceExtensions> は表示 名ではな く 、 論理名) を と り ます。

{

"serviceExtensions" : ["serExt1","serExt2",...]}

さ ま ざ ま なシナ リ オにおけ る応答 :

1. 渡さ れた serviceId が存在し ない場合 :

HTTP コー ド : 404

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0001"

errormessage: "ServiceId does not exist."

}

}

2. サービ ス拡張子がサービ スに関連付け られていない場合: HTTP コー ド : 404 HTTP 応答 : { nsapi-error-response: { errorcode: "SERV_0004" errormessage: "Servce Extensions could not be unlinked from the Service." } }

3. ロ グ イ ン ユーザに serviceId で識別さ れるサービ スに対する RBAC 権限がない場合 : HTTP コー ド : 401 HTTP 応答 : nsapi-error-response: { errorcode: "NSAPI_ERROR_004" errormessage: "The user does not have sufficient permission to perform the operation on this object" } }

表 3-3 サービス API テーブル (続き)

領域 例

3-31Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 90: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

4. すべての汎用例外で、 JSON 応答は次の よ う にな り ます。

HTTP コー ド : 500

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "EXC_0001"

errormessage: "Some NSAPI Exception Occurred."

}

}

5. サービ ス拡張子の リ ン ク解除が正常に行われた場合 :

HTTP コー ド : 200

HTTP 応答 :

{

status-message:

{

code: "Success"

value: "Service Extensions Unlinking is done Successfully for the Service."

}

}

表 3-3 サービス API テーブル (続き)

領域 例

3-32Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 91: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

サービ スの削除

こ の API は次の URL で削除する サービ スの ID を と り ます。

http://<Server URL>/RequestCenter/nsapi/definition/servicedefs/id/{id}

HTTP メ ソ ッ ド : DELETE

1. サービ スの削除が正常に終了し た場合 :

HTTP コー ド : 200

HTTP 応答 :

{

status message:

{

code: “Success”

"value": "Service with ServiceID {id} deleted successfully.”

}

}

2. 渡さ れた serviceId が存在し ない場合 :

HTTP コー ド : 404

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0001"

errormessage: "ServiceId does not exist."

}

}

3. サービ スに要求があ り 、 削除で き ない場合

HTTP コー ド : 403

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "SERV_0002"

errormessage: "Service Cannot be deleted since it already exists amongst requisitions"

}

}

表 3-3 サービス API テーブル (続き)

領域 例

3-33Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 92: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

エージ ェ ン ト (Agents)

4. 一般的な例外

HTTP コー ド : 500

HTTP 応答 :

{

nsapi-error-response:

{

errorcode: "EXC_0001"

errormessage: "Delete Service Failed"

}

}

5. ロ グ イ ン ユーザに serviceId で識別さ れる サービ スに対する RBAC 権限がない場合 :

HTTP コー ド : 401

HTTP 応答 :

nsapi-error-response:

{

errorcode: "NSAPI_ERROR_004"

errormessage: "The user does not have sufficient permission to perform the operation on this object"

}

}

表 3-4 エージ ェ ン ト API テーブル

領域 例

コ ア API エージ ェ ン ト の停止

ア ク テ ィ ブなサービ ス リ ン ク エージ ェ ン ト を停止し ます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/agent/<agent name>/stop

エージ ェ ン ト の起動

非ア ク テ ィ ブなサービ ス リ ン ク ・ エージ ェ ン ト を起動し ます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/agent/<agent name>/start

応答 XML Agent<agent name> <started/stopped> successfully

表 3-3 サービス API テーブル (続き)

領域 例

3-34Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 93: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

表 3-4 エージ ェ ン ト API テーブル(続き)

領域 例

コ ア API すべてのエージ ェ ン ト の取得

すべてのエージ ェ ン ト が返さ れます。

GET REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/agents

Java の例

AgentList agents = NSApiClient.getDefinition().getAgents(null);

Id に よ る エージ ェ ン ト の取得

発信および着信のプ ロパテ ィ は、getById および getByName の場合にのみ取得さ れ ます。

GET REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/agents/id/<agentId>

Java の例

Agent agents = NSApiClient.getDefinition().getAgentById(<agentId>);

Name に よ る エージ ェ ン ト の取得

発信および着信のプ ロパテ ィ は、getById および getByName の場合にのみ取得さ れ ます。

GET REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/agents/name/<agentName>

Java の例

Agent Agents = NSApiClient.getDefinition().getAgentByName("<agentName>");

エージ ェ ン ト のス テータ スの取得

エージ ェ ン ト のス テータ ス を取得し ます。

GET REST URL :

http://<ServerURL>/RequestCenter/nsapi/definition/agent/<agentName>/status

フ ィ ルタ(Filters)

エージ ェ ン ト 名フ ィ ルタ

検索では大文字 と 小文字が区別さ れます。

StartsWith (newscale.properties の ContainsQueryInFnS=false) : 先頭のワ イル ド カー ド は無視さ れます。

Contains (newscale.properties の ContainsQueryInFnS=true) : 先頭のワ イル ド カー ド は、 必要に応じ て指定し て く だ さ い。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agents?name=<wild cardValue>

Java の例

AgentList agents = NSApiClient.getDefinition().getAgentsByFilter("<wildcardValue>");

3-35Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 94: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリファレンスおよび例

API リファレンスおよび例

ソー ト カラム

AgentName

応答 XML <agents totalCount="x" recordSize="y" startRow="z"> <agent> . . . </agent></agents>

表 3-4 エージェン ト API テーブル(続き)

領域 例

3-36Cisco Prime Service Catalog 11.0 アダプタ統合ガイ ド

Page 95: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリファレンスおよび例 API リファレンスおよび例

契約

表 3-5 契約 API テーブル

領域 例

APIs の取得

Id による契約の取得

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/id/<agreementId>

Name による契約の取得

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/name/<agreementName>

すべてのマスター契約の取得

すべてのマスター契約が返されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/master

すべてのプロジェ ク ト契約の取得

すべてのプロジェ ク ト契約が返されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/project

アカウン ト名のすべての契約を取得

そのアカウン ト名のすべての契約が返されます (完全一致、 大文字小文字は区別されません)。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/accountname/{accountName}

アカウン ト名の契約の取得

そのアカウン ト名の契約が返されます (アカウン ト名はこの領域で必須です)。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/name/{agreementname}?&accountName={accountName}

ソー ト カラム(s)

AgreementName

応答 XML

<agreements totalCount="x" recordSize="y" startRow="z"> <agreement> . . . </agreement></agreements>

3-37Cisco Prime Service Catalog 11.0 アダプタ統合ガイド

Page 96: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

表 3-6 使用シナ リ オ テーブル

領域 例

他の使用シナ リ オ

アカ ウ ン ト 下のすべての OU の取得

こ のアカ ウ ン ト で関連付け られてい るすべての OU が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/agreementorgunitlist?&accountName={accountName}

契約の作成

REST URL (HTTP POST): http://<ServerURL>/RequestCenter/nsapi/definition/agreements/create

<agreement agreementId="123" name="Sample Agreement Name">parentAgreementName="Sample Parent Agreement Name" ><description>Sample Agreement Description</description><agreementTemplateName>Sample Agreement Template Name</agreementTemplateName></agreement>

契約の削除

REST URL (HTTP DELETE): http://<ServerURL>/RequestCenter/nsapi/definition/agreements/delete

<agreement agreementId="123" name="Sample Agreement Name"></agreement>

契約の更新

REST URL (HTTP PUT):

http://<ServerURL>/RequestCenter/nsapi/definition/agreements/update

<agreement agreementId="123" name="Sample Agreement Name"accountName="Sample Account Name" parentAgreementName="Sample Parent Agreement Name"><description>Sample Agreement Description</description><agreementAttributes><agreementAttribute serviceItemTypeName="Sample Service Item Type Name 1"aggregateFunction="Count" serviceItemAttribute="" quota="123" /><agreementAttribute serviceItemTypeName="Sample Service Item Type Name 2"aggregateFunction="Count" serviceItemAttribute="" quota="456" /><agreementAttribute serviceItemTypeName="Sample Service Item Type Name 2"aggregateFunction="Sum" serviceItemAttribute="Sample Attribute Name" quota="789" /></agreementAttributes><organizationalUnits><organizationalUnit><organizationalUnitName>Sample OU Name</organizationalUnitName><organizationalUnitType>Business Unit</organizationalUnitType></organizationalUnit></organizationalUnits></agreement>

3-38Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 97: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

課金レー ト

課金レー ト グループ

表 3-7 課金レー ト グループ API テーブル

領域 例

Core API すべての課金レー ト グループの取得

すべての課金レー ト グループが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/rategroups

ID に よ る レー ト グループの取得

ID に よ り 課金レー ト グループが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/rategroups/id/{id}

名前に よ る レー ト グループの取得

名前に よ り 課金レー ト グループが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/rategroups/name/{name}

ワ イル ド カー ド 名前検索に よ る レー ト グループの取得

ワ イル ド カー ド 名前検索に よ り 課金レー ト グループが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/rategroups?name={wildcard name}

レー ト グループの作成 (1 レー ト グループ オブジ ェ ク ト のみ)

REST URL (HTTP POST):

http:// <ServerURL>/RequestCenter/nsapi/definition/billing/rategroups/create

POST DATA:

<rateGroup name=”Sample Rate Group” description=”Sample rate group description”>

<rateTables>

<rateTable id=”1” name=”First”/>

<rateTable id=”2” name=”Second”/>

<rateTable id=”3” name=”Third”/>

</rateTables>

</rateGroup>

3-39Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 98: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

課金レー ト 定義

レー ト グループの更新 (1 レー ト グループ オブジ ェ ク ト のみ)

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/rategroups/update

本文

<rateGroup id=”123” name=”Sample Rate Group” description=”Sample rate group description”>

<rateTables>

<rateTable id=”1” name=”First”/>

<rateTable id=”2” name=”Second”/>

<rateTable id=”3” name=”Third”/>

</rateTables>

</rateGroup>

レー ト グループの削除 (1 レー ト グループ オブジ ェ ク ト のみ)

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/rategroups/delete

BODY:

<rateGroup id=”123” name=”Sample Rate Group Name” />

表 3-7 課金レー ト グループ API テーブル (続き)

領域 例

表 3-8 課金レー ト 定義 API テーブル

領域 例

グループ名に よ るすべての課金レー ト テーブルの取得

ID、 名前、 説明、 サービ ス項目タ イ プの ID と 名前を持つレー ト テーブルの軽量 オブジ ェ ク ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/rategroupname/{groupName}

グループ ID に よ るすべての課金レー ト テーブルの取得

ID、 名前、 説明、 サービ ス項目タ イ プの ID と 名前を持つレー ト テーブルの軽量 オブジ ェ ク ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/rategroupid/{groupID}

3-40Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 99: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

名前に よ る レー ト テーブル定義ま たはス キーマ詳細の取得

名前に よ る レー ト テーブル定義ま たはス キーマ詳細が返さ れます。属性 と 操作情 報が付いた完全な レー ト テーブル定義が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/schema/name/{name}

ID に よ る レー ト テーブル定義ま たはス キーマ詳細の取得

属性 と 操作情報が付いた完全な レー ト テーブル定義が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/schema/id/{id}

ワ イル ド カー ド 名前検索に よ る レー ト テーブルの取得

ID、 名前、 説明、 グループ ID と 名前、 サービ ス項目タ イ プ ID と 名前を持つレー ト テーブルの軽量オブジ ェ ク ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/schema?name={wild card name}

レー ト テーブル ス キーマの作成 (1 レー ト テーブル オブジ ェ ク ト のみ)

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/schema/create

<rateTable id=”" name=”Sample Rate Table” logicName=”SampleRateTable” description=”Sample Rate Table Description”>

<rateGroup id=”123” name=”Sample Rate Group Name”/>

<serviceItemType id=”123” name=”Sample Service Item Type Name”/>

<billingAttributes>

<attribute name="Attribute Name 1" billingField=”true” memoField=”false”/>

<attribute name="Attribute Name 2" billingField =”false” memoField =”false”/>

<attribute name="Attribute Name 3" billingField =”true” memoField =”false”/>

</billingAttributes>

<billingOperations>

<operation name="Operation1" applicable=”false”/>

<operation name="Operation2" applicable =”true”/>

<operation name="Operation3" applicable =”true”/>

</billingOperations>

</rateTable>

表 3-8 課金レー ト 定義 API テーブル (続き)

領域 例

3-41Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 100: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

レー ト テーブル ス キーマの更新 (1 レー ト テーブル オブジ ェ ク ト のみ)

課金レー ト テーブル ス キーマを更新し ます (1 レー ト テーブル オブジ ェ ク ト のみ)。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/schema/update

<rateTable id=”123" name=”Sample Rate Table” logicName=”BiSampleRateTable” description=”Sample Rate Table Description”>

<rateGroup id=”123” name=”Sample Rate Group Name”/>

<serviceItemType id=”123” name=”Sample Service Item Type Name”/>

<billingAttributes>

<attribute name="Attribute Name 1" billingField=”true” memoField=”false”/>

<attribute name="Attribute Name 2" billingField =”false” memoField =”false”/>

<attribute name="Attribute Name 3" billingField =”true” memoField =”false”/>

</billingAttributes>

<billingOperations>

<operation name="Operation1" applicable=”false”/>

<operation name="Operation2" applicable =”true”/>

<operation name="Operation3" applicable =”true”/>

</billingOperations>

</rateTable

レー ト テーブル ス キーマの削除 (1 レー ト テーブル オブジ ェ ク ト のみ)

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/schema/delete

<rateTable id=”123" name=”Sample Rate Table” logicName="BiSampleRateTable" />

表 3-8 課金レー ト 定義 API テーブル (続き)

領域 例

3-42Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 101: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

課金レー ト データ

表 3-9 課金レー ト データ API テーブル

領域 例

レー ト テーブル名に よ る レー ト テーブル データ の取得

レー ト テーブル 名に よ り 課金レー ト テーブルのデータ が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/data/tablename/{tableName}

レー ト テーブル ID に よ る レー ト テーブルの取得

レー ト テーブル ID に よ り 課金レー ト テーブルのデータ が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/data/tableid/{tableID}

3-43Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 102: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

レー ト テーブル データ の更新 (1 レー ト テーブル オブジ ェ ク ト のみ)

レー ト テーブル データ の既存のエン ト リ が消去 さ れ、 特定の入力データ を挿入 し ます (「置換」 などの作業)。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/definition/billing/ratetables/data/update

<rateTableData id=”123” name=”Sample Rate Table” logicName=”BiSampleRateTable”>

<rateTableRecord rate=”123.45” rateCode=”RateCode1” unitOfMeasure=”Per Month”>

<attributes>

<attribute name="Attribute Name

1">Value1</attribute>

<attribute name="Attribute Name

2">Value2</attribute>

<attribute name="Attribute Name

3">Value3</attribute>

</attributes>

</rateTableRecord>

<rateTableRecord rate=”456.78” rateCode=”RateCode2” unitOfMeasure=”Per Week”>

<attributes>

<attribute name="Attribute Name

11">Value11</attribute>

<attribute name="Attribute Name

12">Value12</attribute>

<attribute name="Attribute Name

13">Value13</attribute>

</attributes>

</rateTableRecord>

</rateTableData

表 3-9 課金レー ト データ API テーブル (続き)

領域 例

3-44Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 103: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

• URL で許可さ れるパラ メ ータ:URL で許可さ れるパラ メ ータは startRow、recordSize、sortBy、sortDir、および responseType(xml ま たは json)です。

• 「RateGroup」および「RateTable」での検索 URL:ソー ト を実行する カ ラ ム とソー ト 順を指定する には、「sortBy」および「sortDir」ク エ リ ー パ ラ メ ータ を使用で き ます。「sortBy」が空ま たは無効なカ ラ ム名であ る場合、デフ ォル ト のソー ト は「ID」に対する「昇順」です。

• 「RateTableData」 での検索 URL : デフ ォル ト の ソー ト は 「ID」 に対する 「降順」 です。 「sortBy」 および 「sortDir」 ク エ リ ー パ ラ メ ータはサポー ト されません。

• ワ イル ド カー ド 検索では 「starts-with」 が使用で き、 パフ ォーマン ス上の理由か ら contains ク エ リ ーおよび先頭のワ イル ド カー ド 検索はで き ません。

• レー ト テーブル ス キーマの作成/更新では、 レー ト グループおよびサービ ス項目タ イ プは名前に基づき ます。 ID があ る場合、 ID と 名前の組み合わせのク ロ スチェ ッ ク を試みた後に、 更新ま たは削除を実行し ます。

• レー ト グループま たはレー ト テーブルの更新/削除では、 ID があれば ID に基づき ます。 ID がない場合は名前に基づき ます。

• レー ト テーブル ス キーマ検索では、 属性は 「課金」 ま たは 「 メ モ」 フ ィ ール ド と し て選択さ れてい る場合にのみ取得さ れます。 ま た、 操作は適用可能と 選択さ れた場合にのみ取得さ れます。

• レー ト テーブル ス キーマの作成では、 レー ト グループ名およびサービ ス項目タ イ プ名は必須であ り 、 ID は任意選択です。 ID があ る場合は、 レー ト テーブルの作成前に ID と 名前の組み合わせが ク ロ スチェ ッ ク さ れます。

• レー ト テーブル ス キーマの更新では、 属性ま たは操作は、 それら が入力オブジ ェ ク ト に指定さ れた場合にのみ更新さ れます (選択ま たは選択解除)。そ う でない場合は、 既存の属性や操作を変更し ないでそのま まに し ておきます。

• レー ト テーブル データ の更新では、 レー ト テーブル データ の既存のレ コード がすべて削除さ れ、 入力 XML/JSON のレ コー ド がレー ト テーブル データと し て保存さ れます。

• 課金履歴ポー ト レ ッ ト UI のすべての検証が、 すべての作成、 更新、 削除に対し て実行さ れます。

ソー ト カ ラ ム

ソー ト は URL で許可さ れる 2 つのカ ラ ム (「ID」 ま たは 「名前」) で可能です。

表 3-9 課金レー ト データ API テーブル (続き)

領域 例

3-45Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 104: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

応答 XML 軽量レー ト グループ リ ス ト の XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<rateGroups recordSize="2" startRow="1" totalCount="2">

<rateGroup id="11" name="Sample Rate Group 1" description="First group" /><rateGroup id="22" name="Sample Rate Group 2" description="Second group" /></rateGroups>

単一 レー ト グループ取得の XML

レー ト グループの更新要求のペイ ロー ド と 同じ

グループの ID ま たは名前に よ り 取得さ れる軽量レー ト テーブル リ ス ト の XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <rateTables recordSize="2" startRow="1" totalCount="2"><rateTable id="12" name="Small scale Rate Table" logicName="BiSmallscaleRateTable" description="Rate table for small scale businesses"> <serviceItemType id="6" name="Laptop"/> </rateTable><rateTable id="22" name="Large scale Rate Table" logicName="BiLargescaleRateTable" description="Rate table for large scale businesses"> <serviceItemType id="4" name="Desktop"/> </rateTable></rateTables>

単一レー ト ス キーマ取得の XML

レー ト グループの更新要求のペイ ロー ド と 同じ

レー ト テーブル データ取得の XML:

レー ト グループの更新要求のペイ ロー ド と 同じ

表 3-9 課金レー ト データ API テーブル (続き)

領域 例

3-46Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 105: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

Policies

領域 例

コ ア API サービ ス項目タ イ プに よ る ポ リ シーの取得

サービ ス項目タ イ プの名前に よ り ポ リ シーが返されます。

REST URL:

/RequestCenter/nsapi/serviceitem/definition/{ serviceItemTypeName }/policies

XML 応答 :

<policies totalCount="2" startRow="1" recordSize="2"><policy policyType="quota" accountName="bangalore" policyEnabled="true" exe-cutionOrder="2" dataTypeLogicName="SiLaptop" policyTemplateLogic-Name="quotacheck" policyId="34" name="Laptop Quota policy">

<description></description><policyParamValues>

<paramValue policyParamLogicName="quotacheck-serviceit-emattribute" paramValue="Quota"/><paramValue policyParamLogicName="quotacheck-quo-tathreshold" paramValue="90"/>

</policyParamValues><policyActions>

<policyAction policyActionTemplateName="orderservice" exe-cutionOrder="1">

<actionParamValues><actionParamValue policyActionTemplatePa-ramLogicName="orderservice-servicename" actionParamValue="Apple iPhone"/><actionParamValue policyActionTemplatePa-ramLogicName="orderservice-initiatorname" actionParamValue="admin"/>

<actionParamValue

policyActionTemplateParamLogic-Name="orderservice-customername" action-ParamValue="admin"/><actionParamValue policyActionTemplatePa-ramLogicName="orderservice-billtoOU" actionParamValue="Site Administration"/>

<actionParamValue

3-47Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 106: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

policyActionTemplateParamLogic-Name="orderservice-sections">

<dictionary name="TabletComputer-Dict">

<fields/></dictionary>

</actionParamValue></actionParamValues>

</policyAction></policyActions>

</policy>

<policy policyType="update" accountName="bangalore" policyEnabled="true" executionOrder="1" dataTypeLogicName="SiLaptop" policyTemplateLogic-Name="updatecheckchange" policyId="33" name="Laptop Policy">

<description></description><policyParamValues>

<paramValue policyParamLogicName="updatecheckchange-ser-viceitemattribute" paramValue="Price"/>

</policyParamValues><policyActions>

<policyAction policyActionTemplateName="policyalert" execu-tionOrder="1">

<actionParamValues><actionParamValue policyActionTemplatePa-ramLogicName="errormessage" actionParam-Value="Policy alert when Price is updated for a Laptop"/>

</actionParamValues></policyAction>

</policyActions></policy>

</policies>

ServiceitemtypeName および PolicyID によ るポ リ シーの取得

serviceItemTypeName と ポ リ シー ID によ り ポ リ シーが返されます。

REST URL:

/RequestCenter/nsapi/serviceitem/definition/{serviceItemTypeName }/policies/id/{policyId}

領域 例

3-48Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 107: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

Get policies by ServiceitemtypeName, PolicyName and PolciyType.

serviceItemTypeName、 ポ リ シー名、 ポ リ シー タ イプによ り ポ リ シーが返されます。

REST URL:

/RequestCenter/nsapi/serviceitem/definition/{ serviceItemTypeName}/policies/name/{name}?policyType={ capacity, quota, time}

例 : http://localhost:8088/RequestCenter/nsapi/serviceitem/definition/Laptop/policies/name/Laptop Policy?policyType=update

注 : 「policyType」 ク エ リ ー パラ メ ータに許可される入力値は capacity/quota/time/update です。

XML 応答 :

<policy policyType="update" accountName="bangalore" policyEnabled="true" execution-Order="1" dataTypeLogicName="SiLaptop" policyTemplateLogicName="updatecheck-change" policyId="33" name="Laptop Policy">

<description></description><policyParamValues>

<paramValue policyParamLogicName="updatecheckchange-serviceit-emattribute" paramValue="Price"/>

</policyParamValues>

<policyActions><policyAction policyActionTemplateName="policyalert" executionOr-der="1">

<actionParamValues><actionParamValue policyActionTemplateParamLogicName="errormessage"

actionParamValue="Policy alert when Price is updated for a Laptop"/>

</actionParamValues></policyAction>

</policyActions></policy>

エ ラー 応答

<nsapi-error-response> No policy found for this name (Laptop ABCD Policy) and for policyType (update).

</nsapi-error-response>

領域 例

3-49Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 108: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

領域 例

POST 特定の ServiceItemTypename のポ リ シーの作成

POST URL:

/RequestCenter/nsapi/serviceitem/definition/{serviceItemTypeName}/policies/create

入力 XML :

<policy policyType="update" accountName="bangalore" policyEnabled="true" execution-Order="1" dataTypeLogicName="SiLaptop" policyTemplateLogicName="updatecheck-change" policyId="33" name="Laptop Policy">

<description></description><policyParamValues>

<paramValue policyParamLogicName="updatecheckchange-serviceit-emattribute" paramValue="Price"/>

</policyParamValues>

<policyActions><policyAction policyActionTemplateName="policyalert" executionOr-der="1">

<actionParamValues><actionParamValue policyActionTemplateParamLogicName="errormessage"

actionParamValue="Policy alert when Price is updated for a Laptop"/>

</actionParamValues></policyAction>

</policyActions></policy>

応答 XML :

<nsapi-response><status-message code="POLICY_SUCCESS_003">

<value>Policy created successfully. </value></status-message>

</nsapi-response>

3-50Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 109: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

PUT 特定の ServiceItemTypename のポ リ シーの更新

PUT URL:

/RequestCenter/nsapi/serviceitem/definition/{serviceItemTypeName}/policies/update

入力 XML :

<policy policyType="update" accountName="bangalore" policyEnabled="true" execution-Order="1" dataTypeLogicName="SiLaptop" policyTemplateLogicName="updatecheck-change" policyId="33" name="Laptop Policy">

<description></description><policyParamValues>

<paramValue policyParamLogicName="updatecheckchange-serviceit-emattribute" paramValue="Price"/>

</policyParamValues>

<policyActions><policyAction policyActionTemplateName="policyalert" executionOr-der="1">

<actionParamValues><actionParamValue policyActionTemplateParamLogicName="errormessage"

actionParamValue="Policy alert when Price is updated for a Laptop"/>

</actionParamValues></policyAction>

</policyActions></policy>

応答 XML :

<nsapi-response><status-message code="POLICY_SUCCESS_003">

<value>Policy updated successfully. </value></status-message>

</nsapi-response>

領域 例

3-51Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 110: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

DELETE PolicyId または PolicyName によ る特定の ServiceItemTypename のポ リ シーの削除

DELETE URL:

/RequestCenter/nsapi/serviceitem/definition/{serviceItemTypeName}/policies/delete

入力 XML :

ポ リ シー名によ り 削除するには、 次のよ う に入力し ます。<policy policyType="quota" name="Laptop Quota policy Fourth"></policy>

ポ リ シー ID によ り 削除するには、 次のよ う に入力し ます。

<policy policyId="38"></policy>

回答 :

<nsapi-response><status-message code="POLICY_SUCCESS_002">

<value>Policy deleted successfully. </value></status-message>

</nsapi-response>

領域 例

3-52Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 111: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

デ ィ レ ク ト リ データ

Person

表 3-10 個人 API テーブル

領域 例

コ ア API すべての人の取得

すべての人が返されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/people

Java の例

PersonList person = NSApiClient.getDirectory().getPeople(null);

Id に よ る個人の取得

指定し た Person Id を持つ個人が返さ れます。

ネス ト されたエンテ ィ テ ィ (OU、 グループ、 ロール、 住所、 連絡先、 および設定)が取得されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/people/id/<personId>

Java の例

Person persons = NSApiClient.getDirectory().getPersonById(<personId>);

LoginName に よ る個人の取得

指定し た LoginName を持つ個人が返さ れます。

ネス ト されたエンテ ィ テ ィ (OU、 グループ、 ロール、 住所、 連絡先、 および設定)が取得されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/people/loginname/<loginName>

Java の例

Person persons = NSApiClient.getDirectory().getPersonByLoginName("<loginName>");

ロ グ イ ン ユーザの取得

現在ロ グ イ ン し ている個人が返されます。

REST URL:

http://<serverURL>/RequestCenter/nsapi/directory/people/currentuser

Java の例

Person person = NSApiClient.getDirectory().getCurrentUser();

3-53Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 112: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

ロ グ イ ン名がわかってい る場合に、 個人に ロールを割 り 当て る、 ま たは割 り 当てを解除する

REST URL: /nsapi/directory/people/{loginname}/roles

Method: POST

サンプル ペイ ロー ド /本文 :

{

"rolemapping":

{

"operation":"assign",

"roles":["My Role",”Tenant User”],

}

}

operation に指定可能な値 : 「assign」 ま たは 「unassign」

成功応答 : 200

エ ラー応答 : 400 bad request

表 3-10 個人 API テーブル (続き)

領域 例

3-54Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 113: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

特殊な 条件

個人の作成/更新

個人を取得 (GET) する前述の REST URL のいずれかの応答か ら、 個人 XML を 取得し ます。

個人を更新する REST URL に対し て個人 XML を POST する こ と に よ って、 個人 の作成ま たは変更を行います。

(XML の ロ グ イ ン ま たは personId で識別さ れる) 個人が存在する場合は更新操作 が実行され、 そ う でない場合は新規個人が作成されます。

作成操作には、 次の 5 つの要素が必要です。

• firstName

• lastName

• homeOrganizationalUnitName

• 電子 メ ール (e-mail)

• ロ グ イ ン

作成操作では、 個人のパス ワー ド に ロ グ イ ン名が設定されます。

更新操作でホーム OU に対する変更を行 う と 、 個人のホーム OU が置換さ れます。 関連付け られている他の OU、 グループ、 およびロールは、 作成操作で も更新操作 で も無視されます。

ホーム OU、 タ イ ム ゾーン、 ロ ケール、 スーパーバ イ ザ、 代理承認者、 ロ グ イ ン モジ ュール、 連絡先、 および住所の各属性には、 次のルールが適用されます。

• id 要素が XML で送信さ れたがデータベースには見つか ら なかった場合、 例外がス ローされ、 該当する メ ッ セージが示されます。

• id 要素が見つか ら なかった場合は、 XML で送信さ れた Name 要素が代わ り に使用されます。 その名前がデータベースに見つか ら なかった場合は、 例外がス ローされます。

• id ま たは name 要素のいずれ も XML 内に存在せず、 属性がオプシ ョ ンであ る場合、 その属性は作成/更新操作で無視さ れます (HomeOU は必須です)。

• XML で送信されたデータ に誤 り や欠落があ ったために作成ま たは更新操作が失敗し た場合、 HTTP ス テータ ス コー ド 「422 Unprocessable Entity」 が返さ れます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/directory/people/update

Java の例

Person person = NSApiClient.getDirectory().getPersonById(<personId>);person.setLastName("<lastName>");Person persons = NSApiClient.getDirectory().updatePerson(person);

表 3-10 個人 API テーブル (続き)

領域 例

3-55Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 114: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

OU 名フ ィ ルタ

検索では大文字 と 小文字が区別され、 完全一致が使用されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/people?ouname=<ouName>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("ouname", "<ouName>");PersonList person = NSApiClient.getDirectory().getPeople(paramsMap);

グループ名フ ィ ルタ

検索では大文字 と 小文字が区別され、 完全一致が使用されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/people?groupname=<groupName>

Java の例

MultiValueMap paramsMap = new MultiValueMap();sparamsMap.put("groupname", "<groupName>");PersonList person = NSApiClient.getDirectory().getPeople(paramsMap);

ロール名フ ィ ルタ

検索では大文字 と 小文字が区別され、 完全一致が使用されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/people?rolename=<roleName>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("rolename", "<roleName>");PersonList person = NSApiClient.getDirectory().getPeople(paramsMap);

ソー ト カ ラ ム

[姓(First Name)]、[名(Last Name)]、[ロ グ イ ン名(Login Name)]

XML 応答 <people totalCount="x" recordSize="y" startRow="z"> <person> . . . <contacts> . . . <contact> <contactId></contactId> <contactType></contactType> <contactTypeId></contactTypeId> <value></value> </contact> . . . </contacts> . . . </person>

</people>

表 3-10 個人 API テーブル (続き)

領域 例

3-56Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 115: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

組織

表 3-11 組織単位 API テーブル

領域 例

コ ア API すべての組織単位の取得

すべての組織単位が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/organizationalunits

Java の例

OrganizationalUnitList Ou = NSApiClient.getDirectory().getOrganizationalUnits(null);

Id に よ る組織単位の取得

ネ ス ト さ れたエンテ ィ テ ィ (下位の組織単位) は、 getById および getByName の場 合にのみ取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/organizationalunits/id/<ouId>

Java の例

OrganizationalUnit Ou = NSApiClient.getDirectory().getOrganizationalUnitById(ouId);

Name に よ る組織単位の取得

ネ ス ト さ れたエンテ ィ テ ィ (下位の組織単位) は、 getById および getByName の場 合にのみ取得さ れます。

同じ名前で タ イ プが異な る OU が 2 つ見つかった場合は、 サービ ス チーム OU が 返さ れます。

オプシ ョ ンのパラ メ ータ ?type=<BusinessUnit/serviceTeam> も指定で き ます (「all」 はタ イ プ パラ メ ータ値では許可さ れません)。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/organizationalunits/name/<ouName>

Java の例

OrganizationalUnit Ou = NSApiClient.getDirectory().getOrganizationalUnitByName("<ouName>");

Type に よ る OU の取得

指定し た OU タ イ プの組織単位がすべて返されます。

指定可能な値 : 「all」、 「BusinessUnit」、 「ServiceTeam」。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/organizationalunits?type=<ouType>

Java の例

OrganizationalUnitList Ou = NSApiClient.getDirectory().getOrganizationalUnitByType("<ouType>");

3-57Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 116: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

親組織には割 り 当てずに、 タ イ プが事業単位 (BusinessUnit) の組織単位を作成する

REST URL: nsapi/directory/organizationalunits

メ ソ ッ ド : PUT

サンプル ペイ ロー ド /本文 :

{

"organizationalunit": {

"description": "Details about Tail-f",

"isBillable": "true",

"organizationalUnitName": "Tail-f",

"organizationalUnitType": "BusinessUnit",

"status": "Active"

}

}

成功応答 : 201 created

エ ラー応答 : 400 bad request

親組織に割 り 当てずに、 タ イ プがサービ ス チーム (ServiceTeam) の組織単位を作 成する

REST URL: nsapi/directory/organizationalunits

メ ソ ッ ド : PUT

サンプル ペイ ロー ド :

{

"organizationalunit": {

"description": "Automobile company,

"isBillable": "true",

"organizationalUnitName": "Tail-f",

"organizationalUnitType": "ServiceTeam",

"status": "Active"

}

}

成功応答 : 201 created

エ ラー応答 : 400 bad request

表 3-11 組織単位 API テーブル (続き)

領域 例

3-58Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 117: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

ス テータ スが非ア ク テ ィ ブで タ イ プが事業単位 (BusinessUnit) の組織単位を作成する

REST URL: nsapi/directory/organizationalunits

メ ソ ッ ド : PUT

サンプル ペイ ロー ド :

{

"organizationalunit": {

"description": "Automobile company",

"isBillable": "true",

"organizationalUnitName": "Ferrari",

"organizationalUnitType": "BusinessUnit",

"status": "Inactive"

}

}

成功応答 : 201 created

エ ラー応答 : 400 bad request

ス テータ スがア ク テ ィ ブで、 タ イ プが事業単位 (BusinessUnit) の組織単位を作成し、 親組織単位に関連付け る

REST URL: nsapi/directory/organizationalunits

メ ソ ッ ド : PUT

サンプル ペイ ロー ド :

{

"organizationalunit": {

"description": "Automobile company",

"isBillable": "true",

"organizationalUnitName": "Hero Honda",

"organizationalUnitType": "BusinessUnit",

"status": "Active",

"parentId": "8",

"parentName": "Honda"

}

}

成功応答 : 201 created

エ ラー応答 : 400 bad request

表 3-11 組織単位 API テーブル (続き)

領域 例

3-59Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 118: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

組織単位を更新する が、 親組織単位には関連付けない

更新操作に よ り 、 説明、 OUName、 OUType、 およびス テータ ス を更新で き ます。

REST URL: nsapi/directory/organizationalunits

Method: POST

サンプル ペイ ロー ド :

{

"organizationalunit": {

"description": "Automobile company",

"organizationalUnitId": "19",

"isBillable": "true",

"organizationalUnitName": "f-tail",

"organizationalUnitType": "ServiceTeam",

"organizationalUnitTypeId": "1",

"status": "Active"

}

}

成功応答 : 200 created

エ ラー応答 : 400 bad request

表 3-11 組織単位 API テーブル (続き)

領域 例

3-60Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 119: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

親組織単位に関連付け られている組織単位を更新する

更新操作に よ り 、 説明、 OUName、 OUType、 ス テータ ス、 および親組織を更新でき ます。

REST URL: nsapi/directory/organizationalunits

Method: POST

サンプル ペイ ロー ド :

{

"organizationalunit": {

"description": "Automobile company",

"organizationalUnitId": "5",

"isBillable": "false",

"organizationalUnitName": "Aveeno",

"organizationalUnitType": "BusinessUnit",

"organizationalUnitTypeId": "2",

"status": "Active",

"parentId": "16",

"parentName": "Mazda23"

}

}

成功応答 : 200 created

エ ラー応答 : 400 bad request

表 3-11 組織単位 API テーブル (続き)

領域 例

3-61Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 120: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

OU 名がわかっている場合に、 組織単位に ロールを割 り 当て る、 ま たは割 り 当てを 解除する

REST URL: nsapi/directory/organizationalunits/name/{OUname}/roles

Method: POST

サンプル ペイ ロー ド :

{

"rolemapping":

{

"operation":"assign",

"roles":["My Role",”Tenant User”],

"type":"ServiceTeam"

}

}

タ イ プに指定可能な値 : 「BusinessUnit」 ま たは 「ServiceTeam」

operation に指定可能な値 : 「assign」 ま たは 「unassign」

成功応答 : 200 created

エ ラー応答 : 400 bad request

OU ID がわかってい る場合に、 組織単位に ロールを割 り 当て る、 ま たは割 り 当てを 解除する

REST URL: nsapi/directory/organizationalunits/name/{OUID}/roles

Method: POST

サンプル ペイ ロー ド :

{

"rolemapping":

{

"operation":"assign",

"roles":["My Role",”Tenant User”],

"type":"ServiceTeam"

}

}

type に指定可能な値 : 「BusinessUnit」 ま たは 「ServiceTeam」

operation に指定可能な値 : 「assign」 ま たは 「unassign」

成功応答 : 200 created

エ ラー応答 : 400 bad request

表 3-11 組織単位 API テーブル (続き)

領域 例

3-62Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 121: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

グループ (Groups)

フ ィ ル タ(Filters)

組織単位名フ ィ ルタ

検索では大文字 と 小文字が区別さ れます。

StartsWith (newscale.properties の ContainsQueryInFnS=false) : 先頭のワ イル ド カー ド は無視さ れます。

Contains (newscale.properties の ContainsQueryInFnS=true) : 先頭のワ イル ド カー ド は、 必要に応じ て指定し て く だ さ い。

ワ イル ド カー ド の名前検索では、 オプシ ョ ンのパ ラ メ ータ ?type=<businessUnit/serviceTeam> を指定する こ と も で き ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/organizationalunits?name=<wildcardValue>

Java の例

OrganizationalUnitList Ou = NSApiClient.getDirectory().getOrganizationalUnitsByFilter("<wildcardValue>");

ソー ト カ ラ ム

Organizational Unit Name

応答 XML

<organizationalunits totalCount="x" recordSize="y" startRow="z"> <organizationalunit> . . . </organizationalunit></organizationalunits>

表 3-12 グループ API テーブル

領域 例

コ ア API すべてのグループの取得

すべてのグループが返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/groups

Java の例

GroupList groups = NSApiClient.getDirectory().getGroups(null);

Id に よ る グループの取得

ネ ス ト さ れたエンテ ィ テ ィ (サブグループ) は、 getById および getByName の場合 にのみ取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/groups/id/<groupId>

Java の例

Group groups = NSApiClient.getDirectory().getGroupsById(<groupId>);

表 3-11 組織単位 API テーブル (続き)

領域 例

3-63Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 122: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

Name に よ る グループの取得

ネ ス ト さ れたエンテ ィ テ ィ (サブグループ) は、 getById および getByName の場合 にのみ取得さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/groups/name/<groupName>

Java の例

Group groups = NSApiClient.getDirectory().getGroupsByName("<groupName>");

グループの作成

REST URL: nsapi/directory/groups

メ ソ ッ ド : PUT

サンプル ペイ ロー ド /本文 :

{

“group”:

{

“groupName”: “Test”, “description”, “Test Group”, “status”: “Active”

}

}

成功応答 : 201 created

エ ラー応答 : 400 bad request

グループを作成し、 親 ID に関連付け る

REST URL: nsapi/directory/groups

メ ソ ッ ド : PUT

サンプル ペイ ロー ド :

{

“group”:

{

“groupId”: “1”, “groupName”: “TestP”, “parentId”: “1”, “parentName”: “ABCGroup”

}

}

成功応答 : 201 created

エ ラー応答 : 400 bad request

表 3-12 グループ API テーブル (続き)

領域 例

3-64Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 123: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

グループ ID を使用し てグループを更新する - 名前、 説明、 ス テータ ス を更新する

REST URL: nsapi/directory/groups

Method: POST

サンプル ペイ ロー ド :

{

“group”:

{

“groupId”: “14”, “groupName”: “DRMGroup”, “status”: “Active”

}

}

成功応答 : 200 OK

エ ラー応答 : 400 bad request

グループ ID を使用し てグループを更新し、新し い親グループに関連付け る - 名前、 説明、 ス テータ ス を更新し、 親グループ と 関連付け る

REST URL: nsapi/directory/groups

Method: POST

サンプル ペイ ロー ド :

{

“group”:

{

“groupId”: “14”, “groupName”: “NimbusGroup”, “status”: “Active”, “parentId”: “22, “parentName”: “XYZGroup”

}

}

成功応答 : 200 OK

エ ラー応答 : 400 bad request

表 3-12 グループ API テーブル (続き)

領域 例

3-65Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 124: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

グループに ロールを割 り 当て る、 ま たは割 り 当てを解除する

REST URL: nsapi/directory/groups/name/{groupname}/roles

Method: POST

サンプル ペイ ロー ド :

{

"rolemapping":

{

"operation":"assign",

"roles":["My Role"],

}

}

operation に指定可能な値 : 「assign」 ま たは 「unassign」

成功応答 : 200 created

エ ラー応答 : 400 bad request

フ ィ ル タ(Filters)

グループ名フ ィ ルタ

検索では大文字 と 小文字が区別さ れます。

StartsWith (newscale.properties の ContainsQueryInFnS=false) : 先頭のワ イル ド カー ド は無視さ れます。

Contains (newscale.properties の ContainsQueryInFnS=true) : 先頭のワ イル ド カー ド は、 必要に応じ て指定し て く だ さ い。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/groups?name=<wild cardValue>

Java の例

GroupList groups = NSApiClient.getDirectory().getGroupsByFilter("<wildcardValue>");

ソー ト カ ラ ム

グループ名

応答 XML

<groups totalCount="x" startRow="y" recordSize="z"> <group> . . . </group><groups>

表 3-12 グループ API テーブル (続き)

領域 例

3-66Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 125: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

アカウン ト (Unused Voice Mail Accounts)

表 3-13 アカウン ト API テーブル

領域 例

Core API すべてのアカ ウ ン ト の取得

すべてのアカ ウ ン ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/accounts

ID に よ る アカ ウ ン ト の取得

ID に よ り アカ ウ ン ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/accounts/id/{id}

名前に よ る アカ ウ ン ト の取得

名前に よ り アカ ウ ン ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/accounts/name/{name}

ワ イル ド カー ド を使用し た名前に よ る アカ ウ ン ト の取得

検索対象のアカ ウ ン ト が返さ れます。

REST URL (HTTP POST):

http://<ServerURL>/RequestCenter/nsapi/directory/accounts?name={wild card name}

3-67Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 126: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

他の使用シナ リ オ

アカ ウ ン ト を作成ま たは更新し ます (1 アカ ウ ン ト オブジ ェ ク ト のみ)。

REST URL(HTTP POST): http://<ServerURL>/RequestCenter/nsapi/directory/accounts/update

<account>

<name>Sample Account Name</name>

<accountId>123</accountId>

<accountType>Project Account</accountType>

<description>Sample Account Description</description>

<billingRateGroup>Sample Rate Group Name</billingRateGroup>

<organizationalUnits>

<organizationalUnit>

<organizationalUnitName>OU Name 1</organizationalUnitName>

<organizationalUnitType>Service Team</organizationalUnitType>

</organizationalUnit>

<organizationalUnit>

<organizationalUnitName>OU Name 2</organizationalUnitName>

<organizationalUnitType>Service Team</organizationalUnitType>

</organizationalUnit>

</organizationalUnits>

<functionalPositions>

<functionalPosition>

<functionalPositionName>Func Pos 1</functionalPositionName>

<ownerLoginName>assigneeLoginName</ownerLoginName>

</functionalPosition>

<functionalPosition>

<functionalPositionName>Func Pos 2</functionalPositionName>

<ownerLoginName />

</functionalPosition>

</functionalPositions>

<customAttribute name="IntegerValue" />

<customAttribute name="LongString">This is Long String</customAttribute>

<customAttribute name="MediumString" />

<customAttribute name="ShortString">This is short value</customAttribute>

<customAttribute name="MoneyValue">1234567.89</customAttribute>

<customAttribute name="DoubleValue">12345678</customAttribute>

<customAttribute name="DateValue">31-Jan-2013</customAttribute>

表 3-13 アカウン ト API テーブル (続き)

領域 例

3-68Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

</account>

Page 127: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

アカ ウ ン ト を削除し ます (1 アカ ウ ン ト オブジ ェ ク ト のみ)

REST URL (HTTP DELETE):

http://<ServerURL>/RequestCenter/nsapi/directory/accounts/delete

<account>

<name>Sample Account Name</name>

<accountId>123</accountId>

</account>

OU 名 と OU の タ イ プの取得

テナン ト アカ ウ ン ト に関連付け られていない OU 名、 OU の タ イ プが返さ れます (ロ グ イ ン ユーザが OU へのア ク セ ス 権限を持つテナン ト ア カ ウ ン ト 。 RBAC チェ ッ ク が実施さ れます)。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/accounts/tenantorgunitlist

アカ ウ ン ト の役職の取得

アカ ウ ン ト の役職が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/directory/accounts/functionalpositionlist

フ ィ ルタ(Filters)

フ ィ ルタはサポー ト さ れません。

ソー ト カ ラ ム

ソー ト は許可さ れません。

応答 XML <accounts totalCount="x" startRow="y" recordSize="z"><account>

. . . (更新要求のペイ ロード と同じ)</account></accounts>

表 3-13 アカウン ト API テーブル (続き)

領域 例

3-69Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 128: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

ト ラ ンザクシ ョ ン データ

申請

表 3-14 要求 API テーブル

領域 例

コ ア API 現行ユーザに対する要求の取得

次に示すデフ ォル ト のフ ィ ルタ を使用し て要求を取得し ます。

ViewName = Ordered for Self

Status = Ongoing

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitions

Java の例

RequisitionList requisitions = NSApiClient.getTransaction().getRequisitions(null);

Id に よ る要求の取得

ロ グ イ ン し ている ユーザに対し て RBAC チェ ッ ク が適用されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitions/id/<requisitionId>

Java の例

Requisition requisitions = NSApiClient.getTransaction().getRequisitionsById(<requisitionId>);

サービ ス を追加せずに、 未送信の既存の要求/カー ト を送信する

Method: POST

REST URL:

/RequestCenter/nsapi/transaction/requisitions

要求ペイ ロー ド /本文は不要です。

成功コー ド : 201

応答エ ラー コー ド : 表 REST/Web サービ スのエ ラー メ ッ セージ を参照

3-70Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 129: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

サービ ス を追加し て、 新し い要求/カー ト を送信し ます。

Method: POST

REST URL:

/RequestCenter/nsapi/transaction/requisitions

ペイ ロー ド :

{

"requisition": {

"customerLoginName": "admin",

"billToOU": "H_OU",

"services":[{

"name": "TestServiceRest"

"quantity": "1",

"version": "0",

"dictionaries": [{

"name": "TestNonGrid",

"data": {

"FullName": "AAB",

"HireDate": "78/02/20",

"MultiSelect":["MS3","MS4"],

}

},{

"name": "TestG",

"data":

[

{"city":"Bangalore", "country": "India"},

{"city":"Mysore", "country":"India"}

]

}]

}]

}

}

成功コー ド : 201

応答エ ラー コー ド : 表 REST/Web サービ スのエ ラー メ ッ セージ を参照

表 3-14 要求 API テーブル (続き)

領域 例

3-71Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 130: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

既存の未送信の要求/カー ト にオーダーを追加する

メ ソ ッ ド : PUT

REST URL:

/RequestCenter/nsapi/transaction/requisitions

ペイ ロー ド :

{

"requisition": {

"customerLoginName": "admin",

"billToOU": "H_OU",

"services":[{

"name": "TestServiceRest"

"quantity": "1",

"version": "0",

"dictionaries": [{

"name": "TestNonGrid",

"data": {

"FullName": "AAB",

"HireDate": "78/02/20",

"MultiSelect":["MS3","MS4"],

}

},{

"name": "TestG",

"data":

[

{"city":"Bangalore", "country": "India"},

{"city":"Mysore", "country":"India"}

]

}]

}]

}

}

成功コー ド : 200

応答エ ラー コー ド : 表 REST/Web サービ スのエ ラー メ ッ セージ を参照

表 3-14 要求 API テーブル (続き)

領域 例

3-72Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 131: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

未送信の要求/カー ト をキ ャ ンセルする

メ ソ ッ ド : DELETE

REST URL:

/RequestCenter/nsapi/transaction/requisitions

ペイ ロー ド は不要です。

成功コー ド : 200

応答エ ラー コー ド : 表 REST/Web サービ スのエ ラー メ ッ セージ を参照

要求/カー ト か ら特定のサービ ス を削除/キ ャ ンセルする

メ ソ ッ ド : DELETE

REST URL:

/RequestCenter/nsapi/transaction/requisitionentries/{reqentry_id}

ペイ ロー ド は不要です。

成功コー ド : 200

応答エ ラー コー ド : 表 REST/Web サービ スのエ ラー メ ッ セージ を参照

表 3-14 要求 API テーブル (続き)

領域 例

3-73Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 132: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービ ス要求フ ォーム を更新する

nsXML で指定された入力に基づいてフ ォーム データ を更新する

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/transaction/updateServiceRequest

サンプル ペイ ロー ド :

<?xml version="1.0" encoding="UTF-8"?>

<message channel-id="07B7F321-F390-49E6-9B64-FADEFB566731"

xmlns:fo="http://www.w3.org/1999/XSL/Format">

<task-started task-type="task">

<task>

-..........

</task>

<requisition>

.........

<requisition-entry>

<data-values>

<data-value multi-valued="false">

<name>Dictionary.Attribute1</name>

<value>Value1</value>

</data-value>

-.........

</data-values>

-............

<requisition-entry-id>4</requisition-entry-id>

<revision-number>5</revision-number>

-.........

</requisition-entry>

<requisition-id>2</requisition-id>

<started-on>2015-02-09 09:27:34</started-on>

<status>1</status>

</requisition>

</task-started>

</message>

サンプル応答 :

更新サービ ス要求が正常に開始さ れます。

表 3-14 要求 API テーブル (続き)

領域 例

3-74Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 133: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

ビ ューおよびス テータ ス フ ィ ルタ

フ ィ ルタ に使用可能なビ ューおよびス テータ スは、My Services の [Requisitions] タ ブにあ る も のに対応し ています。

Status が指定さ れなかった場合は、 「Ongoing」 が使用さ れます。

ViewName が指定さ れなかった場合は、 「Ordered for Self」 が使用さ れます。

ViewName に指定可能な値 :

• Ordered for Self : 現行ユーザに対する要求。

• Ordered for Others : 現行ユーザが (「Order on Behalf」 を使用し て) 他人の代わり に送信し た要求。

• Ordered for my unit : 現行ユーザが属し てい る OU 内の人に関する要求 (ユーザが 「See Requisitions for My Business Units」 機能を持っている場合に限 り 、こ のビ ューは他の人に関するデータ を返し ます)。

Status に指定可能な値:Ongoing、Preparation、Ordered、Closed、Canceled、Rejected、 All。

誤った値が指定さ れた場合、デフ ォル ト の値 (「Ongoing」 および 「Ordered for Self」) が使用さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitions/ViewName=<viewName>[|AND|Status=<status>]

Java の例

String filterString = "ViewName=<viewName>|AND|Status=<status>";RequisitionList requisitons = NSApiClient.getTransaction().getRequisitionsByFilter(filterString);

(注) PUT および POST メ ソ ッ ド ではフ ィ ルタはサポー ト さ れません。

ソー ト カ ラ ム

Customer Name、Owner (Initiator) Name、Requisition ID、Service Name、Started Date、 Status、 Submit Date

(注) PUT および POST メ ソ ッ ド では ソー ト はサポー ト さ れません。

表 3-14 要求 API テーブル (続き)

領域 例

3-75Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 134: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

GET の応答 XML

<requisitions totalCount="x" recordSize="y" startRow="z"> <requisition> .. .</requisition></requisitions>

PUT および POST の応答 XML

{ "RequisitionSubmit": { "requisitionId": 536, "customer": "admin admin", "initiator": "admin admin", "startedDate": "…", "startedDateRaw": …, "dueDate": "…" "dueDateRaw": …, "status": "Ordered", "links" : [ { "name" : "RequisitionStatus", "href" : "http://…" }, { "name" : "ServiceItems", "href" : "http://…" } ] }}

(注) dueDate および dueDateRaw 属性は、非同期伝送設定が [管理(Administration)] > [設定(Settings)] モジ ュールで無効の場合だけ使用で き ます。

表 3-14 要求 API テーブル (続き)

領域 例

3-76Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 135: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

要求エン ト リ

表 3-15 要求エン ト リ API テーブル

領域 例

コ ア API ID に よ る要求エン ト リ の取得

現行ユーザに対し て RBAC チェ ッ ク が適用されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitionentries/id/<reqEntryId>

Java の例

RequisitionEntry requisitonEntry = NSApiClient.getTransaction().getRequisitionEntryById(<reqEntryId>);

要求 ID に よ る要求エン ト リ の取得

現行ユーザに対し て RBAC チェ ッ ク が適用されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitionentries/RequisitionNumber=<reqId>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("startRow", "1"); //optionalparamsMap.put("recordSize","10"); //optionalString filterString = "RequisitionNumber=" + <reqId>;RequisitionEntryList requisitonEntries = NSApiClient.getTransaction().getRequisitionEntries(paramsMap, filterString);

フ ィ ル タ(Filters)

ServiceName

フ ィ ルタ値を含む、 オーダーし たサービ ス をすべて表示し ます。 サービ ス名のフ ィ ルタ値は test です。 サービ ス名に 「test」 が含まれている、 オーダーし たサービ スがすべて リ ス ト さ れます。REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitionentries/ViewName=<viewName>|AND|ServiceName=<wildcard>|AND|Status=<status>

Java の例

isNgcRequest

isNgcRequest フ ィ ルタ値が False であ るか、 指定されていない場合は、 サービ ス要求処理の完了率 (%) が表示されます。 isNgcRequest フ ィ ルタ値が true の場合、 サービス処理要求の割合は [オーダー (Order) ] フ ォーム ページに表示されません。REST の URLhttp://localhost:8088/RequestCenter/nsapi/transaction/requisitionentries/ViewName=Ordered%20for%20Myself|AND|ServiceName=test|AND|Status=AllOpenExceptPreparation?responseType=json&isNgcRequest=true&recCount=20&sortBy=submitDate&sortDir=desc

3-77Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 136: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

ソー ト カ ラ ム

Due On、 Requisition Entry ID

応答 XML <requisitionEntries totalCount="x" recordSize="y" startRow="z"> <requisitionEntry> . . . </requisitionEntry></requisitionEntries>

表 3-16 DELETE 要求エン ト リ API テーブル

領域 例

コ ア API 要求ま たはカー ト のサービ ス を取 り 消す

• 要求ま たはカー ト のス テータ スが未送信の場合に、 サービ ス を削除し ます。

• 要求またはカー ト のステータ スが送信済みの場合は、 サービ ス を取 り 消し ます。

DELETE REST URL :

http://<ServerURL>/RequestCenter/nsapi/transaction/requisitionentries/<reqEntryId>

(注) <reqEntryId> は要求 ID に置き換え ます。http://<ServerURL>/RequestCenter/nsapi/transaction/requisitionentries/175 を考慮し、 応答は次の よ う にな り ます。

フ ィ ルタ(Filters)

N/A

ソー ト カ ラ ム

N/A

応答 XML {

"requisition id": 175

}

表 3-15 要求エン ト リ API テーブル (続き)

領域 例

3-78Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 137: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

承認

表 3-17 承認 API テーブル

領域 例

コ ア API 現行ユーザに対する承認の取得

次に示すデフ ォル ト のフ ィ ルタ を使用し て承認を取得し ます。

ViewName = Authorizations for Self

Status = Ongoing

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/authorizations

Java の例

AuthorizationList authorizations = NSApiClient.getTransaction().getAuthorizations(null);

Id に よ る承認の取得

現行ユーザに対し て RBAC チェ ッ ク が適用さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/authorizations/id/<taskId>

Java の例

Authorization authorizations = NSApiClient.getTransaction().getAuthorizationsById(<taskId>);

ID に よ る関連承認タ ス ク (承認チェーン) の取得

現行ユーザに対し て RBAC チェ ッ ク が適用さ れます。

渡さ れた ID が、 要求レベルの承認タ ス ク (部門承認、 部門確認、 財務承認) の ID であ った場合、その特定の要求に属するすべての要求レベルの承認タ ス ク が返さ れます。

渡さ れた ID が、 要求エン ト リ レベルの承認タ ス ク (サービ ス グループ承認、 サー ビ ス グループ確認) の ID であ った場合、 その特定の要求エン ト リ に属するすべて の要求エン ト リ レベルの承認タ ス ク が返さ れます。

デフ ォル ト の ソー ト は、 Due On の降順で行われます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/authorizations?taskId=<taskId>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("startRow", "" + 1); //optionalparamsMap.put("recordSize", "" +10); //optionalparamsMap.put("sortBy", "dueOn"); //optionalparamsMap.put("sortDir", "asc"); //optionalparamsMap.put("taskId", "<taskId>");Authorization authorizations =NSApiClient.getTransaction().getAuthorizations (paramsMap);

3-79Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 138: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

ビ ューおよびス テータ ス フ ィ ルタ

フ ィ ルタ に使用可能なビ ューおよびス テータ スは、 My Services の [Authorizations] タ ブにあ る も のに対応し ています。

Status が指定されなかった場合は、 「Ongoing」 に設定さ れます。

ViewName が指定さ れなかった場合は、 「Authorizations for Self」 に設定さ れます。

ViewName に指定可能な値 :

• Authorizations for Self : 現行ユーザに割 り 当て られてい る承認  

• Assigned and Unassigned Authorizations for Self : 現行ユーザ、 ま たは現行ユーザがア ク セスで き る キ ューに割 り 当て られている承認  

• Authorizations for Others : 現行ユーザが属し ている OU 内の人に割 り 当て られている承認 (ユーザが 「See Authorizations for My Business Units」 機能を持っている場合に限 り 、 こ のビ ューはデータ を返し ます)  

Status に指定可能な値 : Ongoing、 Approved、 Rejected、 Canceled、 Reviewed、 All。

誤った値が指定さ れた場合、 デフ ォル ト の値 ( 「Ongoing」 および 「Authorizationsfor Self」) が使用さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/authorizations/ViewName=<viewName>[|AND|Status=<status>]

Java の例

String filterString = "ViewName=<viewName>|AND|Status=<status>";AuthorizationList authorizations =NSApiClient.getTransaction().getAuthorizationsWithFilters(filterString);

ソー ト カ ラ ム

Customer Name、 Due On、 Performer Name、 Priority、 Requisition ID

応答 XML <authorizations totalCount="x" recordSize="y" startRow="z" /> <authorization> . . . </authorization></authorizations>

表 3-17 承認 API テーブル (続き)

領域 例

3-80Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 139: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

タ スク

表 3-18 タ スク API テーブル

領域 例

コ ア API 現行ユーザに対する タ ス ク の取得

次に示すデフ ォル ト のフ ィ ルタ を使用し て タ ス ク を取得し ます。

ViewName = AvailableWork

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks

Java の例

TaskList tasks = NSApiClient.getTransaction().getDeliveryTasks(null);

ID に よ る タ ス ク の取得

現行ユーザに対し て RBAC チェ ッ ク が適用さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/id/<taskId>

Java の例

TaskFull tasks = NSApiClient.getTransaction().getDeliveryTaskById(<taskId>);

3-81Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 140: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

要求エン ト リ ID に よ る タ ス ク の取得

現行ユーザに対し て RBAC チェ ッ ク が適用さ れます。

デフ ォル ト の ソー ト は、 Activity ID の昇順で行われます。

パラ メ ータおよび指定可能な値 :

• showSkippedTasks : false (デフ ォル ト )、 true

• taskType : all (デフ ォル ト )、 delivery、 authorization

• showNestedTasks : false、 true (デフ ォル ト )

こ のパラ メ ータ が true に設定されている場合、 親 と 子のネス ト 階層が XML 構造内に保持さ れた状態で配信タ ス ク が返さ れます。

• showChildDeliveryPlan : false (デフ ォル ト )、 true

これは、 バン ド ル サービ スにのみ適用されます。 このパラ メ ータが true に設定されている場合は、 すべての組み込みサービ スの配信タ ス ク も返されます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/RequisitionEntryNumber=<reqEntryId>?taskType=<taskType>&showSkippedTasks=<false|true>&showNestedTasks=<false|true>&showChildDeliveryPlan=<false|true>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("taskType", "delivery"); //optionalparamsMap.put("showSkippedTasks", "true"); //optionalparamsMap.put("showNestedTasks", "true"); //optionalparamsMap.put("sortBy", "dueOn"); //optionalparamsMap.put("sortDir", "desc"); //optionalString filterString = "RequisitionEntryNumber=" + <reqEntryId>;TaskList tasks = NSApiClient.getTransaction().getAuthAndDeliveryTasks (paramsMap, filterString);

要求 ID に よ る マ イルス ト ーンの取得

現行ユーザに対し て RBAC チェ ッ ク が適用さ れます。

配信プ ロ セスのマ イルス ト ーン (確認、 承認、 配信プ ロ ジ ェ ク ト ) が、 時系列順に返さ れます。 ソー ト およびページン グはサポー ト さ れていません。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/RequisitionNumber=<reqId>

Java の例

String filterString = "RequisitionNumber=" + <reqId>;MilestoneList milestones = NSApiClient.getTransaction().getDeliveryProcessForMilestone (filterString);

表 3-18 タ スク API テーブル (続き)

領域 例

3-82Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 141: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

特殊な条件 タ ス ク の許可

REST URL にア ク シ ョ ンおよびタ ス ク ID を指定し て HTTP POST を実行し ます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks /<taskId>/approve

Java の例

TaskAction approve = NSApiClient.getTransaction().approveTask(<taskId>);

タ ス ク の拒否

REST URL にア ク シ ョ ンおよびタ ス ク ID を指定し て HTTP POST を実行し ます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/<taskId>/reject

Java の例

TaskAction Reject = NSApiClient.getTransaction().rejectTask(<taskId>);

タ ス ク の完了

REST URL にア ク シ ョ ンおよびタ ス ク ID を指定し て HTTP POST を実行し ます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/<taskId>/done

Java の例

TaskAction Complete = NSApiClient.getTransaction().completeTask(<taskId>);

タ ス ク の確認

REST URL にア ク シ ョ ンおよびタ ス ク ID を指定し て HTTP POST を実行し ます。

POST REST URL :

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/<taskId>/review

Java の例

TaskAction Review = NSApiClient.getTransaction().reviewTask(<taskId>);

表 3-18 タ スク API テーブル (続き)

領域 例

3-83Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 142: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

ビ ュー フ ィ ルタ

フ ィ ルタ に使用可能なビ ューは、Service Manager モジ ュールのビ ューに対応し て います。 ユーザ定義ビ ューは使用で き ません。

ViewName フ ィ ルタ が指定されなかった場合、 「AvailableWork」 に設定さ れます。

ViewName に指定可能な値:AvailableWork、MyWork、MyLateWork、WorkForeCast

誤った値が指定さ れた場合は、 デフ ォル ト 値が使用さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks?viewName=<viewName>

Java の例

MultiValueMap paramsMap = new MultiValueMap();paramsMap.put("ViewName", "<viewName>");TaskList tasks = NSApiClient.getTransaction().getDeliveryTasks(paramsMap);

• 要求エン ト リ レベルのすべての承認タ ス ク (将来の承認タ ス ク を含む履歴)を表示で き ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/RequisitionEntryNumber=111?taskType=authorization&Status=All

• 要求レベルのすべての承認タ ス ク (将来の承認タ ス ク を含む履歴) を表示でき ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/tasks/RequisitionNumber=111?taskType=authorization&Status=All

ソー ト カ ラ ム

Activity ID、 Completed On、 Customer Name、 Customer OU Name、 Due On、 Effort、 Initiator Name、 Performer Name、 Priority、 Requisition ID、 Scheduled Start Date、 Service Name、 Task Name、 Task Type

応答 XML <tasks totalCount="x" recordSize="y" startRow="z"> <task> . . . </task></tasks>

表 3-18 タ スク API テーブル (続き)

領域 例

3-84Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 143: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

ポリ シーアラー ト

表 3-19 ポ リ シー アラー ト API テーブル

領域 例

Core API CreatedDate に よ る ポ リ シー ア ラー ト の取得

作成日に よ り ポ リ シー ア ラー ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/policyalert/{columnName}{Operator}{Value}

重大度の タ イ プ と CreatedDate に よ る ポ リ シー ア ラー ト の取得

重大度の タ イ プおよび作成日に よ り 、 ポ リ シー ア ラー ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/policyalert/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

サービ ス項目タ イ プの名前 と CreatedDate に よ る ポ リ シー ア ラー ト の取得

サービ ス項目タ イ プの名前 と 作成日に よ り 、 ポ リ シー ア ラー ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/policyalert/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

アカ ウ ン ト 名 と CreatedDate に よ る ポ リ シー ア ラー ト の取得

アカ ウ ン ト 名 と 作成日に よ り 、 ポ リ シー ア ラー ト が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/policyalert/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

ポ リ シー ア ラー ト の削除

ポ リ シー ア ラー ト の削除はポ リ シー ア ラー ト エン ト リ の UniqueID で実行 さ れ ます。 こ の固有 ID はポ リ シー ア ラー ト エン ト リ ご と にシ ス テムに よ り 生成さ れ る一意の ID です。

REST URL (HTTP DELETE):

http://<ServerURL>/RequestCenter/nsapi/transaction/policyalert/delete/uniqueid/{uniqueIDs}

3-85Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 144: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

課金履歴

フ ィ ルタ(Filters)

大 4 つのフ ィ ルタ をサポー ト し ます。

比較演算子 :

文字列カ ラ ム : equals、 starts-with 演算子 (contains および like 演算子は許可さ れ ません)。

関係演算子 : AND (OR は許可さ れません)

区切 り 文字 = |

使用可能な カ ラ ム : ServiceItemTypeName、 AccountName、 SeverityType、 お よ びCreatedDate

URL で許可 さ れ る パ ラ メ ー タ : startRow、 recordSize、 sortBy、 sortDir、 お よ び responseType (xml ま たは json)

ソー ト カ ラ ム

ソー ト は許可さ れません。

応答 XML <policyAlert recordSize="2" startRow="1" totalCount="1"><policyAlertRecord id="123" severityLevel="Info" alertContext="Policy Alert Action" requisitionID="12" requisitionEntryID="32"><uniqueID>e96c062f-fe50-4b77-981a-dda1ab078808</uniqueID><policy id="8" name="Quota policy 8" /><serviceItemType id="82" name= "Laptop with Quota"/><serviceItem id="12" name="Service Item one" /><account id="1" name="Custom Account 1" /><agreement id="6" name="Agreement Name"/><message>Message Message Message Message</message><createdDate local="04/09/2013 12:44 PM" raw="2013-04-09T19:44:28.720-07:00" /></policyAlertRecord></policyAlert>

表 3-19 ポ リ シー アラー ト API テーブル (続き)

領域 例

表 3-20 課金履歴 API テーブル

領域 例

Core API 取引日に よ る課金履歴の取得

取引日に よ り 、 課金履歴が返さ れます。

REST URL:

http://<ServerURL>:8088/RequestCenter/nsapi/transaction/billinghistory/{columnName}{Operator}{Value}

3-86Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 145: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

サービ ス項目名、サービ ス項目タ イ プの名前、および取引日に よ る課金履歴の取得

サービ ス項目名、 サービ ス項目タ イ プの名前、 および取引日に よ り 、 課金履歴が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/billinghistory/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

サービ ス項目タ イ プの名前 と 取引日に よ る課金履歴の取得

サービ ス項目タ イ プ と 取引日に よ り 、 課金履歴が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/billinghistory/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

アカ ウ ン ト ID と 取引日に よ る課金履歴の取得

アカ ウ ン ト ID と 取引日に よ り 、 課金履歴が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/billinghistory/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

アカ ウ ン ト 名 と 取引日に よ る課金履歴の取得

アカ ウ ン ト 名 と 取引日に よ り 、 課金履歴が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/transaction/billinghistory/{columnName1}{Operator}{Value1}|{Join}|{columnName2}{Operator}{Value2}

表 3-20 課金履歴 API テーブル (続き)

領域 例

3-87Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 146: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

大 4 つのフ ィ ルタ をサポー ト し ます。

REST URL:

比較演算子 :

数値/日付カ ラ ム : =、 >、 <、 >=、 <=

文字列カ ラ ム : equals、 starts-with 演算子 (contains および like 演算子は許可さ れ ません)

関係演算子 : AND (OR は許可さ れません)

区切 り 文字 = |

使 用 可 能 な カ ラ ム : ServiceItemName、 ServiceItemTypeName、 AccountID、AccountName、 および TransactionDate

フ ィ ルタ の組み合わせ :

許可さ れる フ ィ ルタ の組み合わせは次の と お り です。

• ServiceItemTypeName フ ィ ルタ、 ServiceItemName フ ィ ルタ、 および TransactionDate フ ィ ルタ

• TransactionDate フ ィ ルタ (1 回以上)

• TransactionDate フ ィ ルタおよび ServiceItemTypeName フ ィ ルタ

• TransactionDate フ ィ ルタおよび AccountID フ ィ ルタ

• TransactionDate フ ィ ルタおよび AccountName フ ィ ルタ

ht tp: / /<ServerURL>/RequestCenter /nsapi /servicei tem/<serviceI temName>/<columnName1><operator1><value1>[|<AND>|<columnName2><operator2><value2>][|<AND>|<columnName3><operator3><value3>]

Java の例

String filter = "<columnName1><operator1><value1>|<and>|<columnName2><operator2><value2>|<and>|<columnName3><operator3><value3>";ServiceItemDTO serviceItems =

表 3-20 課金履歴 API テーブル (続き)

領域 例

3-88Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 147: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

ソー ト カ ラ ム

ソー ト は許可さ れません。

応答 XML <billingHistory recordSize="2" startRow="1" totalCount="1"><billingRecord id="123"><requisitionID>45</requisitionID><requisitionEntryID>56</requisitionEntryID><transactionDate local="01/03/2013 6:31 PM" raw="2013-01-04T02:31:43.400-08:00"/><serviceItemType id="5" name="Laptop"/><serviceItem id="4" name="DELL"/><organizationalUnit id="5" name="My OU"/><operation>Assemble Laptop</operation><account id="5" name="Account Name"/><agreement id="6" name="Agreement Name"/><customer id="2" name="John John"/><rateRecord rate="123.45" rateCode="RateCode1" unitOfMeasure="Seconds"/><billingAttributes><attribute name="Attr1">Value1</attribute><attribute name="Attr2">Value2</attribute><attribute name="Attr3">Value3</attribute></billingAttributes></billingRecord></billingHistory>

表 3-20 課金履歴 API テーブル (続き)

領域 例

3-89Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 148: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービス項目データ

サービス項目の詳細 (Service item Details)

表 3-21 サービス項目の詳細 API テーブル

領域 例

コ ア API Name に よ る取得

指定し たサービ ス項目名に関し て現行ユーザに割 り 当て ら れてい る、 サービ ス項目イ ン ス タ ン スの詳細情報およびサブス ク リ プシ ョ ン データ が返さ れます。

ま た、 ユーザが 「View Service Items for My Business Units」 機能を持ってい る場合 は、そのユーザが属し ている全 OU に含まれている人に関するサービ ス項目が返さ れます。

サービ ス項目名パラ メ ータは、[Design Service Item] ページの [Name] フ ィ ール ド に 示さ れる サービ ス項目の内部テーブル名 (SiVirtualMachine など) を受け入れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/<serviceItemName>

Java の例

ServiceItemDTO serviceItems = NSApiClient.getServiceItem().getServiceItemData("<serviceItemName>", null);

特殊な 条件

フ ィ ルタ時の特殊文字のサポー ト

特殊文字 (「=」 、 「|」 、 ま たは 「/」 など) を使用する必要があ る場合は、 要求のペイ ロー ド (本文) で、 フ ィ ルタ と と も に POST メ ソ ッ ド を使用し ます。

Method: POST

REST URL:

/RequestCenter/nsapi/serviceitem/{serviceItemName}

サンプル ペイ ロー ド :

{

"filterString":"<columnName1><operator1><value1>|<and|or>|<columnName2><operator2><value2>|<and|or>|<columnName3><operator3><value3>"

}

3-90Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 149: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

ビ ュー フ ィ ルタ

フ ィ ルタ に使用可能なビ ューは、My Services および Service Item Manager モジ ュー ルの表示内容に対応し ています。

ViewName に指定可能な値 :

• My ServiceItems : 現行ユーザが所有し ているサービ ス項目のすべてのイ ン ス タン ス 「View Service Items for My Business Units」 機能を持っているユーザは、 そのユーザが属し ている OU 内の他人が所有し ている項目も表示でき ます。

• Manage ServiceItems : サービ ス項目のすべての イ ン ス タ ン ス (ユーザが「Manage Service Item Instances」 機能を持っている場合に限 り 、 こ のビ ューはデータ を返し ます)。

ソ ー ト 順やページ サ イ ズな ど他の引数 も指定する場合は、 ViewName 引数を 後 に配置する必要があ り ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/<serviceItemName>?ViewName=<viewName>

Java の例

ServiceItemDTO serviceItems =

NSApiClient.getServiceItem().getServiceItemDataWithFilters("<serviceItemName>", "<viewName>");

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-91Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 150: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

サービ ス項目属性フ ィ ルタ

大 3 つのフ ィ ルタ がサポー ト さ れます。

サービ ス項目およびサブス ク リ プシ ョ ンのすべてのカ ラ ムがサポー ト さ れます。

サービ ス項目分類名 (グループ) ま たはサービ ス項目タ イ プ (シ ス コ が予約し ている も の、 ま たはユーザ定義の も の) に よ る フ ィ ルタはサポー ト さ れていません。

REST URL:

比較演算子 :

数値/日付カ ラ ム : =、 >、 <、 >=、 <=

文字列カ ラ ム : = (大文字小文字の区別あ り 。 like、 contains、 および starts-with 演 算子については後述)

関係演算子 : AND、 OR (大文字 と 小文字を区別し ない、 オーダーの優先順位はサポー ト さ れていません)

区切 り 文字 = |

使用可能なカ ラ ム : サービ ス項目およびサブス ク リ プシ ョ ンの全カ ラ ム

ht tp : / /<ServerURL>/Reques tCenter /nsapi / serv ice i t em/<serv iceI temName>/<columnName1><operator1><value1>[|<AND|OR>|<columnName2><operator2><value2>][|<AND|OR>|<columnName3><operator3><value3>]

Java の例

String filter = "<columnName1><operator1><value1>|<and|or>|<columnName2><operator2><value2>|<and|or>|<columnName3><operator3><value3>";ServiceItemDTO serviceItems =

NSApiClient.getServiceItem().getServiceItemDataWithFilters("<serviceItemName>", filter);

文字列カ ラ ムのフ ィ ルタ

% (starts with) 演算子用のフ ィ ルタ。

* (contains) 演算子用のフ ィ ルタ。

(ends with) 演算子はサポー ト さ れていません。

次に、 例を示し ます。

Name=service*

Name=*g*

Name=*g : 許可さ れません。

REST URL:

ht tp : / /<ServerURL>/Reques tCenter /nsapi / serv ice i t em/<serv iceI temName>/<columnName>=<wildcardValue>

Java の例

ServiceItemDTO serviceItems =

NSApiClient.getServiceItem().getServiceItemDataWithFilters("<serviceItemName>",

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-92Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 151: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

日付カ ラ ムの属性

日付フ ィ ール ド の値は mm-dd-yyyy 形式にする必要があ り ます。

比較演算子 : =、 >、 <、 <=、 >=

例 :

SubmittedDate=12-10-2010

REST URL:

ht tp : / /<ServerURL>/Reques tCenter /nsapi / serv ice i t em/<serv iceI temName>/<columnName><operator><mm-dd-yyyy>

Java の例

ServiceItemDTO serviceItems =

NSApiClient.getServiceItem().getServiceItemDataWithFilters("<serviceItemName>", "<columnName><operator><mm-dd-yyyy>");

ソー ト カ ラ ム

サービ ス項目の属性 : すべてのテーブル カ ラ ム。

サブス ク リ プシ ョ ン : Assigned Date、 Display Name、 ID (内部 ID)、 Requisition ID、 Submit Date。

応答 XML <serviceitem totalCount="x" recordSize="3" startRow="1" id="62"> <logicName></logicName> <name></name> <subscription> . . . <assignedDate> </assignedDate> <assignedDateRaw></assignedDateRaw> <customerID></customerID> <customerName> </customerName> <displayName> </displayName> <id></id> <organizationalUnitID></organizationalUnitID> <organizationalUnitName> </organizationalUnitName> <requisitionEntryID></requisitionEntryID> <requisitionID></requisitionID> <serviceItemClassificationID></serviceItemClassificationID> <serviceItemTypeID></serviceItemTypeID> <serviceItemTypeName> </serviceItemTypeName> <submittedDate> </submittedDate> <submittedDateRaw></submittedDateRaw> . . . </subscription></serviceitem>

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-93Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 152: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

v2 CRUD サービ ス項目の NSAPI

version2 (v2) nsAPI のサービ ス項目は、 階層的なサービ ス項目をサポー ト する た めに実行さ れます。 すべてのv2 API は JSON 形式のみをサポー ト し ます (入力お よび応答)。

読み取 り 、 作成、 更新、 削除について v2 サービ ス項目 NSAPI でサポー ト さ れる URL は次の と お り です。

GET API-1:

http://<Server URL>/RequestCenter/nsapi/v2/serviceitem/{serviceItemLogicName}

特定のサービ ス項目タ イ プの論理名のすべてのサービ ス項目レ コー ド を、 フ ィ ルタ な し で取得し ます。

URL 例 : http://<Server URL>/RequestCenter/nsapi/v2/serviceitem/SiDesktop

出力例 :

HTTP ス テータ ス コー ド : 200 OK

{

"serviceitem": {

"id": 109,

"name": "Desktop",

"logicName": "SiDesktop",

"startRow": 1,

"recordSize": 2,

"totalCount": 2,

"serviceItemData": [

{

"items": [

{

"Name": "1 desktop",

"SingleStr": "Single 1",

"MultiStr": [

"1-First",

"1-2nd",

"1-3rd"

]

}

],

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-94Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 153: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

"subscription": {

"accountID": 0,

"agreementID": 0,

"customerID": 1,

"id": 1,

"organizationalUnitID": 1,

"requisitionEntryID": 0,

"requisitionID": 0,

"submittedDateRaw": 1412223018210

}

]

}

}

}

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-95Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 154: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

GET API-2:

http://<ServerURL>/RequestCenter/nsapi/v2/serviceitem/{serviceItemLogicName}/{filters}

特定のサービ ス項目タ イ プの論理名の、 フ ィ ル タ基準に一致するすべてのサービス項目のレ コー ド を取得し ます。

URL 例 :

http:<Server URL>/RequestCenter/nsapi/v2/serviceitem/SiDesktop/Name=1desktop

出力例 :

HTTP ス テータ ス コー ド : 200 OK

{

"serviceitem": {

"id": 109,

"name": "Desktop",

"logicName": "SiDesktop",

"startRow": 1,

"recordSize": 2,

"totalCount": 2,

"serviceItemData": [

{

"items": [

{

"Name": "1 desktop",

"SingleStr": "Single 1",

"MultiStr": [

"1-First",

"1-2nd",

"1-3rd"

]

}

],

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-96Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 155: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

"subscription": {

"accountID": 0,

"agreementID": 0,

"customerID": 1,

"id": 1,

"organizationalUnitID": 1,

"requisitionEntryID": 0,

"requisitionID": 0,

"submittedDateRaw": 1412223018210

}

]

}

}

}

POST API

http://<ServerURL>/RequestCenter/nsapi/v2/serviceitem/{serviceItemLogicName}

URL 例 : http://<Server URL>/RequestCenter/nsapi/v2/serviceitem/SiDesktop

入力例 : ( 「serviceItemData」 のオブジ ェ ク ト の構造は、 GET 呼び出し応答および POST/PUT 呼び出し の入力 と 同じ です)。

{

“serviceitem": {

"serviceItemData": {

"Name": "2 desktop",

"SingleStr": "Single 2",

"MultiStr": ["2-1st",

"2-2nd",

"2-3rd"],

"Harddisk": {

"Name": "2 Disk",

"Size": "200"

},

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-97Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 156: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

"Harddisk": {

"Name": "2 Disk",

"Size": "200"

},

"MultiHardDisk": [{

"Name": "2-1 MDisk",

"MSize": "21"

},

{

"Name": "2-2 MDisk",

"MSize": "22"

}],

"CPU": {

"Name": "HP2",

"Speed": "20"

},

"MultiCPU": [{

"Name": "MHP1",

"MSpeed": "100"

},

{

"Name": "MHP2",

"MSpeed": "200"

}]

},

"subscription": {

"loginID": "admin",

"ouname": "Site Administration"}

}

}

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-98Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 157: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリファレンスおよび例 API リファレンスおよび例

注意事項と検証

1. これらの API をすべて使用するには、 サービス項目の定義が存在している必要があ り ます。

2. URL の 「serviceItemLogicName」 は有効な名前である必要があ り ます。

3. 作成/更新/削除の入力には、 次の検証が必要です。

1. サービス項目名は必須です。

2. 「作成」 では、 「更新」 および 「削除」 とは異な り、 同じサービス項目が以前にあってはな り ません。

3. 入力 JSON の属性が SI 定義に存在する必要があ り ます。

出力例 :

応答 HTTP ステータス コード : 200 OK

出力 : {

"nsapi-response": {

"status-messages": [

{

"code": "SI_SUCCESS_001",

"value": "Service item successfully updated."

}

]

}

}

DELETE API

http://<ServerURL>/RequestCenter/nsapi/v2/serviceitem/{serviceItemLogicName}

特定の入力のサービス項目を削除します。

URL 例 : http://<Server URL>/RequestCenter/nsapi/v2/serviceitem/SiDesktop

入力例 :

{

"serviceitem":{

"serviceItemData": {

"Name": "14 desktop"

}

}

}

出力例 :

応答 HTTP ステータス コード : 204

表 3-21 サービス項目の詳細 API テーブル (続き)

領域 例

3-99Cisco Prime Service Catalog 11.0 アダプタ統合ガイド

Page 158: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

4. 親レ コー ド でレ コー ド を参照する ためには、 「作成」 および 「更新」 API のいずれにも、 その参照レ コー ド が存在し ている必要があ り ます。

5. 包含レ コー ド は親レ コー ド の更新シナ リ オに存在する必要はあ り ません。

6. 親レ コー ド の更新時に、 「名前」 を除 く 、 それに含まれる子レ コー ド データ を更新で きます。 こ のためには所有者情報が一致する必要があ り ます。

7. 子レ コー ド に こ れまで一度も所有者 SI がなかった場合は、 ユーザが親レ コー ド の更新を使用し て、 既存の SI レ コー ド を包含レ コー ド と し て別の既存の SI (親) に追加する必要があ り ます。 例 : デス ク ト ッ プ (親 SI) と CPU (子 SI)、 およびこ れら両方に別々に作成さ れる イン ス タ ン ス (Desktop1 および CPU1)。 こ こ で、 Desktop1 を更新し、 CPU1 が こ れまで所有者 SI を持った こ と がない場合は、 CPU1 を こ れに接続で き ます。 こ の呼び出し によ って、 CPU1 は Desktop1 の包含レ コー ド にな り ます。

8. 更新時に、 入力のすべての SI レ コー ド (親レ コー ド ま たはそれに含まれる子レ コー ド )はマージ さ れ、 保存さ れる必要があ り ます。 既存の属性データは、 それ ら の属性が更新 API の入力で指定さ れていない場合は、 変更し ないで く だ さ い。

9. 参照レ コー ド が親レ コー ド 更新で更新さ れる こ と はあ り ません。 これ ら は、 参照される だけです。

10. 親レ コー ド に 1 つの包含オブジ ェ ク ト があ り 、 その包含レ コー ド を親に含めない場合、含まれる のが単一値であれば入力 と し て空のオブジ ェ ク ト {} を渡し、 含まれる のが複数値であれば空の配列 [] を渡す必要があ り ます。 例 : Harddisk - 単一値が含まれる タ イ プの属性 MultiHardDisk - 複数値が含まれる タ イ プの属性

{

"serviceitem": {

"serviceItemData": {

"Name": "1 desktop",

"Harddisk": {

},

"MultiHardDisk": [

]

}

}

11. 既存の参照レ コー ド を削除する ために親を更新する には、 入力構造が前述 と 同じ である必要があ り ます。

12. 「Name」 は包含/参照の子レ コー ド に必須です。

13. 更新 API の入力で属性が指定さ れない場合、 その属性データは更新の実行に よ って変更さ れません。

14. 削除 API の場合、 親レ コー ド と それに関連し ていたすべての子レ コー ド が削除さ れますが、 親レ コー ド と 関連し ていない参照レ コー ド は削除されません。

3-100Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 159: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

すべてのサービス項目

表 3-22 すべてのサービス項目 API テーブル

領域 例

コ ア API すべての項目の取得

すべてのサブス ク リ プシ ョ ンおよびサービ ス項目データ を表示し ます。

デフ ォル ト では、現行ユーザに割 り 当て られている サービ ス項目のみがフ ィ ルタ されます。 ま た、 ユーザが 「View Service Items for My Business Units」 機能を持って いる場合は、そのユーザが属し てい る全 OU に含まれている他人のサービ ス項目も 返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitems/serviceitemsubscription

Java の例

ServiceItemSubscriptionList AllserviceItems = NSApiClient.getServiceItemSubscription().getServiceItemSubscriptionData(null);

特殊な 条件

フ ィ ルタ時の特殊文字のサポー ト

特殊文字 (「=」、 「|」、 ま たは 「/」 など) を使用する必要があ る場合は、 要求のペイロー ド (本文) で、 フ ィ ルタ と と も に POST メ ソ ッ ド を使用し ます。

Method: POST

REST URL:

/RequestCenter/nsapi/serviceitems/serviceitemsubscription

サンプル ペイ ロー ド :

{

"filterString":"<columnName1><operator1><value1>|<and|or>|<columnName2><operator2><value2>|<and|or>|<columnName3><operator3><value3>"

}

3-101Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 160: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

フ ィ ルタ(Filters)

ビ ュー フ ィ ルタ

フ ィ ルタ に使用可能なビ ューは、My Services および Service Item Manager モジ ュー ルのそれぞれに表示さ れる内容に対応し ています。

ViewName に指定可能な値 :

• My ServiceItems : 現行ユーザが所有し ているすべてのサービ ス項目 「View Service Items for My Business Units」 を持っている ユーザの場合は、 そのユーザが属し ている OU 内の他人が所有し ている項目も取得し ます。

• Manage ServiceItems : すべてのサービ ス項目 (ユーザが 「サービ ス項目イ ン スタ ン スの管理 (Manage Service Item Instances)」 権限を持っている場合に限 り 、こ のビ ューはデータ を返し ます)。

ソー ト 順やページ サ イ ズなど他の引数も指定する場合は、ViewName 引数を 後に 配置する必要があ り ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitems/serviceitemsubscription?ViewName=<viewName>

Java の例

ServiceItemSubscriptionList AllserviceItems = NSApiClient.getServiceItemSubscription().getServiceItemSubscriptionFilterData("<viewName>");

サブス ク リ プシ ョ ン フ ィ ルタ

Service Item Subscription テーブルの全カ ラ ム用のフ ィ ルタ。

大 3 つのフ ィ ルタ がサポー ト さ れます。

REST URL:

比較演算子 :

• 数値/日付カ ラ ム : =、 >、 <、 >=、 <=

• 文字列カ ラ ム : = (大文字小文字の区別あ り 。 like、 contains、 および starts-with 演算子については後述)

関係演算子 : AND、 OR (大文字 と 小文字を区別し ない、 オーダーの優先順位はサポー ト さ れていません)

フ ィ ルタ区切 り 文字 : |

サポー ト さ れる カ ラ ム : すべてのカ ラ ム

http://<ServerURL>/RequestCenter/nsapi/serviceitems/serviceitemsubscription/<columnName1><operator1><value1>[|<AND|OR>|<columnName2><operator2><value2>][|<AND|OR>|<columnName3><operator3><value3>]

Java の例

String filter = " <columnName1><operator1><value1>|<and|or>|<columnName2><operator2><value2>|<and|or>|<columnName3><operator3><value3>";ServiceItemSubscriptionList AllserviceItems = NSApiClient.getServiceItemSubscription().getServiceItemSubscriptionFilterData(filter);

表 3-22 すべてのサービス項目 API テーブル (続き)

領域 例

3-102Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 161: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

文字列カ ラ ムのフ ィ ルタ

% (starts with) 演算子がサポー ト さ れています。

* (contains) 演算子がサポー ト さ れています。

(ends with) 演算子はサポー ト されていません。

次に、 例を示し ます。

Name=service* Name=*g*

Name=*g : 許可されません

REST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitems/serviceitemsubscription/<columnName>=<wildcardValue>

Java の例

String filter = "<columnName>=<wildcardValue>";ServiceItemSubscriptionList AllserviceItems = NSApiClient.getServiceItemSubscription().getServiceItemSubscriptionFilterData(filter);

日付カ ラ ムのフ ィ ルタ

日付フ ィ ール ド の値は mm-dd-yyyy 形式にする必要があ り ます。

比較演算子 : =、 >、 <、 <=、 >=

例 :

SubmittedDate=12-10-2010

REST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitems/serviceitemsubscription/<columnName><operator><mm-dd-yyyy>

Java の例

String filter = "<columnName><operator><mm-dd-yyyy>";ServiceItemSubscriptionList AllserviceItems = NSApiClient.getServiceItemSubscription().getServiceItemSubscriptionFilterData(filter);

表 3-22 すべてのサービス項目 API テーブル (続き)

領域 例

3-103Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 162: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービス項目に対する作成/更新/削除 API

次の表では、 サービ ス項目に対し て作成/更新/削除操作を行 う ための nsAPI URL について説明し ます。 要求の コ ンテン ツ タ イ プは、 application/xml ま たは application/json です。 デフ ォル トの応答の コ ンテン ツ タ イ プは要求の コ ンテン ツ タ イ プ と 同じ にな り ます。 つま り 入力データが xml 形式であれば応答データ も xml 形式にな り ます。 こ れら は、 追加の ク エ リ ー パ ラ メ ータ「responseType」 を指定する こ と に よ り 、 変更で き ます。 パ ラ メ ータ で指定で き る値は 「xml」ま たは 「json」 です。 た と えば、 xml で入力し た場合、 URL で responseType-json を指定する と 、応答は json 形式で返さ れます。

ソー ト カ ラ ム

Assigned Date、 Customer ID、 Display Name、 Organizational Unit ID、 Requisition ID、 Requisition Entry ID、Service Item Classification ID、Service Item ID、Service Item Type ID、 Service Item Type Name、 Submitted Date

応答 XML

<AllServiceItems totalCount="x" recordSize="y" startRow="z"> <serviceitemsubscription displayName=" " id=""> . . . <serviceItemTypeName> </serviceItemTypeName> <organizationalUnitID></organizationalUnitID> <assignedDate> </assignedDate> <requisitionID></requisitionID> <submittedDate> </submittedDate> <submittedDateRaw></submittedDateRaw> <assignedDateRaw></assignedDateRaw> <customerID></customerID> <requisitionEntryID></requisitionEntryID> <serviceItemID></serviceItemID> <serviceItemTypeID></serviceItemTypeID> <organizationalUnitName> </organizationalUnitName> <customerName> </customerName> <serviceitem id=""> <logicName> </logicName> <name> </name> <serviceItemData rowId=""> <serviceItemAttribute name=" "> </serviceItemAttribute> . . . </serviceitemsubscription></AllServiceItems>

表 3-22 すべてのサービス項目 API テーブル (続き)

領域 例

3-104Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 163: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

.

表 3-23 サービス項目に対する作成/更新/削除 API

領域 例

Core API サービ ス項目の作成

POST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/process

xml:

<serviceitem> <name>custom_sitype</name> <serviceItemData> <serviceItemAttribute name="Name">sit1</serviceItemAttribute> <serviceItemAttribute name="Field1">a</serviceItemAttribute> <serviceItemAttribute name="Field2">b</serviceItemAttribute> </serviceItemData> </serviceitem>

json:

{ "serviceitem" : { "name" : "custom_sitype", "serviceItemData" : { "serviceItemAttribute" : [ { "name" : "Name", "value" : "sit1" }, { "name" : "Field1", "value" : "a" }, { "name" : "Field2", "value" : "b" } ] } }}

3-105Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 164: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービ ス項目の更新

PUT URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/process

xml:

<serviceitem> <name>custom_sitype</name> <serviceItemData> <serviceItemAttribute name="Name">sit1</serviceItemAttribute> <serviceItemAttribute name="Field1">a</serviceItemAttribute> <serviceItemAttribute name="Field2">b</serviceItemAttribute> </serviceItemData> </serviceitem>

サービ ス項目の削除

DELETE URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/process

xml:

<serviceitem> <name>custom_sitype</name> <serviceItemData> <serviceItemAttribute name="Name">sit1</serviceItemAttribute> </serviceItemData> </serviceitem>

サービ ス項目のカ ス タ ム操作

サービ ス項目に対し てカ ス タ ム操作を実行し ます。

PUT URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/process?operation=test

xml:

<serviceitem> <name>custom_sitype</name> <serviceItemData> <serviceItemAttribute name="Name">sit1</serviceItemAttribute> <serviceItemAttribute name="Field1">a</serviceItemAttribute> <serviceItemAttribute name="Field2">b</serviceItemAttribute> </serviceItemData> </serviceitem>

表 3-23 サービス項目に対する作成/更新/削除 API (続き)

領域 例

3-106Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 165: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

サービ ス項目を作成し、 特定の OU に関連付け る

サービ ス項目を作成し、 要求データ でサービ ス項目のサブス ク リ プシ ョ ン詳細を指定する こ と に よ り 、 サービ ス項目を特定の OU や個人など と 関連付けます。

POST URL:

http://<ServerURL>/RequestCenter/nsapi/serviceitem/process

xml:

<serviceitem> <name>custom_sitype</name> <serviceItemData> <serviceItemAttribute name="Name">sit1</serviceItemAttribute> <serviceItemAttribute name="Field1">a</serviceItemAttribute> <serviceItemAttribute name="Field2">b</serviceItemAttribute> <subscription> <loginID>admin</loginID> <ouname>testOU1</ouname> <accountName>account1</accountName> <requisitionEntryID>6</requisitionEntryID> </subscription> </serviceItemData> </serviceitem>

json:

{ "serviceitem" : { "name" : "custom_sitype", "serviceItemData" : { "serviceItemAttribute" : [ { "name" : "Name", "value" : "sit1" }, { "name" : "Field1", "value" : "a" }, { "name" : "Field2", "value" : "b" } ], "subscription" : { "loginID" : "admin", "ouname" : "testOU1", "accountName" : "account1", "requisitionEntryID" : "" } } }}

フ ィ ルタ(Filters)

フ ィ ルタはサポー ト さ れません。

表 3-23 サービス項目に対する作成/更新/削除 API (続き)

領域 例

3-107Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 166: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

権限の付与または取り消し

nsAPI は、 サービ ス項目および標準の権限の割 り 当て と 取 り 消し に対し てのみサポー ト さ れま す。 SI イ ン ス タ ン ス データ に対する レ コー ド レベルの権限の定義は、 SIM モジ ュールか ら、 ま たは nsAPI を使ってのみ可能です (Org Designer か ら はで き ません)。

ソー ト カ ラ ム

ソー ト は許可さ れません。

応答 XML xml:

<nsapi-response> <status-message> <value>Service item [sit1] successfully created.</value> </status-message></nsapi-response>

<nsapi-response> <status-message> <value>Operation 'Test' of service item [sit1] successfully performed.</value> </status-message></nsapi-response>

json:

{ "nsapi-response" : { "status-messages" : [ { "value" : "Service item [sit140211] successfully created." } ] }}

表 3-23 サービス項目に対する作成/更新/削除 API (続き)

領域 例

3-108Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 167: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

表 3-24 権限の付与および取り消し API テーブル

領域 例

コ ア API 権限の付与

サービ ス項目および標準に対する権限を付与し ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/rbac/extensibleschema/grantpermission

SIM RBAC に関連するすべての権限は、 こ の nsAPI に よ って実行で き ます。

• 特定の SI グループ/すべての SI グループ/標準グループの定義の権限を ロールに付与し ます。

• 特定のサービ ス項目/すべてのサービ ス項目/標準の定義の権限を ロールに付与し ます。

• 特定のサービ ス項目/すべてのサービ ス項目/標準の イ ン ス タ ン ス データ の権限を ロールに付与し ます。

• 特定の SI イ ン ス タ ン ス /レ コー ド に対する SI イ ン ス タ ン ス レベル/レ コー ド レベルの権限を、 個人/OU/グループ/ロール/アカ ウ ン ト に付与し ます。

• すべてのオブジ ェ ク ト に対する 「Maintain Billing Rates (課金レー ト の維持)」権限を付与し ます。

権限の取 り 消し

サービ ス項目および標準に対する権限を取 り 消し ます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/rbac/extensibleschema/revokepermission

SIM RBAC に関連するすべての権限は、 こ の nsAPI に よ って実行で き ます。

• ロールに付与さ れている、 特定の SI グループ/すべての SI グループ/標準グループの定義の権限を取 り 消し ます。

• ロールに付与さ れている、 特定のサービ ス項目/すべてのサービ ス項目/標準の定義の権限を取 り 消し ます。

• ロールに付与さ れている、 特定のサービ ス項目/すべてのサービ ス項目/標準のイ ン ス タ ン ス データ の権限を取 り 消し ます。

• 個人/OU/グループ/ロール/アカ ウ ン ト に付与さ れている、 特定の SI イ ン ス タン ス /レ コー ド に対する SI イ ン ス タ ン ス レベル/レ コー ド レベルの権限を取 り消し ます。

• すべてのオブジ ェ ク ト に対する 「Maintain Billing Rates (課金レー ト の維持)」権限を取 り 消し ます。

フ ィ ルタ(Filters)

フ ィ ルタはサポー ト さ れません。

3-109Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 168: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

ソー ト カ ラ ム

ソー ト は許可さ れません。

要求 XML

権限の付与 :

ヘ ッ ダー : <Username> <password> および <Content-Type=application/xml> Method=POST

<?xml version="1.0" encoding="UTF-8"?><grantpermission scope="SpecificObject/AllObjects" object="Instance/Definition/Group" recipient="Role/OrgUnit/Person/Group/ProjectAccount/TenantAccount" recipientName=<Name of the Recipient> recipientType="ServiceTeam/BuisnessUnit - Applicable only if the recipient is set to OrgUnit" domain="ServiceItem/Standard" permission=<Logical Names> instanceName=<Name of the Instance if object="Instance"> objectName=<Name of the attribute object> />

例 :

<?xml version="1.0" encoding="UTF-8"?><grantpermission scope="SpecificObject" object="Instance" recipient="OrgUnit" recipientName="test5466" recipientType="ServiceTeam" domain="ServiceItem" permission="mdr_record_read" instanceName="Cap" objectName="SravItem"/>

権限の取 り 消し :

ヘ ッ ダー : <Username> <password> および <Content-Type=application/xml> Method=POST

<?xml version="1.0" encoding="UTF-8"?><revokepermission scope="SpecificObject/AllObjects" object="Instance/Definition/Group" recipient="Role/OrgUnit/Person/Group/ProjectAccount/TenantAccount" recipientName=<Name of the Recipient> recipientType="ServiceTeam/BuisnessUnit - Applicable only of the recipient is set to OrgUnit" domain="ServiceItem/Standard" permission=<Logical Names> instanceName=<Name of the Instance if object="Instance"> objectName=<Name of the attribute object> />

例 :

<?xml version="1.0" encoding="UTF-8"?><revokepermission scope="SpecificObject" object="Instance" recipient="OrgUnit" recipientName="test5466" recipientType="ServiceTeam" domain="ServiceItem" permission="mdr_record_read" instanceName="Cap" objectName="SravItem"/>

特定のオブジ ェ ク ト にユーザが付与/取 り 消し で き る権限の詳細については、 「特定のオブジ ェ ク ト にユーザが付与/取 り 消し で き る権限」 の表を参照し て く だ さ い。

表 3-24 権限の付与および取り消し API テーブル (続き)

領域 例

3-110Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 169: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

表 3-25 特定のオブジ ェ ク ト にユーザが付与/取り消し できる権限

範囲 UI ラベル 権限

object= “Definition”, domain= “ServiceItem”

object= “Group”, domain= “ServiceItem”

object= “Instance”, domain= “ServiceItem”

object= “Definition”, domain= “Standard”

object= “Group”, domain= “Standard”

object= “Instance”, domain= “Standard”

AllObjects/SpecificObject

読み取り(Read)

mdr_record_read N/A N/A

AllObjects には適用されない。 イ ンス タ ンス名が NULL ではない場合は、特定のオブジ ェ ク ト に適用可能 N/A N/A N/A

書き込み(Write)

mdr_record_write

N/A N/A A l l O b j e c t sに は 適 用 されない。イ ンス タ ン ス 名が NULL で は な い 場 合は、特定のオブ ジ ェ ク トに適用可能

N/A N/A N/A

読み取 り 定義

mdr_datatype_read

適用可能 N/A N/A 適用 可能

N/A N/A

R e a d Wr i t e定義

mdr_datatype_write

適用可能 N/A N/A 適用 可能

N/A N/A

すべてのインスタンス デー タの読み取り

content_def_read_allcontentdata

N/A N/A 適用可能 N/A N/A 適用可能

すべてのインスタンス デー タの読み取り/書き込み

content_def_write_allcontentdata

N/A N/A 適用可能 N/A N/A 適用可能

個人の BU の すべ て のイ ン ス タ ンス デー タ の 読み取 り

allinstancedata_my_bu_read

N/A N/A 適用可能 N/A N/A N/A

個人の BU の すべ て のイ ン ス タ ンス デー タ の 読み取 り /書き込み

allinstancedata_my_ bu_write

N/A N/A 適用可能 N/A N/A N/A

3-111Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 170: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

個人の BU お よびその下位単位のすべてのインスタンス データの 読み取り

allinstancedata_my_bu_hierarachy_read

N/A N/A 適用可能 N/A N/A N/A

個人の BU お よびその下位単位のすべてのインスタンス データの 読み取 り / 書き込み

allinstancedata_my_bu_hierarachy_write

N/A N/A 適用可能 N/A N/A N/A

個人のテナント アカ ウ ン ト のすべてのインスタンスデータの読み取り

allinstancedata_my_tenantaccount_read

N/A N/A 適用可能 N/A N/A N/A

個人 の テ ナン ト ア カ ウ ン ト の すべて の イ ン スタ ン ス デー タ の 読み取り /書き込み

allinstancedata_my_tenantaccount_write

N/A N/A 適用可能 N/A N/A N/A

個人 の プ ロジ ェ ク ト ア カ ウ ン ト のすべ て の イン ス タ ン スデー タ の 読み取 り

allinstancedata_my_projectaccount_read

N/A N/A 適用可能 N/A N/A N/A

個 人 の プ ロジ ェ ク ト ア カウン ト のすべてのインスタ ン ス デー タの読み取り/書き込み

allinstancedata_my_projectaccount_write

N/A N/A 適用可能 N/A N/A N/A

自己 が サ ブス ク ラ イ ブす る すべ ての イ ン ス タン ス デー タ の読み取 り

allinstancedata_subscribed_self_read

N/A N/A N/A N/A N/A N/A

表 3-25 特定のオブジ ェ ク ト にユーザが付与/取り消し できる権限 (続き)

範囲 UI ラベル 権限

object= “Definition”, domain= “ServiceItem”

object= “Group”, domain= “ServiceItem”

object= “Instance”, domain= “ServiceItem”

object= “Definition”, domain= “Standard”

object= “Group”, domain= “Standard”

object= “Instance”, domain= “Standard”

3-112Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 171: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

自己 が サ ブス ク ラ イ ブす る すべ ての イ ン ス タン ス デー タ の読み取 り /書き込み

allinstancedata_subscribed_self_write

N/A N/A N/A N/A N/A N/A

新し い イ ンス タ ン ス データ の 作成

create_new_service_item

N/A N/A 適用可能 N/A N/A N/A

新 し い 標準の イ ン ス タン ス デー タ の作成

create_new_standard_instance_data

N/A N/A N/A N/A N/A 適用可能

こ の グ ループ の すべ ての 定義 の 読み取 り

mdr_class_read

N/A 適用可能 N/A N/A 適用可能 N/A

こ の グ ループ の すべ ての 定義 の 読み取 り /書 き込み

mdr_class_write

N/A 適用可能 N/A N/A 適用可能 N/A

AllObjects MaintainBilling Rates

billingrates_maintain

object=“Definition”

N/A domain=“Billing”

object=“Definition”

N/A N/A

表 3-25 特定のオブジ ェ ク ト にユーザが付与/取り消し できる権限 (続き)

範囲 UI ラベル 権限

object= “Definition”, domain= “ServiceItem”

object= “Group”, domain= “ServiceItem”

object= “Instance”, domain= “ServiceItem”

object= “Definition”, domain= “Standard”

object= “Group”, domain= “Standard”

object= “Instance”, domain= “Standard”

3-113Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 172: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

標準 (Standards)

表 3-26 標準 API テーブル

領域 例

コ ア API Name に よ る取得

デフ ォル ト では、 指定し た標準の 初の 50 個のエン ト リ が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/standard/<standardName>

Java の例

StandardDTO standards = NSApiClient.getStandard().getStandardData("<standardName>", null);

フ ィ ルタ(Filters)

大 3 つのフ ィ ルタ がサポー ト さ れます。

REST URL:

比較演算子 :

• 数値/日付カ ラ ム : =、 >、 <、 >=、 <= (大文字小文字の区別あ り )

• 文字列カ ラ ム : = (like、 contains、 および starts-with 演算子については後述)

関係演算子 : AND、 OR (大文字 と 小文字を区別し ない、 オーダーの優先順位はサポー ト さ れていません)

フ ィ ルタ区切 り 文字 : |

サポー ト さ れる カ ラ ム : すべてのカ ラ ム

http://<ServerURL>/RequestCenter/nsapi/standard/<standardName>/<columnName1><operator1><value1>[|<AND|OR>|<columnName2><operator2><value2>][|<AND|OR>|<columnName3><operator3><value3>]

Java の例

String filter: "<columnName1><operator1><value1>|<and|or>|<columnName2><operator2><value2>|<and|or>|<columnName3><operator3><value3>";StandardDTO standards = NSApiClient.getStandard().getStandardDataWithFilters("<standardName>", filter);

3-114Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 173: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

文字列カ ラ ムのフ ィ ルタ

% (starts with) 演算子がサポー ト さ れています。

* (contains) 演算子がサポー ト さ れています。

(ends with) 演算子はサポー ト されていません。

次に、 例を示し ます。

Name=service* Name=*g*

Name=*g : 許可されません

REST URL:

http://<ServerURL>/RequestCenter/nsapi/standard/<standardName>/<columnName>=<wildcardName>

Java の例

StandardDTO standards = NSApiClient.getStandard().getStandardDataWithFilters("<standardName>", "<wildcardName>");

日付カ ラ ムのフ ィ ルタ

日付フ ィ ール ド の値は mm-dd-yyyy 形式にする必要があ り ます。

比較演算子 : =、 >、 <、 <=、 >=

例 :

SubmittedDate=12-10-2010

REST URL:

http://<ServerURL>/RequestCenter/nsapi/standard/<standardName>/<columnName><operator><mm-dd-yyyy>

Java の例

StandardDTO standards = NSApiClient.getStandard().getStandardDataWithFilters("<standardName>", "<columnName><operator><mm-dd-yyyy>");

ソー ト カ ラ ム

すべてのテーブル カ ラ ム。

応答 XML

<standard totalCount="x" startRow="y" recordSize="z" id="a"> <loginName></loginName> <name></name> <standardData rowId=""> . . . <standardAttribute name="id" /> . . . <standardURL><a ></a></standardURL> <standardURLOnly> </standardURLOnly> . . . </standardData></standard>

表 3-26 標準 API テーブル (続き)

領域 例

3-115Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 174: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

サービス カ タ ログ (Service Catalog) のデータ

カス タム コ ンテンツ (Custom Content)

カ ス タ ム コ ンテン ツは、 サービ ス ポータルの コ ンテン ツの ソース と し て機能する、 ユーザ定義 のテーブルに よ り 構成さ れます。こ れら のテーブルは、標準 と 同様にポー ト レ ッ ト のデータ ソー ス と し て参照さ れます。

表 3-27 カス タム コ ンテンツ API テーブル

領域 例

コ ア API Name に よ る取得

デフ ォル ト では、 指定し たテーブルの 初の 50 個のエン ト リ が返さ れます。

REST URL:

http://<ServerURL>/RequestCenter/nsapi/customcontent/<customContentName>

Java の例

CustomContentDTO customs = NSApiClient.getCustomContent().getcontentData("<customContentName>", null);

フ ィ ルタ(Filters)

すべてのカ ス タ ム コ ンテン ツ カ ラ ムがサポー ト されています。

% (starts with) 演算子がサポー ト さ れています。

(ends with) 演算子はサポー ト さ れていません。

次に、 例を示し ます。

Name=custom*

Name=*g : 許可されません

REST URL:

比較演算子 : =、 >、 <、 >=、 <= (大文字小文字の区別あ り )

関係演算子 : AND、 OR (大文字小文字の区別あ り )

フ ィ ルタ区切 り 文字 : |

サポー ト される カ ラ ム : すべてのカ ラ ム

http://<ServerURL>/RequestCenter/nsapi/customcontent/<customContentName>/<columnName1><operator1><value1>[|<AND|OR>|<columnName2><operator2><value2>][|<AND|OR>|<columnName3><operator3><value3>]

http://<ServerURL>/RequestCenter/nsapi/customcontent/<customContentName>/<columnName>=<wildcardName>

http://<ServerURL>/RequestCenter/nsapi/customcontent/<customContentName>/<columnName><operator><mm-dd-yyyy>

Java の例

String filter = "<columnName><operator><value>";CustomContentDTO customs = NSApiClient.getCustomContent().getcustomContentDataWithFilters("CoPortalContent", filter);

3-116Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 175: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

全カ ラ ム名の リ ス ト 、 お よ び各エン テ ィ テ ィ の説明については、 『Cisco Prime Service Catalog Designer Guide』 の 「Designing Portals」 の章にあ る 「Reference Data」 の項を参照し て く だ さ い。

REST API 要求のレー ト 制限の設定

Prime Service Catalog の管理者はレー ト リ ミ ッ タ に よ り 、 許可さ れる要求数および許可される要求の時間帯 (秒数) を グ ローバルに設定し ます。

要求 (外部アプ リ ケーシ ョ ンか ら の要求、 ま たは Prime Service Catalog UI 内の要求) は、 設定に従って受け入れられ、 設定の制限を超え る と 拒否さ れます。

要求が拒否さ れた場合、 レー ト 制限に対する HTTP 応答コー ド - 429 Too Many Requests (RFC 6585) が要求ユーザに返さ れます。

次のグ ローバルなデフ ォル ト 値がレー ト 制限機能のために管理者に よ って設定されます。

• enabled : こ のフ ラ グは true (REST 呼び出し のレー ト 制限を有効にする) ま たは false(REST 呼び出し のレー ト 制限を無効にする) に設定さ れます (API ま たは UI ベースの nsAPI REST 呼び出し に適用さ れる グ ローバル設定)。 こ のフ ラ グはデフ ォル ト で無効ですが、 nsApiRateLimit.json フ ァ イルを設定し て レー ト 制限を有効にで き ます。 フ ラ グの設定は、 グ ローバルおよびすべての上書き に均等に適用されます。 さ ら に、 UI ま たは外部アプリ ケーシ ョ ンか ら の nsAPI REST 呼び出し に対し て、 別のレー ト 制限を定義で き ます。

• nsApiRateLimit : 許可さ れる呼び出し の 大数を指定し ます。

• nsApiRateIntervalSecs : nsApiRateLimit に よ り 設定さ れる要求が許可さ れる時間帯 (秒数) を指定し ます。

さ ら に、 管理者は次の修飾子を使用し て、 グ ローバル (デフ ォル ト ) 値を上書き で き ます (特定の URL、 1 つ以上の メ ソ ッ ド が上書き さ れます)。

(注) 時間帯は上書き で き ません。 上書き では毎回、 グ ローバル設定を使用し ます。

• url : nsAPI の Rest URI は完全 URL か、 ま たはワ イル ド カー ド (*) を使った URL です。 ワイル ド カー ド が使用さ れない場合は、 入力 URI と 設定さ れる URL が完全一致する と 想定さ れます。 設定の ク エ リ ー パラ メ ータはすべて、 レー ト リ ミ ッ タ に よ り 省略されます。

• method : HTTP メ ソ ッ ド は 1 つま たは複数の ["GET", "PUT", "POST", "DELETE"] を含む文字列 リ テ ラ ル配列です。

ソー ト カ ラ ム

すべてのテーブル カ ラ ム

応答 XML <customContent totalCount="x" startRow="y" recordSize="z" id="a"> <logicName></logicName> <name></name> . . . <customContentData rowId=""> <customContentAttribute name=" "></customContentAttribute> . . . </customContentData></customContent>

表 3-27 カス タム コ ンテンツ API テーブル (続き)

領域 例

3-117Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 176: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

API リ フ ァ レンスおよび例

• nsApiRateLimit : 許可さ れる呼び出し の 大数を指定し ます。 これは、 こ の URI だけに対する同様のグ ローバル設定を上書き し ます。

次の JSON 構造に従って レー ト 制限を設定し ます。

(注) JSON の検証は手動で行います。 設定フ ァ イル nsAPIRateLimit.json を保存する際に、 アプ リケーシ ョ ンは JSON の検証を行いません。 こ のため、 無効な JSON の場合にアプ リ ケーシ ョ ンが動作し ない こ と があ り ます。

{"api": {

"config": {"enabled": "false","nsApiRateLimit": 2,"nsApiRateIntervalSecs": 10,"overrides": [

{"url": "/nsapi/serviceitem/SiServItem*","method": [

"GET"],"nsApiRateLimit": 5

},{

"url": "/nsapi/serviceitem/*","method": [

"GET"],"nsApiRateLimit": 3

},{

"url": "/nsapi/serviceitem/*","method": [

"POST","PUT"

],"nsApiRateLimit": 3

},{

"url": "/nsapi/transaction/authorizations/*","method": [

"GET","PUT","POST","DELETE"

],"nsApiRateLimit": 8

},{

"url": "/nsapi/transaction/authorizations/ViewName=Authorizations%20for%20Self| Status=Approved",

"method": ["GET","PUT","POST","DELETE"

],"nsApiRateLimit": 3

},{

"url": "/nsapi/definition/categories",

3-118Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 177: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 API リ フ ァ レンスおよび例

"method": ["GET","PUT","POST","DELETE"

],"nsApiRateLimit": 5

}]

}},"ui": {

"config": {"enabled": "false","nsApiRateLimit": 4,"nsApiRateIntervalSecs": 10,"overrides": [

{"url": "/nsapi/transaction/requisitions/*","method": [

"GET","PUT","POST","DELETE"

],"nsApiRateLimit": 3

},{

"url": "/nsapi/transaction/authorizations/*","method": [

"GET","PUT","POST","DELETE"

],"nsApiRateLimit": 3

},{

"url": "/nsapi/definition/categories","method": [

"GET","PUT","POST","DELETE"

],"nsApiRateLimit": 5

}]

}}

}

3-119Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 178: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

エラー メ ッ セージ

エラー メ ッ セージ例外の性質に応じ て、 異な る HTTP 応答コー ド が nsAPI に よ り 返さ れます。

• HTTP ス テータ ス コー ド 401 (Unauthorized) および XML エ ラー応答 メ ッ セージ 「User does not have proper authentication」、 ま たは メ ッ セージがパス ワー ド ポ リ シー違反に関連する場合 : 無効な認証パラ メ ータ です、 ま たは認証パ ラ メ ータ があ り ません。

• HTTP ス テータ ス コー ド 404 (Not Found) および XML エ ラー応答 メ ッ セージ 「Requested resource could not be found.」 : 指定さ れたパ ラ メ ータ /URL 値のデータ を取得で き ませんでし た。

例 :

nsapi/directory/people/id/-1nsapi/directory/people/id/foo

nsapi/directory/people/id/1000 (id が 1000 の個人が存在し ない場合)nsapi/directory/people/name/<non existent person>nsapi/directory/people/idxyz/1

• HTTP ス テータ ス コー ド 403 (Forbidden) および XML エ ラー応答 メ ッ セージ 「The user does not have sufficient permissions to perform the operation this object.」 : 指定さ れた操作をオブジ ェ ク ト に対し て実行する ために必要な権限をユーザが持っていないため、 データを取得で き ませんで し た。

• HTTP ス テータ ス 500 (内部エ ラー) および XML エ ラー応答 メ ッ セージ 「Internal Error: Invalid parameter values specified or unexpected error.」 : パラ メ ータ の誤 り 。 あ る いは、nsAPI の内部で発生し たその他の例外。 ま たは、 その他の一般的なサーバ エ ラー。

例 :

nsapi/directory/people?startRow=5000 (5000 行存在し ていない場合)

nsapi/directory/people?sortBy=wrongColumn&sortDir=Asc (サポー ト されていないカ ラ ム)

nsapi/directory/people?recordSize=-1 (recordSize が負の値またはゼロ)

• Http ス テータ ス 422 (Unprocessable Entity)、 および POST/UPDATE 操作に対する XML 妥当性検査エ ラー応答 メ ッ セージ : 要求データ の必須フ ィ ール ド に値があ り ません。 ま たは無効な値が入っています。

nsAPI は、指定さ れたフ ィ ルタ について結果が見つか ら ない場合、 ま たは無効なフ ィ ルタ条件が 指定さ れた場合にエ ラー メ ッ セージを返し ます。 次に例を示し ます。

<nsapi-response><status-code>failed</status-code><status-message>Service item custom_sit201 does not exist, none of the service items were updated.</status-message></nsapi-response>

nsAPI で の メ ソ ッ ド の実行中に発生 し た すべ て の例外につい て、 nsAPI は Java か ら NSAPIException を ス ローし ます。

3-120Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 179: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例 サポー ト される操作の要約

サポー ト される操作の要約次のチャー ト に、 さ ま ざ ま なエンテ ィ テ ィ タ イ プでサポー ト さ れる操作についての要約を示し ます。

参照テーブル

エンテ ィ テ ィ 名(Entity Name)

Id に

よる

取得

Nam

e に

よる

取得

すべ

て取

ワイ

ルド

カー

ド名

前検

ソー

ペー

ジン

REST

フィ

ルタ

から

Jav

a ク

ライ

アン

ト メ

ソッ

ドへ

の変

[更新

(U

pdat

e)]

フ ィ ルタ(Filters)

ネス ト されたエンテ ィ テ ィ

認証

認証 : ロ グ イ ン /ロ グアウ ト

X X

定義デー タ

カテゴ リ X X X X X X X カ タ ロ グ タ イ プ サブ カ テ ゴ リ 、 含ま れ る サ ー ビ ス、含まれる提供

サービ ス X X X X X X X カテゴ リ ID、 カテゴ リ 名、 キーワー ド

カ テ ゴ リ 、 キ ーワ ー ド 、 組み込みサービ ス

契約 X X X X X X X [名前 (Name) ]

エージ ェ ン ト (Agents) X X X X X X X [名前 (Name) ]

ト ラ ンザク シ ョ ン デー タ

申請 X X X X X ビ ュー名、 ス テータ ス

要求エン ト リ X X X X

許可 X X X X X ビ ュー名、 ス テータ ス

タ ス ク X X X X X ビ ュー名 (View Name)

タ ス ク : 特定の要求エン ト リ に関する タ ス ク

X X X X タ ス ク の タ イ プ、ス テータ ス(Skipped)

組み込みサービ スの タ ス ク

タ ス ク : 特定の要求に関する マ イルス ト ーン

X

タ ス ク : ア ク シ ョ ン X

3-121Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 180: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 3 章 Prime Service Catalog RESTful API のリ フ ァ レンスおよび例

サポー ト される操作の要約

デ ィ レ ク ト リ デー タ

組織 X X X X X X X OU Type

Person X X X X X X X X OU 名、 グループ名、 ロール名

OU、 グループ、ロール、 住所、 連絡先、 設定、 代理人

グループ (Groups) X X X X X X X [名前 (Name) ]

アカ ウ ン ト (Unused Voice Mail Accounts)

X X X X X X X [名前 (Name) ]

サービス項目データ

すべてのサービ ス項目 X X X 任意のカ ラ ム

サービ ス項目 (Service Items)

X X X X 任意のカ ラ ム

標準 (Standards) X X X X 任意のカ ラ ム

サービス カ タ ログ (Service Catalog) のデー タ

カ ス タ ム コ ンテン ツ(Custom Content)

X X X X X X 任意のカ ラ ム

エンテ ィ テ ィ 名(Entity Name)

Id に

よる

取得

Nam

e に

よる

取得

すべ

て取

ワイ

ルド

カー

ド名

前検

ソー

ペー

ジン

REST

フィ

ルタ

から

Jav

a ク

ライ

アン

ト メ

ソッ

ドへ

の変

[更新

(U

pdat

e)]

フ ィ ルタ(Filters)

ネス ト されたエンテ ィ テ ィ

3-122Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 181: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

P A R T 2

サウスバウン ド統合

Page 182: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ
Page 183: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 4

AMQP との統合

概要Advanced Message Queuing Protocol (AMQP) は、 アプ リ ケーシ ョ ン間や組織間でビジネ ス メ ッ セージを渡すためのオープン標準です。 Service Designer モジ ュールを使用し て、 AMQP タス ク を定義する こ と がで き ます。 AMQP タ ス ク は メ ッ セージ ブ ローカ を介し て外部シ ス テム(Process Orchestrator) にサービ ス要求をパブ リ ッ シ ュ し ます。

AMQP はサービ ス要求を交換に送信し、 交換は Service Catalog か ら の メ ッ セージを受け入れて、 それを メ ッ セージ キ ューにルーテ ィ ン グ し ます。 RabbitMQ は AMQP 標準を実装し たオープン ソース メ ッ セージ ブ ローカ ソ フ ト ウ ェ アです。 外部シ ス テム (Process Orchestrator) は、メ ッ セージを取得し、 それら を処理する ために、 必要な API を使用し て RabbitMQ にア ク セ スし ます。

キ ュー サービ ス要求 と 呼ばれる新し い タ ス ク タ イ プは Service Designer モジ ュールの [計画(Plan) ] タ ブで利用で き、 サービ ス要求データ を メ ッ セージ ブ ローカにパブ リ ッ シ ュ し ます。AMQP タ ス ク を使用し てデータ をパブ リ ッ シ ュする方法の詳細については、 『Cisco Prime Service Catalog Designer Guide』 を参照し て く だ さ い。

メ ッ セージ キュー

交換はプ ロデューサ アプ リ ケーシ ョ ンか ら の メ ッ セージを受け入れ、それを メ ッ セージ キ ューにルーテ ィ ン グ し ます。事前、事後、および主要 AMQP タ ス ク のために作成さ れる交換はすべて「フ ァ ンア ウ ト 」タ イ プで、各タ ス ク についてデフ ォル ト キ ューが作成され、それ ら のキ ューが各タ ス ク にバイ ン ド さ れます。デフ ォル ト キ ューの名前は <topic-name>_queue です。ト ピ ッ ク名は「キ ュー サービ ス要求」タ ス ク に対し てユーザが [Service Designer] > [計画(Plan)] タ ブで入力した名前です。

(注) プー ド ル攻撃を防ぐ ために、RabbitMQ サーバ と の Prime Service Catalog 統合は SSL プ ロ ト コル TLSv1.2 バージ ョ ンのみをサポー ト し ています。 TLSv 1.2 が指定さ れていない場合、 ク ラ イ アン ト は RabbitMQ サーバに接続し て メ ッ セージを利用する こ と がで きず、 次の例外が発生し て接続に失敗し ます。 javax.net.ssl.SSLException: Received fatal alert: protocol_version

交換 と キ ューを作成し、 メ ッ セージを利用する ためのサンプル コー ド は次の よ う にな り ます。

package amqpProject;

import com.rabbitmq.client.ConnectionFactory;

import com.rabbitmq.client.Connection;

4-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 184: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章

概要

import com.rabbitmq.client.Channel;

import com.rabbitmq.client.QueueingConsumer;

public class SampleProcess {

public static void main(String[] argv) throws Exception {

String exchangeName = "testExchange";

String queueName = exchangeName+"_queue";

String brokerIpAddress = "10.142.10.77";

String userName = "admin";

String password = "cisco123";

factory.useSslProtocol("TLSv1.2"); !--Included to prevent Poodle attack

ConnectionFactory factory = new ConnectionFactory();

factory.setHost(brokerIpAddress);

factory.setUsername(userName);

factory.setPassword(password);

Connection connection = factory.newConnection();

Channel channel = connection.createChannel();

channel.exchangeDeclare(exchangeName, "fanout", true, false, null);

channel.queueDeclare(queueName, true, false, false, null);

channel.queueBind(queueName, exchangeName, "");

QueueingConsumer consumer = new QueueingConsumer(channel);

channel.basicConsume(queueName, true, consumer);

while (true) {

QueueingConsumer.Delivery delivery = consumer.nextDelivery();

String message = new String(delivery.getBody());

System.out.println(" [x] Received from "+queueName+":-");

System.out.println(message);

}

}

}

REST-based nsAPIsサービ スおよびその タ ス ク に関する メ ッ セージ ブ ローカの詳細を返すための REST API セ ッ トがあ り ます。 こ れに よ り 返さ れる署名および応答を以下に示し ます。 必要な入力値はパス パ ラメ ータ と し て受け入れられる サービ ス名です。 交換の詳細を含む、 そのサービ スに関するすべての AMQP タ ス ク が発信者に返さ れます。 サービ スに関する特定の詳細に加えて、 ブ ローカにア ク セスする ためのサーバ IP ユーザ名、 パス ワー ド など、 メ ッ セージ ブ ローカに関する一般的な情報も返さ れます。

4-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 185: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章概要

サービス固有の API のサンプル応答は次のよ うにな り ます。

http://localhost:8088/RequestCenter/nsapi/messagebroker/service/<service name>

{

"rabbitmq_version":"3.2.4",

"username":"guest",

"password":"guest",

"ipaddress":"10.42.9.56",

"tasks":[

{

"name":"PRE:task1",

"exchangeName":"exchange1",

"payloadType":"Data, Form (medium-large)"

},

{

"name":"task1",

"exchangeName":"exchange2",

"payloadType":"Data; No Service Details (default; small)"

},

{

"name":"POST:task1",

"exchangeName":"exchange3",

"payloadType":"All Message Details (large)"

}

]

}

Overview API は、 Service Designer モジュール内で設定されたすべての交換を収集し、RabbitMQ サーバにすでに作成されている交換とキューを検出するためのコールを行います。Overview API は、 AMQP サーバに対してルッ クアップを実行し、 キューに関する情報を取得します。 出力は JSON 形式で送信されます。

Overview API と noCache パラ メータの使用 :

• UI を使用して RabbitMQ 情報を指定し、 noCache パラ メータなしで Overview API を使用する と、 情報がキャ ッシュ とデータベースの両方から取得されます。

• ただし、 データベースに直接アクセスして RabbitMQ 情報を挿入する場合は、 確実に最新情報をフェ ッチするために、 noCache =1 を指定して Overview API を使用する必要があ ります。

RabbitMQ サーバからの応答例は次のよ うにな り ます。

http://localhost:8088/RequestCenter/nsapi/messagebroker/overview?noCache=1

{

"rabbitmq_version":"3.3.0","username":"admin","password":"iYqVYCDKbZTsuzc8wGKLvw==","ipAddress":"10.76.53.13","vhost":"/

","message-time-to-live":"300000","port":"5672","useSSL":true,"sslPort":"5671","ignoreCertificateError":true,"exchanges":

[{"name":"PO_Exchange_Pre","vhost":"/","type":"fanout","created":"false"},

{"name":"PO_Exchange_Primary","vhost":"/","type":"fanout","created":"false"},

{"name":"PO_Exchange_Post","vhost":"/","type":"fanout","created":"false"},

4-3Cisco Prime Service Catalog 11.0 アダプタ統合ガイド

Page 186: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章

概要

{"name":"newExchange1","vhost":"/","type":"fanout","created":"false"},

{"name":"newExchange2","vhost":"/","type":"fanout","created":"false"},

{"name":"newExchange3","vhost":"/","type":"fanout","created":"false"}],"queues":

[{"name":"PO_Exchange_Pre_queue","vhost":"/","created":"false"},

{"name":"PO_Exchange_Primary_queue","vhost":"/","created":"false"},

{"name":"PO_Exchange_Post_queue","vhost":"/","created":"false"},{"name":"newExchange1_queue","vhost":"/","created":"false"},

{"name":"newExchange2_queue","vhost":"/","created":"false"},{"name":"newExchange3_queue","vhost":"/","created":"false"}],

}

パブ リ ッ ク キー GUID を使用し てク レデンシャルを暗号化する

Prime Service Catalog は、 nsAPI に渡さ れるパブ リ ッ ク キーの GUID を使用する こ と に よ り 、 安全に AMQP ク レデンシ ャルを返す方法をサポー ト し ています。

外部シ ス テムのパブ リ ッ ク キー GUID が ク エ リ パ ラ メ ータ と し て渡さ れた場合、応答内の ク レデンシ ャルは GUID に関連付け られてい るパブ リ ッ ク キーに よ り 暗号化さ れます (PO のセキ ュ リ テ ィ ス ト リ ン グ形式を使用)。

外部シ ス テムのパブ リ ッ ク キー GUID が渡さ れない場合は、 DB で暗号化さ れた文字列がそのま ま返さ れます (注 : 外部シ ス テムでは こ れを復号化で き ません)。

暗号化さ れた機密データは、 以下に示す AMQP サービ ス固有 API および Overview API で返されます。

http://localhost:8088/RequestCenter/nsapi/messagebroker/service/<service>?publicKeyGUID=..

http://localhost:8088/RequestCenter/nsapi/messagebroker/overview?publicKeyGUID=...

publickKeyGUID が渡されない場合、ま たは正し く ない場合は検証エ ラーが発生し、HTTP コード :400 が返さ れます。

データ構造

パブ リ ッ シ ュ さ れる メ ッ セージ形式は、 Service Link で現在使用さ れている形式 と 似た nsXml です。 nsXml データ構造の例を以下に示し ます。

• データ の メ ッ セージ構造例、 サービ ス詳細な し (デフ ォル ト 、 小)

<?xml version="1.0" encoding="UTF-8"?>

<message xmlns:fo="http://www.w3.org/1999/XSL/Format" channel-id="">

<task-started task-type="task">

<task>

<actual-duration>0.0</actual-duration>

<completed-date/>

<context-id>470</context-id>

<context-type>Requisition Entry</context-type>

<due-date>2014-03-19 18:00:00</due-date>

<effort>10.0</effort>

<estimated-date/>

4-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 187: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章概要

<expected-duration>10.0</expected-duration>

<flag-id>0</flag-id>

<is-sharable>true</is-sharable>

<is-shared>true</is-shared>

<next-action-id>2</next-action-id>

<performer-actual-duration>0.0</performer-actual-duration>

<priority>2</priority>

<scheduled-start-date>2014-03-18 16:00:00</scheduled-start-date>

<start-date>2014-03-18 10:22:25</start-date>

<state-id>2</state-id>

<subject>amqpTask1</subject>

<task-id>935</task-id>

</task>

<requisition>

<services>0</services>

<actual-cost>0.0</actual-cost>

<actual-duration>0.0</actual-duration>

<closed-on/>

<customer>

<company-address/>

<email>[email protected]</email>

<fax/>

<first-name>admin</first-name>

<home-ou>

<name>&lt;s ID="847"/&gt;</name>

<organizational-unit-id>1</organizational-unit-id>

</home-ou>

<home-phone/>

<last-name>admin</last-name>

<login-name>admin</login-name>

<person-id>1</person-id>

<personal-address/>

<supervisor-name/>

<timezone>Pacific Standard Time</timezone>

<work-phone/>

</customer>

<due-on>2014-03-18 10:22:25</due-on>

<expected-cost>0.0</expected-cost>

<expected-duration>0.0</expected-duration>

<external>false</external>

<initiator>

<company-address/>

<email>[email protected]</email>

<fax/>

<first-name>admin</first-name>

<home-ou>

4-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 188: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章

概要

<name>&lt;s ID="847"/&gt;</name>

<organizational-unit-id>1</organizational-unit-id>

</home-ou>

<home-phone/>

<last-name>admin</last-name>

<login-name>admin</login-name>

<person-id>1</person-id>

<personal-address/>

<supervisor-name/>

<timezone>Pacific Standard Time</timezone>

<work-phone/>

</initiator>

<organizational-unit>

<name>&lt;s ID="847"/&gt;</name>

<organizational-unit-id>1</organizational-unit-id>

</organizational-unit>

<requisition-entry>

<closed-date/>

<data-values>

<data-value multi-valued="false">

<name>amqpDict1.exchangeName</name>

<value>kk</value>

</data-value>

<data-value multi-valued="false">

<name>amqpDict1.queueName</name>

<value>pp</value>

</data-value>

<data-value multi-valued="false">

<name>amqpDict1.Message</name>

<value>ww</value>

</data-value>

</data-values>

<due-date>2014-03-19 18:00:00</due-date>

<item-number>1</item-number>

<price-per-unit>0.0</price-per-unit>

<priced>true</priced>

<quantity>1</quantity>

<rejected>false</rejected>

<rejected-date/>

<requisition-entry-id>470</requisition-entry-id>

<revision-number>5</revision-number>

<service>

<estimated-cost>0.0</estimated-cost>

<name>amqpService1</name>

<parameters>

<default-duration>0.0</default-duration>

4-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 189: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章概要

<priority>2</priority>

<start-date/>

<start-mode>0</start-mode>

</parameters>

<pricing-schema>0</pricing-schema>

<quantity>1</quantity>

<service-id>29</service-id>

<version>5</version>

<standard-duration>0.0</standard-duration>

</service>

<start-after/>

<start-date>2014-03-18 10:22:25</start-date>

<start-mode>0</start-mode>

<status>1</status>

</requisition-entry>

<requisition-id>467</requisition-id>

<started-on>2014-03-18 10:22:25</started-on>

<status>1</status>

</requisition>

<context>

<requisitionentryref itemnumber="1"/>

</context>

</task-started>

</message>

• セキ ュ リ テ ィ ス ト リ ン グ を持つ メ ッ セージ構造例を次に示し ます。

<?xml version="1.0" encoding="UTF-8"?>

<message channel-id="F203ACC7-E6CA-A2EA-E040-007F0101140E" xmlns:fo="http://www.w3.org/1999/XSL/Format">

<task-started task-type="task">

<task>

<actual-duration>0.0</actual-duration>

<completed-date/>

<context-id>69</context-id>

<context-type>Requisition Entry</context-type>

<due-date>2014-04-25 20:00:00</due-date>

<effort>10.0</effort>

<estimated-date/>

<expected-duration>10.0</expected-duration>

<flag-id>0</flag-id>

<is-sharable>true</is-sharable>

<is-shared>true</is-shared>

<next-action-id>2</next-action-id>

<performer-actual-duration>0.0</performer-actual-duration>

4-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 190: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章

概要

<priority>2</priority>

<scheduled-start-date>2014-04-24 18:00:00</scheduled-start-date>

<start-date>2014-04-23 14:11:13</start-date>

<state-id>2</state-id>

<subject>queueServiceRequest1</subject>

<task-id>266</task-id>

</task>

<requisition>

<services>0</services>

<actual-cost>0.0</actual-cost>

<actual-duration>0.0</actual-duration>

<closed-on/>

<customer>

<company-address/>

<email>[email protected]</email>

<fax/>

<first-name>admin</first-name>

<home-ou>

<name>&lt;s ID=&quot;847&quot;/></name>

<organizational-unit-id>1</organizational-unit-id>

</home-ou>

<home-phone/>

<last-name>admin</last-name>

<login-name>admin</login-name>

<person-id>1</person-id>

<personal-address/>

<supervisor-name/>

<timezone>Pacific Standard Time</timezone>

<work-phone/>

</customer>

<due-on>2014-04-25 20:00:00</due-on>

<expected-cost>0.0</expected-cost>

<expected-duration>0.0</expected-duration>

<external>false</external>

<initiator>

<company-address/>

<email>[email protected]</email>

<fax/>

<first-name>admin</first-name>

<home-ou>

<name>&lt;s ID=&quot;847&quot;/></name>

<organizational-unit-id>1</organizational-unit-id>

</home-ou>

<home-phone/>

<last-name>admin</last-name>

<login-name>admin</login-name>

4-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 191: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章概要

<person-id>1</person-id>

<personal-address/>

<supervisor-name/>

<timezone>Pacific Standard Time</timezone>

<work-phone/>

</initiator>

<organizational-unit>

<name>&lt;s ID=&quot;847&quot;/></name>

<organizational-unit-id>1</organizational-unit-id>

</organizational-unit>

<requisition-entry>

<closed-date/>

<data-values>

<data-value multi-valued="false">

<name>amqpDict1.field1</name>

<value>a</value>

</data-value>

<data-value multi-valued="false">

<name>amqpDict1.field2</name>

<value>b</value>

</data-value>

<data-value is-secure="true" multi-valued="false">

<name>amqpDict1.field3</name>

<value>ut3u4RC699wz7Jd2O+4cix23m9XXgAC/EsDiHp1ERsOpdKSKdrtgMjFWcVoO96aCFSkCgwa2tkBo

vKoOHzaillNiJ47+aY8zCWKwd17tCjmMLEkeQlTvrDvIHR/DT1iWSmN08DI9+Ns7hY3A/g6ijUoM

gcuMczH+5F/pGtgupLZF/L7FwOwu4VcKVWM/2N5tuXGz+1aHTRAAAAByQXr/yD/75Ysy57LnQLxc

</value>

</data-value>

<data-value is-secure="true" multi-valued="false">

<name>amqpDict1.field4</name>

<value>ut3u4RC699wz7Jd2O+4cix23m9XXgABReynDp5AdBgRi5ivhS05Unv98BgWgxc5YNcZrCihhhH/1

rzZqhjiIjAoRelIjADDb3IQP72armXsLRTvh0/fusd4jLdVIm4q1s+GaSTt6F3oqQeZ4RLhVUopo

p2zNAxmjaGj629C8gWREes3Z8EjDvXg5K1YVi90fXJV1jDoADhAAAABP1hct5TNV2d8R1cN/qDtK

</value>

</data-value>

</data-values>

<due-date>2014-04-25 20:00:00</due-date>

<item-number>1</item-number>

<price-per-unit>0.0</price-per-unit>

<priced>true</priced>

<quantity>1</quantity>

<rejected>false</rejected>

<rejected-date/>

<requisition-entry-id>69</requisition-entry-id>

<revision-number>105</revision-number>

<service>

4-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 192: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 第 4 章 AMQP との統合 章

概要

<estimated-cost>0.0</estimated-cost>

<name>queueService1</name>

<parameters>

<default-duration>0.0</default-duration>

<priority>2</priority>

<start-date/>

<start-mode>0</start-mode>

</parameters>

<pricing-schema>0</pricing-schema>

<quantity>1</quantity>

<service-id>2</service-id>

<version>105</version>

<standard-duration>0.0</standard-duration>

</service>

<start-after/>

<start-date>2014-04-23 14:10:48</start-date>

<start-mode>0</start-mode>

<status>1</status>

</requisition-entry>

<requisition-id>64</requisition-id>

<started-on>2014-04-23 14:10:47</started-on>

<status>1</status>

</requisition>

<context>

<requisitionentryref itemnumber="1"/>

</context>

</task-started>

</message>

4-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 193: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 5

Service Link 標準アダプ タによる統合の設計

概要Service Link は、 外部シ ス テム と の統合を実現する サービ ス カ タ ロ グ (Service Catalog) モジ ュールです。 他のシ ス テムに よ って サービ ス カ タ ロ グ (Service Catalog) ワー ク フ ロー内に定義さ れた提供タ ス ク、 承認、 ま たは確認を実行で き る よ う にする イ ン ターフ ェ イ ス を設定する ためのフ レーム ワーク と 、 それら の イ ン ターフ ェ イ スの動作をモニ タ リ ン グする ためのユーザ イ ン ターフ ェ イ ス を提供し ます。

Service Link の使用に関する も一般的なシナ リ オは、 サービ スが問題な く 確実に提供さ れるよ う に、 提供計画タ ス ク に関連するデータ を サービ ス カ タ ロ グ (Service Catalog) の外部に渡す必要があ る状況です。 た と えば Service Link がサービ ス要求を満たすために Cisco Process Orchestrator を呼び出す と 、 メ ッ セージがハー ド ウ ェ ア ベンダーに渡さ れて調達ア ク シ ョ ンが実行さ れた り 、 メ ッ セージが イ ンベン ト リ 管理シ ス テムや資産管理シ ス テムに渡されてデータ レ コー ド が更新さ れた り し ます。 する と 、 外部アプ リ ケーシ ョ ンが サービ ス カ タ ロ グ(Service Catalog) に 1 つ以上の メ ッ セージを返信し ます。 続いて、 各 メ ッ セージに よ り 、 外部シ ス テム内で サービ ス カ タ ロ グ (Service Catalog) が タ ス ク の現在のス テータ スでア ッ プデート さ れ、 後に、 タ ス ク が完了し た こ と 、 および サービ ス カ タ ロ グ (Service Catalog) ワー クフ ロー (提供計画) を後続の タ ス ク に継続で き る こ と が示されます。

Service Link は多数の組み込みアダプ タ があ り 、 フ ァ イルの交換、 データベースの更新、 HTTP POST 要求ま たは Web サービ ス を介し た Web 通信、およびキ ュー ベースの メ ッ セージングなどの さ ま ざ ま な転送 メ カニズム を使用し て、 外部アプ リ ケーシ ョ ン と の通信に役立ち ます。 これら のデフ ォル ト のアダプ タ に加えて、 開発者は Service Link Adapter Development Kit (ADK) を使用し てカ ス タ ム アダプ タ を開発し、 導入で き ます。

Service Link 統合を開発するための前提条件

Service Link 統合の開発には、 幅広い技術ス キルが必要です。 こ れには次が含まれます。

• Active Form Components (AFC) でのデ ィ ク シ ョ ナ リ 使用の設定方法や配信計画での タ ス クの設計方法など、 サービ ス設計に関する理解。

• アプ リ ケーシ ョ ン を ホ ス ト し ている サーバを含め、 ターゲ ッ ト のサー ド パーテ ィ シ ス テムに関する詳細な知識。

• すべてのアダプ タ について、 XML タ グ構造に関する理解 (Service Link は XML メ ッ セージを サービ ス カ タ ロ グ (Service Catalog) と 外部シ ス テム間で送信する こ と で動作する ため)。

• すべてのアダプ タ の XML ス タ イルシー ト 言語 (XSL) 変換の設定に関する あ る程度の理解(Service Link ウ ィ ザー ド を使用し て適用で き る XML 変換を補完する ため)

5-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 194: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

概要

• データベース アダプ タ を使用する場合は、 SQL に関する知識も必要です。

• http/Web サービ ス アダプ タ を使用し て、 サービ ス カ タ ロ グ (Service Catalog) と Web サービ ス間で メ ッ セージを渡す場合は、 SOAP、 WSDL、 RESTful API、 および Web サービ ス セキ ュ リ テ ィ の よ う な Web サービ ス コ ンポーネン ト の知識が役立ち ます。

Service Link の設計コ ンポーネン ト

サービ ス カ タ ロ グ (Service Catalog) では、 2 つの方法で統合を設計で き ます。

• Service Designer で使用で き る Integration ウ ィ ザー ド は、 Web サービ スの統合を作成する ためのウ ィ ザー ド 形式のアプ ローチです。

• Service Link モジ ュールには、 外部シ ス テム と の通信に使用さ れる メ ッ セージン グ プ ロ トコルに関係な く 、 すべての統合の作成および維持する ための機能があ り ます。

統合が追加さ れる と 、 Service Link か ら使用で き る高度な設定機能に よ って表示および維持が可能にな り ます。 上級ユーザは、 場合に よ ってはウ ィ ザー ド を使わずに、 こ の機能を使用し て Web サービ ス を統合する こ と も で き ます。

ま た、 管理者は Service Link を使用し て、 実稼働環境での統合の管理および ト ラ ブルシ ューテ ィ ン グ を実行し ます。

統合環境は、 次の コ ンポーネン ト で構成さ れます。

• アダプ タ

アダプ タは、 サービ ス カ タ ロ グ (Service Catalog) か ら他社製シ ス テムに XML ド キ ュ メ ント ま たはその他の メ ッ セージを送信する ための ト ラ ン ス ポー ト コ ンポーネン ト を論理的に表現する用語です。 あ ら か じ めパ ッ ケージ化さ れたアダプ タは、 フ ァ イル、 http/Web サービ ス、 JMS、 IBM MQ、 データベース など、 さ ま ざ ま な メ ッ セージ ト ラ ン ス ポー ト プ ロ トコルをサポー ト し ています。

アダプ タは、 2 つの コ ンポーネン ト で構成さ れます。

– 着信アダプ タ

受信アダプ タは、 外部シ ス テムか ら の着信 メ ッ セージを管理し ます。 外部シ ス テム メ ッ セージは、 データ を Service Catalog で解釈で き る よ う に、 変換に よ って 「標準」の nsXML (旧称 newScale XML) 形式に変更で き ます。

受信アダプ タ には、 ポーラー と リ スナーの 2 種類があ り ます。 ポーラーは定期的に起動し て、 着信 メ ッ セージを探すス レ ッ ド です。 これに対し、 リ スナーは待機し、 着信し た外部 メ ッ セージに よ って起動さ れます。 ポーラーの例 と し ては、 メ ッ セージを定期的にチェ ッ クする必要があ る受信フ ァ イル アダプ タ があ り ます。 リ スナー アダプ タの例 と し ては、 HTTP 応答が受信さ れる まで待機する Web サービ ス リ スナー アダプ タがあ り ます。

– 発信アダプ タ

送信アダプタは、 サービ ス カ タ ロ グ (Service Catalog) からの着信 XML メ ッ セージを管理し、 その メ ッ セージを設定済みの外部システムに送信し ます。 「標準」 の nsXML 発信メ ッ セージが Service Link に送信される と、 変換によ って メ ッ セージが変更され、 外部システムに転送でき る メ ッ セージの形式にな り ます。 その後、 送信アダプタは、 正しいプロ ト コルおよびロ ジ ッ ク を適用し て、 メ ッ セージを外部システムに送信し ます。

5-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 195: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

概要

• エージ ェ ン ト (Agents)

エージ ェ ン ト は、 サービ ス カ タ ロ グ (Service Catalog) が他社製シ ス テム と の間で双方向の通信を行 う ための ト ラ ン スポー ト メ カニズム を論理的に表現する用語です。 エージ ェ ン トは、 サービ ス設計者が タ ス ク を適切な他社の宛先に送信する ために使用で き ます。 タ ス クに加えて、 こ のア ク シ ョ ン を外部シ ス テムに送信する エージ ェ ン ト を指定する こ と に よ り 、承認や確認を外部で行 う こ と がで き る よ う にな り ます。

エージ ェ ン ト は、 着信アダプ タおよび発信アダプ タ、 オプシ ョ ンの メ ッ セージ変換(XSLT) コ ンポーネン ト 、 オプシ ョ ン パ ラ メ ータ、 エ ラー状態を解決する ためのその他の設定で構成さ れます。

• 変換

XML ス タ イルシー ト (XSL) 変換に よ り 、 送信 メ ッ セージは他社製シ ス テムが理解で き る形式に変換さ れ、 着信 メ ッ セージは サービ ス カ タ ロ グ (Service Catalog) が理解で き る形式に変換さ れます。

発信アダプ タ が含まれる エージ ェ ン ト は、 現在の要求およびタ ス ク に関連する情報が含まれる nsXML メ ッ セージを自動的に作成し ます。 エージ ェ ン ト に関連付け られた変換では、メ ッ セージを外部 メ ッ セージに変換で き、 その外部 メ ッ セージはエージ ェ ン ト に対し て設定さ れた発信アダプ タ を介し て外部シ ス テムに配信されます。 同様に、 受信エージ ェ ン トは、 関連付け られたアダプ タ を介し て外部 メ ッ セージを受信し ます。 変換では、 サービ ス カ タ ロ グ (Service Catalog) のワーク フ ロー マネージ ャ Business Engine に よ って認識および処理さ れる着信 メ ッ セージ タ イ プに メ ッ セージを変換する必要があ り ます。

• デ ィ ク シ ョ ナ リ と ア ク テ ィ ブ フ ォーム コ ンポーネン ト

デ ィ ク シ ョ ナ リ は、 特定のサービ ス要求を処理する ために必要なデータ フ ィ ール ド を保持する サービ ス デザ イ ン コ ンポーネン ト です。 デ ィ ク シ ョ ナ リ フ ィ ール ド (ま たはサービス要求で使用で き る その他のデータ) にマ ッ ピ ン グ されたエージ ェ ン ト パ ラ メ ータ に より 、 外部シ ス テムが容易に理解で き る標準の送信 メ ッ セージ形式にな り ます。 外部シ ス テムか ら受信し た着信 メ ッ セージのエージ ェ ン ト パラ メ ータは、 Service Link に、 こ れら のパラ メ ータにマ ッ ピ ン グ さ れたデ ィ ク シ ョ ナ リ フ ィ ール ド の値を更新する よ う に指示し ます。 変更さ れたフ ォーム データは、 サービ ス フ ォームですぐに使用で き ます。 ま た、 デ ィク シ ョ ナ リ が含まれる ア ク テ ィ ブ フ ォーム コ ンポーネン ト は、 Service Link 統合を実装する サービ スに含まれている必要があ り ます。

[統合 (Integration) ] ウ ィ ザー ド を使用する と 、 エージ ェ ン ト と 変換、 およびエージ ェ ン ト の設定を完了する ための統合デ ィ ク シ ョ ナ リ と ア ク テ ィ ブ フ ォーム コ ンポーネン ト が自動的に作成さ れます。 こ れら の コ ンポーネン ト が作成さ れる と 、 Service Link および Service Designer に よ って維持さ れる よ う にな り ます。

Business Engine および nsXML と Service Link の相互作用

Service Link を理解する う えで重要な こ と は、 Business Engine と の相互動作を理解する こ と です。 Business Engine は、 すべてのワーク フ ローを処理する コ ンポーネン ト です。 ワーク フ ロー ア ク シ ョ ンには、 次の も のがあ り ます。

• 正し い順序で配信計画の タ ス ク を開始する。

• 完了のすべての要件を満た し ている場合に、 タ ス ク を完了 と マークする。

• イベン ト の ト リ ガーが発生し た と き に、 設定さ れた と お り に電子 メ ールを送信する。

5-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 196: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link 統合の設計

ServiceLink を使用し ない (つま り 、 すべての タ ス ク が サービ ス カ タ ロ グ (Service Catalog) の内部に存在する) タ ス ク プ ラ ンでは、 BusinessEngine の動作はほ と んど見え ません。 Business Engine の使用は Service Link 内部で認識さ れます。 こ れは、 外部タ ス ク のス テータ ス を変更する ために、 Business Engine が理解で き る メ ッ セージを Service Link が処理ま たは生成する必要があ る ためです。

Business Engine は外部タ ス ク (Service Link で処理さ れる タ ス ク) を開始する と き に、 発信 nsXML メ ッ セージを生成し ます。 発信タ ス ク を処理する Service Link エージ ェ ン ト は、 ターゲ ッ ト シ ス テムが理解で き る形式に nsXML メ ッ セージを変換し、 エージ ェ ン ト で指定さ れた発信転送 メ カニズム (アダプ タ) を使って ターゲ ッ ト シ ス テムに配信し ます。

同様に、 Service Link が外部シ ス テムか ら の着信 メ ッ セージを受信する よ う に設定さ れている場合、 その メ ッ セージを Business Engine が理解で き る着信 nsXML メ ッ セージに変換する必要があ り ます。 受信 メ ッ セージを使用し て、 現在の要求に対する サービ ス フ ォーム データ のア ッ プデー ト や、 現在の タ ス ク の完了、 現在の要求へのユーザ コ メ ン ト の追加が行え ます。

有効な nsXML メ ッ セージについては、 こ の後で詳細に説明し ます。

Service Link 統合の設計Cisco Prime Service Catalog では、 Service Link と サー ド パーテ ィ シ ス テム と の統合を設計、開発、 導入する ための 2 つのアプ ローチがあ り ます。

• [統合 (Integration) ] ウ ィ ザー ド : 統合を Web サービ ス を使って行 う 場合、 Service Designer か ら [統合 (Integration) ] ウ ィ ザー ド を使用し て、 すべての Service Catalog 統合コンポーネン ト を作成で き ます。 こ の方法を使用する には、 Web Services Description Language (wsdl) を使用で き る必要があ り ます。

• Service Link コ ン フ ィ ギ ュ レーシ ョ ン : 統合で他の転送 メ カニズム を使用する場合や、Integration ウ ィ ザー ド を介し て作成さ れた コ ンポーネン ト の確認や変更を行 う 場合、Service Link および Service Designer に よ って表示さ れる画面を使用し て、 統合コ ンポーネン ト を設定し ます。

Service Link および Service Designer コ ン フ ィ ギ ュ レーシ ョ ンでは、 次の方法を使用し て、 サード パーテ ィ シ ス テム と の統合を設計、 開発、 および導入し ます。

• 他社製対象シ ス テムで使用する通信プ ロ ト コルを設計し ます。 これには、 受信アダプ タ と送信アダプ タ の選択、 メ ッ セージの形式 と 内容が含まれます。

• 必要に応じ て、 カ ス タ ム Service Link アダプ タ を作成し て展開し ます。

• Service Designer を使用し て、 Service Link の統合を実装する サービ ス を設計し ます。 デザ イン コ ンポーネン ト には、 通常、 エージ ェ ン ト パラ メ ータ を通じ て外部シ ス テムに渡されるデータ を格納する 1 つ以上のデ ィ ク シ ョ ナ リ 、 およびそれら のデ ィ ク シ ョ ナ リ を含み、デ ィ ク シ ョ ナ リ 内のフ ィ ール ド の表示プ ロパテ ィ を設定する ア ク テ ィ ブ フ ォーム コ ンポーネン ト が含まれます。

• 適切な受信アダプ タ と 送信アダプ タ を選択し、 それぞれのプ ロパテ ィ およびいずれかの方向に渡さ れるパラ メ ータ を定義する こ と に よ り 、 エージ ェ ン ト を設定し ます。 Service Link には、 エージ ェ ン ト パラ メ ータ の定義を部分的に自動化する ための ウ ィ ザー ド と ド ロ ッ プダ ウ ン リ ス ト が含まれています。

• 必要に応じ て、 他社製シ ス テムか ら の メ ッ セージを サービ ス カ タ ロ グ (Service Catalog) が理解し、 サービ ス カ タ ロ グ (Service Catalog) か ら の メ ッ セージを他社製シ ス テム理解で きる よ う にする ための変換を追加し ます。

5-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 197: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link 統合の設計

• Service Designer を使用し て、 サービ スの配信計画内の タ ス ク にエージ ェ ン ト を関連付け ます。 該当する場合は、 そのサービ スに使用さ れているデ ィ ク シ ョ ナ リ フ ィ ール ド にエージ ェ ン ト パラ メ ータ が適切にマ ッ ピ ン グ さ れている こ と を確認し ます。

• タ ス ク が含まれる サービ ス を要求し、 対応する Service Link ページか ら メ ッ セージおよび外部タ ス ク をモニ タ リ ン グする こ と に よ り 、 設定をテ ス ト し ます。

こ のプ ロ セスについては、 こ の後の項で詳細に説明し ます。

Integration ウ ィ ザー ド については、 Service Designer での [統合 (Integration) ] ウ ィ ザー ド の使用で説明し ます。

Service Link へのアクセス

Service Link にア ク セスする には、 [モジ ュール (Module) ] メ ニ ューか ら [Service Link] を選択し ます。 Service Link ホームページが表示さ れます。

Service Link のホームページには、 次の 「Service Link ホーム ページの要素」 に示す要素が含まれます。

通信プロ ト コルの設計

Service Link で実行さ れる設定およびテ ス ト 作業に加えて、 同等の作業が他社製シ ス テム を担当する技術 リ ソースに よ って実行さ れる必要があ り ます。 イ ン ターフ ェ イ スが堅牢に動作するためには、 熟慮さ れた設計が必須です。

通常は、 通信相手 と な る シ ス テムの イ ン ターフ ェ イ ス機能に よ って、 統合の基本設計、 つま り使用さ れる アダプ タ が決ま り ます。

フ ァ イル アダプ タやデータベース アダプ タは も簡単に設計で き ます。 JMS、 MQ、 ま たは http/Web サービ ス アダプ タ を展開し た場合は、 接続の問題がシ ス テム間のデータ の移動を妨げない よ う に、 ネ ッ ト ワーク管理チームの専門知識が盛 り 込まれる こ と があ り ます。 ターゲ ッ ト シ ス テムが企業のネ ッ ト ワーク外に存在し ている場合は、 データ セキ ュ リ テ ィ の懸念も要因 とな り ます。 た と えば、 外部ベンダー と の通信に http ま たは https で送信される SOAP メ ッ セージを使用する場合です。

表 5-1 Service Link ホーム ページの要素

要素 説明 (Description)

メ ニ ュー バー ページの上部にあ り 、 Service Link の環境を管理し、 Service Link の統合の開発および維持に使用さ れる タ ブが含まれています。

共通タ ス ク ページの左側にあ り 、 エ ラー メ ッ セージの一覧の表示およびエージ ェ ン ト の作成のための ク イ ッ ク リ ン ク があ り ます。

Service Link Status ページの左側にあ り 、 Service Link の現在のス テータ ス を表示し ます。

Messages (Last 30 days) ページの右ペイ ンにあ り ます。 こ のグ ラ フは、 近の 30 日間の メ ッセージの量を要約し た も のです。

Recent Failed Messages ページの右下にあ り 、 正常に配信さ れなかった 新の Service Link メ ッ セージが一覧表示さ れます。 メ ッ セージ、 要求、 およびエージ ェン ト の詳細へのハイパー リ ン ク が含まれます。

5-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 198: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

通常、 発信 Service Link 通信に必要なデータ を 初に評価し ます。 (nsXML 送信 メ ッ セージを通じ て) どのフ ィ ール ド がすぐに使用で き、 (フ ォーム データおよびエージ ェ ン ト パ ラ メ ータを通じ て) どの追加データ を提供する必要があ る のかを考慮する必要があ り ます。 送信通信はタ ス ク ご と (タ ス ク の開始時) にのみ発生し ますが、 複数の独立し た着信通信をサポー ト で きます。 作業の実行命令を受信する と 、 他社製シ ス テムは、 完了時に単一の (着信) 通信を発行する可能性があ り ます。 ま た、 作業が完了する前に、 複数のア ッ プデー ト が送信される こ と も考え られます。 た と えば、 参照 ID を伝達する場合には、 テキ ス ト のス テータ ス ア ッ プデー ト返信する必要があ り 、 後に完了確認が伝達さ れます。 Service Link アダプ タ の管理

統合の管理こ こ では、 統合の管理について説明し ます。

アダプ タの管理

Service Link のアダプ タは、 事前構成さ れます。 追加のアダプ タは、 Adapter Development Kit を使用し て開発で き ます。 Service Link の [Manage Integrations] タ ブの [Adapters] ページを使用して、 使用可能なアダプ タ を確認で き ます。

ステ ッ プ 1 Service Link ホームページで [統合の管理 (Manage Integrations) ] を ク リ ッ ク し ます。 次に、 [アダプ タ (Adapters) ] サブ タ ブを ク リ ッ ク し ます。

[Adapters] ページが表示さ れます。

ステ ッ プ 2 [名前 (Name) ] カ ラ ムで、 目的のアダプ タ を ク リ ッ ク し ます。

選択し たアダプ タ の [アダプ タ の管理 (Manage Adapter) ] ページが表示さ れます。 データベース アダプ タ の詳細は次の と お り です。

5-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 199: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

図 5-1 [アダプ タの管理 (Manage Adapter) ] ページ

こ れら の一般的なプ ロパテ ィ の大半は、 通常、 Service Link 開発者が変更すべき ではあ り ません。 [Polling Interval]、 [Retry interval]、 および [Maximum Attempts] は、 要件に応じ て変更する必要があ り ます。 すべての変更は、 こ のアダプ タ タ イ プを使用するすべてのエージ ェ ン ト によ って継承さ れます。

追加の受信プ ロパテ ィ および送信プ ロパテ ィ は、 アダプ タ をエージ ェ ン ト で使用する場合に指定し ます。 こ れら のプ ロパテ ィ については、 Service Link アダプ タ の管理で説明し ます。

エージ ェ ン ト の管理

エージ ェ ン ト ウ ィ ザー ド を使用する と 、 エージ ェ ン ト の設定手順を、 順を追って実行で き ます。 こ のウ ィ ザー ド は 8 ページで構成さ れますが、 前のページで選択し たオプシ ョ ンに よ って一部のページがス キ ッ プ さ れる場合があ り ます。

エージ ェ ン ト ウ ィ ザー ド のページの概要は、 次の 「エージ ェ ン ト ウ ィ ザー ド ページの表」 のと お り です。

表 5-2 エージ ェ ン ト ウ ィ ザー ド ページの表

ページ 名前/説明 (Description/Usage)

一般情報 エージ ェ ン ト の名前、 ア ク シ ョ ン、 説明、 およびエージ ェ ン トの設定 と 動作に関する その他の一般情報

End Points エージ ェ ン ト が使用する アダプ タおよび変換

送信プ ロパテ ィ 送信アダプ タ の詳細設定オプシ ョ ン

受信プ ロパテ ィ 受信アダプ タ の詳細設定オプシ ョ ン

送信要求パ ラ メ ータ VMware アダプ タ を除 く すべてのアダプ タ タ イ プの送信パ ラメ ータ

5-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 200: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

エージ ェ ン ト を管理する には:

ステ ッ プ 1 Service Link ホームページの、[共通タ ス ク(Common Tasks)] 領域で [エージ ェ ン ト (Agent)] を クリ ッ クする か、、[統合の管理(Manage Integrations)] > [エージ ェ ン ト (Agent)] > [エージ ェ ン ト(Agent)] を選択し ます。

エージ ェ ン ト ウ ィ ザー ド の [一般情報 (General Information) ] ページが表示さ れます。 これは、こ のウ ィ ザー ド を構成する 8 ページの う ちの 初のページです。 特定のエージ ェ ン ト 設定には関係のないページは、 ス キ ッ プで き ます。

図 5-2 [一般情報 (General Information) ] ページ

次の 「エージ ェ ン ト の作成 : 一般属性の表」 で説明する フ ィ ール ド に値を入力し、 [Next] を クリ ッ ク し ます。

送信応答パ ラ メ ータ http/ws アダプ タ に送信さ れた送信 メ ッ セージに対する同期応答で受信さ れるパ ラ メ ータ

Inbound Parameters 受信 メ ッ セージの一部 と し て受信さ れるパ ラ メ ータ

要約 こ れまでに入力し たすべての情報を表示する要約ページ

表 5-2 エージ ェ ン ト ウ ィ ザー ド ページの表 (続き)

5-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 201: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

失敗した電子メール (Failed Email)

Failed Email によ る通知は、 送信 メ ッ セージを配信でき ない場合に生成でき ます。 Service Link の失敗し た電子 メ ールには、 すべてのタ ス ク関連電子 メ ールに使用でき る標準の名前空間セ ッ ト に加えて、 障害時に生成される メ ッ セージに関する詳細を含める こ と ができ ます。 これらの名前空間を電子 メ ール テンプレー ト に含める と、 問題の診断時に役立て られます。 使用可能な名前空間の詳細については、 『Cisco Prime Service Catalog Designer Guide』 を参照し て く だ さい。

Failed Email は着信 メ ッ セージに適用さ れません。 Service Link が着信 メ ッ セージの処理に失敗し た場合、 通知は生成さ れません。

送信メ ッ セージの内容

発信アダプ タは、 サービ ス カ タ ロ グ (Service Catalog) データベースに保存さ れる nsXML メ ッセージを生成し ます。 その後、 こ の メ ッ セージは変換され、 指定し たアダプ タ を介し て、 結果と し ての外部 メ ッ セージが任意の宛先に配信さ れます。

メ ッ セージのフ ォーマ ッ ト は ISEE.war/WEB-INF/classes/nsxml.xsd のアプ リ ケーシ ョ ン サーバ上の対応する XML ス キーマご と に、 「Adapter Development Kit に よ る統合の設計」 に記載されています。 完了 メ ッ セージには、 サービ ス要求に関するすべての情報が含まれます。 こ の よ うな メ ッ セージはサ イ ズが非常に大き く な る可能性があ り (サービ スで使用されるデ ィ ク シ ョ ナリ やフ ィ ール ド の数に応じ て、 500 K を超え る こ と が よ く あ り ます)、 結果的にデータベース内で大量のス ト レージを消費し、 生成する ために CPU の使用率も非常に高 く な り ます。

表 5-3 エージ ェ ン ト の作成 : 一般属性の表

設定 説明 (Description)

[名前(Name)] エージ ェ ン ト の名前。 名前は一意であ る こ と が必要です。

操作 「サービ ス カ タ ロ グ (Service Catalog) 解決策のチケ ッ ト 」 など、エージ ェ ン ト に よ って実行さ れる ア ク シ ョ ンの説明。 ア ク シ ョ ンに一意性は求め られませんが、 タ ス クへのエージ ェ ン ト の割 り 当てを求め られた と き に選択 リ ス ト に表示さ れる ため、 一意にな る よ う にし て く だ さ い。

Outgoing Content こ のエージ ェ ン ト に対し て生成さ れる nsXML 送信 メ ッ セージの ノ ード を指定する ためのオプシ ョ ン。 詳細については、 後述し ます。

失敗し た電子 メ ール(Failed Email)

送信 メ ッ セージを宛先に配信に送信で き ない場合に送信さ れる電子メ ール テンプレー ト 。 電子 メ ール テンプレー ト は、 Administration モジ ュールの [通知 (Notifications) ] オプシ ョ ン を通じ て定義する必要があ り ます。

Context Type エージ ェ ン ト の タ イ プ。 提供計画内でエージ ェ ン ト を外部タ ス ク とし て使用で き る よ う にする Service Link エージ ェ ン ト は 「サービ ス タス ク (Service Tasks)」 です。 「サービ ス項目 (Service Item)」 エージ ェ ン ト は、 Service Item Manager を通じ て設定し た定義やデータ、ま たはサービ ス項目を イ ンポー ト する目的で使用し ます。

説明 (Description) エージ ェ ン ト の詳細な説明。 こ の詳細説明は、 統合をサポー ト するう えで役立ち ます。

5-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 202: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

リ ソースの消費量を削減する ため、 サービ ス カ タ ロ グ (Service Catalog) には次のオプシ ョ ンが用意さ れています。

• [管理(Administration)] 設定を [ メ ッ セージの圧縮(Compress messages)] に設定する と 、データベースに格納さ れている Service Link メ ッ セージを圧縮で き ます。こ れに よ り 、ス ト レージ要件が大幅に軽減さ れますが、DBA ま たは担当者が メ ッ セージを判読で き な く な る ため、ト ラ ブルシ ューテ ィ ン グが複雑にな る可能性があ り ます。

• Service Link Message Purge ス ク リ プ ト が使用可能です。 こ のス ク リ プ ト に よ り 、 完了済みの タ ス ク の メ ッ セージを ト ラ ンザ ク シ ョ ン データベースか ら削除で き ます。 その結果、データベース内の メ ッ セージのス ト レージ要件が軽減されます。 Message Purge ス ク リ プ トの使用に関する詳細については、 Service Link の ト ラ ブルシ ューテ ィ ン グ と 管理を参照し てく だ さ い。

• 「Outgoing message content」 プ ロパテ ィ を操作する と 、 nsXML メ ッ セージの選択し た ノ ー ドだけを含める よ う に発信内容を設定で き ます。 こ れに よ り 、 送信 メ ッ セージを処理する ための メ モ リ 要件および CPU 要件が軽減さ れます。

デフ ォル ト の メ ッ セージ内容は 「Data and parameters; no Service Details (small)」 で、 要求されたサービ ス を説明する コ ンテン ツ ノ ー ド が含まれない nsXML メ ッ セージが生成さ れます。 エージ ェ ン ト パラ メ ータおよび変換は、 発信内容の タ イ プを考慮し て設計する必要があ り ます。 要求さ れるすべての内容が nsXML メ ッ セージに含まれている こ と を確認し て く だ さ い。 特に、送信 メ ッ セージか らデ ィ ク シ ョ ナ リ データ を排除する場合は、 エージ ェ ン ト パ ラ メ ータ を適切なフ ォーム フ ィ ール ド (ま たは定数) にマ ッ ピ ン グする必要があ り ます。 外部タ ス ク に必要のない多数のフ ォーム フ ィ ール ド がサービ スに含まれる場合は、 XML サ イ ズの削減および関連する CPU 使用率の削減が非常に重要です。

発信内容のオプシ ョ ンの概要については、 次の 「発信 メ ッ セージの内容 : オプシ ョ ンの表」 を参照し て く だ さ い。

表 5-4 発信メ ッ セージの内容 : オプシ ョ ンの表

オプシ ョ ン 説明 (Description)

All Message Details (large)

Service Link メ ッ セージ全体が生成さ れます。

Data, Form and Parameters (medium-large)

サービ スおよびその タ ス ク に関する情報は省略さ れます。 メ ッ セージはデータ (サービ ス フ ォームのフ ィ ール ド 値)、 フ ォーム (サービス フ ォームのデ ィ ク シ ョ ナ リ およびフ ィ ール ド についての完全な メタデータ)、 およびパ ラ メ ータ (エージ ェ ン ト パラ メ ータ で指定さ れる値) に制限さ れます。

Data and Parameters (medium)

メ ッ セージは、 要求に関する情報、 サービ ス フ ォーム上で入力さ れたすべてのデータ値、 およびパ ラ メ ータ値に制限さ れます。

Data and Parameters; No Service Details (small)

メ ッ セージは、 要求に関する情報、 サービ ス フ ォーム上で入力さ れたすべてのデータ値、 およびパ ラ メ ータ値に制限さ れます (デフ ォル ト 設定)。 VMware アダプ タ に対し ては、 「small」 オプシ ョ ン を指定する必要があ り ます。

Only Parameters (minimal)

メ ッ セージは、 要求に関する情報およびエージ ェ ン ト パ ラ メ ータ に制限さ れます。

5-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 203: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

アダプ タの選択

エージ ェ ン ト は、 送信通信 と 着信通信の両方、 送信通信のみ、 ま たは着信通信のみを管理するよ う に設定で き ます。 方向ご と に異な る アダプ タ タ イ プを使用で き ます。 た と えば、 データベース アダプ タは送信データ を書き込むために使用で き ますが、 シ ス テムは、 受信フ ァ イル アダプ タ に よ って読み取られるデ ィ レ ク ト リ にフ ァ イルを書き込むこ と に よ って応答し ます。

アダプ タ タ イ プを選択する と 、 ウ ィ ザー ド の後続のページは、 アダプ タ タ イ プおよび使用方法 (送信ま たは受信) に関する プ ロパテ ィ を表示する よ う に調整されます。 プ ロパテ ィ 値は、エージ ェ ン ト 定義の一部 と し て指定する必要があ り ます。

エージ ェ ン ト ウ ィ ザー ド の [エン ド ポ イ ン ト (End Points) ] ページ (ページ 2/8) では、 エージ ェ ン ト で使用する アダプ タ、 および送信 メ ッ セージ ま たは着信 メ ッ セージに適用する変換を指定で き ます。 変換は、 [Manage Integrations] オプシ ョ ンの [Transformations] サブ タ ブを使用して、 事前に定義し てお く 必要があ り ます。

図 5-3 エージ ェ ン ト ウ ィ ザー ドの [エン ド ポイ ン ト (End Points) ] ページ

各タ イ プのアダプ タ に適用で き る プ ロパテ ィ については、 こ の章で後述し ます。 実際には、 このウ ィ ザー ド の次に続 く 2 ページ (送信アダプ タおよび受信アダプ タ の構成専用) は、 選択している アダプ タ に よ って異な り ます。 なお、 2 つの特殊なケース、 ダ ミ ー アダプ タ (Dummy adapter) と 自動完了 (Auto Complete) のオプシ ョ ンについて説明し ます。

「ダ ミ ー アダプ タは、 エージ ェ ン ト 内に、 送信アダプ タ ま たは受信アダプ タ と し て設定で き ます。 [Dummy adapter] を選択する こ と は、 エージ ェ ン ト が単一方向にのみ動作する こ と を意味し ます。 た と えば、 ダ ミ ー受信アダプ タ を使用する よ う に設定されている エージ ェ ン ト は、エージ ェ ン ト が送信通信だけに関与する こ と を意味し ます。 同様に、 ア ッ プデー ト タ ス クおよび締め切 り タ ス ク専用の個別 (受信のみ) エージ ェ ン ト が存在する こ と も考え られます。

表 5-5 エージ ェ ン ト の作成 : エン ド ポイ ン ト プロパテ ィ の表

設定 説明 (Description)

Outbound Adapter サービ ス カ タ ロ グ (Service Catalog) か ら外部シ ス テムに メ ッ セージを送信する ために使用するデフ ォル ト アダプ タ ま たはカ ス タ ム アダプ タ。

Outbound Transformation

外部シ ス テムが理解で き る外部 メ ッ セージを生成する ために、 送信アダプ タ に よ って生成さ れた nsXML メ ッ セージに適用さ れる変換 (または none)

Inbound Adapter 外部シ ス テムか ら メ ッ セージを受信する ために使用する アダプ タ、ま たは [自動入力 (Auto Complete) ] (受信 メ ッ セージが予期さ れない場合)。

Inbound Transformation

Business Engine が理解で き る nsXML メ ッ セージを生成する ために、着信 メ ッ セージに適用さ れる変換 (ま たは none)。 サービ ス タ ス ク にのみ適用可能

5-11Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 204: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

[Auto Complete] オプシ ョ ンは、 エージ ェ ン ト の受信アダプ タ部の選択肢 と し てのみ使用で き ます。 その効果は 「ダ ミ ー アダプ タ」 を選択する こ と と 同様で、 エージ ェ ン ト は発信の通信だけを管理し ます。 主な違いは、 タ ス ク に関連付け られた送信通信が送信される と 、 その タ ス ク は自動的に完了し ますが、 残 り の提供計画は引き続き実行される こ と です。

エージ ェ ン ト パラ メータの使用

エージ ェ ン ト パラ メ ータは、 送信アダプ タおよび受信アダプ タ と 組み合わせて使用で き ます。

エージ ェ ン ト 定義の一部 と し て指定し たパラ メ ータ マ ッ ピ ン グには、 デフ ォル ト 値が使用されます。 こ のマ ッ ピ ン グは、 Service Designer でサービ スの タ ス ク定義を編集する こ と に よ り 、サービ ス ご と に上書き で き ます。

送信要求パラ メータ

送信 メ ッ セージ内で使用さ れる エージ ェ ン ト パラ メ ータは、 追加データ を含む標準 nsXML 送信 メ ッ セージを補足し、 コ ンテン ツ ノ ー ド を対応しやすい形式に整理する ための方法を提供します。 こ のパラ メ ータ には、 外部 メ ッ セージに含める こ と がで き る よ う に、 XSL 変換を通じ て簡単にア ク セスで き ます。

図 5-4 送信要求パラ メ ータ

パラ メ ータ マ ッ ピ ン グは、 [サービ スデータ マ ッ ピ ング (Service Data Mapping) ] 領域にマ ッ ピン グ元の要素を入力する か、 パラ メ ータ マ ッ ピ ン グ ペイ ンの左にあ る ド ロ ッ プダ ウ ン リ ス トに表示さ れている要素を使用し て式を ビル ド する こ と に よ って割 り 当て られます。 マ ッ ピ ン グは、 次の組み合わせで構成で き ます。

• 定数値

• サービ ス フ ォーム上のデ ィ ク シ ョ ナ リ フ ィ ール ド

5-12Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 205: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

• nsXML 要素

• 上記のいずれかの要素に適用さ れる事前作成済みの関数

エージ ェ ン ト パラ メ ータ をマ ッ ピ ン グする と 、 次の利点があ り ます。

• パラ メ ータ値を抽出する変換では、 値が入力さ れるデ ィ ク シ ョ ナ リ フ ィ ール ド 名を参照する必要はあ り ませんが、 単にエージ ェ ン ト パラ メ ータ名を参照する こ と はで き ます。 これに よ り 、 異な る サービ スおよびデ ィ ク シ ョ ナ リ にわた る エージ ェ ン ト の再使用が促進されます。

• パラ メ ータはすべての コ ンテン ツ タ イ プに含まれる ため、 メ ッ セージで必要 と される他のすべての コ ンテン ツがサポー ト さ れる場合、 サ イ ズの小さ い発信 メ ッ セージ コ ンテン ツ タイ プを使用で き ます。

• 変換を使用せずにはア ク セスで き ない nsXML 要素および XPATH 操作を、 外部 メ ッ セージに含める こ と がで き ます。

送信パラ メ ータ を作成する には、 次の手順を実行し ます。

ステ ッ プ 1 [送信要求パラ メ ータ (Outbound Request Parameters) ] ページで、 [パラ メ ータの追加 (Add Mapping) ] を ク リ ッ ク し ます。

ページの下部に [パラ メ ータ値の編集 (Edit Parameter Values) ] ダ イ ア ロ グ ボ ッ ク スが表示さ れます。

ステ ッ プ 2 パラ メ ータの名前を入力し ます。

パラ メ ータ名にはスペース を使用で き ますが、 XML メ ッ セージで意味を持つ特殊文字 (「>」や 「&」 など) は使用で き ません。

ステ ッ プ 3 以下に示すガ イ ド ラ イ ン を使用し て、 パラ メ ータ の値/マ ッ ピ ング を指定し ます。

定数値

場合に よ っては、 要求ま たはサービ スの詳細に依存し ない定数値を外部シ ス テムに渡す必要があ り ます。 た と えば、 外部シ ス テムのマ ッ ピ ン グ元の名前を指定する必要があ る場合は、 [サービ スデータ マ ッ ピ ン グ (Service Data Mapping) ] に 「サービ ス カ タ ロ グ (Service Catalog)」 とだけ入力し ます (かぎカ ッ コは入力し ません)。

送信 nsXML へのマ ッ ピング

標準の nsXML 発信 メ ッ セージの選択さ れた要素を、 エージ ェ ン ト パラ メ ータへのマ ッ ピ ングに使用で き ます。 次の表は、 こ れを ま と めた も のです。

表 5-6 送信 nsXML マ ッ ピング

nsXML 要素 内容/説明

カ ス タ マー 要求に対する カ ス タ マーの ロ グ イ ン名

依頼者 要求の要求者 (イ ニシエータ) の ロ グ イ ン名

requisition-entry-id 要求内のサービ ス を一意に識別する番号 (通常は、 シ ョ ッ ピ ング カー ト 内の複数のサービ ス を区別する ために使用さ れます)

expected-cost サービ スの ト ラ ンザ ク シ ョ ン価格

expected-duration サービ スの標準期間

5-13Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 206: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

[辞書(Dictionary)] フ ィ ールドへのエージ ェ ン ト パラ メータのマ ッ ピング

エージ ェ ン ト パラ メ ータ をデ ィ ク シ ョ ナ リ フ ィ ール ド にマ ッ ピ ン グする には、 次の手順を実行し ます。

ステ ッ プ 1 [辞書 (Dictionaries) ] ノ ー ド を展開し、 [辞書を選択 (Select a dictionary) ] オプシ ョ ン を表示します。

図 5-5 [辞書 (Dictionary) ] フ ィ ールドへのエージ ェ ン ト パラ メ ータのマ ッ ピング

ステ ッ プ 2 すべての Service Catalog デ ィ ク シ ョ ナ リ の リ ス ト を表示するには、[辞書を選択(Select a dictionary)] ド ロ ッ プダ ウ ン メ ニ ューを ク リ ッ ク し ます。

図 5-6 デ ィ クシ ョ ナ リ ド ロ ッ プダウンの選択

ステ ッ プ 3 エージ ェ ン ト パラ メ ータにマ ッ ピ ン グする フ ィ ール ド が含まれるデ ィ ク シ ョ ナ リ を選択し ます。 デ ィ ク シ ョ ナ リ 内のすべてのフ ィ ール ド の リ ス ト が表示されます。

requisition-id 要求を一意に識別する番号 (My Services および Service Manager 内で参照さ れます)

channelId 外部タ ス ク を識別する グ ローバルな固有識別子 (GUID)

表 5-6 送信 nsXML マ ッ ピング (続き)

5-14Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 207: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

図 5-7 デ ィ クシ ョ ナ リのフ ィ ールド

ステ ッ プ 4 エージ ェ ン ト パラ メ ータにマ ッ ピ ン グする フ ィ ール ド を ク リ ッ ク し、 [サービ スデータ マ ッ ピン グ (Service Data Mapping) ] テキ ス ト 領域に ド ラ ッ グ し ます。 ド ラ ッ グ ア イ コ ンが緑色のチェ ッ ク マーク に変化し た ら、 マ ウ ス を放し ます。 選択し た フ ィ ール ド の lightweight 名前空間が表示さ れます。

図 5-8 Lightweight 名前空間

グ リ ッ ド デ ィ ク シ ョ ナ リ を除き、 エージェ ン ト はサービ スに関係な く 定義される ため、 任意のデ ィ ク シ ョ ナ リ フ ィ ール ド を選択でき ます。 こ のエージェ ン ト が使用されているサービ スに、 実際に、 参照先のデ ィ ク シ ョ ナ リ が含まれる こ と を確認するのは、 サービ ス設計者の役割です。

1 つ以上のグ リ ッ ド デ ィ ク シ ョ ナ リ のコ ンテンツを渡す統合の場合、 各グ リ ッ ド デ ィ ク シ ョ ナ リの行を扱 う ために変換が必要です。 これは、 それらの行が複数のデ ィ ク シ ョ ナ リ イ ン ス タ ン ス とし て保存されているからです。 この変換は、 発信 nsXML の <data-values> セ ク シ ョ ンで、「DictionaryName-n」 の命名規則に従います。 n はグ リ ッ ド 行番号です。 た と えば、 VMOperation と い う 名前のグ リ ッ ド デ ィ ク シ ョ ナ リ で、 サービ ス要求に 2 行のデータがあ る場合、 その値は次のよ う に表現されます。

<data-values> <data-value multi-valued="true"> <name>VMOperation-1.Name</name>

5-15Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 208: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

<value>vmgw01</value> </data-value> <data-value multi-valued="false"> <name>VMOperation-1.GuestOS_Name</name> <value>winNetStandardGuest</value> </data-value> <data-value multi-valued="false"> <name>VMOperation-1.CPUCount</name> <value>1</value> </data-value> <data-value multi-valued="false"> <name>VMOperation-1.Memory</name> <value>2048 MB</value> </data-value> <data-value multi-valued="true"> <name>VMOperation-2.Name</name> <value>vmgw01</value> </data-value> <data-value multi-valued="false"> <name>VMOperation-2.GuestOS_Name</name> <value>winNetStandardGuest</value> </data-value> <data-value multi-valued="false"> <name>VMOperation-2.CPUCount</name> <value>1</value> </data-value> <data-value multi-valued="false"> <name>VMOperation-2.Memory</name> <value>2048 MB</value> </data-value></data-values>

着信エージ ェ ン ト パラ メ ータ マ ッ ピ ン グおよびグ リ ッ ド デ ィ ク シ ョ ナ リ フ ィ ール ド の更新はサポー ト さ れません。

ビルド済み関数の適用

ビル ド 済み関数はマ ッ ピ ン グ さ れた要素に適用で き る ため、 パ ラ メ ータ値は、 対象シ ス テムで予期さ れた意味ま たは書式設定要件に適合し ます。 た と えば、 対象シ ス テム内のフ ィ ール ド のデータ定義に含まれる文字数が サービ ス カ タ ロ グ (Service Catalog) に保持さ れてい る文字数よ り も少ない場合は、 substring 関数を適用する こ と に よ ってフ ィ ール ド を短縮で き ます。 ビルド 済み関数の概要は以下の と お り です。 詳細については事前作成済み関数で説明し ます。

表 5-7 ビルド済み関数

機能 名前/説明 (Usage/Description)

trim 値か ら先頭 と 末尾のスペース を削除し ます。 特に、 値が CDATA タ グで囲まれる、 データベース アダプ タ のフ ォーム データや着信 メ ッ セージに役立ち ます。

replace 1 文字ま たはパターン を別の文字ま たはパターン と 置換し ます。

substring 開始点 と オプシ ョ ンの長さ で指定し て、 文字列の一部を選択し ます。

lowerCase 値をすべて小文字に変換し ます。

upperCase 値をすべて大文字に変換し ます。

length 文字列の文字数を返し ます。

5-16Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 209: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

ビル ド 済み関数をエージ ェ ン ト パラ メ ータ に適用する には、 次の手順を実行し ます。

ステ ッ プ 1 関数名が表示さ れる よ う に、 ビル ド 済み関数を展開し ます。

ステ ッ プ 2 使用する関数を強調表示し ます。 ペイ ンの下部に、 関数の使用法を説明する [Help] が表示さ れます。

図 5-9 ビルド済み関数

ステ ッ プ 3 こ の関数を、 パラ メ ータ の [Service Data Mapping] ボ ッ ク スに ド ラ ッ グ し ます。 ド ラ ッ グ ア イコ ンが緑色のチェ ッ ク マーク に変化し た ら、 マ ウ ス を放し ます。

図 5-10 緑色のチ ェ ッ ク マーク

ステ ッ プ 4 $Parameter$ を実際の値のプレース ホルダ と し て、 関数が定義さ れます。

indexOf こ の文字列内の、 指定さ れた部分文字列の 初の イ ンデ ッ ク ス を返し ます。

lastIndexOf こ の文字列内の、 指定さ れた部分文字列の 後の イ ンデ ッ ク ス を返し ます。

表 5-7 ビルド済み関数 (続き)

5-17Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 210: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

図 5-11 定義済み関数

ステ ッ プ 5 プレース ホルダを、 使用する nsXML メ ッ セージのデ ィ ク シ ョ ナ リ フ ィ ール ド ま たは要素 と 置換し ます。 こ のフ ィ ール ド ま たは nsXML 要素を [Service Data Mapping] テキ ス ト ボ ッ ク スに ドラ ッ グ し、 パラ メ ータ定義を手動で編集する必要があ り ます。

図 5-12 パラ メ ータ値の編集

送信 nsXML へのエージ ェ ン ト パラ メータの追加

エージ ェ ン ト パラ メ ータは、 送信 nsXML メ ッ セージの末尾に追加さ れます。 た と えば、 以下に示すエージ ェ ン ト パラ メ ータは、 直後に nsXML ス ニペ ッ ト を生成し ます。

図 5-13 sXML スニペ ッ ト

<agent-parameter multi-valued="false"> <name>Initiator</name><value>ltierstein</value></agent-parameter><agent-parameter multi-valued="false"> <name>Transactional Price</name><value>0.0</value></agent-parameter><agent-parameter multi-valued="false"> <name>Customer</name><value>Customer</value></agent-parameter>

5-18Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 211: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

送信応答パラ メータ

送信応答パラ メ ータは、 送信   http/Web サービ ス アダプ タ と 組み合わせて使用で き ます。 アダプ タ の [プ ロ セス応答 (Process Response) ] 設定が true の場合、 元の要求への応答が処理さ れます。 こ の応答には、 「送信パラ メ ータ」 メ ッ セージ タ イ プが含まれる可能性があ り ます。 パ ラメ ータは、 受信エージ ェ ン ト パラ メ ータ と し て定義し ます。

受信エージ ェ ン ト パラ メータ

エージ ェ ン ト パラ メ ータ を 「送信パラ メ ータ」 受信 メ ッ セージ タ イ プ と 組み合わせて使用する と 、 そのパラ メ ータ がマ ッ ピ ン グ さ れているデ ィ ク シ ョ ナ リ フ ィ ール ド を外部タ ス ク でア ップデー ト で き ます。

変換の管理

変換を管理する には:

ステ ッ プ 1 [統合の管理 (Manage Integrations) ] タ ブで、 [変換 (Transformations) ] サブ タ ブを ク リ ッ ク します。

ステ ッ プ 2 [変換 (Transformation) ] を ク リ ッ ク し ます。

[変換 (Transformation) ] ページが表示さ れます。

[Direction] を指定する こ と に よ り 、 変換を送信/受信 メ ッ セージのいずれかに適用で き ます。[Process Response] 設定がオンになっている場合、 Web サービ ス発信 メ ッ セージに 2 つの変換の使用が必要にな る場合があ り ます。 1 つは発信要求に適用さ れ、 も う 1 つはその要求への応答に適用さ れます。

[Validate] ボ タ ン を ク リ ッ クする と 、 XSLT を解析し て、 変換が整形式であ る こ と が確認さ れます。 適切でない (た と えば、 XML タ グのつづ り の誤 り や欠落があ る) 場合は、 診断 メ ッ セージが表示さ れます。 変換を保存する前に、 エ ラーを修正する必要があ り ます。

表 5-8 受信エージ ェ ン ト パラ メ ータの設定

設定 説明 (Description)

パ ラ メ ータ パラ メ ータ名。

Dictionary Field すべてのデ ィ ク シ ョ ナ リ フ ィ ール ド が表示されている ド ロ ッ プダ ウン リ ス ト か ら、 デ ィ ク シ ョ ナ リ フ ィ ール ド を選択し ます。 フ ィ ールド 名は次の形式にな り ます。

DictionaryName.FieldName

ハ ッ シ ュ記号 (#) では囲みません。

マ ッ ピ ング 指定し たデ ィ ク シ ョ ナ リ フ ィ ール ド のア ッ プデー ト に使用される値を導出する ために適用する ビル ド 済み関数。

必須 フ ィ ール ド を受信 メ ッ セージに含める場合は、 [Mandatory] チェ ッ クボ ッ ク ス をオンに し ます。 サービ ス を変更し たためにパ ラ メ ータ が不要になった場合には、 通常、 こ のチェ ッ ク ボ ッ ク ス をオフに し ます。 不要になったパ ラ メ ータ を削除し ないで く だ さ い。

5-19Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 212: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

ただ し、 Service Link では、 変換の検証は行われません。 た と えば、 ソース メ ッ セージに存在し ない要素を変換が参照し ていて も、 エ ラーは検出さ れません。 その場合、 整形式 XML メ ッセージが生成さ れますが、 対象シ ス テムに対し て有効ではあ り ません。 し たがって、 Service Link が ターゲ ッ ト アプ リ ケーシ ョ ンで認識で き ない外部 メ ッ セージ、 ま たは Business Engine で認識で き ない着信 メ ッ セージを生成し た場合は、 ラ ン タ イ ム エ ラーが生成されます。

XML 開発環境にア ク セス し ている場合、 使用方法に精通し ていれば、 その環境を使用し て変換のテ ス ト を行 う と 効率的です。 送信変換の場合は、 (変換を適用する前に) エージ ェ ン ト によ って作成さ れた nsXML を XML 開発環境に コ ピーし、 それを ソース XML と し て使用する だけです。 変換を検証し た後、 XSLT コー ド を Service Link 変換に コ ピーし て貼 り 付け、 適切なエージ ェ ン ト に関連付け ます。

ま たは、特に既存の変換に小さ な変更を加え る場合には、こ のページのテ ス ト 関数を使用すれば、変換の出力 XML を素早 く プレ ビ ューで き ます。[テ ス ト (Test)] ボ タ ン を ク リ ッ クする と ポ ップア ッ プ ウ ィ ン ド ウが表示さ れる ので、そ こ で nsXML を ソース XML パネルに貼 り 付け、変換を実行し て出力 XML を取得で き ます。

Integration ウ ィ ザード を使用し て開発された送信 Web サービ ス統合の場合、 手動での変換の開発およびデバッ グ プロセスは排除されます。 Web サービ ス用の変換が自動的に作成され、 これにより 、 発信 nsXML が、 指定された WSDL と互換性のあ る形式に変換されます。 ただし、 wsdl または統合要件が変更された場合は、 前述の手順に従って変換をア ッ プデー ト する必要があ り ます。

ステ ッ プ 3 次の 「変換設定の表」 で説明する フ ィ ール ド に値を入力し ます。

ステ ッ プ 4 [Validate] を ク リ ッ ク し て、 変換に整形式 XSL が含まれる こ と を確認し ます。

ステ ッ プ 5 [保存 (Save) ] を ク リ ッ ク し ます。

エージ ェ ン ト 定義と プロパテ ィ シー ト の確認

エージ ェ ン ト が Service Link ま たは Integration ウ ィ ザー ド のど ち ら で作成さ れた場合で も、すべてのエージ ェ ン ト の定義を確認ま たは変更で き ます。[統合の管理(Manage Integrations)] タ ブの [エージ ェ ン ト (Agents)] サブ タ ブが表示さ れた ら、次のいずれかを実行で き ます。

• ページの左側にあ る リ ス ト ペイ ンで、 エージ ェ ン ト 名を ク リ ッ ク し ます。

• ページの右側に一覧表示さ れたエージ ェ ン ト 情報を ス ク ロールし、 エージ ェ ン ト 名を クリ ッ ク し ます。

表 5-9 変換設定の表

設定 説明 (Description)

[名前 (Name) ] 変換の名前。 変換名には、 イ ン ターフ ェ イ スの性質を記述し ます。 たと えば、 「サービ ス カ タ ロ グ (Service Catalog) To Remedy」 のよ う に、ソース システムや対象システムの名前を含める こ と ができ ます。

方向 (Direction) [イ ンバウ ン ド (Inbound) ] ま たは [ア ウ ト バウ ン ド (Outbound) ]。

説明 (Description) 変換の説明 (必須)。

[Request] サブ タ ブ 送信アダプ タ の nsXML メ ッ セージおよび受信アダプ タ の外部 メ ッセージに適用さ れる XSLT コー ド 。

[Response] サブ タ ブ エージ ェ ン ト の [プ ロ セス応答 (Process Response) ] 設定が true に設定さ れている場合に、 http/Web service 要求か ら受信し た応答に適用さ れる XSLT コー ド 。

5-20Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 213: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

リ ス ト ペイ ンのエージ ェ ン ト エン ト リ が展開さ れます。 編集ま たは確認する エージ ェ ン ト 定義の部分のプ ロパテ ィ シー ト を ク リ ッ ク し ます。 プ ロパテ ィ シー ト が表示された ら、 変更を入力し、 [保存 (Save) ] を ク リ ッ ク し て保存し ます。

図 5-14 エージ ェ ン ト エン ト リ

エージ ェ ン ト 名を ク リ ッ クする と 、 エージ ェ ン ト 定義の概要が表示されます。

図 5-15 エージ ェ ン ト 情報 (Agent Information)

[エージ ェ ン ト パラ メ ータ の リ セ ッ ト (Reset Agent Parameters) ] ボ タ ン を除いて、 こ のページは読み取 り 専用です。

Service Link エージ ェ ン ト の作成と導入

次の手順では、 フ ァ イル アダプ タ を使用する Service Link の統合の導入に必要な タ ス ク の一般的なシーケン ス を示し ます。 こ れは Service Link の イ ン ス ト ールの検証に も使用で き ます。

ステ ッ プ 1 Service Link ホーム ページの [共通タ ス ク (Common Tasks) ] 領域か ら、 エージ ェ ン ト ウ ィ ザード を ク リ ッ ク し、 場所フ ィ ール ド に入力し て他の送信アダプ タ のプ ロパテ ィ を指定する こ と によ り 、 送信フ ァ イル アダプ タ を使用する エージ ェ ン ト を選択し ます。 (こ の よ う なプ ロパテ ィの詳細については、 フ ァ イル アダプ タ で説明し ます)。

ステ ッ プ 2 [エージ ェ ン ト の管理(Control Agents)] タ ブに移動し、エージ ェ ン ト を見つけ、エージ ェ ン ト 名(エージ ェ ン ト 定義への リ ン ク)を除 く 境界線上の任意の場所でマ ウ ス を ク リ ッ ク し、ページの右上にあ る [選択項目の開始(Start Selected)] を ク リ ッ ク し て、エージ ェ ン ト を起動し ます。起動し たかど う かを確認し ます。起動し ない場合は、Service Link コ ン フ ィ ギ ュ レーシ ョ ン設定のいずれかが間違っている か、Integration Server(ISEE)が正し く 起動し ていません。

ステ ッ プ 3 入力し たフ ァ イル デ ィ レ ク ト リ がアプ リ ケーシ ョ ン サーバ上に存在する こ と を確認し、存在しない場合は作成し ます。サービ ス カ タ ロ グ(Service Catalog) と 外部アプ リ ケーシ ョ ンの両方に、こ れら のデ ィ レ ク ト リ への適切なア ク セス権(書き込み/読み取 り )があ る こ と を確認し ます。これら の条件が満た さ れていない場合は、実行時にフ ァ イル転送が失敗し ます。

5-21Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 214: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

ステ ッ プ 4 [Service Designer] に移動し、 こ のエージ ェ ン ト を使用するサービ ス を作成し ます。

ステ ッ プ 5 [My Services] に移動し、 サービ ス をオーダーし ます。

ステ ッ プ 6 要求が正常に作成さ れた場合は、 ISEE 発信キ ューが動作し ています。 [our apologies] ページが表示さ れた場合は、 JMS キ ューが動作し ていません。

ステ ッ プ 7 [ ト ラ ンザ ク シ ョ ンの表示 (View Transactions) ] タ ブか ら ア ク セスで き る [ メ ッ セージ(Messages) ] ページに移動し ます。 作成し た要求か ら メ ッ セージが表示されていれば成功です。 メ ッ セージのス テータ スが 「Message sent」 になっているはずです。

ステ ッ プ 8 発信フ ァ イル デ ィ レ ク ト リ (C:\cisco\SL\OutboundFiles など) に移動し ます。 こ こ に XML フ ァイルがあ る場合は (XML フ ァ イルの日時ス タ ンプを調べて、 要求に対応する新し いフ ァ イルであ る こ と を確認し て く だ さ い)、 フ ァ イル エージ ェ ン ト の送信が完了し ています。 おめで とう ございます。 発信 XML フ ァ イルは有効な nsXML メ ッ セージにな り ます。

ステ ッ プ 9 [ メ ッ セージ タ イ プ (Message Type) ] カ ラ ムの要求に対し て、 [タ ス ク の実行 (Execute Task) ] リ ン ク を ク リ ッ ク し ます。 [Message Details] ページが表示さ れます。

ステ ッ プ 10 Requisition ID が正し い こ と を確認し ます。 メ ッ セージの詳細画面か ら 「Channel ID」 を コ ピーし ます。

ステ ッ プ 11 以下に示すよ う に、 SampleInbound.xml と い う 名前の XML フ ァ イルを作成し ます。 「insert your Channel ID here」 と 表示さ れている場所に、 前のス テ ッ プで コ ピーし た Channel ID の値を貼 り付け ます。 (二重引用符はそのま ま残し ておき ます)。

<?xml version="1.0" encoding="UTF-8"?><message channelId="insert your Channel ID here"> <take-action action="done"/></message>

た と えば、 Channel ID の値を貼 り 付け る と 、 SampleInbound.xml フ ァ イルは次の よ う にな ります。

<?xml version="1.0" encoding="UTF-8"?><message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301"> <take-action action="done"/></message>

ステ ッ プ 12 着信フ ァ イル デ ィ レ ク ト リ (C:\cisco\SL\InboundFiles など) に SampleInbound.xml フ ァ イルを配置し ます。

ステ ッ プ 13 フ ァ イル エージ ェ ン ト が入力をポー リ ン グする と 、 受信フ ァ イルが自動的に選択されます。(フ ァ イル アダプ タ のポー リ ン グ間隔のデフ ォル ト 設定は 10 秒です)。 SampleInbound.xml フ ァイルは、 正常に処理さ れる と デ ィ レ ク ト リ か ら消え ます。

ステ ッ プ 14 [ ト ラ ンザ ク シ ョ ンの表示 (View Transactions) ] タ ブの [ メ ッ セージ (Messages) ] ページに移動し、 要求を探し ます。 Type=Take Action が含まれる要求に対する別の メ ッ セージがあ り 、Status=Inbound Message Completed と 表示さ れてい る場合は、 往復が実行さ れた こ と を意味します。

ステ ッ プ 15 [要求ID(Requisition ID)] リ ン ク を ク リ ッ ク し て、[要求ス テータ ス(Requisition Status)] ページを開き ます。要求のス テータ スが「Closed (1 of 1 completed)」になっている こ と を確認し ます。

5-22Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 215: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

Service Link エージ ェ ン ト を使用する タ スクの設定

エージ ェ ン ト を定義する と 、 そのエージ ェ ン ト を呼び出すワーク フ ローが含まれる外部タ スク を作成する こ と に よ り 、 サービ スで使用で き る よ う にな り ます。 ワーク フ ローを設定し たら、 中に含まれる エージ ェ ン ト に定義さ れている任意のエージ ェ ン ト パ ラ メ ータ を確認し たり 、 上書き し た り で き ます。

外部タ スクの作成

Service Link エージ ェ ン ト を使用する外部 (他社製) アプ リ ケーシ ョ ンに タ ス ク を送信する には、 次の手順を実行し ます。

ステ ッ プ 1 Service Designer を起動し ます。 外部タ ス ク に含める サービ ス を選択し ます。 [計画 (Plan) ] タブを ク リ ッ ク し ます。

ステ ッ プ 2 外部タ ス ク の指定には、 [Tasks] サブ タ ブま たは [Graphical Designer] サブ タ ブを使用で き ます。

• サービ スの [Tasks] サブ タ ブを使用し て、 タ ス ク を定義し、 配信計画に正し いシーケ ン スで配置し ます。

• [Graphical Designer] サブ タ ブを使用し て、 図上に タ ス ク を作成し、 Associate ツールを使用し て、 図に正し いシーケン スで配置し ます。 その タ ス ク をダブル ク リ ッ ク し て、 プ ロパテ ィ シー ト を表示し ます。

ステ ッ プ 3 [General] タ ブの [Workflow Type] ド ロ ッ プダ ウ ン リ ス ト を使用し て、 ド ロ ッ プダ ウ ン リ ス ト から目的のア ク シ ョ ン を選択し ます。 こ れは Service Link モジ ュール定義済みのア ク シ ョ ンであり 、 こ の ド ロ ッ プダ ウ ン リ ス ト に一覧表示さ れる エージ ェ ン ト 名ではない こ と に注意し て く ださ い。

ステ ッ プ 4 ワーク フ ロー /タ ス ク プ ラ ン を保存し ます。 Workflow Designer を使用し た場合は、 [Tasks] サブタ ブに戻 り ます。

ステ ッ プ 5 外部タ ス ク を保存する と 、 [Workflow Type] の横に省略符号ボ タ ンが表示さ れる よ う にな り ます。 こ の省略記号を ク リ ッ クする こ と に よ り 、 現在エージ ェ ン ト に有効なパ ラ メ ータ マ ッ ピ ング を確認し た り (存在する場合)、 こ の特定のサービ スのマ ッ ピ ン グ を変更し た り で き ます。省略符号ボ タ ン を ク リ ッ ク し ます。

図 5-16 ワーク フ ロー タ イプの横にある省略符号ボタ ン

ステ ッ プ 6 [エージ ェ ン ト パラ メ ータ のオーバーラ イ ド (Agent Parameter Override)] ポ ッ プア ッ プ ウ ィ ン ドウ が表示さ れます。エージ ェ ン ト パラ メ ータ を確認し ます。ま たは、1 つ以上のパラ メ ータ のマ ッ ピ ン グ を変更し ます。各パラ メ ータ を変更する たびに [Apply] を ク リ ッ ク し、ウ ィ ン ド ウ を閉じ る前に [Save] を ク リ ッ ク し て く だ さ い。

5-23Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 216: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

図 5-17 エージ ェ ン ト パラ メ ータのオーバーラ イ ド

ステ ッ プ 7 [Participants] タ ブで、 パフ ォーマー (個人、 キ ュー、 ま たは役職) を定義する こ と も で き ます。こ れに よ り 、 その実行エンテ ィ テ ィ のカ レ ンダーを使用し て タ ス ク の実行期日が計算されます。 外部タ ス ク の [参加者 (Participants) ] タ ブで値を設定し ていない場合は、 デフ ォル ト サービ ス キ ューのカ レ ンダーを使用し て実行期日が計算さ れます。 こ の方法でプ ラ ンに実行期日を設定する と 、 サービ ス カ タ ロ グ (Service Catalog) で、 外部タ ス ク の提供動作レベル契約(OLA) の順守、 および当該タ ス ク を含むサービ スのサービ ス レベル契約 (SLA) の順守を計算で き ます。

エージ ェ ン ト マ ッ ピングとサービス定義の同期

エージ ェ ン ト を使用する タ ス ク を作成し て保存する と 、 そのエージ ェ ン ト に指定されているエージ ェ ン ト パラ メ ータ マ ッ ピ ン グが個々の タ ス ク に自動的に継承さ れます。 前述の よ う に、サービ ス設計者は、 すべてのエージ ェ ン ト マ ッ ピ ン グ を タ ス ク レベルで上書き で き ます。

ただ し、 後で異な る エージ ェ ン ト パラ メ ータ マ ッ ピ ン グ セ ッ ト が含まれる よ う にエージ ェ ント を変更する と 、 そのエージ ェ ン ト を使用する よ う に事前に定義されている タ ス ク は、 変更を自動的に継承し ません。 こ れには、 次の よ う な変更が含まれます。

• エージ ェ ン ト パラ メ ータの追加

• エージ ェ ン ト パラ メ ータの削除

• 既存のエージ ェ ン ト パラ メ ータのマ ッ ピ ン グの変更

エージ ェ ン ト を使用する サービ スに こ れら の変更を伝播する には、 次の手順に従います。

ステ ッ プ 1 [Service Link Manage Integrations] タ ブの [Agents] サブ タ ブを ク リ ッ ク し ます。

ステ ッ プ 2 パラ メ ータ マ ッ ピ ン グが変更さ れたエージ ェ ン ト の名前を ク リ ッ ク し ます。

5-24Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 217: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

[エージ ェ ン ト 情報 (Agent Information) ] ページが表示さ れます。

図 5-18 [エージ ェ ン ト 情報 (Agent Information) ] ページ

ステ ッ プ 3 エージ ェ ン ト パラ メ ータ マ ッ ピ ン グ をア ッ プデー ト さ れたエージ ェ ン ト 定義 と 再同期する必要があ る サービ ス を選択し ます。

ステ ッ プ 4 [選択さ れた タ ス ク の リ セ ッ ト (Reset Selected Tasks) ] を ク リ ッ ク し ます。 こ のボ タ ンはすべてのパラ メ ータ マ ッ ピ ン グ をエージ ェ ン ト のデフ ォル ト に リ セ ッ ト する ため、 タ ス ク固有のすべてのマ ッ ピ ン グ を再適用する必要があ り ます。

nsXML メ ッ セージ

変換には正し い形式の XML を含める必要があ る だけではな く 、 正し い形式の有効な nsXML メ ッ セージを生成する必要があ り ます。すべての nsXML メ ッ セージが nsXML ス キーマ (XML 文書の構造を記述する XML 文書) に従っている必要があ り ます。 こ のス キーマは、 アプ リケーシ ョ ン サーバ (ISEE.war/WEB-INF/classes/xsl/nsxml.xsd) で使用で き ます。

発信 nsXML メ ッ セージ

外部タ ス ク のス テータ スが Ongoing に変わ る と 、 発信 nsXML メ ッ セージが生成さ れます。

各 メ ッ セージに生成さ れた nsXML は、 [Message Details] ページで nsXML メ ッ セージを ク リ ックする と 、 Service Link モジ ュールに表示で き ます。 タ ス ク に関連するデータおよび親要求に関連付け られているデータ が表示さ れます。

nsXML 内で も重要な要素は channelId であ り 、 外部タ ス ク を一意に識別する ID です。 こ の ID は他社製シ ス テムに提供さ れ、 対応するデータ ア ッ プデー ト がビジネス エンジンに よ って正常に適用さ れる ためには、 応答に表示さ れる必要があ り ます。

channelId は、 Globally Unique Identifier (GUID) と し て書式設定さ れます。 GUID は、 通常、次の よ う な 16 進数のシーケ ン ス と し て、 テキ ス ト 形式で書き込まれます。

3F2504E0-4F89-11D3-9A0C-0305E82C3301

こ のテキ ス ト 表記は、 ハイ フ ンで区切られた 5 つのデータ セ ッ ト で構成さ れます。 GUID の合計長は 36 文字 (32 の文字 と 4 つのハイ フ ン) です。

2 つの送信 メ ッ セージ タ イ プがあ り ます。

5-25Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 218: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

task-started

task-started メ ッ セージ タ イ プは、 外部タ ス ク が開始さ れる と 生成さ れます。 task-started メ ッセージの要素の詳細については、 「Adapter Development Kit に よ る統合の設計」 を参照し て く ださ い。

<message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301"> <task-started task-type="task"> <task> . . .

task-canceled

task-canceled メ ッ セージ タ イ プは、 外部タ ス ク が含まれる要求が取 り 消さ れる と 生成さ れます。 (サービ スの配信計画の対応する設定か ら) 外部タ ス ク が実行された後、 ユーザが要求のキ ャ ンセルを許可さ れていない場合、 こ の メ ッ セージは生成されません。 し か し、 要求の取 り消し が許可さ れている場合は、 外部タ ス ク に関与エージ ェ ン ト 内で使用されている変換に よ って task-started メ ッ セージ と task-canceled メ ッ セージの両方が 「スマー ト に」 処理される必要があ り ます。 変換に よ って task-canceled メ ッ セージ タ イ プをテ ス ト し、 適切な メ ッ セージを外部シ ス テムに送信する必要も あ り ます。

<xsl:if test="/message/task-started"> <-- Original XSLT goes here/></xsl:if>

<xsl:if test="/message/task-canceled"> <-- XSLT for the cancel message goes here/></xsl:if>

着信 nsXML メ ッ セージ

他社製シ ス テムの要求操作およびサービ ス項目操作か ら の着信 メ ッ セージについては、 2 種類の操作がサポー ト さ れています。 要求操作は、 要求データおよびタ ス ク ス テータ スの更新に使用さ れます。 サービ ス項目操作は、 要求に関連付け られたサービ ス項目の追加、 変更、 削除および取得に使用さ れます。 特定の操作は 「複合 メ ッ セージ」 と 呼ばれる 1 個の着信 メ ッ セージに統合さ れる こ と があ り ます。 各操作の詳細および制約事項は次の項で説明し ます。

要求操作

他社製シ ス テムは、 対応する発信 メ ッ セージの channelId を参照し て、 外部タ ス ク用に 1 つ以上の着信 メ ッ セージを送信で き ます。 外部タ ス ク は処理操作の 1 つが送信さ れる と 完了し、 こ れに よ って許可/配信計画の次の タ ス ク が進行し ます。

take-action

take-action メ ッ セージは、 タ ス ク のス テータ ス を変更する ために、 承認ま たは提供タ ス ク に適用で き ます。 take-action タ グの action 属性は、 実行さ れる ア ク シ ョ ン を識別し ます。 有効なアク シ ョ ンの概要は次の 「take-action メ ッ セージの表」 の と お り です。

5-26Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 219: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

タ ス ク プ ラ ンの 後の提供タ ス ク が done と マーキン グ されている場合は、 要求が閉じ られます (完了し ます)。 take-action タ グの 「ア ク シ ョ ン」 属性を対応する値に設定する と 、 許可タ スク を Approved ま たは Rejected と マーク で き ます。

<?xml version="1.0" encoding="UTF-8"?> <message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301"> <take-action action="done"/> </message>

send-parameters

パラ メ ータは、 エージ ェ ン ト 定義内のデ ィ ク シ ョ ナ リ フ ィ ール ド にバイ ン ド されたデータ要素です。 send-parameters メ ッ セージ タ イ プを使用する と 、 指定し た 1 つ以上のパ ラ メ ータ がア ップデー ト さ れ、 続いてサービ ス内の対応するデ ィ ク シ ョ ナ リ フ ィ ール ド がア ッ プデー ト されます。 こ の タ イ プの着信 メ ッ セージの使用は、 サービ ス要求で使用されるデ ィ ク シ ョ ナ リ フ ィ ール ド を外部シ ス テムで更新する推奨方法です。

<?xml version="1.0" encoding="UTF-8"?> <message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301">

<send-parameters> <agent-parameter>

<name>Status</name> <value>Resolved</value> </agent-parameter> <agent-parameter>

<name>ResolvedBy</name> <value>Help Desk</value>

</agent-parameter> </send-parameters>

</message>

add-comments

add-comments メ ッ セージは、 要求の [System Comments] セ ク シ ョ ンに コ メ ン ト を追加する ために使用し ます。

<?xml version="1.0" encoding="UTF-8"?> <message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301">

<add-comments> <comment>Test Comment</comment>

</add-comments> </message>

表 5-10 take-action メ ッ セージの表

操作 タ ス ク タ イ プ (Task Type) 説明 (Description)

done 提供タ ス ク 提供タ ス ク を完了済み と し てマーキング します。

cancel 提供タ ス ク 配信タ ス ク をキ ャ ンセルし ます。

OK 確認タ ス ク 確認タ ス ク を完了済み と し てマーキング します。

reject 承認タ ス ク 承認を拒否し ます。

承認 承認タ ス ク 承認を許可し ます。

5-27Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 220: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

サービス項目操作

サービ ス項目は Service Item Manager で定義さ れる エンテ ィ テ ィ です。 その ラ イ フサ イ ク ルは、サービ ス項目イ ン ス タ ン スがプ ロ ビジ ョ ニン グ さ れた時点か ら、 廃棄される時点までで、 サービ ス要求に関連付け られます。 サービ ス項目の ラ イ フサ イ ク ル イベン ト が外部シ ス テムに よ って処理さ れる場合、 Service Link サービ ス項目の作成、 更新、 削除、 および取得の メ ッ セージを介し て、 サービ ス項目データ を Lifecycle Center と 同期する こ と がで き ます。 これ ら の メ ッセージ タ イ プは、 Web サービ スベースのサービ ス項目 リ スナー アダプ タ だけでサポー ト さ れます (サービ ス項目 リ スナー アダプ タ を参照)。

こ れら の メ ッ セージには、 1 つま たは複数のサービ ス項目タ イ プおよびサービ ス項目イ ン タ ンス を含める こ と がで き ます。 1 つの メ ッ セージに複数のサービ ス項目操作を組み合わせる こ とはで き ません。 言い換え る と 、 操作の作成、 更新、 ま たは削除は個別の着信 メ ッ セージで送信する必要があ り ます。 エ ラー状態が発生する と 、 同じ メ ッ セージのすべてのサービ ス項目の操作が ロール バ ッ ク さ れます。

日時タ イ プのサービ ス項目属性は、 YYYY-MM-DD HH:MI:SS ま たは YYYY-MM-DD の形式で指定する必要があ り ます。 すべての時刻は UTC 時間で保存されます。

サービ ス項目のサブス ク リ プシ ョ ンは、 サービ ス項目イ ン ス タ ン スの作成時にオプシ ョ ンで含める こ と がで き ます。 操作でサブス ク リ プシ ョ ン情報が提供されていない と 、 要求のカ ス タマー と その個人のホーム組織単位に項目が割 り 当て られます。 メ ッ セージのサブス ク リ プシ ョン セ ク シ ョ ンにカ ス タ マーの ロ グ イ ン ID ま たは組織単位名が指定さ れてい る場合、 こ れら の値はデフ ォル ト のサービ ス項目の割 り 当てを上書きする ために使用されます。 サブス ク リ プシ ョ ンの処理規則の詳細については、 『Cisco Prime サービ ス カ タ ロ グ (Service Catalog) Designer Guide』 の 「Service Designer」 の章を参照し て く だ さ い。

<?xml version="1.0" encoding="UTF-8"?><message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301"><> <serviceitem> <name>LaptopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">LT-LENVT60-17032</serviceItemAttribute> <serviceItemAttribute name="Model">Thinkpad T60</serviceItemAttribute> <serviceItemAttribute name="Brand">LENOVO</serviceItemAttribute> <serviceItemAttribute name="Price">899.99</serviceItemAttribute> <serviceItemAttribute name="Memory">3</serviceItemAttribute> <serviceItemAttribute name="ManufactureDate">2009-04-15 12:00:00</serviceItemAttribute> <subscription> <loginID>jsmith</loginID> <ouname>Finance</ouname>

<accountName>account1</accountName><agreementName>agreement</agreementName>

</subscription> </serviceItemData> </serviceitem> <serviceitem> <name>DesktopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">DT-DELLV200-02274</serviceItemAttribute> <serviceItemAttribute name="Model">Vostro 200</serviceItemAttribute> <serviceItemAttribute name="Brand">DELL</serviceItemAttribute> <serviceItemAttribute name="Price">755.99</serviceItemAttribute> <serviceItemAttribute name="Memory">4</serviceItemAttribute> <serviceItemAttribute name="ManufactureDate">2010-03-01 12:00:00</serviceItemAttribute> </serviceItemData> </serviceitem> </></message>

5-28Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 221: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

update

更新 メ ッ セージでは、 サービ ス項目属性を省略する と 、 属性値は変更されません。 メ ッ セージで属性が明示的に指定さ れている も のの、 値が含まれない場合、 そのサービ ス項目の属性値はテキ ス ト フ ィ ール ド では空白に設定さ れ、 数値フ ィ ール ド では 0 に設定さ れます。

<?xml version="1.0" encoding="UTF-8"?><message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301"><update> <serviceitem> <name>LaptopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">LT-LENVT60-6122</serviceItemAttribute> <serviceItemAttribute name="Memory">4</serviceItemAttribute> <subscription> <loginID>dcohen</loginID> </subscription> </serviceItemData> </serviceitem> <serviceitem> <name>DesktopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">DT-DELLV200-00394</serviceItemAttribute> <subscription> <loginID></loginID> <ouname></ouname>

<accountName>account</accountName><agreementName>agreement1</agreementName>

</subscription> </serviceItemData> </serviceitem> </update></message>

delete

delete サービ ス項目要求に必要なのは、 サービ ス項目タ イ プおよびイ ン ス タ ン スの名前だけです。 その他のサービ ス項目の属性およびサブス ク リ プシ ョ ン情報は無視されます。

<?xml version="1.0" encoding="UTF-8"?><message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301"><delete> <serviceitem> <name>LaptopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">LT-TOSH900-0021</serviceItemAttribute> </serviceItemData> </serviceitem> <serviceitem> <name>DesktopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">DT-DELLV100-0394</serviceItemAttribute> </serviceItemData> </serviceitem> </delete></message>

getRequest

getRequest 操作はサービ ス項目イ ン ス タ ン ス を取得する ために使用さ れます。 update および delete サービ ス項目要求 と 異な り 、 channelId と topic-id 属性は任意選択です。 各着信 メ ッ セージには getRequest 操作を 1 つだけ含める こ と がで き、 その中にサービ ス項目タ イ プを 1 つだけ含める こ と がで き ます。 Service Link ユーザ イ ン ターフ ェ イ スの よ う な要求の ロ ギン グは行われません。

5-29Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 222: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

サービ ス項目属性 と サブス ク リ プシ ョ ン データ (お客様の ロ グ イ ン ID、 組織単位名、 アカ ウン ト ID、 および契約) を使用し て、 要求 XML で指定し た検索フ ィ ルタ に従って、 サービ ス項目イ ン ス タ ン スが取得さ れます。 getRequest では 高 5 個のフ ィ ルタ を使用で き、 こ れら は AND 結合 と 解釈さ れます。 次の 「getRequest の検索フ ィ ルタ演算子の表」 に、 検索フ ィ ルタ でサポー ト さ れる演算子を示し ます。

getRequest か ら の応答データ にはサービ ス項目の属性名 と 値、 およびサブス ク リ プシ ョ ン情報が含まれます。 それぞれの getRequest 操作で返さ れる レ コー ド の 大数は 100 です。 次のレコー ド セ ッ ト は、 要求で 「startRow」 および 「count」 要素を指定する こ と に よ って取得で き ます。 startRow 要素は結果セ ッ ト の開始行番号を示し ます。 count 要素は返さ れる レ コー ド 数を示し ます。 「startRow」 および 「count」 のデフ ォル ト 値はそれぞれ 1 と 100 です (要求 XML にない場合)。 count の値は、 パフ ォーマン ス上の理由か ら 100 に制限さ れています。

以下は getRequest XML の例です。

<getRequest> <serviceItemType>LaptopComputer</serviceItemType> <startRow>1</startRow> <count>1</count> <subscription> <loginID>jsmith</loginID> <ouname>Finance</ouname> </subscription> <filters> <!--1 to 5 repetitions:-->

表 5-11 getRequest の検索フ ィ ルタ演算子の表

データ タ イ プ サポー ト される フ ィ ルタ演算子

String(32) Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

STRING(128) Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

STRING(512) Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

INTEGER Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

MONEY Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

LONG INTEGER Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

DOUBLE FLOAT Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 StartsWith、 EqualsIgnoreCase、 isNull、 isNotNull、Between、 NotEqualsTo

DATE TIME Equals、 LessThan、 LessThanOrEqualTo、 GreaterThan、GreaterThanOrEqualTo、 EqualsIgnoreCase、 isNull、 isNotNull、 Between、NotEqualsTo

5-30Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 223: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

統合の管理

<filter attributeName="Name" operator="Equals" value="LT-LENVT60-17032" /> <filter attributeName="Price" operator="GreaterThan" value="800"/> <filter attributeName="ManufactureDate" operator="GreaterThan" value="2004-04-10"/> </filters></getRequest>

上記の要求の応答

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body xmlns:ns1="http://externaltask.api.newscale.com"> <response channelId="CHANNELID not retrieved" xmlns="http://externaltask.api.newscale.com"> <status-code>success</status-code> <status-message>Service item data read successfully.</status-message> <getResponse> <serviceitem> <name>LapTopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">LT-LENVT60-17032</serviceItemAttribute> <serviceItemAttribute name="Brand">LENOVO</serviceItemAttribute> <serviceItemAttribute name="Memory">3</serviceItemAttribute> <serviceItemAttribute name="Model">Thinkpad T60</serviceItemAttribute> <serviceItemAttribute name="Price">899.99</serviceItemAttribute> <serviceItemAttribute name="ManufactureDate">Fri Apr 16 00:00:00 GMT+05:30 2004</serviceItemAttribute> <subscription> <loginID>jsmith</loginID> <ouname>Finance</ouname>

<accountID>1<<accountID> <accountName>tenantaccount<accountName> <agreementID>1<agreementID> <agreementName>agreement<agreementName>

<requisitionID>0</requisitionID> <requisitionEntryID>0</requisitionEntryID> <assignedDate>2012-07-20T05:21:29.187+05:30</assignedDate> <submittedDate>2012-07-20T05:17:21.503+05:30</submittedDate> </subscription> </serviceItemData> </serviceitem> </getResponse> </response> </soap:Body></soap:Envelope>

getDefinitionRequest

getDefinitionRequest 操作はサービ ス項目タ イ プの メ タデータ ま たは定義を取得する ために使用さ れます。 getRequest 操作同様、 channelId と topic-id 属性は任意選択です。 各着信 メ ッ セージには getRequestDefinition 操作を 1 つだけ含める こ と がで き、 その中にサービ ス項目タ イ プを 1 つだけ含める こ と がで き ます。 Service Link ユーザ イ ン ターフ ェ イ スの よ う な要求の ロ ギン グは行われません。

以下はサービ ス項目の getDefinitionRequest の例です。

<getDefinitionRequest> <serviceItemType>LaptopComputer<serviceItemType><getDefinitionRequest>

上記の要求の応答

5-31Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 224: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

統合の管理

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Body xmlns:ns1="http://externaltask.api.newscale.com"> <response channelId="" xmlns="http://externaltask.api.newscale.com"> <status-code>success</status-code> <status-message>Service item definition read successfully.</status-message> <getDefinitionResponse> <serviceItemDef> <name>LaptopComputer</name> <classification>Laptops</classification> <displayName>LaptopComputer</displayName> <serviceItemProperty name="Name" type="string" /> <serviceItemProperty name="Model" type="string" /> <serviceItemProperty name="Brand" type="string" /> <serviceItemProperty name="Price" type="real64" /> <serviceItemProperty name="Memory" type="sint32" /> <serviceItemProperty name="ManufactureDate" type="datetime" /> </serviceItemDef> </getDefinitionResponse> </response> </soap:Body></soap:Envelope>

複合メ ッ セージ

上記の メ ッ セージ タ イ プは、 単一の受信 メ ッ セージに組み合わせる こ と がで き ます。 こ の よ うな組み合わせは、 「複合」 メ ッ セージ と 呼ばれます。 実行順序が重要です。 take-action タ グ を含める前に、 パラ メ ータ の送信やコ メ ン ト の追加を実行し、 後にサービ ス項目操作タ グ を配置する必要があ り ます。

<?xml version="1.0" encoding="UTF-8"?> <message channelId="3F2504E0-4F89-11D3-9A0C-0305E82C3301">

<add-comments> <comment>Task closed per override …</comment> </add-comments> <send-parameters> <agent-parameter>

<name>Status</name> <value>Resolved</value> </agent-parameter> </send-parameters> <take-action action="done"/>

<update> <serviceitem> <name>LaptopComputer</name> <serviceItemData> <serviceItemAttribute name="Name">LT-LENVT60-6122</serviceItemAttribute> <serviceItemAttribute name="Memory">4</serviceItemAttribute> <subscription> <loginID>dcohen</loginID> </subscription> </serviceItemData> </serviceitem> </update></message>

5-32Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 225: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link ト ラ ンザク シ ョ ンのモニ タ リ ング

SIM インポー ト メ ッ セージ

Service Item Manager (SIM) イ ンポー ト メ ッ セージ タ イプは、 外部システムから サービ ス カ タロ グ (Service Catalog) へのサービ ス項目と標準定義およびデータ をサポー ト し ています。 サービス項目の更新および削除の操作と は異な り 、 SIM のイ ンポー ト は、 特定のデ ィ レ ク ト リ に配置された着信フ ァ イルをポー リ ングする File Adapter プロ ト コルに基づいています。 サービ ス項目イン ス タ ン スの操作に加えて、 SIM Import ではサービ ス項目グループおよびサービ ス項目タ イプのメ ンテナン ス もサポー ト されます。 Service Item Manager のイ ンポー ト の詳細については、 『Cisco Prime サービ ス カ タ ロ グ (Service Catalog) Designer Guide』 を参照し て く ださ い。

変換と nsXML

発信 nsXML メ ッ セージは通常、 非常にサ イ ズが大き く 複雑で、 500 KB を超え る こ と も よ く あり ます。 変換を使用し て メ ッ セージ形式を変更する こ と は必須ではあ り ませんが、 外部シ ス テムが nsXML を読み取る よ う に設定さ れている こ と はまずあ り ません。 結果 と し て、 通常、 変換を使用し て送信 メ ッ セージ形式を変更する こ と は不可避です。

ただ し、 着信 メ ッ セージの形式についてはサー ド パーテ ィ シ ス テムの担当者 と 相談する こ と が多いため、 nsXML メ ッ セージ形式に近い仕様に合意する こ と も可能です。 その場合、 受信変換の方が、 対応する送信変換よ り も はる かに簡素化で き る可能性があ り ます。

XSL Transformations (XSLT) と 呼んではいますが、 使用さ れてい る テ ク ノ ロ ジーは、 実際には拡張可能ス タ イルシー ト 言語 と 呼ばれ、 XPATH も含みます。 XPATH は、 XML ド キ ュ メ ン ト 内で情報を検索し、 要素および属性全体を移動する ための言語です。 XPATH には、 文字列値、数値、 日付 と 時刻の比較、 シーケン ス操作、 ブール値、 およびその他の メ ソ ッ ド のための組み込み関数が用意さ れています。

Service Link ト ラ ンザクシ ョ ンのモニタ リ ングService Link の使用状況をモニ タ リ ン グする には、 次の よ う に複数の方法があ り ます。

• Service Link のホーム ページに、 過去 30 日間の メ ッ セージ量のグ ラ フが表示され、 他のモニ タ リ ン グ オプシ ョ ンにア ク セスする ための [Common Tasks] タ ブや [View Transactions] タブが表示さ れます。

• ま た、Service Link のホーム ページには [Recent Failed Messages] を表示する オプシ ョ ン も あり 、 配信で き なかったすべての メ ッ セージが表示されます。

• [View Transactions] タ ブか ら ア ク セス可能な メ ッ セージを表示する オプシ ョ ンでは、Service Link で送受信するすべての メ ッ セージが表示さ れ、 管理者は目的の メ ッ セージを表示するためにフ ィ ルタ リ ン グや検索を実行で き ます。

• [View Transactions] タ ブか ら ア ク セスで き る外部タ ス ク を表示する ためのオプシ ョ ンでは、Service Link メ ッ セージを配信で き なかったために進行中のま まになっているすべての タ スク が表示さ れ、 管理者は目的の タ ス ク を表示する ためにフ ィ ルタ リ ン グや検索を実行で きます。

Service Link のモニ タ リ ン グや管理のためのすべてのページが、 設定可能な 「データ テーブル」を使用し て表示さ れます。 こ のテーブルの外観 (表示される カ ラ ム、 各カ ラ ムの幅、 およびデータ の表示順序) はカ ス タ マ イ ズ可能です。 ま た、 フ ィ ルタ と 検索機能に よ り 、 管理者は必要な行だけを表示で き ます。

レー ト 制限によ って簡単に REST 呼び出し を制限でき、 悪意あ るユーザからの分散 Dos (DDoS)攻撃と い う セキ ュ リ テ ィ 上の脅威を防ぎます。 アプ リ ケーシ ョ ン レベルのレー ト 制限によ って、効果的な ロード バラ ンシング も行われます。 REST API 要求のレー ト 制限の設定を参照し て く ださい。

5-33Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 226: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link ト ラ ンザクシ ョ ンのモニ タ リ ング

Service Link ホーム ページからのメ ッ セージの表示

Service Link のホーム ページの [Recent Failed Messages] ペイ ンには、 過去 30 日以内に宛先に配信で き なかった Service Link メ ッ セージが表示さ れます。 デフ ォル ト では、 メ ッ セージは、 送信日時に基づいて、 新の も のか ら順に表示さ れます。

図 5-19 失敗メ ッ セージ

[Failed Messages] グ リ ッ ド で、 いずれかのカ ラ ム リ ン ク を ク リ ッ クする と 、 関連情報が表示されます。

[View Transactions] タ ブか ら使用で き る [Messages] ページでは、 ス テータ スに関係な く 、 すべての送受信 メ ッ セージを表示し、 ページに表示さ れた メ ッ セージを明示的にフ ィ ルタ リ ン グし、 指定し た検索条件に一致する メ ッ セージを検索で き ます。

メ ッ セージの表示

[Messages] ページには、 設定し たフ ィ ルタ に応じ て、 すべて ま たは選択し た Service Link メ ッセージが表示さ れます。 デフ ォル ト では、 完了し た メ ッ セージは表示されません。 [ メ ッ セージ(Messages) ] ページを表示する には、 Service Link のホーム ページの [ ト ラ ンザ ク シ ョ ンの表示(View Transactions) ] タ ブを ク リ ッ ク し ます。 次に、 [ メ ッ セージ (Messages) ] サブ タ ブを クリ ッ ク し ます。Service Link ホーム ページの [Common Tasks] 領域にあ る [View Failed Messages] リ ン ク では、 ス テータ スが 「Failed」 の メ ッ セージだけを表示する よ う にフ ィ ルタ が設定さ れた [Messages] ページが表示さ れます。

表 5-12 Service Link の [Failed Messages] のク リ ッ ク可能なカ ラム

カ ラム (Column) リ ン ク

メ ッ セージ タ イ プ [サービ ス リ ン ク メ ッ セージの詳細 (Service Link Message Details) ] ポ ッ プア ッ プ ページの メ ッ セージの詳細

Req ID 要求の詳細

Agent (エージ ェ ン ト ) Service Link の [エージ ェ ン ト (Agents) ] ページに表示される エージ ェ ン ト の詳細

5-34Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 227: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link ト ラ ンザク シ ョ ンのモニ タ リ ング

次の よ う に、 [ メ ッ セージ (Messages) ] ページが表示さ れます。

図 5-20 [メ ッ セージ (Messages) ] ページ

表 5-13 Service Link の [Messages] のク リ ッ ク可能なカ ラム

カ ラム (Column) リ ン ク

メ ッ セージ タ イ プ Service Link の[ メ ッ セージ詳細 ( メ ッ セージ詳細 (Message Details))] ポ ッ プア ッ プ ページに表示さ れる メ ッ セージの詳細

Status Text 失敗し た メ ッ セージを参照する ために、 アダプ タ に固有の ロ グ フ ァイルおよびサーバ ロ グに書き込まれたエ ラー メ ッ セージへの リ ン クを使用で き ます。 詳細については、 Service Link の ト ラ ブルシ ューテ ィ ング と 管理を参照し て く だ さ い。

Req ID 要求の詳細。

Agent (エージ ェ ン ト ) Service Link の [エージ ェ ン ト (Agents) ] ページに表示される エージ ェ ン ト の詳細。

Task Subject Service Manager の タ ス ク の詳細。

5-35Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 228: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link ト ラ ンザクシ ョ ンのモニ タ リ ング

メ ッ セージ詳細 (Message Details)

[ メ ッ セージ詳細 (Message Details) ] ポ ッ プア ッ プ ページには、 サービ ス カ タ ロ グ (Service Catalog) メ ッ セージ と 外部 メ ッ セージの両方が表示さ れます。 こ のページには、 こ の要求内のタ ス ク を一意に識別するチャ ネル ID も表示さ れます。 こ の ID は、 他社製シ ス テムの問題を解決する際に使用で き ます。

図 5-21 [メ ッ セージ詳細 (Message Details) ] ページ

[ メ ッ セージ詳細 (Message Details) ] ポ ッ プア ッ プ ページのいずれかの タ ブを ク リ ッ クする と 、関連情報が表示さ れます。

表 5-14 Service Link の [Message Details] のサブ タ ブ

カ ラム (Column) リ ン ク

メ ッ セージの詳細 メ ッ セージの詳細。

nsXML Message 発信 メ ッ セージの場合は、 Business Engine に よ って生成さ れた メ ッセージが、 Service Link エージ ェ ン ト に よ って処理 (変換) さ れます。 着信 メ ッ セージの場合は、 外部シ ス テムか ら受信し た メ ッ セージが、 エージ ェ ン ト 変換 (存在する場合) に よ って変換さ れ、Business Engine に よ って処理さ れます。

External System Message

発信 メ ッ セージの場合、 エージ ェ ン ト に関連付け られた変換が適用さ れた後の メ ッ セージです。 着信 メ ッ セージの場合、 外部シ ス テムか ら受信し た メ ッ セージです。

5-36Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 229: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link ト ラ ンザク シ ョ ンのモニ タ リ ング

フ ィ ルタおよび検索

検索機能を使用する と 、 「Failed」 ス テータ ス を持つすべての メ ッ セージなど、 メ ッ セージのサブセ ッ ト を表示で き ます。 検索では、 検索対象 と し て [Messages] ウ ィ ン ド ウのいずれかのカ ラム を指定し、 照合する値を選択ま たは入力し ます。

[フ ィ ルタおよび検索 (Filter and Search) ] を ク リ ッ ク し ます ([ メ ッ セージ (Messages) ] ページの 上部にあ り ます)。

図 5-22 フ ィ ルタおよび検索

[Filter and Search (Filter and Search) ] ダ イ ア ロ グ ボ ッ ク スでは、 次の操作も サポー ト されます。

• カ ラ ムの意味に適し た関係演算子を使用し て、 特定のカ ラ ム を フ ィ ルタ リ ン グする。 た とえば、 日付範囲の選択や、 特定のス テータ ス と 同じ でない任意のス テータ スの選択が可能です。

• カ ラ ムに指定さ れたすべての条件の論理 「AND」 に よ ってフ ィ ルタ リ ン グする。

[フ ィ ルタおよび検索 (Filter and Search) ] ダ イ ア ロ グボ ッ ク スは、 非モーダルです。 任意の基準を入力し て、 [適用 (Apply) ] を ク リ ッ クする と 、 現在の設定の結果が表示さ れます。 必要であれば、 設定を調整し て、 [適用 (Apply) ] を再度ク リ ッ ク し ます。 任意のカ ラ ムの昇順または降順で メ ッ セージを表示し た り 、 設定操作に よ り 表示される カ ラ ム を変更する こ と も で きます。

エラー メ ッ セージの再送信

Service Link の開発中は、 エージ ェ ン ト ま たは変換設定のエ ラーのために配信に失敗し た、 多数の メ ッ セージが生成さ れる こ と があ り ます。 こ れ ら の メ ッ セージは再送信し ないで く だ さい。 同様に、 Service Item Import タ ス ク に よ って生成された メ ッ セージ も再送信し ないで く だ さい。 イ ンポー ト フ ァ イル形式を変更し て、 イ ンポー ト タ ス ク を再試行し て く だ さ い。

ただ し、 公開環境では、 外部シ ス テムの停止ま たは修正可能なその他の外部要因のために メ ッセージの配信が失敗する こ と があ り ます。 配信障害の原因を修正する と 、 エ ラー メ ッ セージを再送信で き ます。

エ ラー メ ッ セージを再送信する には、 次の手順を実行し ます。

5-37Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 230: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link ト ラ ンザクシ ョ ンのモニ タ リ ング

ステ ッ プ 1 [ ト ラ ンザ ク シ ョ ンの表示 (View Transactions) ] タ ブの [ メ ッ セージ (Messages) ] ページで、失敗し た メ ッ セージが含まれる行を ク リ ッ ク し ます。

ステ ッ プ 2 [ メ ッ セージ (Messages) ] ページの左下隅にあ る [ メ ッ セージの再送信 (Resend Message) ] をク リ ッ ク し ます。

Service Link は指定さ れた宛先に、 メ ッ セージを再送信し よ う と し ます。 再送信が正常に行われる と 、 メ ッ セージのス テータ ス と 日付がア ッ プデー ト され、 再送信日付が記録されて [再送信日付 (Resent On) ] カ ラ ムに表示さ れます。

メ ッ セージの再送信中には、 変換は再適用さ れません。 エージ ェ ン ト は、 変換済みの メ ッ セージを宛先に送信し よ う と し ます。

サービ ス項目の操作に関する失敗し た着信 メ ッ セージの再送信はサポー ト されません。 プ ロ セスはタ ス ク処理の再試行を試みます。 し たがって、 こ の よ う な メ ッ セージの宛先は、 Service Item イ ンポー ト プ ロ セ ッ サではな く 、 Business Engine にな り ます。

外部タ スクの表示

外部タ ス ク を表示する には、 次の手順を実行し ます。

ステ ッ プ 1 Service Link のホーム ページで、 [ ト ラ ンザ ク シ ョ ンの表示 (View Transactions) ] を ク リ ッ ク します。 次に、 [外部タ ス ク (External Tasks) ] サブ タ ブを ク リ ッ ク し ます。

次に示す [外部タ ス ク (External Tasks) ] ページが表示さ れます。

図 5-23 [外部タ スク (External Tasks) ] ページ

5-38Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 231: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link ト ラ ンザク シ ョ ンのモニ タ リ ング

ステ ッ プ 2 次のカ ラ ム リ ン ク のいずれかを ク リ ッ クする と 、 関連情報が表示されます。

フ ィ ルタおよび検索

メ ッ セージ表示 と 同様、 [External Tasks] ページには、 データ テーブルに表示さ れている カ ラ ムおよびデータ の順序を カ ス タ マ イ ズ し、 そのデータ のフ ィ ルタ リ ン グ と 検索を行 う ための機能が用意さ れています。

図 5-24 フ ィ ルタおよび検索

手動メ ッ セージの送信

起動さ れ、 着信 メ ッ セージを受信する こ と が予期さ れる タ ス ク は、 「Ongoing」 状態にあ り ます。 着信 メ ッ セージは、 通常、 タ ス ク のア ッ プデー ト ま たはス テータ スの変更を行います。メ ッ セージが受信さ れ、 タ ス ク が完了する までは、 要求の配信計画にあ る後続の タ ス ク を実行で き ません。 予期さ れる メ ッ セージはすでに送信さ れている が、 何ら かの理由で 「消失し た」こ と が疑われる (ま たは、 外部シ ス テムの管理者 と 話を し て確認で き る) 場合は、 手動 メ ッセージを送信し て メ ッ セージの受信をエ ミ ュ レー ト する こ と がで き ます。

手動 メ ッ セージを使用し て、 失敗し たサービ ス項目の操作をエ ミ ュ レー ト する こ と はで き ません。

表 5-15 Service Link の [External Tasks] のク リ ッ ク可能なカ ラム

カ ラム (Column) リ ン ク

Task Subject Service Manager の タ ス ク の詳細

Req ID [My Services] の要求の概要

エージ ェ ン ト 名 (Agent Name)

Service Link の [Agents] ページに表示さ れる エージ ェ ン ト の詳細

5-39Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 232: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link ト ラ ンザクシ ョ ンのモニ タ リ ング

(注) こ の機能を利用する場合は注意が必要です。 こ の機能はシ ス テム内のすべての通信プ ロ ト コルを上書き し ます。 こ の機能を使用する と 、 サー ド パーテ ィ シ ス テムの作成物がそのま まになり 、 Service Link が応答で き な く な る可能性があ り ます。 ま た、 こ の機能を使用し て要求をキ ャ ンセルし た場合、 た と えば、 Service Link が関係先に通知を行わないため、 自分でフ ォロー ア ッ プする必要があ り ます。

Business Engine に手動 メ ッ セージを送信する には、 次の手順を実行し ます。

ステ ッ プ 1 Service Link のホーム ページで、 [ ト ラ ンザ ク シ ョ ンの表示 (View Transactions) ] を ク リ ッ ク します。 次に、 [External Tasks] を ク リ ッ ク し ます。

[External Tasks] ページが表示されます。

ステ ッ プ 2 [外部タ ス ク (External Tasks) ] ページの左下隅で、 手動 メ ッ セージを送信する タ ス ク が含まれている行を ク リ ッ ク し ます。

ステ ッ プ 3 [手動 メ ッ セージの送信 (Send Manual Message) ] を ク リ ッ ク し ます。

次に示す [手動 メ ッ セージの送信 (Send Manual Message) ] ダ イ ア ロ グ ボ ッ ク スが表示されます。

図 5-25 手動メ ッ セージの送信 (Send Manual Message)

ステ ッ プ 4 送信する メ ッ セージの タ イ プに応じ て [Add Comment]、 [Add Parameter]、 [Update Values]、 ま たは [Take Action] を ク リ ッ ク し ます。

5-40Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 233: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link ト ラ ンザク シ ョ ンのモニ タ リ ング

ステ ッ プ 5 選択し た メ ッ セージ タ イ プに関連付け られている ポ ッ プア ッ プ ダ イ ア ロ グボ ッ ク スに応答します (ポ ッ プア ッ プ ブ ロ ッ カはオフに し て く だ さ い)。 こ れに よ り 、 メ ッ セージ ウ ィ ン ド ウに、 適切な タ イ プの整形式 XML メ ッ セージが入力されます。 ま た、 こ の メ ッ セージが通常のチャ ネルを通じ て受信さ れたのではな く 、 手動で生成された こ と を示す <add-comments> メ ッセージ も含め られます。

ステ ッ プ 6 必要に応じ て、 生成さ れた メ ッ セージを編集で き ます。 メ ッ セージ全体を作成し た ら、 [送信(Send) ] を ク リ ッ ク し ます。 受信 メ ッ セージが Business Engine に送信されます。

Service Link メ ッ セージの再発行

まれに、 Service Link アプ リ ケーシ ョ ンが長時間停止し た り 、 コ ン フ ィ ギ ュ レーシ ョ ンが正しく ないために、 外部タ ス ク に Service Link で作成さ れた対応する発信 メ ッ セージを含める こ とがで き ない こ と があ り ます。

Service Link で根本原因が解決し、 アプ リ ケーシ ョ ンが再び起動する と 、 問題の外部タ ス ク を Service Link に再発行し、 発信 メ ッ セージを作成し て配信プ ロ セス を再開する こ と がで き ます。

発信 メ ッ セージを再発行する には、 次の手順に従います。

ステ ッ プ 1 Service Link のホーム ページで、 [ ト ラ ンザ ク シ ョ ンの表示 (View Transactions) ] を ク リ ッ ク します。 その後、 [ メ ッ セージの再発行 (Message Republish) ] を ク リ ッ ク し ます。

ステ ッ プ 2 左側のペイ ンに、1 つま たは複数の不明な発信 Service Link メ ッ セージがあ る要求の Requisition ID を入力し ます。 要求に関連するすべての承認タ ス クおよび配信タ ス ク が評価さ れ、 発信 メ ッセージの作成のために再発行が必要な タ ス ク だけが処理されます。 一度に 大 20 の要求を入力で き ます。

ステ ッ プ 3 [Republish] を ク リ ッ ク し ます。

ステ ッ プ 4 再発行プ ロ セスが完了し た ら、 右側のペイ ンで処理のス テータ ス を確認し ます。

表 5-16 操作と説明

操作 説明 (Description)

コ メ ン ト の追加 add-comments メ ッ セージを送信し、 シ ス テム コ メ ン ト を要求に追加し ます。

Add Parameter send-parameters メ ッ セージを送信し ます。 1 つま たは複数の受信エージ ェ ン ト パラ メ ータ値、 およびこ のパ ラ メ ータ がバイ ン ド された対応するデ ィ ク シ ョ ナ リ フ ィ ール ド の値を変更し ます。

Update Values 指定さ れたデ ィ ク シ ョ ナ リ フ ィ ール ド の内容を変更する メ ッ セージを送信し ます。 (こ の メ ッ セージ タ イ プは、 主に旧バージ ョ ン との下位互換性を提供する目的で提供されてお り 、 フ ィ ール ド の内容は、 通常、 受信エージ ェ ン ト パ ラ メ ータ を使用し てア ッ プデート する必要があ り ます)。

Take Action take-action メ ッ セージを送信し ます。 Mark タ ス ク が実行さ れた(完了し た) かキ ャ ンセル されたかをマーク し、 承認を許可ま たは拒否し、 あ る いは確認が OK と マーク し ます。

5-41Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 234: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

Service Link アダプ タの管理すべての Service Link アダプ タ で、データ交換形式 と し て nsXML がサポー ト さ れます。nsXML 形式の詳細については、 「Adapter Development Kit に よ る統合の設計」 を参照し て く だ さ い。

すべてのポーラーベースのアダプ タ で、 一度の呼び出し につき 1 つの メ ッ セージの処理だけがサポー ト さ れます。

すべてのアプ リ ケーシ ョ ン イ ン ス タ ン スに次の Service Link アダプ タ が イ ン ス ト ール さ れます。

• ダ ミ ー アダプ タ

• データベース アダプ タ

• フ ァ イル アダプ タ

• HTTP/WS アダプ タ

• JMS アダプ タ

• MQ アダプ タ

• サービ ス項目 リ スナー アダプ タ

• Web サービ ス リ スナー アダプ タ

• ク ラ ウ ド リ ソース マネージ ャ のアダプ タ

こ れら のアダプ タ に加えて、 Service Link では Auto-Complete アダプ タ がサポー ト さ れます。

追加アダプ タは、 Service Link Adapter Development Kit (ADK) を使用し て イ ン ス ト ールおよび設定で き ます。 [Adapters] ページには、 こ の よ う なカ ス タ ム アダプ タ もすべて表示さ れ、 プ ロパテ ィ を確認で き ます。 カ ス タ ム アダプ タ の作成およびイ ン ス ト ールの詳細については、「Adapter Development Kit に よ る統合の設計」 を参照し て く だ さ い。

こ こ では、 以下のアダプ タ について説明し ます。

Auto-Complete アダプ タ

Auto-Complete アダプ タ を使用する と 、 エージ ェ ン ト は、 送信 メ ッ セージを送信し、 外部シ ステムか ら の確認応答を待たずに、 タ ス ク を完了 と し てマーキン グで き ます。 送信 メ ッ セージが正常に送信さ れる (た と えば、 送信フ ァ イル アダプ タ に よ って指定されたデ ィ レ ク ト リ にフ ァイルが書き込まれる) と 、 auto-complete アダプ タは、 同じ タ ス ク の着信 メ ッ セージを生成し ます。 着信 メ ッ セージは、 メ ッ セージ タ イ プ 「take- action」 を持ち ます。 こ の メ ッ セージは、 通常、 Business Engine に よ って処理さ れ、 ア ク シ ョ ン を done と し てマーキング し て外部タ ス ク を完了し ます。

ダ ミ ー アダプ タ

ダ ミ ー アダプ タはプレース ホルダです。 い く つかの処理シナ リ オで使用で き ます。

• ダ ミ ー アダプ タ を着信アダプ タ と し て使用する と 、 Service Link で外部タ ス ク を開始し、「Ongoing」 ス テータ スのま まにする こ と がで き ます。

• ダ ミ ー アダプタ を発信アダプタ と し て使用し、 auto-complete アダプタ を着信アダプタ と し て使用する と、 サービ ス設計者は外部タ ス ク で Auto-Complete エージェ ン ト を実装でき ます。その後、 こ のタ ス ク を ワーク フ ローの一部で使用し、 参加者への電子 メ ールを生成し た り 、他のタ ス ク が含まれない要求を終了し た り でき ます。 この組み合わせは、 Service Catalog と Service Link 間の通信が正し く 機能し ているかど う かを確認する ためにも使用でき ます。

5-42Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 235: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

データベース アダプ タ

データベース (DB) アダプ タは、 データベース内の 1 つ以上のテーブルを使用し て、 サービ ス カ タ ロ グ (Service Catalog) と 外部アプ リ ケーシ ョ ン間でデータ を渡し ます。

データベース接続

受信および送信データベース アダプ タは、 ANSI 標準 SQL をサポー ト する任意の JDBC 準拠 リレーシ ョ ナル データベース と 通信で き ます。 JDBC URL およびデータベース ド ラ イバ と と もに、 有効な接続基準を指定する必要があ り ます。 外部データベースが SQLServer ま たは Oracle の場合、 シ ス コ提供の ド ラ イバを使用で き ます。 シ ス コ が提供する ド ラ イバには、 次の も のがあ り ます。

com.microsoft.sqlserver.jdbc.SQLServerDriveroracle.jdbc.OracleDriver

JDBC URL の形式は次の と お り です。

jdbc:sqlserver://<host>:<port>;databaseName=<db_name>;selectMethod=direct;sendStringParametersAsUnicode=truejdbc:oracle:thin:@<host>:<port>:<SID>jdbc:oracle:thin:@//<host>:<port>/<service_name>

説明 :

• dbtype は sqlserver ま たは oracle です

• host は、 データベース サーバの名前です

• port はデータベースに接続する ポー ト です。 通常は SQLServer の場合は 1433、 Oracle の場合は 1521 です

• SQLServer にはデータベース名を指定し、 Oracle には SID (シ ス テム ID) と サービ ス名を指定する必要があ り ます

次に、 例を示し ます。

jdbc:sqlserver://mysqlserver.cisco.com:1433;databaseName=RequestCenter;selectMethod=direct;sendStringParametersAsUnicode=true

jdbc:oracle:thin:@myoracle.cisco.com:1521:DEVRC

jdbc:oracle:thin:@//myoracle.cisco.com:1521/PRODRC

サポー ト jar フ ァ イルが Service Catalog デ ィ レ ク ト リ 構造のデ ィ レ ク ト リ ISEE.war/WEB-INF/lib に イ ン ス ト ール されている場合、 ユーザ指定の ド ラ イバを使用で き ます

ステ ッ プ 1 適切な他社製 JDBC ド ラ イバを入手し ます。 た と えば、 Sybase JDBC ド ラ イバは、 Sybase の Web サ イ ト か ら ダ ウ ン ロー ド で き ます。

ステ ッ プ 2 必要な jar フ ァ イルを ISEE.war/WEB-INF/lib フ ォルダに コ ピーし ます。

ステ ッ プ 3 カ ス タ ム ド ラ イバ と 正し い JDBC URL 形式を使用する よ う に Agent 設定を変更し ます。 た と えば、 Sybase ド ラ イバ用 JDBC URL の形式は次の と お り です。

jdbc:sybase:Tds:host:port/database

ステ ッ プ 4 Service Link と Service Catalog サービ ス を再起動し ます。

5-43Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 236: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

JDBC Url の形式は、Service Link が導入されたアプ リ ケーシ ョ ン サーバに よ って も異な り ます。た と えば、 WebSphere アプ リ ケーシ ョ ン サーバか ら SQLServer データベースへの接続を確立する場合、 考え られる JDBC URL は次の よ う にな り ます。

jdbc:sqlserver://<host>:<port>;databaseName=<db_name>;selectMethod=direct;sendStringParametersAsUnicode=true

受信プロパテ ィ

データベース アダプ タ を着信アダプ タ と し て使用する場合、 エージ ェ ン ト のプ ロパテ ィ に、指定し たデータベース接続に対し て実行さ れる SQL ス テー ト メ ン ト を含めます。 こ の SQL は、 一般的には、 行のセ ッ ト を返す select コ マン ド です。 次に、 こ れら の行が外部 XML メ ッセージに書式設定さ れます。 メ ッ セージは、 (エージ ェ ン ト で指定される) 着信変換に よ って有効な nsXML 着信 メ ッ セージに変換する必要があ り ます。 次に、 メ ッ セージが Business Engine に渡さ れます。 Business Engine は、 受信 メ ッ セージに指定さ れている Channel ID によ って識別さ れる オープン タ ス ク を見つけ る と 、 その受信 メ ッ セージを処理し、 指定されたア ク シ ョ ン を実行し ます。

データベース着信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に「DBInboundAdapter」 と い う プレ フ ィ ッ ク スが付け られます。

表 5-17 DB アダプ タの受信プロパテ ィ

プロパテ ィ 説明 (Description)

DBPassword 指定さ れたユーザのパス ワー ド 。

DBUserName データベース ユーザの名前。

InboundSql 受信 ト ラ ンザ ク シ ョ ンに対し て実行される SQL ス テー ト メ ン ト 。こ れは、 行のセ ッ ト を返す SELECT ス テー ト メ ン ト であ る必要があり ます。 ト ラ ンザ ク シ ョ ン SQL (つま り 、 プ ロ シージ ャ) はサポート さ れていません。

InboundSuccessSql 着信 ト ラ ンザ ク シ ョ ンの成功時に実行する SQL です。 通常は現在の行を正常に処理さ れた と マークする SQL の update ま たは delete ステー ト メ ン ト です。

InboundFailureSql 着信 ト ラ ンザ ク シ ョ ンの失敗時に実行する SQL です。 通常は現在の行を正常に処理さ れた と マークする SQL の update ま たは delete ステー ト メ ン ト です。

JDBCUrl データベースに接続する JDBC URL

JDBCDriverClass データベースへの接続に使用される ド ラ イバの ク ラ ス名。

5-44Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 237: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

受信メ ッ セージ とワーク フ ロー

受信データベース アダプ タ のプ ロ セス フ ローは次の と お り です。

図 5-26 受信データベース アダプ タのプロセス ・ フ ロー

結果セ ッ ト の行ご と に、 アダプ タは次の構造を持つ XML メ ッ セージを生成し ます。

• メ ッ セージのルー ト 要素は <inbound-results> です。

• 必要な子要素は <row> です。 各 メ ッ セージは <row> 要素を 1 つだけ持ち ます。

• 各 <row> 要素には複数の <column> 要素があ り 、 各カ ラ ムの要素は、 アダプ タ に指定さ れた InboundSQL ス テー ト メ ン ト に含まれます。

• <row> 要素にはカ ラ ム名 (<name>) と JDBC データ タ イ プ (<type>。 文字の場合は 12、数値の場合は 1) の属性があ り ます。

• 各 <column> 要素の値は、 SQL ス テー ト メ ン ト の対応する カ ラ ムに返さ れる値です。

た と えば、 SQL ス テー ト メ ン ト

SELECT channelId, task, status, processType FROM rcInterface WHERE status = 'UPDATED'

は、 次の よ う な XML ス ト リ ーム を生成する可能性があ り ます。

<?xml version='1.0' encoding='UTF-8'?><inbound-results> <row> <column name="channelid" type="12" > "3F2504E0-4F89-11D3-9A0C-0305E82C3301" </column> <column name="task" type="12" >Task</column> <column name="status" type="12" >UPDATED</column> <column name="processtype" type="1" >null</column> </row></inbound-results>

Connect toDatabase

Execute InboundSQL,Producing resultset

Fetch next rowin resultset

Transform XML tonsXML message

Send message toBusiness Engine

Execute SuccessSQLfor current row

ExecuteFailureSQL

for current row

RowFound? End

Success?

Yes No

NoYes

Format dataas Inbound XML

Message

5-45Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 238: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

次に、 変換が こ の XML ス ト リ ームに適用さ れ、 有効な nsXML 着信 メ ッ セージが生成される必要があ り ます。 た と えば、 継続中の タ ス ク を完了する変換に、 次の コー ド が含まれる場合があり ます。

<xsl:template match="/inbound-results/row"> <xsl:variable name="status" select="column[@name='status']" /> <xsl:choose>http://www.w3schools.com/xsl <xsl:when test="$status='Complete'">http://www.w3schools.com/xsl <message>http://training2.cisco.com/RequestCenter <xsl:attribute name="channelId"> <xsl:value-of select="column[@name='channelId']" /> </xsl:attribute>http://training2.cisco.com/ServiceLink <take-action action="done" /> </message> <xsl:otherwise> . . .

得られた nsXML メ ッ セージを Business Engine が処理し ます。 メ ッ セージが正常に適用さ れた場合は、 エージ ェ ン ト 内に指定さ れている SuccessSQL が実行さ れます。 SuccessSQL は、 通常、 処理で行が選択さ れた ソース テーブル内の列をア ッ プデー ト する ため、 次のポー リ ン グ間隔で行が再び見つかる こ と はあ り ません。 Service Link が現在の行を更新する よ う に指定するには、 行の固有識別子を構成する カ ラ ム を識別し ます。 こ れら の列は、 受信 SQL ス テー ト メ ント に含まれる必要があ り ます。 次に例を示し ます。

UPDATE rcInterface SET status = 'DONE' WHERE channelId = #ChannelId#

同様に、 Business Engine が nsXML メ ッ セージの適用に失敗し た場合、 た と えば、 メ ッ セージの処理中にエ ラーが発生し た場合、 FailureSQL が実行さ れます。 FailureSQL は、 通常、 行が正し く 処理さ れなかった こ と を示すために、 現在の行のス テータ ス をア ッ プデー ト し ます。 次に例を示し ます。

UPDATE rcInterface SET status = 'FAILED' WHERE channelId = #ChannelId#

送信プロパテ ィ

データベース アダプ タ を発信アダプ タ と し て使用する場合は、 サービ ス カ タ ロ グ (Service Catalog) と 外部シ ス テムの間に 「ス テージング テーブル」 ス タ イルの イ ン ターフ ェ イ ス を提供し ます。 Business Engine に よ ってエージ ェ ン ト に提供さ れる nsXML 発信 メ ッ セージは、 1 つまたは複数の SQL ス テー ト メ ン ト が含まれる外部 メ ッ セージに変換する必要があ り ます。 その後、 これ ら の SQL ス テー ト メ ン ト は、 指定さ れた接続を使用し て、 指定されたデータベース内で実行さ れます。

DB 発信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に 「DBOutboundAdapter」と い う プレ フ ィ ッ ク スが付け られます。

表 5-18 DB アダプ タの発信プロパテ ィ

プロパテ ィ 説明 (Description)

DBPassword データベース ユーザのパス ワー ド

DBUserName データベース ユーザ名

5-46Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 239: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

送信メ ッ セージ とワーク フ ロー

XSLT 変換に よ って生成さ れた送信 メ ッ セージは次の形式を持つ必要があ り ます。

<?xml version="1.0" encoding="UTF-8"?><outbound-message> <execute-sql-list>

<execute-sql> SQLStatement </execute-sql> </execute-sql-list></outbound-message>

こ の メ ッ セージには、 それぞれが <execute-sql> タ グ内にあ る複数の SQL ス テー ト メ ン ト が含まれます。 こ れら のス テー ト メ ン ト は、 通常、 SQL テーブル内で行の挿入ま たはア ッ プデー トを実行し ます。 アダプ タ に指定さ れた JDBC ド ラ イバがサポー ト し てい る SQL ス テー ト メ ン トを使用で き ます。 SQL ス テー ト メ ン ト にはユーザ定義関数を使用で き ますが、 (SQLServer Transact-SQL ま たは Oracle PL/SQL では) ス ト ア ド プ ロ シージ ャはサポー ト されません。 各外部タ ス ク は Channel ID で一意に識別さ れる ため、 受信 メ ッ セージに よ って タ ス ク を更新で き るよ う に、 送信 SQL ス テー ト メ ン ト の ターゲ ッ ト テーブルにはチャ ネル ID に対する カ ラ ムが含まれる必要があ り ます。

フ ァ イル アダプ タ

フ ァ イル アダプ タは、 指定さ れたデ ィ レ ク ト リ か ら のフ ァ イルの読み取 り 、 ま たは指定されたデ ィ レ ク ト リ へのフ ァ イルの書き込みをサポー ト し ています。

• 複数のデ ィ レ ク ト リ 、 ま たは指定さ れたデ ィ レ ク ト リ のサブデ ィ レ ク ト リ にあ る フ ァ イルを処理する よ う に、 アダプ タ を設定する こ と はで き ません。

• 着信フ ァ イル アダプ タ の起動時に、 デ ィ レ ク ト リ にあ る複数のフ ァ イルの中で も古いフ ァ イルが処理さ れます。

• 指定さ れたデ ィ レ ク ト リ に対し て、 フ ァ イルを処理する よ う に設定する エージ ェ ン ト は 1 つだけにする必要があ り ます。

• 指定するデ ィ レ ク ト リ (場所) は、 Service Catalog が イ ン ス ト ール さ れてい る か、 ま たはアプ リ ケーシ ョ ン サーバか ら ア ク セスで き る アプ リ ケーシ ョ ン サーバのフ ァ イル シ ス テム上にする必要があ り ます。 Service Link の処理が進行する と 、 1 つのデ ィ レ ク ト リ か ら別のデ ィ レ ク ト リ にフ ァ イルが移動さ れる ため、 すべてのデ ィ レ ク ト リ が同じ物理デバイ ス上に存在し ている必要があ り ます。

フ ァ イル アダプ タの受信プロパテ ィ

フ ァ イル アダプ タ のデフ ォル ト 値を持つプ ロパテ ィ は次の と お り です。

フ ァ イル着信アダプ タ のプ ロパテ ィ シー ト では、次に示すプ ロパテ ィ 名に「FileInboundAdapter」と い う プレ フ ィ ッ ク スが付け られます。

JDBCUrl データベースに接続する ための JDBC URL

JDBCDriverClass データベースに接続する ために使用さ れる特定の ド ラ イバの ク ラス名

表 5-18 DB アダプ タの発信プロパテ ィ (続き)

5-47Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 240: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

フ ァ イル アダプ タの送信プロパテ ィ

送信アダプ タは、 指定さ れたフ ァ イルの場所で XML フ ァ イルを生成し ます。 フ ァ イル名には、channelId が含まれます。 こ れは、 エージ ェ ン ト が含まれ、 メ ッ セージが作成さ れた外部タ ス クの固有識別子です。 フ ァ イル名は、 送信プ ロパテ ィ と し て指定された日付形式で終わ り ます。

フ ァ イル発信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に「FileOutboundAdapter」 と い う プレ フ ィ ッ ク スが付け られます。

表 5-19 フ ァ イル アダプ タの受信プロパテ ィ

プロパテ ィ 説明 (Description)

BackupLocation FinalResolution ま たは OnError プ ロパテ ィ が 「Preserve」 の場合、フ ァ イルが処理後にバ ッ ク ア ッ プ さ れる場所。

BackupSuffix バ ッ ク ア ッ プ フ ァ イルのフ ァ イル拡張子。 デフ ォル ト は .bak。

FileLocation 読み込まれる着信フ ァ イルがポー リ ン グ さ れる場所 (デ ィ レ クト リ )。 各着信フ ァ イル アダプ タ に対し て一意の場所を使用する必要があ り ます。

FileNameDateFormat フ ァ イルの日付形式。 デフ ォル ト は .yyyyMMddHHmmssSSS。

FinalResolution ト ラ ンザ ク シ ョ ン完了後に、 フ ァ イルに対し て実行さ れる ア クシ ョ ン。 オプシ ョ ンは次の と お り です。

• [Preserve] : フ ァ イルをバ ッ ク ア ッ プ場所に移動し ます

• [Delete] : フ ァ イルを削除し ます

デフ ォル ト は [Preserve] です。

OnError エ ラー発生時に、 フ ァ イルに対し て実行さ れる ア ク シ ョ ン。 オプシ ョ ンは次の と お り です。

• [Preserve] : フ ァ イルをバ ッ ク ア ッ プ場所に移動し ます

• [Delete] : フ ァ イルを削除し ます

デフ ォル ト は [Preserve] です。

TempLocation 着信フ ァ イルの処理に使用さ れる一時フ ォルダ。

表 5-20 フ ァ イル アダプ タの送信プロパテ ィ

プロパテ ィ 説明 (Description)

BackupLocation 発信フ ァ イルのバ ッ ク ア ッ プ場所。 アプ リ ケーシ ョ ン サーバか ら アク セス可能な、 任意の有効なフ ァ イル シ ス テム デ ィ レ ク ト リ などです。

BackupSuffix バ ッ ク ア ッ プ フ ァ イルのフ ァ イル拡張子。 デフ ォル ト は .bak。

ConflictResolution 送信フ ァ イル名に矛盾があ る場合に実行される ア ク シ ョ ン。 オプシ ョ ンは次の と お り です。

• [Preserve] : フ ァ イルをバ ッ ク ア ッ プ場所に移動し ます

• [Delete] : フ ァ イルを削除し ます

デフ ォル ト は [Rename] です。

5-48Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 241: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

HTTP/WS アダプ タ

HTTP/WS アダプ タは、 HTTP 要求ま たは Web サービ ス要求および応答を送受信する ために使用し ます。 HTTPS も サポー ト さ れます。

Web サービ スに接続する プ ロ キシ サーバの使用はサポー ト されていません。

Web サービ ス を呼び出すために使用する場合は、 同期コールだけが可能です。 発信変換は、Web サービ スの標準に準拠する外部 メ ッ セージを生成する よ う に作成する必要があ り ます。SOAP ベースの Web サービ スの場合、 適切な SOAP ヘ ッ ダー と SOAP 本文要素を含める必要があ り ます。

送信プロパテ ィ

HTTP/WS アダプ タ の送信プ ロパテ ィ は、 送信アダプ タ の動作を指定し ます。

http/ws 発信アダプ タ の 「HTTP/WS アダプ タ の送信プ ロパテ ィ 」 表では、 次に示すプ ロパテ ィ名に 「HttpOutboundAdapter」 と い う プレ フ ィ ッ ク スが付け られます。

FileLocation フ ァ イルが書き込まれる場所。 アプ リ ケーシ ョ ン サーバか ら ア ク セス可能な任意のデ ィ レ ク ト リ などです。

FileNameDateFormat フ ァ イル名の日付形式。 デフ ォル ト は .yyyyMMddHHmmssSSS です。

OnError エ ラー発生時に、 フ ァ イルに対し て実行される ア ク シ ョ ン。 オプシ ョ ンは次の と お り です。

• [Preserve] : フ ァ イルをバ ッ ク ア ッ プ場所に移動し ます

• [Delete] : フ ァ イルを削除し ます

デフ ォル ト は [Preserve] です。

TempLocation 発信フ ァ イルの処理に使用される一時フ ォルダ。

表 5-20 フ ァ イル アダプ タの送信プロパテ ィ (続き)

表 5-21 HTTP/WS アダプ タの送信プロパテ ィ

プロパテ ィ 説明 (Description)

WsdlURL 実行さ れる操作が含まれた wsdl の URL。 Integration ウ ィ ザー ド だけで使用さ れます。

WsdlOperation Web サービ スに よ って実行さ れる動作。 Integration ウ ィ ザー ド を使用する場合を除いて指定。 指定さ れた WSDL に含まれるすべての動作の ド ロ ッ プダ ウ ン リ ス ト が表示さ れます。

RoutingURL ポス ト さ れるすべての発信 メ ッ セージをルーテ ィ ングする URL。Web サービ スのエン ド ポ イ ン ト 。

AcceptUntrustedURL 外部シ ス テムか ら の信頼で き ない証明書を許容可能にする オプシ ョ ン。 デフ ォル ト は true です。

ContentType コ ンテン ツ タ イ プ。 デフ ォル ト は text/xml; charset=ISO- 8859-1 です。

TimeOut http url 接続を取得する ための タ イ ムア ウ ト 。デフ ォル ト は 180,000 マ イ ク ロ秒です。

5-49Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 242: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

ProcessResponse 着信 メ ッ セージ と し ての SOAP メ ッ セージのポ ス ト ま たは応答の結果を処理する オプシ ョ ン。 デフ ォル ト は false です。

RequestHeaders HTTP 要求ヘッ ダーに含める必要があ る カス タ ム ヘッ ダー パラ メ ータ (通常は、 アンパサン ド (&) で区切られた名前 と値のペアの形式)。 た と えば、 SOAPAction は次のよ う な形式で入力し ます。

SOAPAction=Op

SOAPAction やカ ス タ ム ヘ ッ ダーは 「参照元」 と 呼ばれ、 次の よ うな形式で入力さ れます。

SOAPAction=Op&referrer=www.test.com

AuthenticationScheme Web サービ ス を要求する か、 URL にポ ス ト する ために使用さ れる認証の タ イ プ。 オプシ ョ ンは basic、 anonymous、 digest、 ま たは NTLM です。 こ れら のオプシ ョ ンについては、 後述の説明を参照し て く だ さ い。

AuthenticationScopeHost 認証 ク レデンシ ャルが適用さ れる ホ ス ト 。 ク レデンシ ャルを任意のホ ス ト に適用で き る場合は、 空白のま まに し てお く こ と がで きます。

AuthenticationScopePort 認証 ク レデンシ ャルが適用さ れる ポー ト 。 ク レデンシ ャルを任意のポー ト に適用で き る場合は、 空白のま まに し てお く こ と がで きます。

AuthenticationScopeRealm 認証 ク レデンシ ャルが適用さ れる レルム。 ク レデンシ ャルを任意のレルムに適用で き る場合、 空白にで き ます。

[ユーザ名 (Username) ] ターゲ ッ ト シ ス テムへの認証のユーザ名。

[パス ワード (Password) ] ターゲ ッ ト シ ス テムへの認証のパス ワー ド 。

ホ ス ト 一部の認証ス キーム (NTLM など) で必要にな る こ と があ る ホ スト ク レデンシ ャル。

ド メ イ ン 一部の認証ス キームで必要にな る こ と があ る ド メ イ ン ク レデンシ ャル。

NTLM では、 レルムの概念を使用し ません。 認証 ド メ イ ンは、 「レルム」 属性の値 と し て指定する必要があ り ます。 ク レデンシ ャルを任意の ド メ イ ンに適用で き る場合は、 空白のま まに し てお く こと がで き ます。

SaveRefField ProcessResponse が true の場合に使用する boolean。 外部シ ス テムがこ の タ ス ク の固有識別子 (ま たは TopicID) と し て使用する フ ィ ール ド が、 応答に含まれてい る こ と を示し ます。 詳細については、http/ws 要求への応答を参照し て く だ さ い。

RefFieldXPath 参照フ ィ ール ド (TopicID) を識別する、 応答の XPath 式。

RefFieldPattern 参照フ ィ ール ド に適用さ れる正規表現。

CancelIdentifierXPath 存在する と 、 進行中タ ス ク をキ ャ ンセルする必要があ る こ と を指定する XPath 式。

method メ ッ セージの送信に適用さ れる HTTP メ ソ ッ ド 。サポー ト さ れる 4 つの メ ソ ッ ド は、 POST、 GET、 DELETE、 PUT です。 SOAP ベースの Web サービ スでは、 必ず POST を使用し て く だ さ い。

表 5-21 HTTP/WS アダプ タの送信プロパテ ィ (続き)

プロパテ ィ 説明 (Description)

5-50Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 243: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

AppendUsernamePassword こ の設定は RESTful Web サービ スのみに使用さ れます。 こ れを true に設定する と 、 ユーザ名 と パス ワー ド が HTTP 認証のために要求ヘ ッ ダーに追加さ れます。 こ の設定は、 シングル サ イ ンオンが有効な と き には使用し ないで く だ さ い。 SSO の場合は、 代わ り に認証ス キーム と ス コープ パ ラ メ ータ を設定し ます。

UsernameAlias ユーザ名に対し て要求ヘ ッ ダーで使用する引数名。

PasswordAlias パス ワー ド に対し て要求ヘ ッ ダーで使用する引数名。

PublicKey 外部シ ス テムのパブ リ ッ ク キーを入力し ます。 Service Link を通じて送信さ れる encrypt 属性は、 エージ ェ ン ト で設定さ れた外部シ ステムのパブ リ ッ ク キーを使用し て暗号化さ れます。

ド ロ ッ プダ ウ ン リ ス ト の既存のパブ リ ッ ク キーを使用する か、ま たは、 [Service Link] > [統合の管理 (Manage Integrations) ] > [HTTPアダプ タ のエージ ェ ン ト (Agents for HTTP adapter) ] でエージ ェ ン ト を設定中に HttpOutboundAdapter.PublicKey に新しい公開キーを作成し ます。

新し いパブ リ ッ ク キーを追加する と き には、 新し いパブ リ ッ ク キーの係数および指数を必ず入力し ます。

発信 メ ッ セージを配信する必要があ る複数の PO イ ン ス タ ン スがあり 、 それぞれが異な るパブ リ ッ ク キーを持ってい る場合は、 異なる エージ ェ ン ト は異な る セキ ュ ア キーで設定する必要があ り 、 それら の各エージ ェ ン ト を異な る外部タ ス ク にマ ッ プ し ます。 セキ ュ ア データ ト ラ ンザ ク シ ョ ンの詳細については、 機密データ の保護を参照し て く だ さ い。

EncryptStringFormat Prime Service Catalog を Process Orchestrator 以外の外部シ ス テム と統合する場合は、 暗号化さ れた文字列を JSON 形式ま たは XML 形式で渡す必要があ り ます。

Intelligent Automation 形式を使用する場合、 Prime Service Catalog はProcess Orchestrator と 自動的に統合さ れます。 Intelligent Automation 形式に関する詳細情報については、 『Cisco Intelligent Automation for Cloud Documentation』 を参照し て く だ さ い。

JSON 形式 :

{"encryptStringFormat":{"initVector":"DCI4Tg==","saltHash":"LUNZWg==","payload":"UGF2YW4gQ29uZmlkZW50aWFsIQ=="}}

XML 形式 :

<encryptStringFormat><initVector>DCI4Tg==</initVector><payload>UGF2YW4gQ29uZmlkZW50aWFsIQ==</payload><saltHash>LUNZWg==</saltHash></encryptStringFormat>

表 5-21 HTTP/WS アダプ タの送信プロパテ ィ (続き)

プロパテ ィ 説明 (Description)

5-51Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 244: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

認証方式

送信 http/ws アダプ タ の一部のプ ロパテ ィ は、 あ る特定の認証方式、 おそ ら く 認証がカ ス タ マイ ズ さ れた Web サーバに対し てにのみ必要です。 「認証方式」 の表では、 送信 http/ws アダプ タでサポー ト さ れている認証方式を要約し ます。

http/ws 要求への応答

要求が Web サ イ ト にポス ト される と 、 あ る いは メ ッ セージが Web サービ スに送られる と 、 対象サ イ ト では通常は メ ッ セージ送信者に応答を返し ます。 応答に Service Link に と って有用な情報が含まれている可能性が低い場合、 Process Response プ ロパテ ィ を false に設定し、 Service Link に こ の よ う な メ ッ セージを無視する よ う に指定で き ます。 ただ し、 こ の よ う な応答に、 外部シ ス テムのチケ ッ ト 番号や、 Service Catalog で生成さ れた タ ス ク に割 り 当て られたケース番号などの、 追加情報が含まれている こ と があ り ます。 こ の場合、 Process Response と Save Ref Field の両方のプ ロパテ ィ を true に設定し、 Service Link の Reference フ ィ ール ド の xpath を指定し て、 Web サービ スの応答か ら参照を キ ャ プチャ で き ます。 さ ら に、 変換を応答に適用し、サービ ス フ ォーム を外部シ ス テムか ら の情報で更新する ア ク シ ョ ン を起動で き ます。

送信プロパテ ィ の値にエージ ェ ン ト パラ メータ を使用する

送信プ ロパテ ィ に、 エージ ェ ン ト パラ メ ータ名前空間を含める こ と がで き る よ う にな り ま した。 こ の場合、 複数の操作が同じ外部シ ス テムにルーテ ィ ン グ され、 ルーテ ィ ン グ URL セグメ ン ト ま たは要求ヘ ッ ダーの値だけが異な る場合に、 単一のエージ ェ ン ト を複数の操作に使用で き ます。 エージ ェ ン ト パラ メ ータ名前空間の構文は $ParamName$ です。

参照フ ィ ールド と TopicID

通常、 外部シ ス テムには独自の手段があ り 、 イ ンシデン ト 、 要求、 ま たはその他のオブジ ェ クト が、 サー ド パーテ ィ シ ス テムで開かれている か、 製品のユーザ イ ン ターフ ェ イ スで維持されている かを識別し ます。 指定さ れた参照フ ィ ール ド (TopicID) に よ り 、 Service Catalog は外部シ ス テムの固有の ID と Service Catalog の channelId 間の相互参照を維持で き ます。 Web サービ ス要求に対する 初の応答で TopicID が識別さ れ、 保存さ れる と 、 Web サービ ス リ スナー アダプ タ を介し て受信する外部シ ス テムか ら のその後の メ ッ セージで TopicID を使用し て Service Catalog 外部タ ス ク を識別で き ます。

表 5-22 認証方式

認証タ イ プ(Authentication Type) 説明 (Description)

匿名 ユーザ ク レデンシ ャルの提供を要求する必要はあ り ません。 通常は、Web サーバへのア ク セスはサービ ス アカ ウ ン ト で行います。

基本 ユーザ名 と パス ワー ド が必要です。 パス ワー ド は ク リ ア テキ ス ト 形式で送信さ れます。

ダ イ ジ ェ ス ト(Digest)

ユーザ名 と パス ワー ド が必要ですが、 パス ワー ド は MD5 ハ ッ シ ュ で送信さ れます。

NTLM Windows 2003 の統合 Windows 認証。

NTLMv2 Windows 2008 以降の統合 Windows 認証。

5-52Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 245: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

受信プロパテ ィ

• HTTP/WS 着信アダプ タは リ スナー アダプ タ で、 呼び出し に基づ く ポー リ ン グはサポー トさ れません。

• 指定の URL に対し て HTTP/WS 着信エージ ェ ン ト を 1 つだけ設定する必要があ り ます。http プ ロ ト コルま たは https プ ロ ト コルのいずれかを使用で き ます。

受信 http アダプ タ に指定で き る プ ロパテ ィ はあ り ません。 すべての http post を Integration Server の URL に転送する必要があ り ます。

<ServerName>:<Port>/IntegrationServer/ishttplistener?channelId=<channelId>

説明 :

• <ServerName> は サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ン サーバです。

• <Port> は サービ ス カ タ ロ グ (Service Catalog) が待ち受け る ポー ト です。

• <channel-id> は、 受信 メ ッ セージの影響を受け る タ ス ク を一意に識別するチャ ネル ID です。 チャ ネル ID が実行中の タ ス ク に該当し ない場合は、 「Error 503 (Application Error)」が他社製のシ ス テムに返さ れます。

Web サービスの起動

Web サービ スはそれほど単純ではない 「HTTP によ る XML」 です。 送信アダプタの場合、 XML メ ッ セージは http (ま たは https) に よ って Web サービ スに送信さ れます。 メ ッ セージ (変換のアプ リ ケーシ ョ ンに よ って作成さ れた発信 メ ッ セージ) は、 SOAP エンベロープで囲む必要があ り ます。 Web サービ スに送られる XML メ ッ セージの例は、 次の よ う にな り ます。

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <soap:Header soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <AuthenticationInfo> <userName>ns28sbd</userName> <password>09rbc19</password> </AuthenticationInfo></soap:Header> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <Op> <Assigned_To_Group>CSCC</Assigned_To_Group> <Case_Type>Problem</Case_Type> <Category>Computer/Printer/Server</Category>

<!-- additional tags as required />

<txt_internalticketid/> <txt_requestid >40</txt_requestid > <Type>New Hardware Request</Type> </Op> </soap:Body></soap:Envelope>

5-53Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 246: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

JMS アダプ タ

JMS 受信アダプ タは リ スナー アダプ タ であ り 、 ポー リ ン グ をベース と する起動はサポー ト し ていません。

JMS アダプ タはキ ュー と の間で メ ッ セージを読み書き し た り 、 特定の ト ピ ッ ク をパブ リ ッ シ ュおよびサブス ク ラ イ ブする こ と がで き ます。 1 つのキ ューに設定で き る JMS 受信エージ ェ ン トは 1 つだけです。 同じ エージ ェ ン ト を複数の ト ピ ッ ク のサブス ク ラ イ ブに使用する こ と はで きません。 ト ピ ッ ク は、 「topic.sample.exported」 の よ う に、 完全に指定する必要があ り ます。

受信アダプ タのプロパテ ィ

JMS 着信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に 「JMSInboundAdapter」と い う プレ フ ィ ッ ク スが付け られます。

送信アダプ タのプロパテ ィ

JMS 発信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に 「JMSOutboundAdapter」と い う プレ フ ィ ッ ク スが付け られます。

表 5-23 JMS アダプ タの着信プロパテ ィ

[名前 (Name) ] 説明 (Description)

JndiProviderUrl JMS で管理さ れる着信エージ ェ ン ト 用オブジ ェ ク ト 検索のための JNDI プ ロバイ ダーの URL。 デフ ォル ト は jnp://localhost:4099 です。

JndiFactory 着信エージ ェ ン ト 用の JNDI ネー ミ ング フ ァ ク ト リ 。 デフ ォル ト は org.jnp.interfaces.NamingContextFactory です。

JmsTopicFactory 着信エージ ェ ン ト 用の JMS ト ピ ッ ク接続を取得する ための Topic 接続フ ァ ク ト リ 。 使用さ れません。

JmsQueueFactory 着信エージ ェ ン ト 用の JMS キ ュー接続を取得する ためのキ ュー接続フ ァ ク ト リ 。 デフ ォル ト は ConnectionFactory です。

MessageMode JMS の宛先がキ ューま たは ト ピ ッ ク かを指定し ます。有効な値は Queue ま たは Topic。 デフ ォル ト は Queue です。

JmsQueue 着信エージ ェ ン ト 用の メ ッ セージ モー ド がキ ューの場合の名前付き JMS キ ュー。

JmsTopic 着信エージ ェ ン ト 用の メ ッ セージ モー ド が ト ピ ッ ク の場合の名前付き JMS ト ピ ッ ク。

MessageType 受信エージ ェ ン ト の メ ッ セージの タ イ プ。 有効値は Text です。

Publisher.isAdapter パブ リ ッ シ ャがアダプ タ の場合。 デフ ォル ト は True です。

Listener.UseCallback コールバ ッ ク を使用する かど う か。 デフ ォル ト は True です。

UserName 着信エージ ェ ン ト 用の JNDI セキ ュ リ テ ィ ク レデンシ ャルのユーザ名。

[パス ワー ド(Password) ]

着信エージ ェ ン ト 用の JNDI セキ ュ リ テ ィ ク レデンシ ャルのパスワー ド 。

5-54Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 247: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

MQ アダプ タ

MQ 受信アダプ タは、 IBM WebSphere Message Queue (MQ) シ ス テム を使用する ポーラー アダプ タ です。 こ のアダプ タ では、 IBM MQ Series バージ ョ ン 5.x 以上をサポー ト し ています。 また、 組み込み用に IBM MQ Series Java API を使用し ています。 IBM MQ ソ フ ト ウ ェ アは サービス カ タ ロ グ (Service Catalog) には付属し ていません。 ま た ラ イ セン スは IBM か ら入手する必要があ り ます。

受信プロパテ ィ

MQ 着信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に 「MQInboundAdapter」と い う プレ フ ィ ッ ク スが付け られます。

表 5-24 JMS アダプ タの発信プロパテ ィ

[名前 (Name) ] 説明 (Description)

JndiProviderUrl JMS で管理さ れる発信エージ ェ ン ト 用オブジ ェ ク ト 検索のための JNDI プ ロバイ ダーの URL。 デフ ォル ト は jnp://localhost:4099 です。

JndiFactory 発信エージ ェ ン ト 用の JNDI ネー ミ ング フ ァ ク ト リ 。 デフ ォル ト は org.jnp.interfaces.NamingContextFactory です。

JmsTopicFactory 発信エージ ェ ン ト 用の JMS ト ピ ッ ク接続を取得する ための Topic 接続フ ァ ク ト リ 。 未使用。

JmsQueueFactory 発信エージ ェ ン ト 用の JMS キ ュー接続を取得する ためのキ ュー接続フ ァ ク ト リ 。 デフ ォル ト は ConnectionFactory です。

MessageMode JMS の宛先がキ ューま たは ト ピ ッ ク かを指定し ます。 有効な値は Queue ま たは Topic です。

JmsQueue 発信エージ ェ ン ト 用の メ ッ セージ モー ド がキ ューの場合の名前付き JMS キ ュー。

JmsTopic 発信エージ ェ ン ト 用の メ ッ セージ モー ド が ト ピ ッ ク の場合の名前付き JMS ト ピ ッ ク。

MessageType 送信エージ ェ ン ト の メ ッ セージの タ イ プ。 有効な値は Text です。

Publisher.isAdapter パブ リ ッ シ ャがアダプ タ の場合。 デフ ォル ト は True です。

UserName 発信エージ ェ ン ト 用の JNDI セキ ュ リ テ ィ ク レデンシ ャルのユーザ名。

[パス ワー ド(Password) ]

送信エージ ェ ン ト 用の JNDI セキ ュ リ テ ィ ク レデンシ ャルのパスワー ド 。

表 5-25 IBM MQ 受信アダプ タのプロパテ ィ

[名前 (Name) ] 説明 (Description)

ManagerName IBM MQ Manager の名前

HostName IBM MQ Server のホ ス ト 名

[ポー ト (Port) ] 受信用の IBM MQ Server のポー ト

UserName 認証用のユーザ名

[パス ワー ド (Password) ] 認証用のパス ワー ド

5-55Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 248: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

送信プロパテ ィ

MQ 発信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に 「MQOutboundAdapter」と い う プレ フ ィ ッ ク スが付け られます。

サービス項目リ スナー アダプ タ

Web サービ ス リ スナー アダプ タ (Web サービ ス リ スナー アダプ タ を参照) と 同様、 サービ ス項目 リ スナー アダプ タは、 外部シ ス テムで外部タ ス クへの更新の送信に使用される Web サービ ス (SOAP) エン ド ポ イ ン ト を提供し ます。 タ ス ク の更新に加えて、 こ のアダプ タ では Lifecycle Center サービ ス項目を着信 SOAP メ ッ セージの一部 と し て作成、 更新、 および削除でき ます。 ま た、 アダプ タ に よ り 、 サービ ス項目 メ タデータ と サービ ス項目イ ン ス タ ン スのデータ を取得で き ます。

外部シ ス テムが送信する SOAP メ ッ セージは、 「processMessage」 処理で起動さ れる必要があ ります。 SOAP 本文内の メ ッ セージ内容は Service Link が認識で き る メ ッ セージに変換さ れてから、 操作の タ イ プに基づいて分離さ れ、 それぞれ Business Engine と Service Item Import processor に転送さ れます。 大 2 つの メ ッ セージが着信 SOAP メ ッ セージの [ ト ラ ンザ ク シ ョンの表示 (View Transactions) ] ページに表示さ れます。 1 つはタ ス ク更新操作 (take-action、add-comments、 send-parameters) 用で、 1 つはサービ ス項目操作用 (create、 update、 delete) です。 後者の メ ッ セージ タ イ プは 「Service Item」 です。

着信 メ ッ セージの認証は、 管理モジ ュールのサ イ ト 設定 「着信HTTP要求認証 (Inbound HTTP Requests Authentication)」 をオンにする こ と に よ り 、 任意で有効にで き ます。 詳細については、Web サービ ス リ スナー アダプ タ を参照し て く だ さ い。

ChannelName 受信 メ ッ セージ用の IBM MQ チャ ネル名

QueueName 受信 メ ッ セージ用のキ ュー名

MsgFormat 受信 メ ッ セージの メ ッ セージ形式。 デフ ォル ト は Text

表 5-25 IBM MQ 受信アダプ タのプロパテ ィ (続き)

表 5-26 IBM MQ アダプ タのプロパテ ィ

[名前 (Name) ] 説明 (Description)

ManagerName 送信 メ ッ セージ用の IBM MQ Manager の名前

HostName IBM MQ Server のホ ス ト 名

[ポー ト (Port) ] IBM MQ Server のポー ト

UserName 認証用のユーザ名

[パス ワー ド (Password) ] 認証用のパス ワー ド

ChannelName 送信 メ ッ セージ用の IBM MQ チャ ネル名

QueueName 送信 メ ッ セージ用のキ ュー名

MsgFormat 送信 メ ッ セージの メ ッ セージ形式。 デフ ォル ト 値は Text

5-56Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 249: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

受信プロパテ ィ

サービ ス項目 リ スナー着信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に「ServiceItemListenerInboundAdapter」 と い う プレ フ ィ ッ ク スが付け られます。

送信プロパテ ィ

サービ ス項目 リ スナー アダプ タは単方向 (着信専用) です。 し たがって、 発信プ ロパテ ィ はあり ません。

Web サービス リ スナー アダプ タ

Web サービ ス リ スナー アダプ タは、 外部シ ス テムで外部タ ス クへの更新の送信に使用さ れる Web サービ ス (SOAP) のエン ド ポ イ ン ト を提供し ます。 外部シ ス テムが送信する SOAP メ ッセージは、 「processMessage」 処理で起動される必要があ り ます。 SOAP 本文内の メ ッ セージ内容は、 Service Link が理解で き る メ ッ セージに変換さ れてか ら、 処理のため HTTP/WS 着信アダプ タ に転送さ れます。

表 5-27 サービス項目リ スナー着信アダプ タのプロパテ ィ

プロパテ ィ 説明 (Description)

Wsdl 現在の イ ン ス ト ール済み環境用の Service Catalog 着信サービ ス項目を記述する wsdl の URL は次の形式です。

<Protocol>://<ServerName>:<Port>/IntegrationServer/webservices/wsdl/ServiceItemTaskService.wsdl

引数の説明

<Protocol> は http ま たは https です。

<ServerName> は Service Link が イ ン ス ト ール さ れてい るサーバです。

<Port> は Service Link 用に指定さ れた通信ポー ト です。

次に例を示し ます。

http://ccp-prod.cisco.com:8089/IntegrationServer/webservices/wsdl/ServiceItemTaskService.wsdl

こ のプ ロパテ ィ は読み取 り 専用です。 こ れを有効にする と 設計者が WSDL を参照で き る よ う にな り 、 サービ スの理解や Web サービ ス ク ラ イ アン ト の記述に便利です。

RoutingURL SOAP メ ッ セージの送信先 と な る WSDL は次の形式です。

<Protocol>://<ServerName>:<Port>/IntegrationServer/services/TaskService

こ のプ ロパテ ィ は読み取 り 専用です。 外部シ ス テム イ ンテグ レータ が、 SOAP メ ッ セージを こ の URL に登録する ク ラ イ アン ト を作成で き る よ う 、 用意さ れています。

5-57Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 250: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link アダプ タの管理

Web サービ ス リ スナー アダプ タ では、基盤 と なっている Web サービ ス リ スナーを使用し ます。着信 メ ッ セージの認証は、 管理モジ ュールのサ イ ト 設定 「着信HTTP要求認証 (Inbound HTTP Requests Authentication)」 をオンにする こ と に よ り 、 任意で有効にで き ます。 有効に し た場合、着信 メ ッ セージを処理する ためには、 有効なユーザ名および対応するパス ワー ド を要求ヘ ッダーに渡す必要があ り ます。 必要に応じ て [暗号化さ れたパス ワー ド を受け入れる (Accept Encrypted Password) ] 設定を有効に し て、 暗号化パス ワー ド のみを使用する よ う 強制する こ とがで き ます。 暗号化ユーテ ィ リ テ ィ は、 パス ワー ド の暗号化された値を取得する サ イ ト 管理者ロールを持つユーザが使用で き ます。 こ のユーテ ィ リ テ ィ にア ク セスする には、 次のブ ラ ウザ ページを開き ます。

http://<server>:<port>/RequestCenter/EncryptedPassword.jsp

受信プロパテ ィ

Web サービ ス リ スナー着信アダプ タ のプ ロパテ ィ シー ト では、 次に示すプ ロパテ ィ 名に「WSListenerInboundAdapter」 と い う プレ フ ィ ッ ク スが付け られます。

送信プロパテ ィ

Web サービ ス リ スナー アダプ タは単方向 (着信専用) です。 し たがって、 発信プ ロパテ ィ はあ り ません。

表 5-28 Web サービス リ スナー受信アダプ タのプロパテ ィ

プロパテ ィ 説明 (Description)

WsdlURL 現在の イ ン ス ト ール済み環境用の Service Catalog 着信 Web サービ ス を記述する wsdl の URL は次の形式です。

<Protocol>://<ServerName>:<Port>/IntegrationServer/webservices/wsdl/TaskService.wsdl

引数の説明

<Protocol> は http ま たは https です。

<ServerName> は Service Link が イ ン ス ト ールさ れている サーバです。

<Port> は Service Link 用に指定さ れた通信ポー ト です。

次に例を示し ます。

http://ccp-prod.cisco.com:8089/IntegrationServer/webservices/wsdl/TaskService.wsdl

こ のプ ロパテ ィ は読み取 り 専用です。 こ れを有効にする と 設計者が WSDL を参照で き る よ う にな り 、 サービ スの理解や Web サービ ス ク ラ イ アン トの記述に便利です。

WsdlRoutingURL SOAP メ ッ セージの送信先 と な る WSDL は次の形式です。

<Protocol>://<ServerName>:<Port>/IntegrationServer/services/TaskService

こ のプ ロパテ ィ は読み取 り 専用です。 外部シ ス テム イ ンテグ レータ が、SOAP メ ッ セージを こ の URL に登録する ク ラ イ アン ト を作成で き る よ う 、用意さ れています

5-58Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 251: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link アダプ タの管理

機密データの保護

Prime Service Catalog には通常、 製品内で表示/ア ク セ ス さ れる と き、 および外部シ ス テム と 交換さ れる と き に保護し なければな ら ないデータ が含まれます。 こ のため、 セキ ュ ア データ トラ ンザ ク シ ョ ン中には暗号化方式を使用で き ます。

Prime Service Catalog 内におけ る暗号化デ ィ ク シ ョ ナ リ 属性の詳細については、 『Cisco Prime Service Catalog Designer Guide』 の 「Configuring Dictionaries」 を参照し て く だ さ い。

HTTP/WS および AMQP タ ス ク アダプ タ に基づき、 Service Link エージ ェ ン ト を介し て送信される暗号化属性は、 エージ ェ ン ト で設定さ れる外部シ ス テムの 1024/2048 ビ ッ ト RSA パブ リ ック キーを使用し て保護さ れ、 暗号化さ れます。 アダプ タ の Http/WS 送信プ ロパテ ィ ページで外部シ ス テムのパブ リ ッ ク キー と EncryptStringFormat を設定し てか ら、 エージ ェ ン ト のプ ロパテ ィ を設定する必要があ り ます。 詳細については、 アダプ タ の管理を参照し て く だ さ い。

た と えば、 Process Orchestrator (PO) へ送信さ れる発信 メ ッ セージの暗号化属性は、 次の方式で変換さ れます。

• 4 バイ ト のマジ ッ ク番号

• 1 バイ ト の初期化ベク ト ル (IV) 長

• IV

• 2 バイ ト の ソ ル ト 長

• PO のパブ リ ッ ク キーを使用し た、 ソ ル ト 保護

• 暗号化ペイ ロー ド 長 4 バイ ト

• 暗号化ペイ ロー ド

外部シ ス テムでパブ リ ッ ク キーが更新さ れた場合、それに従ってエージ ェ ン ト を更新する必要があ り ます。た と えば PO でパブ リ ッ ク キーが更新さ れた場合、Service Link の古い メ ッ セージが引き続き通過で き る よ う に、PO は猶予期間 と し て 3 日間、古いキー ペアを受け入れます。3 日の猶予期間の後、Prime Service Catalog のエージ ェ ン ト が更新さ れなかった場合、PO はエ ラーを返し ます。し たがって、外部シ ス テムでキーの再設定が行われた場合、エージ ェ ン ト ではパブ リ ック キーを手動で も う 一度再設定する必要があ り ます。

(注) 設定さ れた外部シ ス テムのパブ リ ッ ク キーが Service Link のエージ ェ ン ト にない場合、 エージ ェ ン ト が HTTPs/SSL プ ロ ト コルを使用する場合に限 り 、 保存および暗号化さ れる よ う に定義さ れたデ ィ ク シ ョ ナ リ フ ィ ール ド 属性が復号化さ れ、 こ れら の属性の平文値が発信 メ ッ セージを介し て送信さ れます。 SSL が設定さ れていない場合、 デ ィ ク シ ョ ナ リ フ ィ ール ド 属性は、暗号化形式のみで送信さ れます。

(注) Prime Service Catalog は AES アルゴ リ ズムおよび 128/256 ビ ッ ト 対称キーをサポー ト し ています。し たがって、Service Catalog の イ ン ス ト ール中に Java 開発キ ッ ト (JDK)に「Java Unlimited Strength Crypto Policy」フ ァ イルを手動で必ずイ ン ス ト ールし て く だ さ い。Java Unlimited Strength Crypto Policy フ ァ イルに よ り 、外部シ ス テムが 2048 ビ ッ ト 暗号化を実行で き る よ う にな り ます。Unlimited Strength Crypto Policy を イ ン ス ト ールし ない場合、イ ン ス ト ーラ に よ り 、サーバの起動中にエ ラー メ ッ セージが表示さ れます。Unlimited Strength Crypto Policy フ ァ イルの イ ン ス ト ールの説明については、Oracle の Web サ イ ト を参照し て く だ さ い。Cisco Prime Service Catalog の イン ス ト ールに関する情報については、『Cisco Prime Service Catalog Installation and Upgrade Guide』を参照し て く だ さ い。

5-59Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 252: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

ク ラウ ド リ ソース マネージャのアダプ タ

ク ラ ウ ド リ ソース マネージ ャ アダプ タは、 Service Link か ら UCSD/ICFB への送信通信をサポー ト し ます。 ク ラ ウ ド リ ソース マネージ ャ アダプ タは、 着信ポーラーがア ク テ ィ ブ化される頻度を決定する、 ポー リ ン グ間隔属性をサポー ト し ます。

(注) ク ラ ウ ド リ ソース マネージ ャ のアダプ タは事前設定さ れて提供さ れてお り 、 デフ ォル ト 設定を使用し て こ のアダプ タ を導入する こ と が推奨さ れます。

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

[統合 (Integration) ] ウ ィ ザー ド では、 Service Catalog と SOAP Web サービ ス と の統合の作成に関する手順の多 く が自動化さ れます。 Integration ウ ィ ザー ド は、 Web サービ スの統合によ って起動さ れる WSDL や処理を収集する こ と に よ って動作し ます。 [統合 (Integration) ] ウ ィ ザー ド では、 統合の定義に基づいて、 統合のサポー ト に必要なすべての コ ンポーネン トを表示し ます。

• 外部タ ス ク で統合の実行に使用で き る Service Link エージ ェ ン ト が作成さ れ、 現在のサービ スの配信計画で参照さ れます。

• Web サービ スで必要な SOAP メ ッ セージに nsXML を変換する変換が作成され、エージ ェ ント の発信アダプ タ で参照さ れます。

• 初の Web サービ ス要求 と 応答の両方で必要な、 すべてのデータ のエージ ェ ン ト パ ラ メ ータ がエージ ェ ン ト 定義に追加さ れます。

• エージ ェ ン ト パラ メ ータ値を格納する フ ィ ール ド が含まれたデ ィ ク シ ョ ナ リ が作成され、デ ィ ク シ ョ ナ リ フ ィ ール ド が、 対応する エージ ェ ン ト パラ メ ータにマ ッ ピ ン グ されます。

• デ ィ ク シ ョ ナ リ が含まれたア ク テ ィ ブ フ ォーム コ ンポーネン ト が作成さ れ、 現在のサービスに含まれます。

Integration ウ ィ ザー ド では、 認証方式や統合の動作の定義にい く つかのデフ ォル ト オプシ ョ ンを使用し ます。 こ れら の設定が適切ではない場合、 ま たは統合の作成後に変更する必要があ る場合、 Service Link の [Manage Integration] ページで使用で き る高度な コ ン フ ィ ギ ュ レーシ ョ ン オプシ ョ ン を使用し てエージ ェ ン ト 定義を編集で き ます。

Integration ウ ィ ザー ド は、 Service Link エージ ェ ン ト と 変換の作成が可能な ロールを付与さ れた、 サービ ス設計者だけが使用で き ます。

Integration ウ ィ ザー ド か ら ア ク セ スする wsdl は、 Web Services Operability (WS-I) のベス ト プラ ク テ ィ スに従 う 必要があ り ます。

Integration ウ ィ ザー ド を使用する手順は、 以下の と お り です。

ステ ッ プ 1 Service Designer でサービ ス を編集し ます。

ステ ッ プ 2 そのサービ スの [計画 (Plan) ] タ ブにあ る [一般 (General) ] サブ タ ブを開き ます。 タ ス ク に関連する他のデータ を必要に応じ て入力し ます。

ステ ッ プ 3 [エージ ェ ン ト (Agent) ] を ク リ ッ ク し ます。

5-60Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 253: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

図 5-27 Agent (エージ ェ ン ト )

[統合 (Integration) ] ウ ィ ザード の 初のページが表示されます。 ウ ィ ザード は、 エージェ ン トの設定に応じ て、 大 8 枚のページで構成されます。 各ページに入力し た ら、 [Next] を ク リ ッ クし て次のページに進みます。 また、 [Previous] を ク リ ッ クする と前のページに戻る こ と ができ ます。 入力が完了し た ら、 [Save] を ク リ ッ ク し てエージェ ン ト の定義 (およびその他の設計コ ンポーネン ト ) を保存し ます。 保存し ないで作業を終了する場合は、 [Cancel] を ク リ ッ ク し ます。

一般情報

初に、 エージ ェ ン ト に関する一般的な情報を指定し ます。

図 5-28 Create Agent

作成するデ ィ ク シ ョ ナ リ と ア ク テ ィ ブ フ ォーム コ ンポーネン ト は、 エージ ェ ン ト と 同じ名前に し ます。 デ ィ ク シ ョ ナ リ に対する命名基準はエージ ェ ン ト に対する命名基準よ り も厳し いため、 エージ ェ ン ト 名には英文字、 数字、 およびアンダース コ アだけを使用し ます。 ま た、 数字か ら始ま る名前は使用で き ません。

こ の画面の他のすべての設定は、 Service Link の [Agents] ページで使用で き る設定 と 対応し ています。

[Next] を ク リ ッ ク し て、 ウ ィ ザー ド の次のページに進みます。

5-61Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 254: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

送信プロパテ ィ

図 5-29 エージ ェ ン ト の発信のプロパテ ィ の作成

統合で実行さ れる処理が含まれる WSDL の場所を入力し ます。 こ れは通常は WSDL があ る場所の URL にな り ます。

Integration ウ ィ ザー ド に よ って、 ウ ィ ザー ド が読み込まれ、 サポー ト さ れている処理の リ ス トが表示さ れます。 任意の処理を選択し ます。 その処理に指定されている属性に よ って、 こ のウ ィ ザー ド の後続のページに表示さ れる エージ ェ ン ト パラ メ ータの定義が変わ り ます。

WSDL にルーテ ィ ング URL が含まれてい る場合は、 こ れも表示さ れます。

必要に応じ て、 [詳細プ ロパテ ィ (Advanced Properties) ] ド ロ ッ プダ ウ ン ボ タ ン を ク リ ッ ク して、 統合に関する その他の設定を表示し ます。 こ れら は こ こ で入力する こ と も、 Service Link か ら後で指定する こ と も で き ます。 ウ ィ ザー ド か ら指定で き る のは、 基本認証だけです。

5-62Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 255: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

送信要求パラ メータのマ ッ ピング

図 5-30 送信要求パラ メ ータのマ ッ ピング

以下の図で示すよ う に、 ウ ィ ザー ド に よ って WSDL が解析さ れ、 Web サービ スの送信要求で使用する必要のあ る属性が 2 つ含まれる こ と が判断さ れます。 そのため、 エージ ェ ン ト パラ メ ータ が 2 つ作成さ れます。 こ れら の名前は WSDL 内の属性の名前 と 同じ にな り ます。

これらのエージェ ン ト パラ メ ータはデ ィ ク シ ョ ナ リ フ ィ ール ド にマ ッ ピング されます。 フ ィ ール ド名は WSDL 内の属性の名前と同じにな り 、 デ ィ ク シ ョ ナ リ 名はエージェ ン ト 名 と同じになり ます。 こ のデ ィ ク シ ョ ナ リ は、 エージェ ン ト を保存し た と きに自動的に作成されます。

必要に応じ て、 以前に Service Designer で定義し たデ ィ ク シ ョ ナ リ およびフ ィ ール ド を参照する よ う に [Service Data Mapping] を変更し ます。 こ の方法で、 エージ ェ ン ト パ ラ メ ータ のマ ッピ ン グ を効率的に変更で き ます。 し か し、 こ の ウ ィ ザー ド に よ って作成されるデ ィ ク シ ョ ナ リには、 元のフ ィ ール ド も引き続き保存さ れています。 これを削除する には、 デ ィ ク シ ョ ナ リ の定義を編集し ます。

サービ スにおけ るデ ィ ク シ ョ ナ リ の構造や使用方法について、 こ こ で簡単に説明し ます。Service Catalog デ ィ ク シ ョ ナ リ の主な目的は、 サービ ス フ ォームでユーザに表示するデータ を構築する こ と です。 し たがって、 サービ ス設計者は通常はユーザ イ ン ターフ ェ イ ス を念頭に置いてデ ィ ク シ ョ ナ リ を設定し、 カ ス タ マー と サービ ス チームの メ ンバーの両者に と って使いやすい よ う フ ィ ール ド を グループ化および配置する よ う に し ます。

5-63Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 256: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

一般的には、 送信 メ ッ セージには、 多数のデ ィ ク シ ョ ナ リ のフ ィ ール ド に入力された (あ る いはデフ ォル ト ま たは計算さ れた も の) データ を含めなければな ら ない場合があ り ます。 ただし、 こ れに よ ってエージ ェ ン ト パラ メ ータ マ ッ ピ ン グの維持が よ り 複雑にな り 、 エ ラーが発生しやす く な り ます。 統合の設計者はサービ ス フ ォームおよびデ ィ ク シ ョ ナ リ の設計についての詳し い知識を持っている必要があ り ます。 そのために、 統合データ を含める目的で、 デ ィ クシ ョ ナ リ の作成を単独で練習する こ と を推奨し ます。 デ ィ ク シ ョ ナ リ のフ ィ ール ド の中には、サービ ス フ ォームに表示さ れる フ ィ ール ド と 重複する も のがあ る場合があ り ます。 こ の よ う な場合、 サービ ス設計者は、 表示さ れているデ ィ ク シ ョ ナ リ か ら統合デ ィ ク シ ョ ナ リ にフ ィ ールド の値を コ ピーする ための条件をルール と し て設定する必要があ り ます。 ま た、 統合デ ィ クシ ョ ナ リ はサービ ス フ ォームに表示さ れませんが (通常はア ク テ ィ ブ フ ォーム ルールに よ って非表示)、 デバ ッ グ しやす く する ために開発中は表示し た ま まにする こ と がで き ます。

送信応答パラ メータのマ ッ ピング

デフ ォル ト では、 Integration ウ ィ ザー ド では、 対象シ ス テムか ら受信し た応答を処理する と 仮定し ています。 応答で送信さ れる属性には、 対応する エージ ェ ン ト 属性があ り 、 これはデ ィ クシ ョ ナ リ フ ィ ール ド にマ ッ ピ ン グ さ れています。

図 5-31 送信応答パラ メ ータのマ ッ ピング

エージ ェ ン ト と フ ィ ール ド の対応に加えて、 マ ッ ピ ン グには、 ページの左側にあ る [Prebuilt Functions] ド ロ ッ プダ ウ ンの矢印か ら指定で き る単純な XSLT 処理も含め る こ と がで き ます。

送信パラ メ ータ については、 受信パラ メ ータ を代わ り のデ ィ ク シ ョ ナ リ フ ィ ール ド にマ ッ ピ ングする こ と も で き ます。 ページの左側にあ る [Dictionaries] ド ロ ッ プダ ウ ン矢印か らすべてのデ ィ ク シ ョ ナ リ を参照で き ます。

5-64Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 257: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Designer での [統合 (Integration) ] ウ ィ ザー ドの使用

統合の要約

ウ ィ ザー ド の 後のページでは、 定義し た統合の要約が表示されます。 定義を修正する場合は、 前のページに戻る こ と がで き ます。 [保存 (Save) ] を ク リ ッ クする と 、 作成し たエージ ェン ト や他の統合コ ンポーネン ト を保存で き ます。 デフ ォル ト では、 統合を保存し た と き にエージ ェ ン ト が開始さ れます。 こ の動作を変更する には、 [保存時にエージ ェ ン ト を開始 (Start agent upon saving) ] チェ ッ ク ボ ッ ク スのチェ ッ ク を解除し ます。

図 5-32 統合の要約

Service Link および Service Designer の画面からすべてのコ ンポーネン ト を編集でき ます。 これらのコ ンポーネン ト を 「統合コ ンポーネン ト 」 の表に示し ます。

表 5-29 統合コ ンポーネン ト

統合コ ンポーネン ト 説明 (Description)

Agent (エージ ェ ン ト ) http/ws 発信アダプ タ を使用する エージ ェ ン ト と 、 エージ ェ ン ト パ ラメ ータおよび関連する変換。

ト ラ ン ス フ ォー メ ーシ ョ ン

発信 nsXML を、 選択さ れた WSDL 操作のために目的の形式に変換する ために必要な変換。

デ ィ ク シ ョ ナ リ すべての送信および受信パ ラ メ ータ に対応する フ ィ ール ド が含まれるデ ィ ク シ ョ ナ リ 。 デ ィ ク シ ョ ナ リ が Integration グループに作成されます。 必要に応じ て移動で き ます。

Active Form Component 作成し たデ ィ ク シ ョ ナ リ を含むア ク テ ィ ブ フ ォーム コ ンポーネント 。 フ ォーム コ ンポーネン ト が統合グループに作成されます。 必要に応じ て移動で き ます。

5-65Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 258: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link の ト ラ ブルシューテ ィ ングと管理

Service Link の ト ラブルシューテ ィ ングと管理

Service Link のステータ スの確認

Service Link の動作ス テータ スは、 初に [Service Link Status] 表示を確認し ます。 Service Link のス テータ スは、 常に Service Link のホーム ページの [Common Tasks] 領域の下に表示さ れます。

図 5-33 Service Link Status

こ の機能は、 Service Link が、 割 り 当て られたポー ト を介し て Service Catalog サービ ス と の通信を行っている こ と を確認する ために役立ち ます。

[Service Link Status] は Service Link の接続ス テータ スが動作し てい る こ と を示し、 使用さ れるポー ト およびプ ロ ト コルを示し ます。

エージ ェ ン ト の起動と停止

Service Link のエージ ェ ン ト を停止し、 エージ ェ ン ト のプ ロパテ ィ を変更し た ら、 こ れが機能する ためにはエージ ェ ン ト を再起動する必要があ り ます。 エージ ェ ン ト は、 [Control Agents] ページか ら個別に起動および停止で き ます。

(注) Service Link サービ ス を停止し て再起動する と 、 サービ スが停止さ れた と き に実行中だったすべてのエージ ェ ン ト が自動的に再起動さ れます。

ログ

すべてのアダプ タはそのア ク テ ィ ビテ ィ をサーバの ロ グ フ ァ イルに記録し ます。

さ ら に、 Service Link\log デ ィ レ ク ト リ に各標準アダプ タ専用の ロ グ フ ァ イルがあ り ます。 ロ グに書き込む詳細度のレベルは設定で き ます。 こ の方法は、 アプ リ ケーシ ョ ン サーバに よ って異な り ます。

サーバ と アダプ タ両方の固有の ロ グ フ ァ イルを管理する詳細については、 『Cisco Prime サービス カ タ ロ グ (Service Catalog) 管理および操作ガ イ ド 』 を参照し て く だ さ い。

JBoss のロギング

JBoss の イ ン ス ト ールでは、 「<JBOSS_DIR>\standalone\configuration」 デ ィ レ ク ト リ の logging.properties フ ァ イルを変更する こ と に よ り 、 Service Link アダプ タ の ロ グ をサーバ ログか ら別のフ ァ イルに分離で き ます。 こ の よ う な設定の例は、 製品パ ッ ケージの「\preinstall\jboss\templates」 デ ィ レ ク ト リ にあ る サンプル プ ロパテ ィ フ ァ イルにあ り ます。

5-66Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 259: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

Service Link の ト ラ ブルシ ューテ ィ ング と管理

WebLogic のロギング

WebLogic では、 アダプタ ご と にロ グ フ ァ イルを分離する こ と はでき ません。 また IntegrationServer のコ ンポーネン ト は、 デフ ォル ト で WebLogic ロガーを使用する よ う に設定されています。 ロ グの分離が必要な場合は、 ISEE.war/WEB-INF/classes にあ る newscalelog.properties フ ァ イルを編集します。 ロ ギング方法 と し て共通のロ ギングを指定し ている行のコ メ ン ト を外し ます。 また、logger.directory に対する コ メ ン ト を外し て、 システム内の有効な既存のデ ィ レ ク ト リ を設定するこ と も重要です。 こ のデ ィ レ ク ト リ に対し ては、 IntegrationServer の実行に使用し ているユーザが完全な書き込みア ク セス権を持っている必要があ り ます。 newscalelog.properties フ ァ イルに、 詳細な説明があ り ます。 また、 他のアダプタに対し て別の設定が必要な場合は、 log4j.xml フ ァ イルを編集し、 FILE_ADAPTER アペンダ と カテゴ リ を基盤 と し て使用し て、 アペンダ名、 参照、 アペンダのパッ ケージ と フ ァ イル名を変更し ます。

WebSphere のロギング

デフ ォル ト では、 Service Link の WebSphere ロ ギングは、 WebSphere アプ リ ケーシ ョ ン サーバに含まれている log4j に基づいて行われます。 WebSphere での log4j の実装は強力であ り 、 管理コ ンソールや他のツールから設定でき ます。 しかし、 ロ グ フ ァ イルを容易に分離する こ と はでき ません。 WebSphere でアダプタ ご と にロ グ フ ァ イルを分離する場合は、 次の手順に従って く だ さい。

ステ ッ プ 1 「ISEE.war/WEB-INF/classes/config」 で newscalelog.properties フ ァ イルを見つけて、 エデ ィ タ で開き ます。

ステ ッ プ 2 次の行を コ メ ン ト 解除し ます。

logger.class.name=com.newscale.bfw.logging.LogUtilCommonsImpl

ステ ッ プ 3 logger.directory の行を見つけます。 た と えば、 次の よ う に ロ グ デ ィ レ ク ト リ を指定し ます。

logger.directory=I: /logfiles/servicelinkserver2

こ れら の ロ グ フ ァ イルが存在する有効なデ ィ レ ク ト リ を入力する こ と 、 および IntegrationServer を実行する ために使用さ れる ユーザは、 そのデ ィ レ ク ト リ に対する完全な書き込みア ク セス権があ る こ と が非常に重要です。

ステ ッ プ 4 「ISEE.war/META INF/」 デ ィ レ ク ト リ で、 「services」 と い う 名前のフ ォルダを手動で作成します。

ステ ッ プ 5 こ のサービ ス フ ォルダの下に、 「org.apache.commons.logging.LogFactory」 と い う 名前のテキ スト フ ァ イルを手動で作成し ます。 フ ァ イル内で、 次の よ う に 1 行追加し ます。

org.apache.commons.logging.impl.Log4jFactory

メ ッ セージの消去

Service Link メ ッ セージでは大量のデータベース容量が使用される可能性があ り 、 それらは一度要求が完了する と参照されな く な る ため、 データベース サイ ズを縮小する ために定期的にデータベースから メ ッ セージをパージする こ と に メ リ ッ ト があ り ます。 パージ ユーテ ィ リ テ ィ は、Administration モジ ュールの [ユーテ ィ リ テ ィ (Utilities) ] タブでア ク セスでき ます。 ユーテ ィ リテ ィ は、 メ ッ セージ レ コード エン ト リ を実際に削除するわけではあ り ません。 代わ り に、 指定された保存期間よ り も古いすべての完了または失敗し た メ ッ セージについて、 メ ッ セージの XML コ ンテンツを 「Message has been purged」 と置き換えます。 詳細については、 『Cisco Prime Service Catalog 管理および操作ガイ ド 』 の 「パージ ユーテ ィ リ テ ィ 」 の項を参照し て く だ さい。

5-67Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 260: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

Service Link の ト ラ ブルシューテ ィ ングと管理

アプ リケーシ ョ ン サーバのコ ン フ ィ ギュ レーシ ョ ン フ ァ イル

ト ラ ブルシ ューテ ィ ン グ を行 う 際には、 以下のフ ァ イルを分析し ます。

• rcjms.properties フ ァ イル – こ のフ ァ イルには、統合の発信 JMS キ ューに関する情報が含まれ、 「/RequestCenter.war/WEB-INF/classes/config」 デ ィ レ ク ト リ にあ り ます。 ビジネス エンジンは、 こ のフ ァ イルで指定さ れている キ ューに メ ッ セージを書き込みます。 次のプ ロパテ ィ の値は、 ISEE.war フ ァ イルの integrationserver.properties フ ァ イルのプ ロパテ ィ の値 と一致する必要があ り ます。

ISEEOutbound.JndiProviderUrl

ISEEOutbound.JndiFactory

ISEEOutbound.JmsTopicFactory

ISEEOutbound.JmsQueueFactory

ISEEOutbound.JmsQueue

ISEEOutbound.JmsTopic

• integrationserver.properties フ ァ イル – こ のフ ァ イルには発信および着信 JMS キ ューに関する情報が含まれ、 「/ISEE.war/WEB- INF/classes/config」 デ ィ レ ク ト リ にあ り ます。 こ のフ ォルダで指定さ れている JMS プ ロパテ ィ を確認し ます。

• newscale.properties フ ァ イル : こ のフ ァ イルには isee.base.url のプ ロパテ ィ が含まれています。 それが、 Service Link サーバの url を指し ている こ と を確認し ます。

オン ラ イン エラー ログ

サーバの ロ グ フ ァ イルおよびアダプ タ に固有の ロ グ フ ァ イルに加えて、 Service Link に よ って検出さ れたエ ラーをオン ラ イ ンで参照する こ と も で き ます。 [Messages] ページに表示さ れる エラー メ ッ セージの メ ッ セージ テキ ス ト は、 その メ ッ セージについての詳細なエ ラーの説明にハイパー リ ン ク さ れています。

エ ラー メ ッ セージは、 サーバ ロ グに表示さ れる その も のであ り 、 非常に技術的な内容であ る場合があ り ます。 エ ラー メ ッ セージの例 と 説明を以下に示し ます。

com.newscale.is.core.RoutingException: Routing exception found: Reference Field not retrieved from response

送信 Web サービ スの メ ッ セージは送信された も のの、 指定された参照フ ィ ール ド が応答 メ ッセージにないため、 受信応答を処理で き ませんで し た。

com.newscale.is.core.TransformationException: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: Tag is not allowed in this position in the stylesheet!

変換に よ って、 不正な XML メ ッ セージが生成されま し た。

5-68Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 261: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

事前作成済み関数

事前作成済み関数事前作成済みの関数は、 nsXML メ ッ セージに含まれている エージ ェ ン ト パラ メ ータの値を操作する機能を提供し ます。

事前作成済みの関数は、 Visigoth Software Society に よ って開発さ れたオープン ソース ソ フ トウ ェ ア と し て入手可能な FreeMarker テンプレー ト エンジン、 バージ ョ ン 2.3.12 を使用し て開発さ れています。 シ ス コは以下で説明する関数だけを認定し てお り 、 エージ ェ ン ト パ ラ メ ータの作成時に ド ロ ッ プダ ウ ン リ ス ト か ら使用で き ます。 FreeMarker のフ レーム ワーク でサポー トさ れている他の関数も使用で き ますが、 広範囲に及ぶテ ス ト が必要です。

関数の使用法

基本的な関数の使用法は、 式に関数を適用し、 必要に応じ て関数に引数 リ ス ト を指定する と いう も のです。 一般的な表記は次の と お り です。

${Expression?function(argumentList)}

Service Link の場合、 式は一般的に、 Lightweight 名前空間構文に よ って指定さ れたデ ィ ク シ ョナ リ フ ィ ール ド ま たは nsXML 要素になっています。 次の よ う に、 引用符で囲みます。

${"#Customer_Information.Login_ID#"?upper_case}

次の構文を使用し て、 同じ式に 2 つ以上の関数をチェーンに し て適用する こ と がで き ます。

${Expression?function1(argumentList)}${"$Parameter$"?function2}

た と えば、 以下のサービ ス データ マ ッ ピ ン グでは、 まず指定し たデ ィ ク シ ョ ナ リ フ ィ ール ドか ら先頭 と 末尾のスペース を削除 (trim) し て、 次にその結果を小文字に変換し ています。

図 5-34 パラ メ ータ値の編集

ま た、 以下の よ う に、 複数の要素を 1 つのマ ッ ピ ングに結合する こ と も で き ます。 要素は自動的に連結さ れて、 1 つの文字列を形成し ます。

5-69Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 262: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

事前作成済み関数

図 5-35 着信パラ メ ータのマ ッ ピング

こ のシナ リ オでは、 「一時」 フ ィ ール ド を使用し て入力値を格納し、 マ ッ ピ ン グ式で使用で きる よ う にする別の コーデ ィ ン グ テ ク ニ ッ ク も示し ます。

関数の概要

substring

substring 関数の構文は、 次の と お り です。

exp?substring(from, toExclusive)、 あ るいはexp?substring(from)

文字列の中の部分文字列を取 り 出し ます。 from は、 先頭の文字の位置を表し ます。 こ れは 0 以上、 toExclusive 以下の数値であ る必要があ り ます。 こ れ以外の数値を指定する と 、 エ ラーによ ってテンプレー ト の処理が中断さ れます。 toExclusive は、 取 り 出す部分文字列の 後の文字の次の場所を表し ます。 言い換え る と 、 後の文字よ り 1 つだけ大き い数値を指定し ます。 この値は、 0 以上、 文字列の長さ以下の数値であ る必要があ り ます。 こ れ以外の数値を指定すると 、 エ ラーに よ ってテンプレー ト の処理が中断さ れます。 toExclusive を省略する と 、 デフ ォルト と し て文字列の長さ が使用さ れます。 整数値でないパ ラ メ ータ を指定する と 、 その数値の整数部分だけが使用さ れます。

index_of

こ の文字列内の、 指定さ れた部分文字列の 初の イ ンデ ッ ク ス を返し ます。 た と えば、"abcabc"?index_of("bc")は 1 を返し ます (1 文字めの イ ンデ ッ ク スは 0 です)。 ま た、 検索を開始する イ ンデ ッ ク ス を指定する こ と も で き ます。 "abcabc"?index_of("bc", 2) は 4 を返し ます。2 つ目のパ ラ メ ータ の数値に制約はあ り ません。 マ イナスの値を指定し た場合は、 0 を指定した場合 と 同じ結果にな り ます。 ま た、 こ の文字列の長さ よ り も大き な数値を指定し た場合は、文字列の長さ と 同じ数値を指定し た場合 と 同じ にな り ます。 小数値は整数値に切 り 捨て られます。

5-70Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 263: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タによる統合の設計

事前作成済み関数

1 つ目のパ ラ メ ータ が こ の文字列の部分文字列 と し て見つか ら ない場合は (2 つ目のパ ラ メ ータ を指定し た場合は、 その位置以降で見つか ら ない場合)、 -1 が返さ れます。

last_index_of

こ の文字列内の、 指定さ れた部分文字列の 後 ( も右側) の イ ンデ ッ ク ス を返し ます。 返される位置は、 部分文字列の先頭 (左側) の位置です。 た と えば、 "abcabc"?last_index_of("ab") は 3 を返し ます。 ま た、 検索を開始する位置を指定する こ と も で き ます。 次に例を示し ます。

"abcabc"?last_index_of("ab", 2)

0 が返さ れます。 2 つ目のパ ラ メ ータは、 部分文字列が始ま る も大き な イ ンデ ッ ク ス を表すこ と に注意し て く だ さ い。 2 つ目のパ ラ メ ータ の数値に制約はあ り ません。 マ イナスの値を指定し た場合は、 0 を指定し た場合 と 同じ結果にな り ます。 ま た、 こ の文字列の長さ よ り も大きな数値を指定し た場合は、 文字列の長さ と 同じ数値を指定し た場合 と 同じ にな り ます。 小数値は整数値に切 り 捨て られます。

1 つ目のパ ラ メ ータ が こ の文字列の部分文字列 と し て見つか ら ない場合は (2 つ目のパ ラ メ ータ を指定し た場合は、 その位置よ り も前で見つか ら ない場合)、 -1 が返さ れます。

length

文字列内の文字数を返し ます。

lower_case

文字列を小文字に変換し ます。 た と えば、 「GrEeN MoUsE」 は 「green mouse」 にな り ます。

replace

元の文字列内のあ るパターン を別の文字列で置き換え る ために使用し ます。 単語の境界は考慮さ れません。 次に例を示し ます。

${"this is a car acarus"?replace("car", "bulldozer")}

次の よ う に置き換え られます。

this is a bulldozer abulldozerus

置き換えは、 左か ら右に向かって実行さ れます。 つま り 、 次の よ う に指定し た場合は、

${"aaaaa"?replace("aaa", "X")}

次のよ う に置き換え られます。

Xaa

初のパラ メ ータ が空の文字列の場合、 空の文字列がすべて置き換え られます。 た と えば、 “foo”?replace(“”,"|") は “|f|o|o|” にな り ます。

replace は、 3 つ目のパ ラ メ ータ と し て、 フ ラ グ パ ラ メ ータ も指定で き ます。

upper_case

文字列を大文字に変換し ます。 た と えば、 「GrEeN MoUsE」 は 「GREEN MOUSE」 にな り ます。

5-71Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 264: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 5 章 Service Link 標準アダプ タ による統合の設計

事前作成済み関数

5-72Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 265: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 6

Adapter Development Kit による統合の設計

Service Link アダプ タ を開発する ために、 Service Link Adapter Development Kit (ADK) を使用で き ます。 ADK は Service Catalog の Service Link サブシ ス テム用のアダプ タ を作成で き る コ ンポーネン ト セ ッ ト です。 Service Link は、 Service Catalog に外部 と の通信を提供し、 ワーク フローを外部に公開し て他のシ ス テム と 連携する こ と がで き ます。

こ の通信を実現する ために、 Service Link はイ ン ス ト ール可能なアダプ タ をサポー ト し ています。 標準的なアダプ タ が Service Link に付属し ていますが、 開発者が別途作成する こ と も可能です。 こ の章では、 アダプ タ を作成する プ ロ セスについて説明し ます。

こ の章の対象者は次の と お り です。

• 管理者。 管理者は、 製品パ ッ ケージを使用で き る ため、 サービ ス カ タ ロ グ (Service Catalog) 製品を カ ス タ マー シ ス テムに イ ン ス ト ールで き ます。

• アダプ タ開発者。 アダプ タ開発者 と は、 ANT を含む Java テ ク ノ ロ ジーに精通し た人であり 、 要求さ れている統合についての専門家です。

カ ス タ ム アダプ タ の作成に関する サポー ト については、 Cisco TAC に連絡し て く だ さ い。

使用する前にこ こ では、 ADK の イ ン ス ト ール、 ADK の構造、 アダプ タ の コ ンパイル、 およびアダプ タ の導入について説明し ます。

JDK のインス ト ール

Sun ま たは IBM の説明に従って、 Java Development Kit を イ ン ス ト ールし ます。 サービ ス カ タロ グ (Service Catalog) で動作が保証さ れてい る のは、 WebLogic 10.3 ま たは JBoss 7.1.1 の イ ンス ト ール環境では Sun JDK 6、 WebSphere 7.0.0.17 の イ ン ス ト ール環境では IBM Java 1.6 です。

ADK のインス ト ール

ADK の イ ン ス ト ール方法は次の と お り です。

1. 管理者 : 製品パ ッ ケージの コ ンテキ ス ト を展開し、 image/isee/dist フ ォルダにあ る adk.zip を探し、 その場所をアダプ タ開発者に知らせます。

2. アダプ タ開発者 : フ ァ イル adk.zip (ま たは adk.tar.gz) を管理者か ら入手し ます。

6-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 266: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

使用する前に

3. アダプ タ開発者 : ADK パ ッ ケージを ローカル マシン (C:\ADK) で展開し ます。 C ド ラ イブにする必要も、 ADK デ ィ レ ク ト リ にする必要も あ り ません。 ただ し、 こ の章の例では C:\ADK です。

ADK 構造

ADK を イ ン ス ト ールする と 、 次のサブデ ィ レ ク ト リ が作成さ れます。

アダプ タは ADK 主構造のサブデ ィ レ ク ト リ です。 イ ン ス ト ール後の example も、 その よ う なアダプ タ の 1 つです。 アダプ タ の コー ド は、 次の よ う な構造にする必要があ り ます :

表 6-1 ADK のサブデ ィ レ ク ト リ

[デ ィ レ ク ト リ(Directory) ] 説明 (Description)

<root> ビル ド プ ロ シージ ャ フ ァ イルが格納されます。

ant ANT ビル ド シ ス テム一式が格納さ れます。 こ の ANT は標準の Apache ANT ビル ド シ ス テムであ り 、 追加の拡張がい く つか含まれています。

doc java doc サブデ ィ レ ク ト リ が格納さ れます。 ADK ド キ ュ メ ン ト を こ こ に配置で き ます。

doc\javadoc javadoc 形式の ADK のヘルプ。

例 アダプ タ のサンプルが格納されます。

example\src サンプル アダプ タ の ソース フ ァ イル Java フ ァ イルが格納さ れます。

example\deploy そのアダプ タ について記述された adapter.xml が格納さ れます。

lib コ ンパイルに必要な ADK ラ イ ブ ラ リ が格納さ れます。

表 6-2 アダプ タ コー ド構造表

[デ ィ レ ク ト リ(Directory) ] 説明 (Description)

<adapter> アダプ タ の短縮名。 サンプル アダプ タ の場合は example です。

<adapter>\src 必須。 ソース Java フ ァ イルのルー ト 。

<adapter>\deploy 必須。 導入デ ィ レ ク ト リ 。 こ こ には、 adapter.xml と い う フ ァ イルが格納さ れてい る必要があ り ます。

<adapter>\lib こ れはオプシ ョ ンです。 ISEE.war の lib デ ィ レ ク ト リ に追加する、追加ラ イ ブ ラ リ 。

<adapter>\config こ れはオプシ ョ ンです。 ISEE.war の ク ラ ス デ ィ レ ク ト リ に コ ピーさ れる追加フ ァ イル。

6-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 267: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

使用する前に

こ の例では、 src および deploy だけです。

フ ァ イルを コ ンパイルし た後、 ス テージン グ デ ィ レ ク ト リ を作成し ます (アダプ タ の作成方法については、 次の項を参照し て く だ さ い)。 ス テージン グ デ ィ レ ク ト リ は、 作成手順を使用して後か ら削除および再作成で き ます。

アダプ タのソース構造の作成

新し いアダプ タ を作成する には :

ステ ッ プ 1 前述の よ う なデ ィ レ ク ト リ 構造を作成し ます。

ステ ッ プ 2 ソース を作成し、 構造内に配置し ます。

ステ ッ プ 3 adapter.xml を作成し、 deploy デ ィ レ ク ト リ に配置し ます。 詳細については、 adapter.xml 記述子についてを参照し て く だ さ い。

ステ ッ プ 4 オプシ ョ ンで、 追加の ラ イ ブ ラ リ および追加の コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イルを追加します。

ステ ッ プ 5 build.properties を変更し、 使用する アダプ タ をアダプ タ の行に追加し ます。 こ れに よ り 、 作成し たデ ィ レ ク ト リ を検索する よ う ANT が設定さ れます。

コ ンパイル手順では、 こ のビル ド をバージ ョ ン管理に追加する こ と がで き、 後で イ ン ス ト ール前に コ ンパイルで き ます。

アダプ タのコ ンパイル

アダプ タ を作成し た後、 次を実行する こ と に よ ってアダプ タ を ビル ド し ます。

build.cmd (UNIX シ ス テムの場合は ./build.sh)

終的な生成物が、 staging/dist/isee.adapters に生成さ れます。 導入する と きは、 こ のフ ァ イルを管理者に渡し て く だ さ い。

表 6-3 デ ィ レ ク ト リの説明表

[デ ィ レ ク ト リ(Directory) ] 説明 (Description)

staging 実稼働デ ィ レ ク ト リ のルー ト 。

staging\classes アダプ タ の コ ンパイル さ れた Java ク ラ ス。

staging\adapters 各アダプ タ のビル ド 済み jar が格納さ れます。 アダプ タ の名前は、adapter_<adaptershortname>.jar と な り ます。

staging\config 各アダプ タ の config サブデ ィ レ ク ト リ にあ ったフ ァ イル。

staging\deploy それぞれの deploy サブデ ィ レ ク ト リ のフ ァ イル名は、<adaptershortname>.xml に変更さ れます。

staging\lib 各アダプ タ の lib サブデ ィ レ ク ト リ にあ った フ ァ イル。

staging\dist 後の isee.adapters の展開可能なフ ァ イル。

6-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 268: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

アダプ タの導入

アダプ タ を導入する には、 管理者が次の手順を実行し ます。

ステ ッ プ 1 Service Link のカ ス タ ム アダプ タ パ ッ ケージを取得し ます。 こ れは、 zip フ ァ イル形式でなければな り ません。

ステ ッ プ 2 一時デ ィ レ ク ト リ (c:\temp\adapter など) にアダプタ を解凍し ます。 こ のデ ィ レ ク ト リ を、 今後 <AH> と 呼びます。

ステ ッ プ 3 展開された 「ISEE.war/WEB-INF/lib」 デ ィ レ ク ト リ に <AH>/adapters/<ADAPTER_NAME>.jar を コピーし ます。

ステ ッ プ 4 展開された 「ISEE.war/WEB-INF/lib」 デ ィ レ ク ト リ に <AH>/lib/* フ ァ イル (存在する場合) を コピーし ます。

ステ ッ プ 5 展開さ れた 「ISEE.war/WEB-INF/classes」 デ ィ レ ク ト リ に <AH>/config/* フ ァ イル (存在する場合) を コ ピーし ます。

ステ ッ プ 6 展開さ れた 「ISEE.war/WEB-INF/classes」 デ ィ レ ク ト リ に <AH>/udk/* フ ァ イル (存在する場合) を コ ピーし ます。

ステ ッ プ 7 カ ス タ ム アダプ タ が Adapter Development Kit を使用し て内部的に作成さ れていない場合は、「<ServicePortal_Software_Dir>/adk」 フ ォルダか ら adk.zip を入手し ます。 こ こ で、<ServicePortal_Software_Dir> は サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ンの解凍さ れた ソ フ ト ウ ェ ア イ メ ージです。 adk.zip を c:\adk (Windows の場合) ま たは /opt/adk(UNIX/Linux の場合) に解凍し ます。 こ のデ ィ レ ク ト リ を、 今後 <ADK> と 呼びます。

ステ ッ プ 8 JAVA_HOME 環境変数が環境にまだ設定さ れていない場合は、 こ れを設定し ます。

ステ ッ プ 9 コ マン ド ウ ィ ン ド ウ を開き、 <ADK>/lib フ ォルダにデ ィ レ ク ト リ を変更し ます。 環境に応じ て adapter_dbinstaller.sh ま たは adapter_dbinstaller.cmd を実行し ます。 --help ま たは -? を アダプ タ イ ン ス ト ーラ の引数 と し て使用し、 必要な入力引数の リ ス ト を表示し ます。 Adapter Deployment Descriptor フ ァ イルの指定を求め られた ら、 <AH>/deploy デ ィ レ ク ト リ の下に xml フ ァ イル名を フル パスで入力し ます (/opt/ <AH>/deploy/custom_adapter.xml など)。

ステ ッ プ 10 手順 6 でイ ン ス ト ールされた各 udk フ ァ イルについて、 integrationserver.properties フ ァ イル内の「UDConfig」 プロパテ ィ にフ ァ イル名を追加し ます。 UDConfig プロパテ ィ はすべての udconfig フ ァ イルのカンマ区切 り リ ス ト です。 アダプタの udconfig フ ァ イルを この リ ス ト に追加し ます。

ステ ッ プ 11 Service Catalog および Service Link サーバを起動し ます。 新し いアダプ タ があ る こ と を確認します。

アダプ タの実装についてアダプ タは Service Link が外部シ ス テム (通常はサー ド パーテ ィ シ ス テム と 呼ばれます) に接続する手段です。 アダプ タは、 3 つの部分で構成さ れます。

• 着信部分。 着信アダプ タ と 呼ばれます。

• 発信部分。 発信アダプ タ と 呼ばれます。

• エ ラーハン ド ラ

6-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 269: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

着信アダプ タは、 Service Catalog への着信通信を管理し ます。 こ れは、 シ ス テムに届 く XML メ ッ セージを処理し ます。 受信アダプ タ には、 ポーラー と リ スナーの 2 種類があ り ます。 ポーラーは定期的に起動し て、 着信 メ ッ セージを探すス レ ッ ド です。 これに対し、 リ スナーは待機し、 外部イベン ト に よ って起動さ れます。 ポーラーの例 と し ては、 メ ッ セージを定期的にチェ ッ クする必要があ る受信フ ァ イル アダプ タ があ り ます。 リ スナーの例 と し ては、 HTTP XML イベン ト がポス ト される まで待機する HTTP アダプ タ があ り ます。

発信アダプ タは Service Catalog か ら発信さ れる XML メ ッ セージを管理し ます。 発信アダプ タの タ イ プは 1 つだけです。

エージ ェ ン ト は論理要素であ り 、 こ れに よ り サービ ス設計者は、 複雑なアダプ タおよび接続プロパテ ィ をすべて把握する必要がな く な り ます。 ま た、 エージ ェ ン ト は着信アダプ タ と 発信アダプ タ を定義し ます。 着信アダプ タは任意選択で、 「自動完了 (Auto complete)」 と 指定で き ます。 「自動完了 (Auto complete)」 はワーク フ ローの進行にサー ド パーテ ィ シ ス テムか ら の応答を必要 と し ないモー ド で、 ほ と んどの場合、 電子 メ ール ベース シ ス テムの よ う な、 信頼で きない、 ま たは一度確立し た ら後は調整さ れないプ ロ ト コル と 関連づけ られます。 管理者は、サービ ス設計者が使用で き る よ う にエージ ェ ン ト およびエージ ェ ン ト と アダプ タ と の関連付けを設定し ます。

ま た、 メ ッ セージがサー ド パーテ ィ シ ス テムに送られる前、 ま たはサー ド パーテ ィ シ ス テムか ら受信さ れ、 Service Link に配信さ れた後で、 XML 変換を メ ッ セージに適用で き ます。

メ ッ セージ シ ス テムは nsXML と 呼ばれる一般的な XML 方言を使用し ます。 こ れは、 Service Link が処理ま たは作成で き る有効な XML を定義する ス キーマです。 現在の と こ ろ、 nsXML は次の 6 つの操作で構成さ れています。

• task-started : 発信

• task-cancelled : 発信

• take-action : 着信

• send-parameters : 着信

• add-comment : 着信

発信の場合、 Service Link は こ れら の操作を宛先に変換で き ます。 同じ こ と が着信 メ ッ セージで も行われ、 XSL 変換に よ って外部形式を nsXML の方言に変換で き ます。

nsXML 操作の詳細については、 通信 メ ッ セージの コ ンテン ツ と 構造の理解を参照し て く ださ い。

アダプ タの種類

アダプ タ には次の 2 つの タ イ プがあ り ます。

• 転送アダプ タ

転送アダプ タは HTTP、 フ ァ イル、 JMS、 ま たは独自のネ ッ ト ワーク ソ ケ ッ ト 実装など、特定の転送に固有の も のです。

• アプ リ ケーシ ョ ン アダプ タ

アプ リ ケーシ ョ ン アダプ タ には転送要素があ り ますが、 Remedy や Siebel などの特定のサー ド パーテ ィ アプ リ ケーシ ョ ン を使用し たほ う が よ く 理解で き ます。 多 く の場合、 jar によ り ネ イ テ ィ ブ API が提供さ れます。 こ のバージ ョ ンの Service Link では、 転送アダプ タを拡張し てアプ リ ケーシ ョ ン アダプ タ を作成する こ と はまだ不可能です。

エージェ ン ト は着信 メ ッ セージ と発信 メ ッ セージに異な る アダプタ を使用する こ と ができ ます。

6-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 270: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

アダプ タのコ ンポーネン ト

java コー ド の他には、 次の も のでアダプ タは構成さ れています。

• Jar ラ イ ブ ラ リ (Remedy java API など)

• 静的コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イル。 一度導入さ れたテキ ス ト フ ァ イルの変更は推奨されません。

• 展開記述子。 アダプ タ を記述する XML フ ァ イル。

接続プロパテ ィ

アダプ タは、 Service Link モジ ュールが管理者に公開し ている接続プ ロパテ ィ を、 サー ド パーテ ィ シ ス テムに接続する ために公開する こ と がで き ます。 こ れら は XML 展開記述子内に記述さ れてお り 、 その値は java コー ド に よ って取得し、 完成度の高い API に渡すこ と がで き ます。

例 : フ ァ イル アダプ タの実装

こ こ では、 簡単なアダプ タ を実装する方法を示し ます。 サンプル アダプ タは、 外部環境 と の通信を行 う フ ァ イル アダプ タ です。

こ の単純なフ ァ イル アダプ タ には次の も のが含まれています。

• フ ァ イルを作成する発信アダプ タ。 フ ァ イル名はアダプ タ のプ ロパテ ィ で指定されます。

• フ ァ イルを読み取る着信アダプ タ。 フ ァ イル名はアダプ タ のプ ロパテ ィ で指定されます。

• 単純な例外ハン ド ラ。

デ ィ レ ク ト リ構造の作成

初に、 アダプ タ のデ ィ レ ク ト リ 構造を作成し ます。 ADK デ ィ レ ク ト リ 構造内に、 simple とい う 名前のデ ィ レ ク ト リ を作成し、 その下に次のデ ィ レ ク ト リ 構造を作成し ます。

図 6-1 Directory Structure

src の下が、java パ ッ ケージ com.newscale.is.adapter.filetest を表すソース パ ッ ケージになっている こ と に注目し て く だ さ い。 他のパ ッ ケージ も使用で き ますが、 こ の例では これを使用します。

6-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 271: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

発信アダプ タ ク ラスの作成

2 番目に、 発信アダプ タ ク ラ ス を作成し ます。 名前は FileOutboundAdapter で、 こ の ク ラ ス フ ァ イルは、 手順 1 で説明し たパ ッ ケージに配置する必要があ り ます。 その枠組みを次に示します ( メ ソ ッ ド の実装は含まれていません)。

import com.newscale.is.adk.AdapterContext;import com.newscale.is.adk.base.OutboundAdapter;import com.newscale.is.adk.exceptions.AdapterException; public class FileOutboundAdapter extends OutboundAdapter { public FileOutboundAdapter (AdapterContext context) { super(context); } public void initiate (AdapterContext context) throws AdapterException { } public void processMessage (String message, String channelId)throws AdapterException { } public void terminate () throws AdapterException { } public void commit() throws AdapterException { } public void rollback() throws AdapterException { } }

発信アダプ タ を作成する には、 上記の よ う に ク ラ ス com.newscale.is.adk.base.OutboundAdapter を こ の ク ラ スで拡張する必要があ り ます。

パラ メ ータ と し て com.newscale.is.adk.AdapterContext を受け取る コ ン ス ト ラ ク タ を実装し ます。 こ の コ ン ス ト ラ ク タ の実装に関し て推奨さ れる方法について も、 上に示し ています (スーパー コ ン ス ト ラ ク タ を呼び出し ています)。

上記の よ う に initiate メ ソ ッ ド を実装し ます。 こ の メ ソ ッ ド は、 アダプ タ を使用する エージ ェ ント が起動さ れる と 呼び出さ れます。 こ の メ ソ ッ ド が空の場合は省略可能です。

processMessage メ ソ ッ ド を実装し ます。 こ の メ ソ ッ ド は、 メ ッ セージの送信準備が完了し た とき に呼び出さ れます。 ト ラ ン ス フ ォーマがエージ ェ ン ト で指定されている場合、 その ト ラ ン スフ ォーマに よ って メ ッ セージが変換さ れています。

terminate メ ソ ッ ド を実装し ます。 エージ ェ ン ト の停止時に こ の メ ソ ッ ド を呼び出し ます。 この メ ソ ッ ド が空の場合は省略可能です。

commit メ ソ ッ ド を実装し ます。 エージ ェ ン ト が ト ラ ンザ ク シ ョ ン を完了し よ う と し てい る とき に、 こ の メ ソ ッ ド を呼び出し ます。 こ の メ ソ ッ ド が空の場合は省略可能です。 こ の メ ソ ッ ドを使用する と 、 ト ラ ンザ ク シ ョ ン を processMessage で開始し、 後で完了で き ます。

rollback メ ソ ッ ド を実装し ます。 こ の メ ソ ッ ド は、 エージ ェ ン ト が ト ラ ンザ ク シ ョ ン を ロールバ ッ ク し よ う と し ている と き に呼び出さ れます。 こ の メ ソ ッ ド を空のま まにする場合は省略可能です。 こ の メ ソ ッ ド を使用する と 、 ト ラ ンザ ク シ ョ ン を processMessage で開始し、 後で再呼び出し で き ます。

ト ラ ンザ ク シ ョ ン サポー ト の詳細については、 ト ラ ンザ ク シ ョ ン通知の設定を参照し て く ださ い。

こ の例では、 フ ァ イル発信ク ラ スは xml コ ンテン ツ を持つフ ァ イルを書き込みます。 こ のために、 フ ァ イルが保存さ れフ ァ イル名を保持する変数を 初に設定し ます。 これには、 エージ ェン ト のプ ロパテ ィ を使用し ます。

String path = null; public void initiate (AdapterContext context) throws AdapterException { Properties properties = context.getProperties(); this.path = properties.getProperty("OB_FILE_DIR") + "/" +

6-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 272: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

properties.getProperty("OB_FILE_NAME"); }

文字列が受信さ れる場合、 それを フ ァ イルに書き込むこ と は自明です。

public void processMessage (String message, String channelId) throws AdapterException { try { Writer w = new FileWriter(path); w.write(message); w.close(); } catch (Exception e) { e.printStackTrace(); throw new AdapterException(1, "Problem while writing to a file: " + e.getMessage()); } }

も ちろん、 こ の コー ド は説明のために大幅に簡素化し ています。

ポーラー着信アダプ タ ク ラスの作成

着信アダプ タ の枠組みは次の よ う にな り ます。

public class FileInboundAdapter extends InboundAdapter { public FileInboundAdapter (AdapterContext context) { super(context); } public void initiate (AdapterContext context) throws AdapterException { } public String receiveMessage () throws AdapterException { return null; } } public void terminate () throws AdapterException { } public void commit() throws AdapterException { } public void rollback() throws AdapterException { } }

メ ソ ッ ド のセマンテ ィ ク スは発信アダプ タ の も の と ほ と んど同じ です。 唯一の例外は receiveMessage メ ソ ッ ド です。 receiveMessage メ ソ ッ ド は、 ポーラー アダプ タ の場合は定期的に呼び出さ れます。 データ が検出さ れる と 、 こ の メ ソ ッ ド は有効な xml をサー ド パーテ ィ 形式で返し ます。 データ が検出さ れなかった場合は、 ヌルが返されます。 着信アダプ タ の コー ド は次の と お り です (発信アダプ タ と 同様、 正し いパラ メ ータ を使用し て初期化が行われます)。

String path = null; public void initiate (AdapterContext context) throws AdapterException { Properties properties = context.getProperties(); this.path = properties.getProperty("IB_FILE_DIR") + "/" + properties.getProperty("IB_FILE_NAME"); }

フ ァ イルの処理は次の よ う に行われます。

public String receiveMessage () throws AdapterException { String receivedMessage = ""; char data[] = {}; try {

6-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 273: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

StringBuffer buffer = new StringBuffer(); FileInputStream fis = new FileInputStream(path); InputStreamReader isr = new InputStreamReader(fis, "UTF8"); Reader in = new BufferedReader(isr); int ch; while ((ch = in.read()) > -1) { buffer.append((char) ch); } in.close(); String requestString = buffer.toString(); boolean success = (new File(path)).delete(); return requestString; } catch (Exception e) { return null; } }

リ スナー着信アダプ タの作成

リ スナー アダプ タは、 Ad-Hoc プ ロ セス を利用し て作成さ れます。 着信アダプ タ ク ラ ス と 、servlet の よ う な実際のレ シーバ ク ラ ス と い う 2 つの ク ラ スが動作し ます。 レ シーバ ク ラ スは、チャ ネル ID を取得する必要があ り ます。 レ シーバ ク ラ スは、 次の よ う に し て InboundAdapter ク ラ ス を発見し ます。

ChannelInfoVO chVo = AgentDAO.getInstance().getChannelInfo(channelId); if(chVo != null){ Adapter adapter = AgentManager.getInstance().getAdapter(chVo.getAgentId()); ((InboundAdapter).receiverProcess(xml); }

着信アダプ タ には、 メ ッ セージに よ り 呼び出す必要があ る receiverProcess メ ソ ッ ド か、 ま たは、 toString() メ ソ ッ ド が メ ッ セージのテキ ス ト を返すオブジ ェ ク ト があ り ます。 サンプルには、 リ スナー着信アダプ タは用意さ れていません。

例外ハン ド ラの実装

2 つのアダプ タ が完成し た ら、 例外ハン ド ラ を実装する必要があ り ます。 こ こ では非常に単純な ク ラ ス を使用し ている ため、 必要な処理はエ ラーの出力のみです。 完全な ク ラ ス を以下に示し ます。

public class FileExceptionHandler implements ITransportExceptionHandler { public FileExceptionHandler () { } public void handleException (Map props, String message) { System.out.println("Outbound Message Failed to deliver: " + message); }}

ト ラ ンザクシ ョ ン通知の設定

アダプ タ には ト ラ ンザ ク シ ョ ン サポー ト が提供さ れている ため、 アダプ タ の ト ラ ンザ ク シ ョ ンを取 り 消す前にはエージ ェ ン ト への通知が行われます。 こ の目的のために、 メ ソ ッ ド commit および rollback が追加さ れています。

6-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 274: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

(注) シ ス テムで ト ラ ンザ ク シ ョ ンの コ ミ ッ ト ま たはロールバ ッ ク を実行中に、 これ ら の メ ソ ッ ド に論理コー ド を追加すべき ではあ り ません。 こ れら の メ ソ ッ ド で ロールバ ッ ク ま たはコ ミ ッ ト する のは、 自身の リ ソースのみにする必要があ り ます。

次の一般的な手法をアダプ タ で使用する と 、 コ ミ ッ ト ま たはロールバ ッ ク された リ ソース を トラ ッ キン グする こ と がで き ます。

静的マ ッ プを作成し ます。 処理 メ ソ ッ ド (processMessage ま たは receiveMessage) が呼び出される と 、 その メ ソ ッ ド は次の も のを追加で き ます。

private static Map resources = new HashMap(); public void processMessage (String message, String channelId) throws AdapterException { Connection con = … // obtain a connection to external resource Map.put(Thread.getCurrentThread(), con); }

public void commit() throws AdapterException { con = (Connection) map.get(Thread.getCurrentThread()); map.remove(Thread.getCurrentThread()); con.commit(); }

adapter.xml 記述子について

アダプ タ記述子には、 アダプ タ の導入 と プ ロパテ ィ に関する情報が格納されます。

アダプ タのスキーマ

アダプ タ のス キーマを次に示し ます。

6-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 275: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

図 6-2 アダプ タのスキーマ

「adapter」 要素のフ ィ ールドの説明

name : アダプ タ の名前

description : アダプ タ の説明

adapter-flow :

有効な値は次の と お り です。

• 「inbound」

• 「outbound」

inbound-model :

有効な値は次の と お り です。

• 「listener」

• 「poller」

• 「extendedpoller」

inbound-class : 着信アダプ タ の絶対 ク ラ ス名

outbound-class : 発信アダプ タ の絶対ク ラ ス名

exception-class : こ のアダプ タ の例外ハン ド ラ の絶対ク ラ ス名

6-11Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 276: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

poll-interval : ミ リ 秒単位のポール間隔 (「poller」 タ イ プのアダプ タ に適用さ れる)

max-retry : メ ッ セージが失敗し た場合に行われる再試行の 大回数

retry-interval : 再試行間隔 ( ミ リ 秒)

「property」 (アダプ タ プロパテ ィ ) 要素のフ ィ ールドの説明。

name : アダプ タ プ ロパテ ィ の名前

default-value : プ ロパテ ィ のデフ ォル ト 値

is-required : 必須プ ロパテ ィ と オプシ ョ ン プ ロパテ ィ のいずれであ る か。 有効な値は 「true」ま たは 「false」

property-type : プ ロパテ ィ の種類。 現在の と こ ろ、 有効な値は 「string」 です。

property-presentation : 有効な値は 「text」 および 「password」

adapter-flow :

有効な値は次の と お り です。

• 「inbound」

• 「outbound」

Adapter.xml の例

<?xml version="1.0" encoding="UTF-8"?><adapter><property-list><property><name>InboundFinalResolution</name><default-value>Preserve</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>InboundFileLocation</name><default-value>C://SL2//InboundFiles</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>OnError</name><default-value>Preserve</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>InboundBackupLocation</name><default-value>c://SL2//InboundBackup</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property>

6-12Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 277: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

アダプ タの実装について

<property><name>BackupSuffix</name><default-value>.bak</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>FileNameDateFormat</name><default-value>.yyyyMMddHHmmssSSS</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>InboundTempLocation</name><default-value>C://SL2//InboundTemp</default-value><is-required>true</is-required><adapter-flow>inbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>OutboundConflictResolution</name><default-value>Rename</default-value><is-required>true</is-required><adapter-flow>outbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>OutboundFileLocation</name><default-value>C://SL2//InboundFiles</default-value><is-required>true</is-required><adapter-flow>outbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>OutboundBackupLocation</name><default-value>c://SL2//InboundBackup</default-value><is-required>true</is-required><adapter-flow>outbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property><property><name>OutboundTempLocation</name><default-value>C://SL2//InboundTemp</default-value><is-required>true</is-required><adapter-flow>outbound</adapter-flow><property-type>string </property-type><property-presentation>text</property- presentation></property></property-list><name>File Adapter</name><description>Read/write the external data from/to external file system</description><adapter-flow>inbound</adapter-flow><inbound-model>poller</inbound-model><inbound-class>com.newscale.is.adapter.file.FileInboundAdapter</inbound-class><outbound-class>com.newscale.is.adapter.file.FileOutboundAdapter</outbound-class><exception-class>com.newscale.is.adapter.file.FileExceptionHandler</exception-class>

6-13Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 278: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

<poll-interval>10000</poll-interval><max-retry>0</max-retry><retry-interval>0</retry-interval></adapter>

通信メ ッ セージのコ ンテンツ と構造の理解 こ こ では、 通信 メ ッ セージの内容 と 構造について詳し く 説明し ます。 メ ッ セージの内容は、Service Catalog と サー ド パーテ ィ シ ス テムの間で、 HTTP、 SOAP、 JMS などの多様なキ ャ リ ア プ ロ ト コルに よ って送信さ れる XML 文書内にカプセル化されます。 メ ッ セージの構造およびサブ構造を理解しやすい よ う 、 図に示し ます。

メ ッ セージ

図 6-3 メ ッ セージ

発信文書の ト ッ プ レベル要素 message には、 「task-started」 ま たは 「task-canceled」 要素が格納さ れます。 着信文書の ト ッ プ レベル要素 message には、 「add-comments」、 「send-parameters」、ま たは 「take-action」 要素が 1 つ以上格納さ れます。 message タ グには、 channel-id と い う 文字列タ イ プの必須属性があ り ます。 こ れは、 作成さ れた発信 メ ッ セージに対し て Service Link が生成する一意の文字列値です。 サー ド パーテ ィ シ ス テムは、 該当する channel-id を指定し てメ ッ セージを返す必要があ り ます。 こ の ID は、 サービ ス カ タ ロ グ (Service Catalog) 側およびサー ド パーテ ィ シ ス テム側の両方で保持する必要があ り ます。

6-14Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 279: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

Task Started または Task Cancelled

図 6-4 Task Started または Task Cancelled

Task started は、 サー ド パーテ ィ シ ス テムで外部ア ク テ ィ ビテ ィ を開始し ます。 こ の操作に関する設計上のポ イ ン ト は、 サー ド パーテ ィ シ ス テムで タ ス ク を実行する ために必要 と な る可能性があ る情報をすべて組み込むこ と です。 こ の要素には、 タ ス クおよびその タ ス ク が属し ている要求に関する、 必要な詳細情報がすべて保持さ れます。 ま た、 オプシ ョ ンのエージ ェ ン ト パ ラメ ータ も 1 つ以上含め る こ と がで き ます。 context 要素は、 サービ ス配信計画の コ ンテキ ス ト 内の タ ス ク について記述し た も のです。 こ の ノ ー ド に、 要求レベルの確認および許可に関する値は格納さ れません。

6-15Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 280: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

タ スク

図 6-5 タ スク

6-16Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 281: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

表 6-4 タ スク要素と説明

要素 説明 (Description)

actual-duration タ ス ク は実行中になったばか り であ る ため、 空です。

calendar-entries サービ ス を要求し た個人のカ レ ンダ エン ト リ 。

check-lists タ ス ク のチェ ッ ク リ ス ト 。

completed-date タ ス ク はまだ完了し ていないため、 空です。

context-id タ ス ク が開始された コ ンテキス ト オブジェ ク ト のオブジェ ク ト ID。

context-type オブジ ェ ク ト の コ ンテキ ス ト (例 : 要求エン ト リ )。

due-date タ ス ク の期日。

実行 予想さ れる タ ス ク の時間単位の工数 (1 人で タ ス ク を完了する ために必要な作業時間の予想)。

estimated-date 予測さ れる タ ス ク の完了日時。

expected-duration 予想さ れる タ ス ク の時間単位の所要期間 (タ ス ク の開始か ら完了までに要する作業時間の予想)。

flag-id UI のカ ラー イ ンジケータ。

is-sharable タ ス ク が共有可能かど う かを示すブール値。

is-shared タ ス ク が共有さ れてい る かど う かを示すブール値。

next-action-id タ ス ク に関し て次に実行可能なア ク シ ョ ンは何か。

performer タ ス ク の実行者。 performer 要素には、 関連付け られた個人オブジ ェ ク ト があ り ます。

performer-actual-duration タ ス ク はまだ完了さ れていないため、 空です。

performer-role 実行者が果た し てい る処理ロールは何か。

priority タ ス ク の優先順位 : 1、 2、 ま たは 3 (それぞれ高、 中、 ま たは低を表す)。

キ ュー タ ス ク が割 り 当て られてい る キ ューの説明。

scheduled-start-date タ ス ク の開始が予定さ れた日付。

start-date タ ス ク が開始さ れた日付。

state-id タ ス ク の状態。

subject タ ス ク の件名。 件名は、 サービ ス定義で変更さ れます。 要求エント リ では変更さ れません。

スーパーバイ ザ タ ス ク の上司。 supervisor 要素には、 関連付け られた個人オブジ ェク ト があ り ます。

supervisor-role 上司が果た し てい る処理ロール。

task-id こ の タ ス ク イ ン ス タ ン ス を一意に識別する ために使用さ れる整数。要求エン ト リ の タ ス ク ご と に新し い番号が生成さ れます。

待機中 サブ タ ス クおよびサー ド パーテ ィ シ ス テム を含む、 こ の タ ス ク の依存関係を表すイ ンジケータ。

6-17Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 282: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

申請

図 6-6 申請

requisition 要素は、 すべての要求 と 要求エン ト リ データ を カプセル化し た も のであ り 、 外部アク テ ィ ビテ ィ を実行する と き に、 統合の目的で こ のデータ を使用で き ます。

表 6-5 要求要素の説明表

要素 説明 (Description)

サービ ス 要求さ れる サービ ス数 (ま たは要求エン ト リ 数)。

actual-cost 要求の実際の コ ス ト 。

actual-duration 要求の実際の所要期間。

closed-on 要求はまだ完了し ていないため、 空です。

コ メ ン ト 要求に関する コ メ ン ト 。

cost-center-code 未使用。

イ ン タ ビ ューの 要求が注文さ れた目的 と なっている個人。 個人のオブジ ェ ク ト データ が保持さ れます。

due-on 要求の配信期限を表す日時。

6-18Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 283: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

expected-cost 予想さ れる要求の コ ス ト 。

expected-duration 要求全体の処理にかか る と 予想さ れる所要期間 (時間単位)。

外部 要求が外部シ ス テムか ら開始さ れたかど う かを示すブール値。

initiator こ の要求をオーダーし た個人。 個人のオブジ ェ ク ト データ が保持さ れます。

呼び出し RAPI (要求 API) か ら セ ッ ト ア ッ プ さ れた属性。

organizational-unit 要求者 (発信者) の組織単位。

requisition-entry 要求エン ト リ のデータ。

requisition-id 送信さ れた要求の整数 ID。要求を手動で送信し た後に My Services および Service Manager に表示さ れる ID と 同じ です。

requisition-step 要求の承認ま たは配信のス テ ッ プ と ス テータ ス。

started-on 要求が開始さ れた日付。

status 要求の現在の状態。 外部ア ク テ ィ ビテ ィ を実行し ている間は ongoing です。

表 6-5 要求要素の説明表 (続き)

要素 説明 (Description)

6-19Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 284: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

申請エン ト リ (Requisition Entry)

図 6-7 申請エン ト リ (Requisition Entry)

こ の タ グは、 1 つの要求エン ト リ のデータ をすべてカプセル化し た も のであ り 、 統合のために使用で き ます。

表 6-6 要求エン ト リ要素の説明表

要素 説明 (Description)

closed-date 要求エン ト リ のス テータ スが ongoing か ら completed に変化し た日時。タ ス ク が ongoing であ る間は要求が ク ローズ さ れないため、 空にな ります。

data-values 要求エン ト リ のデータ値。

due-date 要求が終了する予定の日付。

item-number 要求内の要求エン ト リ の項目番号。

price-per-unit 要求さ れたサービ スの単価。

priced 要求の価格が設定さ れている場合は true、 設定さ れていない場合は false。

quantity 注文さ れた数量。

rejected 要求エン ト リ が承認さ れたか、 拒否さ れたかを示し ます。

rejected-date 拒否さ れた場合は、 その日付。

6-20Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 285: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

データ値

図 6-8 データ値

data-values 要素は、 デ ィ ク シ ョ ナ リ データ で構成さ れるデータ値を 1 つ以上持つこ と がで き ます。 data-value の name は 「Dictionaryname.FieldName」 を指し、 value はサービ スの注文時にユーザが入力し た値です。 その値が複数選択 ド ロ ッ プダ ウ ン リ ス ト になっている場合は、 1 つの data-value 要素が複数の値を持つこ と がで き ます。

rejector 要求を拒否し た個人を示し ます。

requisition-entry-id エン ト リ ID。

revision-number リ ビジ ョ ンが作成さ れている場合は、 その リ ビジ ョ ン番号を示し ます。

service 要求エン ト リ が属し ている サービ スに関連する要素。

start-after 遅れて開始さ れる日付。

start-date 要求エン ト リ が開始さ れた日付。

start-mode 要求エン ト リ がすぐに開始さ れる か、 遅延さ れる かを指定し ます。

status 要求エン ト リ のス テータ ス : closed ま たは ongoing。

表 6-6 要求エン ト リ要素の説明表 (続き)

6-21Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 286: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

サービス

図 6-9 サービス

表 6-7 サービス要素の説明表

要素 説明 (Description)

デ ィ ク シ ョ ナ リ service 要素は、 ゼ ロ個以上のデ ィ ク シ ョ ナ リ を持つこ と がで き ます。

estimated-cost 予測される サービ スの コ ス ト 。

form サービ ス フ ォームのすべてのフ ィ ール ド 要素を保持する要素。

名前 サービ スの名前。

パ ラ メ ータ こ のサービ スに定義されているパ ラ メ ータ。

pricing-schema サービ スが、 入札で価格設定を行 う タ ス ク であ る か、 固定価格である かを指定し ます。

quantity 注文された数量。

service-id Service Catalog のサービ スの ID。

version サービ スの 終更新バージ ョ ン番号。

standard-duration サービ スの標準的な所要期間。

6-22Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 287: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

デ ィ クシ ョ ナリ

図 6-10 デ ィ クシ ョ ナ リ

表 6-8 デ ィ クシ ョ ナ リ要素の説明表

要素 説明 (Description)

caption デ ィ ク シ ョ ナ リ 内のキ ャ プシ ョ ン データ が格納さ れた文字列値。

データ デ ィ ク シ ョ ナ リ 内のデータ要素。 データ要素には、 データ要素の名前、 大長、 データ型、 およびその他の メ タデータ の値が保持さ れます。

dictionary-id Service Catalog 内のデ ィ ク シ ョ ナ リ のデ ィ ク シ ョ ナ リ ID。

dictionary-template-type-id デ ィ ク シ ョ ナ リ の作成に使用さ れたテンプレー ト (た と えば、 個人ベースのデ ィ ク シ ョ ナ リ の場合は 2)。

classification-id ディ ク シ ョ ナ リ の分類 (サービス項目ディ ク シ ョ ナ リ の場合のみ)。

mdr-data-type-id デ ィ ク シ ョ ナ リ のサービ ス項目タ イ プ (サービ ス項目デ ィ ク シ ョナ リ の場合のみ)。

display-order デ ィ ク シ ョ ナ リ の表示順序が入った整数値。

is-external デ ィ ク シ ョ ナ リ が内部 Service Catalog デ ィ ク シ ョ ナ リ であ る か、外部デ ィ ク シ ョ ナ リ であ る かを示すブール値。

is-reportable デ ィ ク シ ョ ナ リ が、 Advanced Reporting モジ ュールの Ad-Hoc レポー ト 機能での使用に関し て、 レポー ト 可能 と し てマーク さ れているかど う かを示すブール値。

is-shared デ ィ ク シ ョ ナ リ が共有デ ィ ク シ ョ ナ リ であ る かど う かを示すブール値。

is-template デ ィ ク シ ョ ナ リ がテンプレー ト であ る かど う かを示すブール値。こ の値は必ず false にな り ます。

logic-name デ ィ ク シ ョ ナ リ の内部名 (予約デ ィ ク シ ョ ナ リ の場合のみ)。

名前 デ ィ ク シ ョ ナ リ の名前。

6-23Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 288: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

フ ォーム (Form)

図 6-11 フ ォーム (Form)

6-24Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 289: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

通信メ ッ セージのコ ンテンツ と構造の理解

エージ ェ ン ト パラ メータ

図 6-12 エージ ェ ン ト パラ メ ータ

エージ ェ ン ト パラ メ ータは、 エージ ェ ン ト に対し て指定さ れている外部パ ラ メ ータ を表し ます。 こ れには multi-valued と い う ブール属性があ り 、 ユーザが複数の値を選択で き るパ ラ メ ータ かど う かに基づいて true ま たは false のいずれかにな り ます。 name はエージ ェ ン ト パ ラ メ ータ の名前を表し、 value はその値を表し ます。

表 6-9 フ ォーム要素の説明表

要素 説明 (Description)

フ ィ ール ド フ ィ ール ド は、 要求フ ォームの内部に 1 つま たは複数の field 要素を持ちます。

advanced-prompt : リ ッ チ HTML プ ロ ンプ ト 。

data : データ型、 名前、 長さ などのフ ィ ール ド のデータ が保持さ れます。

dictionary-display-order : dictionary-display-order の値は、 フ ィ ール ド に関連付け られた DataElement に関連付け られてい る Dictionary の DefObjectDictionaries.DisplayOrder の値です。

display-order : display-order の値は、 フ ィ ール ド の DefObjectDataHTML.DisplayOrder の値です。

field-id : Service Catalog データベース内でのフ ィ ール ド ID。

input-type : フ ィ ール ド の入力の種類 (例 : text、 option など)。

label : フ ィ ール ド に指定さ れている ラベル。

mandatory : フ ィ ール ド のデータは、 サービ スで必須です。

max-length : フ ィ ール ド に指定さ れてい る 大長。

max-value : 数値の場合は範囲が指定さ れます。

min-value

multi-select : 入力の種類が複数選択ボ ッ ク スかど う か。

options : こ のデータ フ ィ ール ド に使用可能なオプシ ョ ン リ ス ト 。

permission :

validated : 検証が必要かど う か。

user-id

6-25Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 290: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信ド キュ メ ン ト の例

着信および発信ド キュ メ ン ト の例

task-started または task-canceled (発信)<?xml version="1.0" encoding="UTF-8"?><message channel-id="18071221:1124919814742:-32752" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <task-started task-type="task"> <task> <actual-duration>0.0</actual-duration> <calendar-entries> <calendar-entry> <calendar-entry-id>2</calendar-entry-id> <date>Thu Aug 25 17:00:00 PDT 2005</date> <end-time>Fri Aug 26 21:40:37 PDT 2005</end-time> <is-blocked>false</is-blocked> <is-break>false</is-break> <is-read>false</is-read> <person> <company-address/> <email>[email protected]</email> <fax/> <first-name>admin</first-name> <home-ou> <name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </home-ou> <home-phone/> <last-name/> <login-name>admin</login-name> <person-id>1</person-id> <personal-address/> <supervisor-name/> <timezone>Pacific Standard Time</timezone> <work-phone/> </person> <sequence>0</sequence> <start-time>Thu Aug 25 21:40:37 PDT 2005</start-time> <subject>External Task</subject> </calendar-entry> </calendar-entries> <check-lists> <check-list-entry> <display-order>1</display-order> <is-mandatory>true</is-mandatory> <last-date/> <last-person/> <name>Make sure you wake up</name> <status>false</status> </check-list-entry> <check-list-entry> <display-order>2</display-order> <is-mandatory>true</is-mandatory> <last-date/> <last-person/> <name>Make sure you take a shower</name> <status>false</status> </check-list-entry> <check-list-entry> <display-order>3</display-order>

6-26Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 291: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信 ド キュ メ ン ト の例

<is-mandatory>true</is-mandatory> <last-date/> <last-person/> <name>Make sure you have breakfast</name> <status>false</status> </check-list-entry> </check-lists> <completed-date/> <context-id>1</context-id> <context-type>Requisition Entry</context-type> <due-date>Fri Aug 26 21:40:37 PDT 2005</due-date> <effort>10.0</effort> <estimated-date/> <expected-duration>10.0</expected-duration> <flag-id>0</flag-id> <is-sharable>false</is-sharable> <is-shared>false</is-shared> <next-action-id>2</next-action-id> <performer> <company-address/> <email>[email protected]</email> <fax/> <first-name>admin</first-name> <home-ou> <name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </home-ou> <home-phone/> <last-name/> <login-name>admin</login-name> <person-id>1</person-id> <personal-address/> <supervisor-name/> <timezone>Pacific Standard Time</timezone> <work-phone/> </performer> <performer-actual-duration>0.0</performer-actual-duration> <priority>2</priority> <scheduled-start-date>Thu Aug 25 21:40:37 PDT 2005</scheduled-start-date> <start-date>Wed Aug 24 21:42:15 PDT 2005</start-date> <state-id>2</state-id> <subject>External Task</subject> <supervisor> <company-address>Foo Bar 25 Suite 300 Foo City CA 94404 USA</company-address> <email>[email protected]</email> <fax/> <first-name>Monkey</first-name> <home-ou> <name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </home-ou> <home-phone/> <last-name>McBride</last-name> <login-name>monkey</login-name> <person-id>3</person-id> <personal-address>Fuchi Caca 16 Apartment C Fuchi Minn OR 78787 USA</personal-address> <supervisor-name/> <timezone>Pacific Standard Time</timezone> <work-phone/> </supervisor> <task-id>3</task-id> <waiting>1</waiting>

6-27Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 292: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信ド キュ メ ン ト の例

</task> <requisition> <actual-cost>0.0</actual-cost> <actual-duration>0.0</actual-duration> <closed-on/> <comments> <comment> <comment-date>Wed Aug 24 21:42:06 PDT 2005</comment-date> <comment-id>1</comment-id> <comment-text>I am adding a comment and I cannot think of a better comment</comment-text> <component-id>3</component-id> <component-name>Request Center Component</component-name> <person> <company-address/> <email>[email protected]</email> <fax/> <first-name>admin</first-name> <home-ou> <name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </home-ou> <home-phone/> <last-name/> <login-name>admin</login-name> <person-id>1</person-id> <personal-address/> <supervisor-name/> <timezone>Pacific Standard Time</timezone> <work-phone/> </person> <source-object-id>2</source-object-id> <source-object-inst-id>1</source-object-inst-id> </comment> </comments> <cost-center-code/> <customer> <company-address/> <email>[email protected]</email> <fax/> <first-name>admin</first-name> <home-ou> <name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </home-ou> <home-phone/> <last-name/> <login-name>admin</login-name> <person-id>1</person-id> <personal-address/> <supervisor-name/> <timezone>Pacific Standard Time</timezone> <work-phone/> </customer> <due-on>Fri Aug 26 21:40:37 PDT 2005</due-on> <expected-cost>0.0</expected-cost> <expected-duration>0.0</expected-duration> <external>false</external> <initiator> <company-address/> <email>[email protected]</email> <fax/> <first-name>admin</first-name> <home-ou>

6-28Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 293: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信 ド キュ メ ン ト の例

<name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </home-ou> <home-phone/> <last-name/> <login-name>admin</login-name> <person-id>1</person-id> <personal-address/> <supervisor-name/> <timezone>Pacific Standard Time</timezone> <work-phone/> </initiator> <invocations/> <organizational-unit> <name>&lt;s ID=&quot;847&quot;/&gt;</name> <organizational-unit-id>1</organizational-unit-id> </organizational-unit> <requisition-entry> <closed-date/> <data-values> <data-value> <name>Requester</name> <value>John McGarzafi</value> </data-value> <data-value> <name>RemedyStuff.TicketID</name> <value>None yet</value> </data-value> <data-value> <name>RemedyStuff.AssetNumber</name> <value>123456789</value> </data-value> </data-values> <due-date>Fri Aug 26 21:40:37 PDT 2005</due-date> <item-number>1</item-number> <price-per-unit>0.0</price-per-unit> <priced>true</priced> <quantity>1</quantity> <rejected>false</rejected> <rejected-date/> <rejector> <company-address/> <email/> <fax/> <first-name/> <home-phone/> <last-name/> <login-name/> <person-id>0</person-id> <personal-address/> <supervisor-name/> <timezone/> <work-phone/> </rejector> <requisition-entry-id>1</requisition-entry-id> <revision-number>5</revision-number> <service> <dictionary> <data> <data-id>3</data-id> <data-type>Person</data-type> <is-dictionary-external>false</is-dictionary-external> <max-length>100</max-length> <name>Requester</name>

6-29Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 294: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信ド キュ メ ン ト の例

</data> <dictionary-id>1</dictionary-id> <is-external>false</is-external> <is-shared>false</is-shared> <name>Monkey Service (private)</name> </dictionary> <dictionary> <data> <data-id>1</data-id> <data-type>Text</data-type> <is-dictionary-external>false</is-dictionary-external> <max-length>50</max-length> <name>TicketID</name> </data> <data> <data-id>2</data-id> <data-type>Text</data-type> <is-dictionary-external>false</is-dictionary-external> <max-length>50</max-length> <name>AssetNumber</name> </data> <dictionary-id>2</dictionary-id> <is-external>false</is-external> <is-shared>true</is-shared> <name>RemedyStuff</name> </dictionary> <estimated-cost>0.0</estimated-cost> <form> <fields> <field> <advanced-prompt/> <data> <data-id>2</data-id> <data-type>Text</data-type> <is-dictionary-external>false</is-dictionary-external> <max-length>50</max-length> <name>AssetNumber</name> </data> <field-id>2</field-id> <input-type>text</input-type> <label>AssetNumber</label> <mandatory>false</mandatory> <max-length>50</max-length> <max-value>0.0</max-value> <min-value>0.0</min-value> <multi-select>false</multi-select> <options> <available-keys/> <available-labels/> <current-values/> <multivalued>false</multivalued> </options> <permission>4</permission> <validated>true</validated> </field> <field> <advanced-prompt/> <data> <data-id>1</data-id> <data-type>Text</data-type> <is-dictionary-external>false</is-dictionary-external> <max-length>50</max-length> <name>TicketID</name> </data>

6-30Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 295: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信 ド キュ メ ン ト の例

<field-id>1</field-id> <input-type>text</input-type> <label>TicketID</label> <mandatory>false</mandatory> <max-length>50</max-length> <max-value>0.0</max-value> <min-value>0.0</min-value> <multi-select>false</multi-select> <options> <available-keys/> <available-labels/> <current-values/> <multivalued>false</multivalued> </options> <permission>4</permission> <validated>true</validated> </field> <field> <advanced-prompt>Give the name!</advanced-prompt> <data> <data-id>3</data-id> <data-type>Person</data-type> <is-dictionary-external>false</is-dictionary-external> <max-length>100</max-length> <name>Requester</name> </data> <field-id>3</field-id> <input-type>text</input-type> <label>Requester Name</label> <mandatory>false</mandatory> <max-length>100</max-length> <max-value>0.0</max-value> <min-value>0.0</min-value> <multi-select>false</multi-select> <options> <available-keys/> <available-labels/> <current-values> <string>John McGarzafi</string> </current-values> <multivalued>false</multivalued> </options> <permission>4</permission> <validated>true</validated> </field> </fields> <user-id>0</user-id> </form> <name>Monkey Service</name> <parameters> <default-duration>0.0</default-duration> <priority>2</priority> <start-date/> <start-mode>0</start-mode> </parameters> <pricing-schema>0</pricing-schema> <quantity>1</quantity> <service-id>1</service-id> <version>5</version> </service> <start-after/> <start-date>Wed Aug 24 21:40:50 PDT 2005</start-date> <start-mode>0</start-mode> <status>1</status>

6-31Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 296: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 6 章 Adapter Development Kit による統合の設計

着信および発信ド キュ メ ン ト の例

</requisition-entry> <requisition-id>1</requisition-id> <started-on>Wed Aug 24 21:40:32 PDT 2005</started-on> <status>1</status> <requisition-step> <completed-on/> <due-on>Fri Aug 26 21:40:37 PDT 2005</due-on> <estimated-on>Fri Aug 26 21:40:37 PDT 2005</estimated-on> <name>Delivery project for Monkey Service</name> <status>2</status> </requisition-step> </requisition> <agent-parameter multi-valued="false"> <name>Ticket</name> <value>None yet</value> </agent-parameter> <agent-parameter multi-valued="false"> <name>Asset</name> <value>123456789</value> </agent-parameter> </task-started></message>

take-action (着信)<?xml version="1.0" encoding="UTF-8"?><message channel-id="18071221:1124919814742:-32752"> <take-action action="done"/></message>

send-parameters (着信)<?xml version="1.0" encoding="UTF-8"?><message channel-id="18071221:1116468068789:-32360"> <send-parameters> <agent-parameter> <name>Param1</name> <value>cat</value> </agent-parameter> <agent-parameter> <name>Param2</name> <value>catlitter</value> </agent-parameter> </send-parameters></message>

add-comments (着信)<?xml version="1.0" encoding="UTF-8"?><message channel-id="32580443:1116276793649:-32629"> <add-comments> <comment>Test Comment</comment> </add-comments></message>

6-32Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 297: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

P A R T 3

外部システムとの統合

Page 298: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ
Page 299: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 7

JSR ポー ト レ ッ ト を使用した外部システムとの統合の開発

サービ ス カ タ ロ グ (Service Catalog) の Portal Designer ソ リ ューシ ョ ンは、 JSR ポー ト レ ッ ト を通じ て外部アプ リ ケーシ ョ ン と 統合する ための高機能なプ ラ ッ ト フ ォームです。 ポータルのフロ ン ト エン ド では、 フ レーム ワーク に Apache Pluto 1.1 ラ イ ブ ラ リ を使用し ます。 Java Portlet Specification (JSR168、 JSR286) 規格を満たす API を使用し て作成さ れたポー ト レ ッ ト は、サービ ス カ タ ロ グ (Service Catalog) と 共に導入で き ます。 導入する と 、 Portal Designer に [Third-Party Portlets] と 表示され、 ポータル ページに追加で き る よ う にな り ます。 JSR ポー トレ ッ ト その他の コ ンテン ツ を Portal Manager ソ リ ューシ ョ ンで メ ンテナン スする方法の詳細については、 『Cisco Prime サービ ス カ タ ロ グ (Service Catalog) Designer Guide』 を参照し て く ださ い。

こ の章では、 Portal Designer ソ リ ューシ ョ ン用に JSR ポー ト レ ッ ト を作成および導入する際のガイ ド ラ イ ンをい く つか示し ます。 章全体を通じ て、 「MyJSR」 と い う サンプル ポー ト レ ッ ト を使用し て説明し ます。 ポー ト レ ッ ト は、 Spring 3.0 Annotation ベースのコ ン ト ローラおよび Sencha の Ext JS (ポータル フ ロ ン ト エン ド の JavaScript フ レーム ワーク) を使用し て作成し ます。

ポー ト レ ッ ト の構造とパッ ケージ化ポー ト レ ッ ト フ ァ イルは JSR 168 ま たは 286 仕様に従って、 使用する アプ リ ケーシ ョ ン サーバに適し た Web アプ リ ケーシ ョ ン (war) フ ァ イルの形式でパ ッ ケージ化する必要があ り ます。一般的なポー ト レ ッ ト war フ ァ イルには、 サーブレ ッ ト 、 リ ソース バン ド ル、 イ メ ージ、html、 jsp、 css フ ァ イルなどが含まれます。

JBoss アプ リケーシ ョ ン サーバ

「MyJSR.war」 と い う 単純なポー ト レ ッ ト の構造を示し ます。

1. cssMyJSR.css

2. 画像

<ポー ト レ ッ ト に必要なカ ス タ ム イ メ ージを こ こに配置でき ます>3. js

MyJSRCreatePersonView.jsMyJSREdit.jsMyJSRHelp.jsMyJSRView.js

7-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 300: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の構造とパッ ケージ化

4. WEB-INF

ク ラ スcom

myjsrMyJSRController.class

configspring

MyJSRApplicationContext.xmljsrportlet.propertieslog4j.properties

jspMyJSREdit.jspMyJSRHelp.jspMyJSRView_listperson.jspMyJSRView_updateperson.jsp

libnewscale_appclient.jarnewscale_core.jarcxf-2.2.12.jarcxf-rt-transports-http-2.2.12.jarpluto-portal-driver-2.0.2.jarorg.springframework.aop-3.1.0.RELEASE.jarorg.springframework.asm-3.1.0.RELEASE.jarorg.springframework.aspects-3.1.0.RELEASE.jar org.springframework.beans-3.1.0.RELEASE.jar org.springframework.context-3.1.0.RELEASE.jar org.springframework.context.support-3.1.0.RELEASE.jar org.springframework.core-3.1.0.RELEASE.jar org.springframework.expression-3.1.0.RELEASE.jar org.springframework.instrument-3.1.0.RELEASE.jar org.springframework.instrument.tomcat-3.1.0.RELEASE.jar org.springframework.jdbc-3.1.0.RELEASE.jar org.springframework.jms-3.1.0.RELEASE.jar org.springframework.orm-3.1.0.RELEASE.jar org.springframework.oxm-3.1.0.RELEASE.jar org.springframework.test-3.1.0.RELEASE.jar org.springframework.transaction-3.1.0.RELEASE.jarorg.springframework.web-3.1.0.RELEASE.jar org.springframework.web.portlet-3.1.0.RELEASE.jar org.springframework.web.servlet-3.1.0.RELEASE.jarorg.springframework.web.struts-3.1.0.RELEASE.jar

tldc.tldpluto.tldportlet.tldportlet_2_0.tldportlet-el.tldportlet-el_2_0.tld

portlet.xmlweb.xmljboss-deployment-structure.xml

こ のサンプル ポー ト レ ッ ト では、 ポー ト レ ッ ト が REST API を呼び出し て サービ ス カ タ ロ グ(Service Catalog) か らデータ を取得する ため、 lib フ ォルダに nsAPI java ク ラ イ アン ト(newscale_appclient.jar) が含まれています。 nsAPI java ク ラ イ アン ト が使用する pluto ラ イ ブ ラリ およびその他の ラ イ ブ ラ リ が lib フ ォルダに含まれている必要があ り ます。 さ ら に JBoss モジ ュールの依存関係を記述する ために、 jboss-deployment-structure.xml が含まれます。

ポー ト レ ッ ト 関連の設定を指定する ために、 追加の記述子 (portlet.xml) が必要です。

7-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 301: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の構造とパッ ケージ化

Weblogic アプ リケーシ ョ ン サーバ

WebLogic の JSR ポー ト レ ッ ト war の構造は似ていますが、 サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ンの外に導入する ため、 ポー ト レ ッ ト が使用するすべての ラ イ ブ ラ リを含める必要があ り ます。

nsAPI java ク ラ イ アン ト を呼び出し、 ポー ト レ ッ ト の共通設定を読み取る には、 次の よ う ないく つかの ラ イ ブ ラ リ が必要です。 こ こ では、 ポー ト レ ッ ト が JSP の JSTL タ グおよび Spring ポー ト レ ッ ト MVC を使用する ため、 い く つかの ラ イ ブ ラ リ が必要です。

1. cssMyJSR.css

2. 画像

<ポー ト レ ッ ト に必要なカ ス タ ム イ メ ージを こ こに配置でき ます>3. js

MyJSRCreatePersonView.jsMyJSREdit.jsMyJSRHelp.jsMyJSRView.js

4. WEB-INF

ク ラ スcom

myjsrMyJSRController.class

configspring

MyJSRApplicationContext.xmljsrportlet.propertieslog4j.properties

jspMyJSREdit.jspMyJSRHelp.jspMyJSRView_listperson.jspMyJSRView_updateperson.jsp

libnewscale_appclient.jarnewscale_core.jarnewscale_udkernel.jarnewscale_compbeans.jar newscale_conf.jar castor-0.9.5.4.jarcommons-beanutils-1.8.3.jarcommons-httpclient-3.1.jarcommons-logging-1.0.4.jarcxf-2.2.12.jarezmorph-1.0.4.jarjson-lib-2.2.2-jdk13.jarjsr311-api-1.0.jarneethi-2.0.4.jaroscache-2.4.jarstandard.jarwsdl4j-1.6.1.jarXmlSchema-1.4.6.jarcommons-collections-3.2.1.jar commons-lang-2.4.jarneethi-2.0.4.jar castor-0.9.5.4.jar jstl.jar org.springframework.aop-3.1.0.RELEASE.jarorg.springframework.asm-3.1.0.RELEASE.jarorg.springframework.aspects-3.1.0.RELEASE.jar org.springframework.beans-3.1.0.RELEASE.jar org.springframework.context-3.1.0.RELEASE.jar

7-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 302: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

org.springframework.context.support-3.1.0.RELEASE.jar org.springframework.core-3.1.0.RELEASE.jar org.springframework.expression-3.1.0.RELEASE.jar org.springframework.instrument-3.1.0.RELEASE.jar org.springframework.instrument.tomcat-3.1.0.RELEASE.jar org.springframework.jdbc-3.1.0.RELEASE.jar org.springframework.jms-3.1.0.RELEASE.jar org.springframework.spring-library-3.1.0.RELEASE.libd org.springframework.test-3.1.0.RELEASE.jar org.springframework.transaction-3.1.0.RELEASE.jar org.springframework.web-3.1.0.RELEASE.jarorg.springframework.web.portlet-3.1.0.RELEASE.jar org.springframework.web.servlet-3.1.0.RELEASE.jar org.springframework.web.struts-3.1.0.RELEASE.jar

tldc.tldpluto.tldportlet.tldportlet_2_0.tldportlet-el.tldportlet-el_2_0.tld

portlet.xmlweb.xml

依存ラ イブラ リ

JSR ポー ト レ ッ ト の war フ ァ イルに含める必要があ る ラ イ ブ ラ リ セ ッ ト は、 アプ リ ケーシ ョ ン サーバの RequestCenter 配置済みアプ リ ケーシ ョ ン ま たは サービ ス カ タ ロ グ (Service Catalog) イ ン ス ト ーラ イ メ ージで入手で き ます。

-pluto-taglib-2.0.2.jar : 製品イ メ ージの 「preinstall」 フ ォルダ下

-他のすべてのフ ァ イル : RequestCenter.war/WEB-INF/lib

ポー ト レ ッ ト の開発一般的な JSR ポー ト レ ッ ト では、 表示 (View)、 編集 (Edit)、 ヘルプ (Help) の 3 つのレ ンダリ ン グ モー ド をサポー ト する必要があ り ます。 さ ら に、 通常 (Normal)、 小化 (Minimized)、

大化 (Maximized) のウ ィ ン ド ウ状態をサポー ト する必要があ り ます。

以下に示す MyJSR ポータルの例では、2 つの機能をサポー ト する ユーザ イ ン ターフ ェ イ スが提供さ れます。

7-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 303: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

1. サービ ス カ タ ロ グ (Service Catalog) ユーザを グ リ ッ ド で一覧表示し ます。

図 7-1 ポー ト レ ッ ト の開発

2. ユーザを追加ま たは更新で き ます。

図 7-2 ユーザの追加 (Add User)

こ の要件を満たすために、 次に示すサンプル コー ド には、 次の高水準操作が含まれています。

• nsAPI java ク ラ イ アン ト を使用し て、 サービ ス カ タ ロ グ (Service Catalog) ユーザを取得する

• ユーザの詳細を JSON 形式でユーザ イ ン ターフ ェ イ スに返す

• Ext JS グ リ ッ ド で、 ブラ ウザにユーザの リ ス ト を レ ンダ リ ングする

7-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 304: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

• Ext JS で設計し た形式で、 ユーザの詳細を表示または入力する

• nsAPI java ク ラ イ アン ト を使用し て、 サービ ス カ タ ロ グ (Service Catalog) リ ポジ ト リ のユーザの詳細を追加または更新する

MyJSR.cssポー ト レ ッ ト の コー ド カ ス タ ム ス タ イルを こ こ で設計で き ます。

以降で、 MyJSR.war 内の コ ンポーネン ト それぞれの内容を見ていき ます。

MyJSRCreatePersonView.jsExt JS を使用し て、 ユーザを作成する ためのフ ォーム を表示する コー ド 例。

/* Code custom JavaScript for the portlet here */

Ext.onReady(function() {var tab2 = new Ext.FormPanel({id : 'personEditForm',labelAlign : 'top',title : 'Person Details - Add',bodyStyle : 'padding:5px',width : 600,renderTo : MyJSREditDiv,items : [{layout : 'column',border : false,items : [{columnWidth : .5,layout : 'form',border : false,items : [{xtype : 'textfield',fieldLabel : 'First Name',

value : personListObj.firstName,name : 'firstName',anchor : '95%' }, {xtype : 'textfield',fieldLabel : 'Login Name',

value : personListObj.login,name : 'login',anchor : '95%' }, {xtype : 'textfield',fieldLabel : 'Home OU',name : 'homeOrganizationalUnitName',

value : personListObj.homeOrganizationalUnitName,anchor : '95%' }, {xtype : 'textfield',fieldLabel : 'Timezone',name : 'timeZoneName',

value : personListObj.timeZoneName,anchor : '95%' }] }, {columnWidth : .5,layout : 'form',

7-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 305: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

border : false,items : [{xtype : 'textfield',fieldLabel : 'Last Name',name : 'lastName',

value : personListObj.lastName,anchor : '95%' },{xtype : 'textfield',fieldLabel : 'Email',name : 'email',

value : personListObj.email,vtype : 'email',anchor : '95%' }, {xtype : 'textfield',fieldLabel : 'Language',name : 'languageName',

value : personListObj.languageName,anchor : '95%' }] }] }, {xtype : 'tabpanel',plain : true,activeTab : 0,height : 235,defaults : {bodyStyle : 'padding:10px' },items : [{title : 'Address',layout : 'form',defaults : {width : 230 },defaultType : 'textfield',items : [{fieldLabel : 'Business',name : 'businessAddress',disabled : true }, {fieldLabel : 'Home',name : 'homeAddress',disabled : true }] }, {title : 'Contacts',layout : 'form',defaults : {width : 230 },defaultType : 'textfield',items : [{fieldLabel : 'Business',name : 'businessPhone',disabled : true }, {fieldLabel : 'Home',name : 'homePhone',disabled : true }, {fieldLabel : 'Mobile',name : 'mobilePhone',

7-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 306: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

disabled : true }, {fieldLabel : 'Fax',name : 'faxNumber',disabled : true }] }] }],

buttons : [{text : 'Save',handler : function() {Ext.getCmp("personEditForm").getForm().submit({ url : addPersonActionUrl,params : {},success : function(form, action) {var responseObj = Ext.util.JSON.decode(action.response.responseText);if(responseObj.success == "true")Ext.Msg.alert('Success', responseObj.successMsg); elseExt.Msg.alert('Error', responseObj.errorMsg); } }); } },{text : 'Cancel',handler : function() {window.location=viewPersonUrl; } }] });});

MyJSREdit.jsこ の JavaScript を使用する と 、 ポー ト レ ッ ト 編集モー ド 用のカ ス タ ム コー ド を追加で き ます。

/* Code custom JavaScript for the Portlet here */

Ext.onReady(function() {

});

MyJSRHelp.jsこ の JavaScript を使用する と 、 ポー ト レ ッ ト 編集モー ド 用のカ ス タ ム コー ド を追加で き ます。

/* Code custom JavaScript for the Portlet here */

Ext.onReady(function() {

});

7-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 307: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

MyJSRView.jsExt JS グ リ ッ ド にユーザを表示する JavaScript の例。

/* Code custom JavaScript for the Portlet here */Ext.onReady(function() {// Demonstrates how to getUser info from Java Script and set it to divvarLogin=document.getElementById('MyJSRLoginNameDiv'); Login.innerHTML=nsAPP_CurrentUserLoginName;varFirstName=document.getElementById('MyJSRFirstNameDiv'); FirstName.innerHTML=nsAPP_CurrentUserFirstName;varLastName=document.getElementById('MyJSRLastNameDiv'); LastName.innerHTML=nsAPP_CurrentUserLastName;varHomeOU=document.getElementById('MyJSRHomeOUDiv'); HomeOU.innerHTML=nsAPP_CurrentUserHomeOuId;var PersonID=document.getElementById('MyJSRPersonIDDiv'); PersonID.innerHTML=nsAPP_CurrentUserId;

var pid = portletId.substr(pidPrefix.length);if (Ext.getCmp(pid).height && Ext.getCmp(pid).height >= 29) {var gridHeight = Ext.getCmp(pid).height - 29; }

var gridStore = new Ext.data.JsonStore({proxy : new Ext.data.HttpProxy({url : pagingUrl,timeout : connectionTimeOut }),autoLoad: {params:{start: 0, limit: defaultRecordSize}},root: 'rows',totalProperty: 'results',fields : [{name : 'firstName',type : 'string' }, {name : 'lastName',type : 'string' }, {name : 'email',type : 'string' }, {name : 'homeOrganizationalUnitName',type : 'string' }, {name : 'login',type : 'string' }, {name : 'timeZoneName',type : 'string' }, {name : 'languageName',type : 'string' }, {name : 'businessPhone',type : 'string' }, {name : 'homePhone',type : 'string' }, {name : 'mobilePhone',type : 'string' }, {name : 'faxNumber',

7-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 308: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

type : 'string' }, {name : 'businessAddress',type : 'string' }, {name : 'homeAddress',type : 'string' }] });gridStore.load();

var expander = new Ext.ux.grid.RowExpander({tpl : new Ext.Template('<h2 class="title">Address</h2><table>','<tr><td width=400><b>Business</b> {businessAddress}</td>','<td width=400><b>Home</b>{homeAddress}</td></tr></table>','<h2 class="title">Contact</h2><table>','<tr><td width=400><b>Business</b> {businessPhone}</td>','<td width=400><b>Home</b> {homePhone}</td></tr>','<tr><td width=400><b>Mobile</b> {mobilePhone}</td>','<td width=400><b>Fax</b> {faxNumber}</td></tr></table>') });

var gridColModel = new Ext.grid.ColumnModel({defaults : {sortable : true,autoWidth : true },columns : [{header : "First Name",dataIndex : 'firstName' }, {header : "Last Name",dataIndex : 'lastName' }, {header : "Email",dataIndex : 'email' }, {header : "Home OU",dataIndex : 'homeOrganizationalUnitName' }, {header : "Login Name",dataIndex : 'login' }, {header : "Timezone",dataIndex : 'timeZoneName' }, {header : "Language",dataIndex : 'languageName' }] });

var gridConfig = {renderTo : MyJSREditDiv,width : "100%",layout : 'fit',store : gridStore,cm : gridColModel,loadMask: true,autoWidth : true,plugins : expander,tbar : [{text : 'Create Person',iconCls : 'add',

7-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 309: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

handler : function() {window.location=createNewPersonActionUrl; } },'-'],bbar : new Ext.PagingToolbar({pageSize : defaultRecordSize,store : gridStore,displayInfo : true,params:{start: 0,limit: defaultRecordSize } }) };

if ('maximized' == portletWindowState) {gridConfig.height = document.documentElement.clientHeight - 188; } elseif ('normal' == portletWindowState) {var viewConfig = {forceFit : true };gridConfig.viewConfig = viewConfig;

if (gridHeight && gridHeight > -1) {gridConfig.height = gridHeight; } else {gridConfig.autoHeight = true; } }

var grid = new Ext.grid.GridPanel(gridConfig);});

portlet.xmlポー ト レ ッ ト 仕様の例。 portlet-class は、 init-params のペア contextConfigLocation と nsContentPortlet と と もに設定する必要があ り ます (nsContentPortlet は、 常に 「false」 に設定し ます)。

<?xmlversion="1.0"encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements.See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the Apache License, Version 2.0(the "License"); you may not use this file except in compliance withthe License.You may obtain a copy of the License at

http:www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express orimplied.

See the License for the specific language governing permissions andlimitations under the License.--><portlet-appxmlns="http:java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"version="1.0"xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance"

7-11Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 310: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

xsi:schemaLocation="http:java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http:java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"><portlet><description>MyJSR Description</description><portlet-name>nsMyJSR</portlet-name><display-name>My JSR Portlet</display-name><portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class><init-param><name>contextConfigLocation</name><value>/WEB-INF/classes/config/spring/MyJSRApplicationContext.xml</value></init-param><init-param><name>nsContentPortlet</name><value>false</value></init-param><expiration-cache>-1</expiration-cache><supports><mime-type>text/html</mime-type><portlet-mode>VIEW</portlet-mode><portlet-mode>EDIT</portlet-mode><portlet-mode>HELP</portlet-mode></supports><portlet-info><title>My JSR Portlet</title></portlet-info></portlet></portlet-app>

web.xmlサーブレ ッ ト に よ る展開記述子の例。 ポータル サーバ (こ の例では Apache Pluto) でサーブレ ッ ト のマ ッ ピ ン グが必要です。

<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEweb-appPUBLIC"-Sun Microsystems, Inc. DTD Web Application 2.3EN""http:java.sun.com/dtd/web-app_2_3.dtd"><web-app><display-name>My JSR Portlet Application</display-name><description>My JSR Portlet</description>

<!-- Resources bundle base class --><context-param><param-name>contextConfigLocation</param-name><param-value> /WEB-INF/classes/config/spring/MyJSRApplicationContext.xml</param-value></context-param>

<context-param><param-name>parameter-name</param-name><param-value>parameter-value</param-value></context-param>

<servlet><servlet-name>ViewRendererServlet</servlet-name><servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class></servlet>

<servlet>

7-12Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 311: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

<servlet-name>MyJSR</servlet-name><servlet-class>org.apache.pluto.container.driver.PortletServlet</servlet-class><init-param><param-name>portlet-name</param-name><param-value>MyJSR</param-value></init-param><load-on-startup>1</load-on-startup></servlet>

<servlet-mapping><servlet-name>ViewRendererServlet</servlet-name><url-pattern>/WEB-INF/servlet/view</url-pattern></servlet-mapping>

<servlet-mapping><servlet-name>MyJSR</servlet-name><url-pattern>/PlutoInvoker/nsMyJSR</url-pattern></servlet-mapping>

<!- Declare Tag libraries that are used in which are going to use in JSP pages--><taglib><taglib-uri>http://portals.apache.org/pluto</taglib-uri><taglib-location>/WEB-INF/tld/pluto.tld</taglib-location></taglib>

<taglib><taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri><taglib-location>/WEB-INF/tld/portlet_2_0.tld</taglib-location></taglib>

<taglib><taglib-uri>/WEB-INF/tld/c.tld</taglib-uri><taglib-location>/WEB-INF/tld/c.tld</taglib-location></taglib>

<taglib><taglib-uri>http://java.sun.com/portlet</taglib-uri><taglib-location>/WEB-INF/tld/portlet.tld</taglib-location></taglib>

<taglib><taglib-uri>http://portals.apache.org/pluto/portlet-el</taglib-uri><taglib-location>/WEB-INF/tld/portlet-el.tld</taglib-location></taglib>

<taglib><taglib-uri>http://portals.apache.org/pluto/portlet-el_2_0</taglib-uri><taglib-location>/WEB-INF/tld/portlet-el_2_0.tld</taglib-location></taglib>

</web-app>

MyJSREdit.jspポー ト レ ッ ト 編集モー ド 用の JSP。

<%/** * Copyright (c) 2012, Cisco Systems, Inc. All rights reserved.*/%>

7-13Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 312: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

<%@tagliburi="http:java.sun.com/portlet"prefix="portlet"%><%@taglibprefix="portlet2"uri="http:java.sun.com/portlet_2_0"%><%@taglibprefix="c"uri="/WEB-INF/tld/c.tld"%>

<% String contextPath = request.getContextPath(); %>

<!-- This is for IE --><scripttype="text/javascript">if(document.createStyleSheet) {document.createStyleSheet('<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>');}else {var styles = "@import url('<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>');";var newSS=document.createElement('link');newSS.rel='stylesheet';newSS.href='data:text/css,'+escape(styles);document.getElementsByTagName("head")[0].appendChild(newSS);}</script>

<!-- This is foFirefox --><linkrel="stylesheet"type="text/css"href="<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>"></link>

<script>var head = document.getElementsByTagName('head')[0];var script = document.createElement('script');script.type = 'text/javascript';script.src = '<%= response.encodeURL(contextPath + "/js/MyJSREdit.js") %>';head.appendChild(script);</script>

<!-- Write your JSP Code for Portlet Edit here --><c:iftest="${portletWindowState == 'NORMAL' or portletWindowState == 'normal'}">Portlet Mode = <c:outvalue='${portletMode}'/>Portlet Window State = <c:outvalue='${portletWindowState}'/></c:if>

<c:iftest="${portletWindowState == 'MINIMIZED' or portletWindowState == 'minimized'}">Portlet Mode = <c:outvalue='${portletMode}'/>Portlet Window State = <c:outvalue='${portletWindowState}'/></c:if>

<c:iftest="${portletWindowState == 'MAXIMIZED' or portletWindowState == 'maximized'}">Portlet Mode = <c:outvalue='${portletMode}'/>Portlet Window State = <c:outvalue='${portletWindowState}'/></c:if>

<divid="MyJSREditDiv-<portlet:namespace/>"class="x-grid-mso"></div>

<script>var MyJSREditDiv = 'MyJSREditDiv-<portlet:namespace/>';var addPersonActionUrl = '<portlet2:resourceURL id="addPersonData" escapeXml="false" />';var personListObj = Ext.util.JSON.decode('<c:out value="${PersonData}" escapeXml="false"/>');</script>

7-14Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 313: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

MyJSRHelp.jspポー ト レ ッ ト ヘルプ モー ド 用の JSP。

<%/** * Copyright (c) 2012, Cisco Systems, Inc. All rights reserved.*/%>

<%@tagliburi="http:java.sun.com/portlet"prefix="portlet"%><%@taglibprefix="c"uri="/WEB-INF/tld/c.tld"%>

<% String contextPath = request.getContextPath(); %>

<!-- This is for IE --><scripttype="text/javascript">if(document.createStyleSheet) {document.createStyleSheet("<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>");}else {var styles = "@import url('<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>');";var newSS=document.createElement('link');newSS.rel='stylesheet';newSS.href='data:text/css,'+escape(styles);document.getElementsByTagName("head")[0].appendChild(newSS);}</script>

<!-- This is foFirefox --><linkrel="stylesheet"type="text/css"href="<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>"></link>

<script>var head = document.getElementsByTagName('head')[0];var script = document.createElement('script');script.type = 'text/javascript';script.src = '<%= response.encodeURL(contextPath + "/js/MyJSRHelp.js") %>'; head.appendChild(script);</script>

<!-- Write your JSP Code for Portlet Help here --><c:iftest="${portletWindowState == 'NORMAL' or portletWindowState == 'normal'}">Portlet Mode = <c:outvalue='${portletMode}'/>Portlet Window State = <c:outvalue='${portletWindowState}'/></c:if>

<c:iftest="${portletWindowState == 'MINIMIZED' or portletWindowState == 'minimized'}">Portlet Mode = <c:outvalue='${portletMode}'/>Portlet Window State = <c:outvalue='${portletWindowState}'/></c:if>

<c:iftest="${portletWindowState == 'MAXIMIZED' or portletWindowState == 'maximized'}">Portlet Mode = <c:outvalue='${portletMode}'/>Portlet Window State = <c:outvalue='${portletWindowState}'/></c:if>

<divid="MyJSRHelpDiv-<portlet:namespace/>"class="x-grid-mso"></div>

<script>var MyJSRHelpDiv = 'MyJSRHelpDiv-<portlet:namespace/>';</script>

7-15Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 314: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

MyJSRView_listperson.jspポー ト レ ッ ト 表示モー ド の JSP コー ド 。

<%/** * Copyright (c) 2012, Cisco Systems, Inc. All rights reserved.*/%>

<%@tagliburi="http:java.sun.com/portlet"prefix="portlet"%><%@taglibprefix="portlet2"uri="http:java.sun.com/portlet_2_0"%><%@taglibprefix="c"uri="/WEB-INF/tld/c.tld"%>

<% String contextPath = request.getContextPath(); %>

<!-- This is for IE --><scripttype="text/javascript">if(document.createStyleSheet) {document.createStyleSheet('<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>');}else {var styles = "@import url('<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>');";var newSS=document.createElement('link');newSS.rel='stylesheet';newSS.href='data:text/css,'+escape(styles);document.getElementsByTagName("head")[0].appendChild(newSS);}var portletId = 'portlet-container-<c:out value="${portlet}"/>';var pidPrefix = "portlet-container-";var portletWindowState = "<c:out value='${portletWindowState}'/>";var portletMode = "<c:out value='${portletMode}'/>";var defaultRecordSize = <c:out value='${defaultRecordSize}'/>;var nsappPersonViewDiv = 'nsappPersonViewDiv-<portlet:namespace/>';var pagingUrl = '<portlet2:resourceURL escapeXml="false" />';var connectionTimeOut = <c:out value='${connectionTimeOut}'/>;</script>

<!-- This is foFirefox --><linkrel="stylesheet"type="text/css"href="<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>"></link>

<script>var head = document.getElementsByTagName('head')[0];var script = document.createElement('script');script.type = 'text/javascript';script.src = '<%= response.encodeURL(contextPath + "/js/MyJSRView.js") %>';head.appendChild(script);</script>

<!-- Write your JSP Code for Portlet Edit here --><c:iftest="${portletWindowState == 'NORMAL' or portletWindowState == 'normal'}"><!--PortletMode = <c:out value='${portletMode}'/>Portlet Window State = <c:out value='${portletWindowState}'/> --></c:if>

<c:iftest="${portletWindowState == 'MINIMIZED' or portletWindowState == 'minimized'}"><!--Portlet Mode = <c:out value='${portletMode}'/>Portlet Window State = <c:out value='${portletWindowState}'/> --></c:if>

<c:iftest="${portletWindowState == 'MAXIMIZED' or portletWindowState == 'maximized'}"><!--Portlet Mode = <c:out value='${portletMode}'/>

7-16Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 315: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

Portlet Window State = <c:out value='${portletWindowState}'/>--></c:if>

<!-Un-comment this to get User Info from the Portlet Controller that sets user info in modelLogged In User (<c:out value="${userName}" escapeXml="false"/>): <c:out value="${firstName}" escapeXml="false"/>&nbsp;,&nbsp; <c:out value="${lastName}" escapeXml="false"/>&nbsp;,&nbsp;<c:out value="${PersonId}" escapeXml="false"/>&nbsp;,&nbsp;<c:out value="${HomeOUId}" escapeXml="false"/>-->

<!-Write declare divs to display user info --><div>Logged In User (<div id="MyJSRLoginNameDiv" style="text-align:right;display:inline;width:100%;"><span style="padding-left:20px;"></span></div>)&nbsp;:&nbsp;<div id="MyJSRFirstNameDiv" style="text-align:right;display:inline;width:100%;"><span></span></div>&nbsp;,&nbsp;<divid="MyJSRLastNameDiv" style="text-align:right;display:inline;width:100%;"><span style="padding-left:20px;"></span></div></div><div>HomeOUId&nbsp;:&nbsp;<div id="MyJSRHomeOUDiv" style="text-align:right;display:inline;width:100%;"><span style="padding-left:20px;"></span></div>&nbsp;,&nbsp;PersonId&nbsp;:&nbsp;<div id="MyJSRPortletPersonIDDiv" style="text-align:right;display:inline;width:100%;"><span style="padding-left:20px;"></span></div>

<divid="MyJSREditDiv-<portlet:namespace/>"class="x-grid-mso"></div>

<script>var MyJSREditDiv = 'MyJSREditDiv-<portlet:namespace/>';var createNewPersonActionUrl = '<portlet:renderURL><portlet:param name="formAction" value="createNewPerson" /></portlet:renderURL>';var addPersonActionUrl = '<portlet2:resourceURL id="addPersonData" escapeXml="false" />';var personListObj = Ext.util.JSON.decode('<c:out value="${PersonData}" escapeXml="false"/>');</script>

MyJSRView_updateperson.jspユーザ更新操作のデモ用 JSP コー ド の例。

<%/** * Copyright (c) 2012, Cisco Systems, Inc. All rights reserved.*/%>

<%@tagliburi="http:java.sun.com/portlet"prefix="portlet"%><%@taglibprefix="portlet2"uri="http:java.sun.com/portlet_2_0"%><%@taglibprefix="c"uri="/WEB-INF/tld/c.tld"%>

<%String contextPath = request.getContextPath(); %>

<!-- This is foFirefox --><linkrel="stylesheet"type="text/css"href="<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>"></link>

<!-- This is for IE --><scripttype="text/javascript">if(document.createStyleSheet) {

7-17Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 316: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

document.createStyleSheet("<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>"); }else {var styles = "@import url('<%= response.encodeURL(contextPath + "/css/MyJSR.css") %>');";var newSS=document.createElement('link');newSS.rel='stylesheet';newSS.href='data:text/css,'+escape(styles);document.getElementsByTagName("head")[0].appendChild(newSS); }</script>

<script>var head = document.getElementsByTagName('head')[0];var script = document.createElement('script');script.type = 'text/javascript';script.src = '<%= response.encodeURL(contextPath + "/js/MyJSRCreatePersonView.js") %>';head.appendChild(script);</script>

<!-- Write your JSP Code for Portlet View here --><c:iftest="${portletWindowState == 'NORMAL' or portletWindowState == 'normal'}"><!--Portlet Mode = <c:out value='${portletMode}'/>Portlet Window State = <c:out value='${portletWindowState}'/> --></c:if>

<c:iftest="${portletWindowState == 'MINIMIZED' or portletWindowState == 'minimized'}"><!--Portlet Mode = <c:out value='${portletMode}'/>Portlet Window State = <c:out value='${portletWindowState}'/> --></c:if>

<c:iftest="${portletWindowState == 'MAXIMIZED' or portletWindowState == 'maximized'}"><!--Portlet Mode = <c:out value='${portletMode}'/>Portlet Window State = <c:out value='${portletWindowState}'/>--></c:if>

<divid="MyJSREditDiv-<portlet:namespace/>"class="x-grid-mso"></div><script>var MyJSREditDiv = 'MyJSREditDiv-<portlet:namespace/>';var addPersonActionUrl = '<portlet2:resourceURL id="addPersonData" escapeXml="false" />';var viewPersonUrl = '<portlet:renderURL></portlet:renderURL>'; var personListObj = Ext.util.JSON.decode('<c:out value="${PersonData}" escapeXml="false"/>');</script>

MyJSRController.javajava ポー ト レ ッ ト コ ン ト ローラ を作成する一般的な手順は、 次の と お り です。

ステ ッ プ 1 3 つのポー ト レ ッ ト モー ド (表示 (View)、 編集 (Edit)、 ヘルプ (Help)) のハン ド ラ コー ドを記述し ます。

ステ ッ プ 2 3 つのポー ト レ ッ ト ビ ュー (通常 (Normal)、 小化 (Minimized)、 大化 (Maximized)) のハン ド ラ コー ド を記述し ます。

ステ ッ プ 3 サービ ス カ タ ロ グ (Service Catalog) エンテ ィ テ ィ を処理/表示する JSR ポー ト レ ッ ト では、nsAPI ク ラ イ アン ト を使用し てポー ト レ ッ ト コ ン ト ローラ で関連する REST API を呼び出すこと がで き ます。

a. nsAPI ク ラ イ アン ト API の参照を取得し ます。

7-18Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 317: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

b. nsAPI ク ラ イ アン ト を呼び出し て、 必要な サービ ス カ タ ロ グ (Service Catalog) エンテ ィテ ィ の イ ン ス タ ン スの リ ス ト を取得し ます。

c. オプシ ョ ンで、 現在ロ グ イ ン し ている ユーザの詳細 (ユーザ ID、 名、 姓など) を取得します。

ステ ッ プ 4 イ ン ス タ ン ス を グ リ ッ ド ま たはその他の形式でレ ンダ リ ン グ し ます (こ の例では、 Ext JS グリ ッ ド の nsAPI でページン グ をする方法も示し ます)。

package com.myjsr;

importjava.io.IOException;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;import java.util.Map;importjava.util.Properties;

importjavax.portlet.RenderRequest;importjavax.portlet.RenderResponse;importjavax.portlet.ResourceRequest;importjavax.portlet.ResourceResponse;

importnet.sf.json.JSON;importnet.sf.json.JSONSerializer;importjavax.portlet.ActionRequest;importjavax.servlet.http.HttpSession;importjavax.portlet.PortletURL;importorg.apache.commons.collections.map.MultiValueMap;importorg.apache.commons.lang.StringEscapeUtils;importorg.apache.commons.lang.StringUtils;importorg.springframework.ui.Model;importorg.springframework.web.portlet.ModelAndView;importorg.springframework.web.bind.annotation.ModelAttribute;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.portlet.bind.annotation.ResourceMapping;importorg.springframework.web.bind.annotation.RequestParam;

importcom.newscale.comps.conf.domain.AppParamUtil;importcom.newscale.nsapi.directory.person.Person;importcom.newscale.nsapi.directory.person.PersonList;importcom.newscale.nsapiclient.NSApiClient;importcom.newscale.nsapiclient.NSApiClientConstants;importcom.newscale.nsapiclient.NSApiClientFactory;importcom.newscale.portlets.GenericNewScaleSpringPortletBase;

/***MyJSRController*/publicclass MyJSRController extends GenericNewScaleSpringPortletBase {privatestaticfinal String configPropsFile = "jsrportlet.properties";privatestaticfinal String viewPageList = "MyJSRView_listperson";privatestaticfinal String viewPageUpdate = "MyJSRView_updateperson";privatestaticfinal String editPage = "MyJSREdit";privatestaticfinal String helpPage = "MyJSRHelp";private NSApiClient nsApiClient = getNSApiClient();

public NSApiClient getNsApiClient() {return nsApiClient;

7-19Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 318: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

}

public void setNsApiClient(NSApiClient nsApiClient) {this.nsApiClient = nsApiClient; }

public String viewNormal(RenderRequest request, RenderResponse response, Model model) {try {super.viewNormal(request, response, model);

getLoginUsername(request , model); } catch(Exception e){e.printStackTrace(); }

return doView(request, response, model); }

public String viewMinimized(RenderRequest request, RenderResponse response, Model model) {try {super.viewMinimized(request, response, model); } catch(Exception e){e.printStackTrace(); }return viewPageList; }

public String viewMaximized(RenderRequest request, RenderResponse response, Model model) {try {super.viewMaximized(request, response, model);

getLoginUsername(request , model); } catch(Exception e){e.printStackTrace(); }

return doView(request, response, model); }

private void getLoginUsername(RenderRequest request , Model model){Properties properties = getConfigProperties(configPropsFile);

nsApiClient.login(properties.getProperty("BASE_URL"), request.getPortletSession().getId()); // Get Currently Logged-in user from nsAPI client

Person persons = nsApiClient.getDirectory().getCurrentUser();

// Set user info into model so that JSP can access itmodel.addAttribute("PersonID", persons.getPersonId());

model.addAttribute("HomeOUId", persons.getHomeOrganizationalUnitId());model.addAttribute("firstName", persons.getFirstName()); model.addAttribute("lastName", persons.getLastName()); model.addAttribute("userName", persons.getLogin());

}

private String doView(RenderRequest request, RenderResponse response, Model model) {try { Properties properties = getConfigProperties(configPropsFile);nsApiClient.login(properties.getProperty("BASE_URL"), request.getPortletSession().getId());

int defaultRecordSize = AppParamUtil.getInstance().getMaxMaxPagingSizeInNSApi();model.addAttribute("defaultRecordSize", "" + defaultRecordSize);int connectionTimeOut = 0;if (AppParamUtil.getInstance().isParamExists((AppParamUtil.SESSION_TIMEOUT))) {connectionTimeOut = AppParamUtil.getInstance().getIntegerParam(AppParamUtil.SESSION_TIMEOUT);

7-20Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 319: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

}if (connectionTimeOut < 1) {connectionTimeOut = 20; }model.addAttribute("connectionTimeOut", "" + connectionTimeOut * 1000 * 60);

String formAction = request.getParameter("formAction"); String personIdStr = request.getParameter("personId");

if (null != formAction && formAction.equals("createNewPerson") ) {showAddPersonPage(request, response, model);return viewPageUpdate;

} elseif(null != personIdStr){editPerson(request, response, model, new Integer(personIdStr).intValue());return viewPageUpdate;

} else {return viewPageList;

} } catch (Exception e){

e.printStackTrace(); }returnnull;

}

@RequestMapping("VIEW") @ResourceMappingpublic ModelAndView doPagingOrSavePerson(ResourceRequest request, ResourceResponse response, Person person) throws Exception { String instanceName= getInstanceName(request.getWindowID()); Save Button is clicked while adding personif ("createNewPerson".equals(request.getParameter("formAction")) || null != request.getParameter("personId")) { addPersonData(person ,request, response ); } elseif (null != request.getParameter("start") &&null != request.getParameter("limit")) { Pagingint startInt = Integer.parseInt(request.getParameter("start")) + 1; extjs sends 1 less than what nsAPI wantsint limit = Integer.parseInt(request.getParameter("limit")) + 1; extjs sends 1 less than what nsAPI wantstry {if (request.getWindowState().equals(request.getWindowState().NORMAL)) {doPagingInternal(request, response, instanceName, 1, startInt, limit); }if (request.getWindowState().equals(request.getWindowState().MAXIMIZED)) {doPagingInternal(request, response, instanceName, 2, startInt, limit); } } catch (Exception e) {e.printStackTrace(); } }returnnull; }

private void doPagingInternal(ResourceRequest request, ResourceResponse response, String portletInst,int windowStateInt, int start, int limit) throws Exception { Map<String, Object> jsonMap = new HashMap<String, Object>(); List recordList = newArrayList();int totalCount = 1; String editPersonUrl = request.getParameter("editPersonUrl"); MultiValueMap paramsmap = new MultiValueMap(); paramsmap.put(NSApiClientConstants.QUERYPARAM_START_ROW, "" + start); paramsmap.put(NSApiClientConstants.QUERYPARAM_RECORD_SIZE, "" + limit);

7-21Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 320: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

PersonList personList = nsApiClient.getDirectory().getPeople(paramsmap);if(personList.getPeople() != null) {for(Iterator iterator = personList.getPeople().iterator(); iterator.hasNext();) { Person portalPerson = (Person) iterator.next();portalPerson.setPersonURL(StringEscapeUtils.escapeXml(portalPerson.getPersonURL())); PortletURL editPersonURL = response.createRenderURL();editPersonURL.setParameter("personId", "" + portalPerson.getPersonId()); String firstNameUrl = "<a href='" + editPersonURL.toString() + "'>" + portalPerson.getFirstName() + "</a>"; String lastNameUrl = "<a href='" + editPersonURL.toString() + "'>" + portalPerson.getLastName() + "</a>";portalPerson.setFirstName(firstNameUrl);portalPerson.setLastName(lastNameUrl);recordList.add(portalPerson); }jsonMap.put("success", "true");jsonMap.put("results", personList.getTotalCount());jsonMap.put("rows", recordList); JSON json = (JSON) JSONSerializer.toJSON(jsonMap); String jsonStr = json.toString();

response.setContentType("text/plain");response.getPortletOutputStream().write(jsonStr.getBytes());response.getPortletOutputStream().flush(); } }

private ModelAndView addPersonData(@ModelAttribute("personData") Person person, ResourceRequest request, ResourceResponse response) throws Exception { Add Person from Form Data in Request Map jsonMap = newHashMap();try {Person Updateperson = nsApiClient.getDirectory().updatePerson(person);jsonMap.put("success", "true");jsonMap.put("successMsg", "Person Added/Updated Successfully");jsonMap.put("rows", Updateperson); JSON json = (JSON) JSONSerializer.toJSON(jsonMap); String jsonStr = json.toString();

response.setContentType("text/plain");response.getPortletOutputStream().write(jsonStr.getBytes());response.getPortletOutputStream().flush(); } catch (Exception e) {e.printStackTrace();jsonMap.put("success", "false");jsonMap.put("errorMsg", "Person Add/Update Failed : " + e.getMessage());

JSON json2 = (JSON) JSONSerializer.toJSON(jsonMap); String jsonStr2 = json2.toString();

response.setContentType("text/plain");response.getPortletOutputStream().write(jsonStr2.getBytes());response.getPortletOutputStream().flush(); }

returnnull; }

private void editPerson(RenderRequest request, RenderResponse response, Model model, int personId) {int person = personId; Map<String, Object> jsonMap = new HashMap<String, Object>();try {

7-22Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 321: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

Person persons = nsApiClient.getDirectory().getPersonById(person);persons.setPersonURL(StringEscapeUtils.escapeXml(persons.getPersonURL())); JSON json = (JSON) JSONSerializer.toJSON(persons); String jsonStr = json.toString();model.addAttribute("PersonData", jsonStr); } catch (Exception e) {e.printStackTrace(); } }

private String showAddPersonPage(RenderRequest request, RenderResponse response, Model model) { Person DummyPerson = newPerson();DummyPerson.setPersonURL(StringEscapeUtils.escapeXml(DummyPerson.getPersonURL())); JSON json1 = (JSON) JSONSerializer.toJSON(DummyPerson); String jsonStr1 = json1.toString();model.addAttribute("PersonData", jsonStr1);

return viewPageUpdate; }

public String editNormal(RenderRequest request, RenderResponse response, Model model) {try {super.editNormal(request, response, model); } catch(Exception e){e.printStackTrace(); }return editPage; }

public String editMinimized(RenderRequest request, RenderResponse response, Model model) {try {super.editMinimized(request, response, model); } catch(Exception e){e.printStackTrace(); }

return editPage; }

public String editMaximized(RenderRequest request, RenderResponse response, Model model) {try {super.editMaximized(request, response, model); } catch(Exception e){e.printStackTrace(); }return editPage; }

public String helpNormal(RenderRequest request, RenderResponse response, Model model) {try {super.helpNormal(request, response, model); } catch(Exception e){e.printStackTrace(); }return helpPage; }

public String helpMinimized(RenderRequest request, RenderResponse response, Model model) {try {super.helpMinimized(request, response, model); } catch(Exception e){e.printStackTrace(); }return helpPage;

7-23Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 322: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の開発

}

public String helpMaximized(RenderRequest request, RenderResponse response, Model model) {try {super.helpMaximized(request, response, model); } catch(Exception e){e.printStackTrace(); }return helpPage; }

private NSApiClient getNSApiClient() {return NSApiClientFactory.getInstance(); }}

MyJSRApplicationContext.xmlポー ト レ ッ ト 用の Spring アプ リ ケーシ ョ ン コ ンテキ ス ト XML。

<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http:www.springframework.org/schema/beans"xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance"xmlns:p="http:www.springframework.org/schema/p"xmlns:context="http:www.springframework.org/schema/context"xsi:schemaLocation=" http:www.springframework.org/schema/beans http:www.springframework.org/schema/beans/spring-beans-2.5.xsd http:www.springframework.org/schema/context http:www.springframework.org/schema/context/spring-context-2.5.xsd">

<beanid="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><propertyname="cache"value="true"/><propertyname="viewClass"value="org.springframework.web.servlet.view.JstlView"/><propertyname="prefix"value="/WEB-INF/jsp/"/><propertyname="suffix"value=".jsp"/></bean><context:annotation-config/><beanclass="org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping"><propertyname="interceptors"><beanclass="org.springframework.web.portlet.handler.ParameterMappingInterceptor"/></property></bean><beanid="MyJSRController"class="com.myjsr.MyJSRController"></bean></beans>

jsrportlet.propertiesnsAPI で使用する MyJSRerver の URL。

7-24Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 323: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

JSR ポー ト レ ッ ト コ ン ト ローラのコ ンパイル

(注) ク ラ ス タ環境でポー ト レ ッ ト が サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ン URL を参照する場合は、 URL を 「http://localhost:<port>/RequestCenter」 と し て指定し ます (<port> はク ラス タの各 ノード で使用するポー ト 番号)。 つま り 、 URL は 「http:<host_name>/RequestCenter」 と して指定し ないで く ださ い (<host_name> は Web サーバまたはク ラ ス タのいずれかのホ ス ト のコ ンピ ュータ名)。

#(Port number and host has to changed as per the application server).BASE_URL=http:localhost:8088/RequestCenter

Log4j.propertieslog4j.rootCategory=INFO,CONSOLE

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE}%-5p[%c{1}:%L]%m%n

jboss-deployment-structure.xml<jboss-deployment-structure> <deployment> <dependencies> <module name="javax.portlet" slot="main" export="true"/> <module name="org.apache.pluto.container.om" export="true"/> <module name="org.apache.pluto.container.driver" export="true"/> <module name="org.apache.pluto.tags" export="true"/> </dependencies> </deployment></jboss-deployment-structure>

JSR ポー ト レ ッ ト コ ン ト ローラのコ ンパイルポー ト レ ッ ト コ ン ト ローラ を コ ンパイルする と きは、 従属ラ イ ブ ラ リ を ク ラ スパスに含めます。 すべての ラ イ ブ ラ リ の リ ス ト については、 「ポー ト レ ッ ト の構造 と パ ッ ケージ化」 を参照し て く だ さ い。

ポー ト レ ッ ト の導入導入手順は、 使用する アプ リ ケーシ ョ ン サーバに よ って異な り ます。 一般的な注意点 と し て、JSR ポー ト レ ッ ト は通常の Web アプ リ ケーシ ョ ンの よ う に、 アプ リ ケーシ ョ ン サーバの管理コン ソールを使用し て導入で き ます。

JSR ポー ト レ ッ ト を導入する方法、 および導入後にポータル ページでポー ト レ ッ ト を使用する方法の詳細については、 『Cisco Prime サービ ス カ タ ロ グ (Service Catalog) Designer Guide』 を参照し て く だ さ い。

7-25Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 324: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 7 章 JSR ポー ト レ ッ ト を使用し た外部システムとの統合の開発

ポー ト レ ッ ト の導入

7-26Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 325: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

Cisc

C H A P T E R 8

外部デ ィ レ ク ト リ との統合

概要サービ ス カ タ ロ グ (Service Catalog) デ ィ レ ク ト リ 統合は、 一元化さ れたユーザ認証およびエン タープ ラ イ ズ デ ィ レ ク ト リ と の同期を実装する こ と に よ って、 セキ ュ リ テ ィ 管理を簡略化し、 ユーザの利便性 と 生産性を向上し ます。

サービ ス カ タ ロ グ (Service Catalog) では、 カ ス タ マーは (通常は LDAP プ ロ ト コルを使用して) 外部デ ィ レ ク ト リ と 統合し、 ユーザ情報を同期する こ と がで き ます。 こ の同期は、 ユーザが Order-on-behalf (OOB) で選択さ れた と き、 ま たは Person Lookup 時に起動されます。

シン グル サ イ ンオン (SSO) の統合に よ り 、 一元管理さ れたユーザ認証が可能にな り 、 個別のロ グ イ ン メ カニズムが不要にな り ます。 SSO イベン ト を有効にする と 、 サービ ス カ タ ロ グ(Service Catalog) が統合さ れてい る エン タープ ラ イ ズ ポータルにすでに ロ グ イ ン し てい る ユーザは、 ロ グ イ ン し直す必要があ り ません。 サービ ス カ タ ロ グ (Service Catalog) は SSO ツールを利用し てすべての Service Catalog URL を保護し、 認証を実行し ます。 サービ ス カ タ ロ グ(Service Catalog) で認証を正常に行 う には、 SSO ツールに よ り 個人の識別情報を HTTP ヘ ッダーま たは cgi ヘ ッ ダーを介し て、 毎回の認証で サービ ス カ タ ロ グ (Service Catalog) URL へ提供する必要があ り ます。 認証さ れる と 、 それら の情報をアプ リ ケーシ ョ ン データベース と 同期する こ と がで き ます。

SSO が有効でない場合は、 サービ ス カ タ ロ グ (Service Catalog) の ロ グ イ ン画面がすべてのユーザに表示さ れ、 ユーザは正し いユーザ名 と パス ワー ド の組み合わせを入力する こ と がで きます。 デフ ォル ト では、 こ れら の ク レデンシ ャルは内部データベースで認証されます。 ま たは、 外部シ ス テム (通常は LDAP デ ィ レ ク ト リ ) で認証する よ う 、 Directory Integration を設定する こ と も で き ます。 サービ ス カ タ ロ グ (Service Catalog) にア ク セスするすべてのユーザは、認証が正常に行われる よ う に、 こ の ソース内に存在し ている必要があ り ます。

Directory Integration Framework は、頻繁に導入さ れる SSO およびデ ィ レ ク ト リ サーバ製品に対し て、 Administration モジ ュールで使用で き る設定オプシ ョ ン を通じ て上記の機能を提供し ます。 フ レーム ワーク には、 定義済みの設定機能を補完可能なアプ リ ケーシ ョ ン プ ロ グ ラ ミ ング イ ン ターフ ェ イ ス (API) も含まれています。 プ ロ グ ラ マは API を使用し て追加の SSO ポータルやデ ィ レ ク ト リ サーバにア ク セスで き る だけでな く 、 サービ ス カ タ ロ グ (Service Catalog) と 外部デ ィ レ ク ト リ の間でユーザ情報が同期さ れる よ う 、 デフ ォル ト の動作を変更ま たは補完で き ます。

こ の章では、 Administration モジ ュールを使用し て サービ ス カ タ ロ グ (Service Catalog) に対してデ ィ レ ク ト リ 統合を設定する方法について説明し ます。 ま た、 有効な統合オプシ ョ ンのカ スタ マ イ ズで使用で き る公開 API と イ ン ターフ ェ イ スのセ ッ ト 、 カ ス タ ム コー ド を コ ンパイルおよび導入する ためのベス ト プ ラ ク テ ィ ス、 Administration モジ ュールを使用し てカ ス タ ム コード を設定する ための手順について も説明し ます。

8-1o Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 326: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

前提条件

デ ィ レ ク ト リ 統合の設定では、 次の こ と が必要です。

• 動作する サービ ス カ タ ロ グ (Service Catalog) の イ ン ス ト ール。

• デ ィ レ ク ト リ サーバが イ ン ス ト ールさ れ、 デ ィ レ ク ト リ に会社データ が入力されている こと 。 潜在的なすべてのユーザに対するデ ィ レ ク ト リ エン ト リ では、 マ ッ ピ ン グの定義 で説明さ れている よ う に、 統合処理で必要なフ ィ ール ド にマ ッ プ されるすべての属性についてヌル以外の値が含まれている必要があ り ます。

• 認証を行い、 サービ ス カ タ ロ グ (Service Catalog) へのア ク セス を許可する SSO シ ス テム(シン グル サ イ ンオン (SSO) が使用さ れる場合)。

• ユーザは、 「グ ローバル設定の管理」 機能が含まれた ロールで ロ グ イ ン し ます。 こ の機能は、 「Site Administrator」 ロールに自動的に含まれ、 「admin」 ユーザに割 り 当て られます。ただ し、 必要に応じ て、 Administration モジ ュールの Roles オプシ ョ ン を使用し て他の ロールま たはユーザに割 り 当て る こ と も で き ます。

(注) LDAP ブ ラ ウザにア ク セスする こ と を強 く 推奨し ます。

デ ィ レ ク ト リ統合を設定するための前提条件デ ィ レ ク ト リ 統合を設定する には、 SSO の現在の実装 (使用し てい る場合) および社内のデ ィレ ク ト リ サーバに関する有用な情報を入手し、 こ れら のシ ス テム を サービ ス カ タ ロ グ(Service Catalog) に統合する ための要件を文書化する必要があ り ます。 こ こ では、 こ の情報を収集する ためのワーク シー ト をい く つか示し ます。

こ れら のワーク シー ト は、 デ ィ レ ク ト リ /SSO 統合を設定し た り 、 統合を実装する前に解決すべき問題を特定し た り する のに必要な情報を収集する う えで役に立ち ます。 ま た、 デ ィ レ ク ト リ統合で必要な開発およびテ ス ト の時間を見積も る場合に も有用です。

データ ソースの定義

サービ ス カ タ ロ グ (Service Catalog) は、 ア ク セス さ れる個人データおよび組織データ を格納する各デ ィ レ ク ト リ に対し て 「データ ソース」 を定義し ます。 データ ソースの定義には、 外部デ ィ レ ク ト リ への接続で必要なすべての情報、 およびそのデ ィ レ ク ト リ か ら の抽出情報が含まれています。

各外部デ ィ レ ク ト リ に対し て 1 つのデータ ソース を定義する必要があ り ます。 た と えば、 開発と 実稼働で別のデ ィ レ ク ト リ を使用する こ と がで き ます。 ま た、 サービ ス カ タ ロ グ (Service Catalog) は LDAP デ ィ レ ク ト リ 照会をサポー ト し てお り 、 データ ソースは参照チェーン内の各デ ィ レ ク ト リ に対し て定義する必要があ り ます。

表 8-1 データ ソース定義テーブル

設定 値 説明 (Description)

Datasource Name

データ ソースの名前。 空白ま たは特殊文字は使用し ないで く だ さ い。

Datasource Description

データ ソースの説明 (オプシ ョ ン)。

8-2Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 327: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

[プ ロ ト コル(Protocol) ]

• LDAP 現時点でサポー ト さ れている プ ロ ト コルは LDAP だけです。 他のプ ロ ト コルを使用し てデ ィ レ ク ト リ 情報を格納する場合は、 こ の情報にア ク セスする ためのカ ス タ ム コー ド を作成する必要があ り ます。

Server Product • Sun™ ONE Directory

• Microsoft® Active Directory®

• IBM® Tivoli®

使用するデ ィ レ ク ト リ サーバ製品を選択し ます。 現時点でサーバがサポー ト さ れていない場合は、 サーバにア クセスする ためのカ ス タ ム コー ド を作成し、 デ ィ レ ク ト リ情報を抽出する必要があ り ます。

認証方式(Authentication Method)

• シンプル

• 匿名

• SASL

Simple はプレーン テキ ス ト のユーザ と パス ワー ド を表します。 SASL (Simple Authentication and Security Layer) も使用で き ますが、 SASL は Sun ONE Directory Server でのみ機能し ます。

接続 メ カニズム

• SSL

• 非 SSL

認証方法 と し て Simple ま たは SASL を選択し た場合のみ必要です。

暗号化さ れた情報を送信する には、 SSL を選択し ます。

BindDN バイ ン ド の識別名フ ィ ール ド 。 BindDN は、 サービ ス カ タロ グ (Service Catalog) がデ ィ レ ク ト リ 操作を実行する とき に LDAP サーバに接続する ために使用さ れます。

そのためにサービ ス アカ ウ ン ト を作成し ます。

こ のデータ ソース を外部認証の手順で使用する場合は、[Options] 領域に EUA Bind DN を指定し て こ の値を変更します。 詳細については、 外部ユーザ認証 (EUA) 操作を参照し て く だ さ い。

[パス ワー ド(Password) ]

認証で Simple ま たは SASL を選択し た場合に必要です。Bind DN に指定さ れたユーザのパス ワー ド です。 アカ ウ ント でパス ワー ド エージング を使用する場合は、 こ のパスワー ド を定期的に更新する必要があ り ます。

ホ ス ト LDAP デ ィ レ ク ト リ サーバの完全修飾 ド メ イ ン名ま たは IP ア ド レ ス。

部品番号 デ ィ レ ク ト リ サーバに接続する ためのポー ト 番号。 通常、SSL 以外のア ク セスにはポー ト 番号 389 を使用し ます。

ユーザ BaseDN

デ ィ レ ク ト リ 内の個人の検索を開始するデ ィ レ ク ト リ 。社内デ ィ レ ク ト リ には多 く のブ ラ ンチが含まれる こ と があ る ため、 ユーザ データ に対し てベース DN を指定するこ と に よ って、 デ ィ レ ク ト リ 検索が 適化さ れます。

AuthzID SASL 認証を選択し た場合に必要です。

表 8-1 データ ソース定義テーブル (続き)

設定 値 説明 (Description)

8-3Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 328: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

マ ッ ピングの定義

「マ ッ ピ ン グ」 は、 外部デ ィ レ ク ト リ か ら サービ ス カ タ ロ グ (Service Catalog) へデータ を どのよ う に転送する か、 と い う 指示を与え るルール セ ッ ト です。 こ れに よ り 、 デ ィ レ ク ト リ 内のソース属性 と 、 サービ ス カ タ ロ グ (Service Catalog) データベース内の ターゲ ッ ト フ ィ ール ド間がマ ッ ピ ン グ さ れます。 サービ ス カ タ ロ グ (Service Catalog) データベースがデ ィ レ ク ト リと 同期さ れる と き、 こ れら のルールを使用し て、 デ ィ レ ク ト リ のデータ を、 指定された ターゲ ッ ト フ ィ ール ド へ転送し ます。

同じ マ ッ ピ ン グ を複数のデ ィ レ ク ト リ (データ ソース) に適用で き ます。

マ ッ ピ ン グには、 ユーザ/個人のプ ロ フ ァ イル と 、 関連するすべてのエンテ ィ テ ィ (住所、 連絡先、 場所、 1 つ以上のグループ関係、 1 つ以上の組織単位 (OU) 関係、 1 つ以上の RBAC(ロールベース ア ク セス コ ン ト ロール) ロール関係など) が含まれます。

Optional Filter こ のフ ィ ルタは、 使用する他の検索フ ィ ルタ に追加さ れます。 こ のフ ィ ルタ を使用し て、 検索結果を効果的に変更で き ます。 フ ィ ルタ式はカ ッ コ で囲む必要があ り ます。た と えば、 次のフ ィ ルタ があ る と し ます。

(&(!(msExchHide=true)(ISC-GID=*)))

こ の場合、 msExchHide 属性が true で、 ISC-GID 属性が定義されている エン ト リ だけが返さ れます。

Security Certificate Name

接続 メ カニズムに SSL を選択し た場合に必要です。

証明書のエ イ リ ア ス名には、 スペースや特殊文字を使用し ないで く だ さ い。

証明書のデータ を入力する準備がで き ている こ と を確認し て く だ さ い。

Referral Datasource

1 つ以上のデータ ソース を照会用 と し て追加で き ます。データ ソース検索で結果が返って こ ない場合、 シ ス テムは照会用のデータ ソース も検索し ます。 照会は、 検索でのみサポー ト さ れてお り 、 バイ ンデ ィ ングではサポー トされていません。

循環照会は設定で き ません。 循環照会は、 あ るデータソースが照会用 と し て別のデータ ソース を持ってお り 、同時にそのデータ ソースが、 照会用 と し て元のデータソース を使用し ている も のです。 た と えば、 データ ソース A が照会用 と し てデータ ソース B を持ってお り 、 データ ソース B が照会用 と し てデータ ソース A を持ってい る場合です。

表 8-1 データ ソース定義テーブル (続き)

設定 値 説明 (Description)

デ ィ レ ク ト リ ユーザ データ マ ッ ピング Request Center ユーザ データ

8-4Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 329: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

個人のプ ロ フ ァ イルには、 7 個の必須フ ィ ール ド が含まれてお り 、 こ れら のフ ィ ール ド は以下のマ ッ ピ ン グ ワーク シー ト の 「必須」 セ ク シ ョ ンに リ ス ト さ れています。 これ ら のどのフ ィ ール ド について も値を提供し ていないデ ィ レ ク ト リ レ コー ド はイ ンポー ト で き ません。 その他のフ ィ ール ド で、 個人プ ロ フ ァ イルの一部になっている も の も マ ッ プで き ます。 詳細については、 『Cisco Prime Service Catalog 管理および操作ガ イ ド 』 の 「Organization Designer」 の章の「人員」 の項を参照し て く だ さ い。

個人プ ロ フ ァ イルの大半のフ ィ ール ド は、 Service Catalog の機能を動作させる ために使用さ れます。 マ ッ ピ ン グでは、 マ ッ プ さ れる属性が、 フ ィ ール ド に対し て適切な ソース値を提供し ている こ と を確認する必要があ り ます。 つま り こ れら のフ ィ ール ド に対し て、 フ ィ ール ド 名によ って示さ れる よ り も多 く の情報、 ま たはフ ィ ール ド 名に一致し ない情報を指定し ない よ う にし ます。

サービ ス カ タ ロ グ (Service Catalog) には、 標準の個人データ を拡張する フ ィ ール ド も含まれています。 こ れら のフ ィ ール ド は、 以下の表では 「拡張」 と し て記載さ れてお り 、 Organization Designer の Person 情報の [Extensions] ページに表示さ れます。 も頻繁に必要にな る拡張フ ィ ール ド の一部には意味のあ る名前 (た と えば、 会社コー ド や部門) が割 り 当て られていますが、 他のフ ィ ール ド の名前は Custom 1 か ら Custom 10 であ り 、 事前に考え られた意味を使用せずに、 自由に使用で き ます。 LDAP デ ィ レ ク ト リ に追加の個人情報があ り 、 Service Catalog で公開する必要があ る場合は、 こ の情報が含まれている属性を、 個人の拡張フ ィ ール ド の 1 つにマ ッ プ し ます。

以下のワーク シー ト の 「Directory Attribute」 カ ラ ムは、 個人プ ロ フ ァ イルのすべてのフ ィ ールド について値を挿入する必要があ り ます。 こ のフ ィ ール ド には、 デ ィ レ ク ト リ がデータ を提供し ます。 属性には次のいずれかを指定で き ます。

• デ ィ レ ク ト リ の属性名。 複数の属性を (オプシ ョ ンの リ テ ラルを付けて) 連結し、 フ ィ ール ド の値を構成する場合は複数の属性名。

• 「カ ス タ ム マ ッ ピ ン グ」、 およびそれに続 く 番号ま たは説明。 すべてのカ ス タ ム マ ッ ピ ン グは、 カ ス タ ム マ ッ ピ ン グに詳細を記述する か、 「Comments」 カ ラ ムに簡単に説明を記載する必要があ り ます。 カ ス タ ム マ ッ ピ ン グは、 正規表現の結果を属性に割 り 当て る こ と も、カ ス タ ム Java コー ド のモジ ュールを介し て実装する こ と も で き ます。 こ れら のマ ッ ピ ングの実装の詳細は、 マ ッ ピ ン グの設定に示し てあ り ます。

必須マ ッ ピング

表 8-2 必須マ ッ ピング フ ィ ールド説明テーブル

フ ィ ール ド コ メ ン ト

ロ グ イ ン ID サービ ス カ タ ロ グ (Service Catalog) で個人の ロ グ イ ン名 と し て使用さ れる固有識別子。

Person Identification

Person Identification は、 各個人に対し て一意の値を提供する属性にマ ッ プする必要があ り ます。 た と えば、 従業員 ID や社会保障番号が格納さ れている属性を指定し ます。 理想的には、 Login ID と Person Identification の両方に同じ属性をマ ッ プする必要があ り ます。 低限、 こ れら の 2 つのフ ィ ール ド は密接に関連付け る必要があ り ます。

電子 メ ール アド レ ス (Email Address)

8-5Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 330: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

オプシ ョ ンのマ ッ ピング

Home Organizational Unit

ホーム OU は必ず事業部門 と し ます (サービ ス チームにはし ません)。

[パス ワー ド(Password) ]

デ ィ レ ク ト リ サーバは通常、 パス ワー ド を返し ません。 ただ し こ のフ ィ ールド を使用し て、 新し いユーザのデフ ォル ト パス ワー ド など を作成で き ます。

表 8-3 オプシ ョ ンのマ ッ ピング フ ィ ールド説明テーブル

フ ィ ール ド コ メ ン ト

役職 (Title)

SSN (社会保障番号)

Birthdate マ ッ プ さ れる LDAP 属性の戻 り 値の型は、 long にする必要があ り ます。サービ ス カ タ ロ グ (Service Catalog) では他の形式はサポー ト されていません。

雇用日 (Hire Date)

マ ッ プ さ れる LDAP 属性の戻 り 値の型は、 long にする必要があ り ます。サービ ス カ タ ロ グ (Service Catalog) では他の形式はサポー ト されていません。

タ イ ム ゾーン ID(TimeZone ID)

マ ッ プ さ れる属性は、 次の形式のいずれかの値を返す必要があ り ます。

• GMT+- オフセ ッ ト

• Country/Language

2008 年 3 月以降、 一般的に使用さ れていた 3 文字の タ イ ム ゾーン指定 (東部標準時は 「EST」 など) は使用さ れな く な り ま し た。 上記の形式についてサポー ト さ れてい る値の リ ス ト は、 サポー ト さ れる タ イ ム ゾーン を参照し て く だ さ い。 戻 り 値が、 正し い形式のどれに も一致し ない場合、 サービス カ タ ロ グ (Service Catalog) はデフ ォル ト の タ イ ム ゾーン と し て PST を使用し ます。

ロ ケール ID(Locale ID)

マ ッ プ さ れた属性は、 次の形式で値を返す必要があ り ます。

language_COUNTRY

language は 2 文字の言語コー ド で、 country は 2 文字の国コー ド です。

Directory integration は次の ロ ケールをサポー ト し ています。

• en_US (米国英語)

• de_DE ( ド イ ツ語)

• es_ES (スペイ ン語)

• fr_FR (フ ラ ン ス語)

• ja_JP (日本語)

• zh_CN (簡体字中国語)

• zh_TW (繁体字中国語)

• Korean

表 8-2 必須マ ッ ピング フ ィ ールド説明テーブル (続き)

8-6Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 331: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

従業員コー ド(Employee Code)

スーパーバイ ザ(Supervisor)

こ のフ ィ ール ド はマネージ ャ の ID を表し ます。 詳細については、 [マネージ ャ の イ ンポー ト (Import Manager) ] 操作を参照し て く だ さ い。

注記 (Notes)

Company Street 1

Company Street 2

会社の所在都市

Company State

郵便番号

Company Country

建物

水準器

オフ ィ ス(Office)

パーテ ィ シ ョ ン

Personal Street 1

Personal Street 2

Personal City

Personal State

Personal Postal Code

Personal Country

職場の電話

自宅の電話

フ ァ ク ス (Fax)

携帯電話(Mobile Phone)

ポケ ッ ト ベル(Pager)

その他

Main Phone

プ ラ イ マ リ Phone (Primary Phone)

Primary Fax

Sales Phone

Support Phone

表 8-3 オプシ ョ ンのマ ッ ピング フ ィ ールド説明テーブル (続き)

フ ィ ール ド コ メ ン ト

8-7Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 332: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合を設定するための前提条件

Billing Phone

その他連絡先情報

会社コー ド 内線番号

部門 (Division) 内線番号

部門 内線番号

部署番号 内線番号

Cost Center 内線番号

Management Level

数値を返す必要があ り ます。 こ のフ ィ ール ド が Import Manager イベン ト で使用さ れた場合、 階層に従って Management Level が大き く な る よ う に し てく だ さ い。 た と えば、 Junior Engineer と Senior Engineer の 2 つの指定があ った場合、 Junior Engineer に対し て返さ れる Management Level は、 Senior Engineer の Management Level よ り も小さ く な る必要があ り ます。

地域 内線番号

Employee Type 内線番号

Location Code 内線番号

カ ス タ ム 1 内線番号

カ ス タ ム 2 内線番号

カ ス タ ム 3 内線番号

カ ス タ ム 4 内線番号

カ ス タ ム 5 内線番号

カ ス タ ム 6 内線番号

カ ス タ ム 7 内線番号

カ ス タ ム 8 内線番号

カ ス タ ム 9 内線番号

カ ス タ ム 10 内線番号

Organizational Unit List

こ のマ ッ ピ ング を使用し て、 個人を 1 つ以上の組織単位に関連付け ます。マ ッ ピ ングでは、 複数の値が返さ れる こ と があ り ます。 こ のフ ィ ール ド の場合、 サービ ス カ タ ロ グ (Service Catalog) は複数値の LDAP 属性に よ って返さ れたすべての値を使用し ます。 こ のフ ィ ール ド の入力は、 次の形式のいずれかにする必要があ り ます。

• Directory Integration API ド キ ュ メ ン ト の定義に従って複数値を返す Java ク ラ スの名前。

• 「::」 で区切った 1 つ以上の簡単なマ ッ ピ ング。 例 : ou::departmentNumber

• 次の よ う に、 「::」 で区切った 1 つ以上の式のマ ッ ピ ング expr:#memberOf#=(cn=(.*),cn=Users,dc=celosis,dc=com)?($1):Default:: expr:#memberOf#=(cn=(.*),ou=Users,dc=celosis,dc=com)?($1):Default

表 8-3 オプシ ョ ンのマ ッ ピング フ ィ ールド説明テーブル (続き)

フ ィ ール ド コ メ ン ト

8-8Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 333: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

カス タム マ ッ ピング

以下のワーク シー ト を使用し て、 カ ス タ ム マ ッ ピ ン グの要件を文書化で き ます。

.

統合イベン ト 、 操作、 および手順の定義統合イベン ト は サービ ス カ タ ロ グ (Service Catalog) と 外部デ ィ レ ク ト リ や SSO プ ロ グ ラ ム との間の イ ン ターフ ェ イ スです。 外部プ ロ グ ラ ム ま たはデ ィ レ ク ト リ にア ク セスする サービ ス カ タ ロ グ (Service Catalog) を使用し てい る と き だけの も のです。 こ れら の イベン ト は、 順次実行さ れる複数の操作に よ って構成さ れています。

イベン ト

サービ ス カ タ ロ グ (Service Catalog) は、 4 つのデ ィ レ ク ト リ 統合イベン ト をサポー ト し ています。

• 「ロ グ イ ン (Login)」 イベン ト は、 ユーザの ク レデンシ ャルが検証さ れ、 ユーザが サービス カ タ ロ グ (Service Catalog) に接続し た と き に発生し ます。 こ の イベン ト は、 ユーザが初に サービ ス カ タ ロ グ (Service Catalog) セ ッ シ ョ ン を開始し た と き に発生し ます。 ま た、セ ッ シ ョ ンが タ イ ムア ウ ト し (管理者が指定し た タ イ ムア ウ ト 期間が経過)、 再接続が必要な場合に も発生し ます。

• 「Person Lookup」 イベン ト は、 ユーザ情報が取得さ れる たびに発生し ます。 実際には、 次の 3 つの タ イ プの Person Lookup イベン ト があ り ます。

– 代理オーダーの個人検索 (Person Lookup for Order on Behalf) : あ る ユーザが他の個人の代わ り にサービ ス を要求し、 そのサービ スのカ ス タ マー と なっている個人を選択する必要があ り ます。

Group List Organizational Unit List と 同様です。

Role List Organizational Unit List と 同様です。 返さ れる ロールは、 シ ス テム定義ま たはユーザ定義のいずれかです。

シ ス テム定義ロールの場合、 名前は言語が米国英語の と き にブ ラ ウザに表示さ れる も の と 同一にする必要があ り ます。 他の言語はサポー ト さ れていません。 た と ば、 ユーザに 「My Services Executive」 ロールを関連付け る には、 こ の ロールが返さ れる必要があ り ます。

ユーザ定義ロールの場合、 こ の名前は、 ロールの作成時にユーザ言語で入力し た名前 と 完全に一致し ている必要があ り ます。

表 8-3 オプシ ョ ンのマ ッ ピング フ ィ ールド説明テーブル (続き)

フ ィ ール ド コ メ ン ト

表 8-4 カス タムのマ ッ ピング フ ィ ールド説明テーブル

フ ィ ール ド タ イ プ (Type) 要件

式 (Expression)

Java

式 (Expression)

Java

8-9Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 334: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

– Person Lookup for Service Form : サービ ス フ ォームに [Person] フ ィ ール ド が含まれ、こ れに よ ってユーザが他の個人をサービ ス データ の一部 と し て指定で き ます。

– Person Lookup for Authorization Delegate : サービ スの確認ま たは承認を行 う ユーザが、 他の個人を一時的な代理承認者 と し て指定する ために、 自身のプ ロ フ ァ イルの変更を要求し ます。

操作 (Operations)

さ ま ざ ま な種類の操作を実行する よ う 、 イベン ト を設定で き ます。 操作はそれぞれの イベン トご と に一連の手順で指定さ れ、 こ れに よ り 、 呼び出さ れる各操作の順序が決ま り ます。

デ ィ レ ク ト リ フ レーム ワーク には次の操作が含まれます。

• シン グル サ イ ンオン(SSO)は常に、「ロ グ イ ン(Login)」イベン ト の 初の手順です。SSO 操作は、ユーザの ロ グ イ ン名を識別し ます。

• External Authentication は SSO 操作の後に発生する か、 ま たは SSO を使用し ない場合は、デフ ォル ト の [Login] 画面の後に発生し ます。 外部認証はユーザの ロ グ イ ン名 と パス ワー ドを使用し て、 外部データ ソースに対し てユーザを認証し ます。

• Person Search は、 ユーザがデータ ソース上で検索を呼び出し た と き に ト リ ガーさ れます。Person Search はユーザの First Name と Last Name を使用し て、 一致し た項目の リ ス ト を出力し ます。

• [個人の イ ンポー ト (Import Person)] は、外部認証の後、ま たは SSO の後に発生する か、[個人検索(Person Search)] ダ イ ア ロ グ ボ ッ ク スで個人が選択さ れた後で発生し ます。Import Person は、検索さ れてい る個人、ま たはロ グ イ ン し てい る個人の ロ グ イ ン名を使用し、データソースに問い合わせて、個人をデータベースに イ ンポー ト し ます。

• Import Manager は、 個人の イ ンポー ト 後のみで発生し ます。 [マネージ ャ の イ ンポー ト(Import Manager) ] 操作は、 イ ンポー ト さ れた個人情報を使用し て、 こ のユーザのマネージ ャ を イ ンポー ト し ます。

各操作は、 カ ス タ ム コー ド イ ン ターフ ェ イ スの実装に よ ってカ ス タ マ イ ズで き ます。

次の 「 ト リ ガー順序」 は、 操作が ト リ ガーさ れる順序を示し ています。

8-10Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 335: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

図 8-1 ト リ ガー順序

ログイン イベン ト

デ ィ レ ク ト リ 統合の ロ グ イ ン イベン ト が設定さ れていない場合は、 デフ ォル ト で ロ グ イ ン画面が表示さ れ、 アプ リ ケーシ ョ ン データベースに対し て入力さ れた ク レデンシ ャル (ユーザ名 とパス ワー ド ) が検証さ れます。

デ ィ レ ク ト リ 統合イベン ト が有効になっている場合は、 初の手順 と し て、 次のいずれかの操作を使用し て Login イベン ト を設定で き ます。

• シン グル サ イ ンオン : すべてのユーザが SSO ベンダーを使用し て事前に認証されている社内環境では、 要求ヘ ッ ダーま たは CGI ヘ ッ ダーか ら ユーザの ロ グ イ ン ID を自動的に抽出し、 アプ リ ケーシ ョ ンの ロ グ イ ン画面を表示せずに透過な ロ グ イ ン を可能に し ます。

• 外部ユーザ認証 : アプ リ ケーシ ョ ンの ロ グ イ ン画面を表示し、 指定し た外部デ ィ レ ク ト リに対し て入力さ れた ク レデンシ ャルを検証し ます。 外部ユーザ認証は、 SSO 操作の後に も発生する こ と があ り ます。

• 混在モー ド 認証 : アプ リ ケーシ ョ ン サーバ ポー ト 経由の NTLM 認証を回避し ます。 DB クレデンシ ャル (ユーザ名 と パス ワー ド の両方) がアプ リ ケーシ ョ ン サーバ ポー ト 経由で渡さ れ、 Web サーバで NTLM 認証が有効になってい る場合は、 データベース認証が ト リガーさ れ、 データベース ユーザがセ ッ シ ョ ン を所有し ます。

EUA が有効で、 ユーザ名 と パス ワー ド の両方が渡さ れる と 、 LDAP 認証が ト リ ガーさ れます。 提供さ れるパス ワー ド は LDAP パス ワー ド であ る必要があ り 、 LDAP ユーザはセ ッシ ョ ン を所有し ます。

ユーザの ク レデンシ ャルが検証さ れる と 、 「ロ グ イ ン (Login)」 イベン ト には、 外部データベース と サービ ス カ タ ロ グ (Service Catalog) 間でユーザ データ を同期する ために、 次の操作が含まれる こ と があ り ます。

SSO

LoginScreen

ImportPerson

ExternalAuthentication

Login ID

(1) Login ID(2) Password

(1) Login ID(2) Password

Login IDImport

Manager

PersonDetails

(1) Login ID(2) Password(3) Knowledge that person is authenticated

Login ID

8-11Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

yuxi
Rectangle
if need to translation, please confirm.
Page 336: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

• 「Import Person」 操作がその次の手順です。 こ の操作は、 選択さ れた認証済みの個人プ ロフ ァ イルを サービ ス カ タ ロ グ (Service Catalog) に イ ンポー ト し、 データ と 同期し ます。

• 「Import Manager」 の操作は、 「Import Person」 手順の次の操作です。 こ の操作は選択し た個人のマネージ ャに関する情報を外部デ ィ レ ク ト リ か ら検出し て、 その情報を持つ サービ ス カ タ ロ グ (Service Catalog) データベース を更新し ます。

シングル Sign-On 運用

シン グル サ イ ンオン (SSO) ソ リ ューシ ョ ン と の統合では、 次の 2 つの メ カニズムやプ ロ ト コルのいずれかを使用で き ます。

1. Active Directory Services (ADS) /NT LAN Manager (NTLM) ベースの認証済みユーザ

– サービ ス カ タ ロ グ (Service Catalog) への ロ グ イ ンに、 サー ド パーテ ィ の IM/AM/SSO 製品は必要あ り ません。

– ロ グ イ ン し たユーザの、 POSIX 準拠 OS の ク レデンシ ャルが、 ブ ラ ウザに よ って サービ ス カ タ ロ グ (Service Catalog) に返さ れます。

– こ れは、 SSO の CGI ヘ ッ ダーに よ る統合 と も呼ばれます。

2. HTTP 要求ヘ ッ ダー

– こ れは非 ADS/NTLM 統合です。

– http プ ロ ト コルで要求ヘ ッ ダーを使用し て サービ ス カ タ ロ グ (Service Catalog) に ロ グイ ンする ために、 サー ド パーテ ィ の IM/AM/SSO 製品が必要です。

Portlet と Directory Integration の両方で SSO の使用を計画し ている カ ス タ マーについては、HTTP ヘ ッ ダー SSO のみがサポー ト されます。 Directory Integration フ レーム ワーク のカ ス タ ム SSO プ ラ グ イ ンはサポー ト さ れていません。

設定 値 説明 (Description)

Single Sign-On Type

HTTP Header

リ モー ト ユーザ

使用する SSO ソ リ ューシ ョ ンに応じ て タ イ プを指定し ます。ロ グ イ ン ID 情報にア ク セスで き る こ と を確認し て く だ さ い。

http 要求ヘ ッ ダー プ ロ ト コルを使用する場合は HTTP Header をチェ ッ ク し ます。

ADS/NTLM プ ロ ト コルを使用する場合は Remote User をチェ ッ ク し ます。

8-12Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 337: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

SSO の管理バイパス

一部のユーザにシン グル サ イ ンオンのバイパス を許可し て、 サービ ス カ タ ロ グ (Service Catalog) に直接ロ グ イ ンで き る よ う にする こ と が必要な場合があ り ます。 こ の機能は通常、次のユーザに と って必要です。

• シン グル サ イ ンオンの問題を調査する必要があ る シ ス テム管理者

• サービ ス設計およびタ ス ク計画を検証する ために、 複数ユーザのパフ ォーマン ス をエ ミ ュレー ト する必要があ る テ ス ト 担当者

サービ ス カ タ ロ グ (Service Catalog) には、 ユーザが ロ グ イ ン画面にア ク セス し、 ユーザ名 とパス ワー ド を入力で き る よ う な メ カニズムが用意さ れています。 newscale.properties フ ァ イル(RequestCenter.war にあ り ます) では 「BackDoorURLParam」 の値が指定さ れます。 た と えば、次の よ う にな り ます。

BackDoorURLParam=AdminAccess

ロ グ イ ン画面か ら サービ ス カ タ ロ グ (Service Catalog) にア ク セスする ために使用する URL には、 パラ メ ータ を含める必要があ り ます。 た と えば backDoorURLParam の上記の値について、サンプル URL は次の よ う にな り ます。

http://prod.RequestCenter.com:<app_server_port>/RequestCenter?AdminAccess=true

<app_server_port> はアプ リ ケーシ ョ ン サーバのポー ト 番号です。

会社のガ イ ド ラ イ ンに従って BackDoorURLParam の値の期限切れについてポ リ シーを設定し たり 、 サービ ス カ タ ロ グ (Service Catalog) への管理ア ク セスの制御についてポ リ シーを設定した り する こ と は、 管理者が行います。 管理 URL でア ク セスで き る のは、 対応する管理者設定に よ って 「Site Administrator」 ロールを付与さ れたユーザだけです。

Login ID Mapping

HTTP サ イ ンオンに対する Login ID マ ッ ピ ングは、 サ イ ン イ ンし てい る ユーザの ロ グ イ ン名が含まれてい る Http 要求ヘ ッダー内の名前 と 同じ名前にする必要があ り ます。

ADS/NTLM サ イ ンオンに対する Login ID マ ッ ピ ングは、 次の形式にする必要があ り ます。

#AnyDomain#\#LoginId#

た と えば celosis\#LoginId# は、 ユーザが 「celosis」 ド メ イ ンに制限さ れますが、 #AnyDomain#\#LoginId# は複数の ド メ イ ンでロ グ イ ンがで き ます。

複数の ド メ イ ン を使用し てい る場合、 LoginId は ド メ イ ン間で一意にする必要があ り ます。

リ ダ イ レ ク ト URL

通常、 ユーザが サービ ス カ タ ロ グ (Service Catalog) 製品にアク セスする社内ポータルの URL。 認証に失敗し た場合、 ま たはアプ リ ケーシ ョ ン ユーザ セ ッ シ ョ ンが タ イ ム ア ウ ト になった場合に、 ユーザは こ の URL に リ ダ イ レ ク ト さ れます。

8-13Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 338: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

図 8-2 管理設定

管理者は、 ユーザが URL に直接ア ク セス可能な こ と も確認する必要があ り ます。 以前は、 サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ンへのア ク セスが、 Web サーバまたはネ ッ ト ワーク設定パラ メ ータ を介し た SSO ソ フ ト ウ ェ アによ る ア ク セスに制限されていま し た。

Service Catalog サービ ス を再起動し て、 こ のパ ラ メ ータ に対する変更を有効にする必要があ ります。

外部ユーザ認証 (EUA) 操作

外部認証を使用し て、 すべての サービ ス カ タ ロ グ (Service Catalog) ユーザを社内デ ィ レ ク トリ で認証し ます。 こ の よ う にすれば、 ユーザ パス ワー ド の同期を心配する必要も あ り ません。

外部ユーザ認証は、 ロ グ イ ンの試行後に、 設定済みのシン グル サ イ ンオン操作ま たはアプ リケーシ ョ ンの ロ グ イ ン画面か ら行 う 必要があ り ます。 前の操作で取得し た LoginId は EUA 操作で使用で き ます。 ただ し、 こ のユーザを外部デ ィ レ ク ト リ で検証する場合には、 BindDN を見つけ られる よ う に、 追加情報が必要にな り ます。

EUABindDN 設定に よ り 、 アプ リ ケーシ ョ ンで、 サ イ ンオン し よ う と し ている ユーザのバイ ンド DN を自動的に推定で き ます。

表 8-5 EUABindDN 設定

設定 説明 (Description)

External Authentication EUABindDN

EUABindDN の形式は次の と お り です。

Prefix#LoginId#Suffix.

サービ ス カ タ ロ グ (Service Catalog) は #LoginId# を、 EUABindDN か ら サ イ ン イ ン し よ う と し ている ユーザの loginId に置き換え、 こ れを BindDN と し て認証で使用し ます。

た と えば、 EUABindDN を次の よ う にで き ます。

uid=#LoginId#,OU=People,dc=example,dc=com

こ の よ う な場合、 ユーザがサ イ ンア ッ プの論理画面で ロ グ イ ン ID とし て scarter を入力する と 、 サービ ス カ タ ロ グ (Service Catalog) は次の形式を使用し ます。

uid=scarter,OU=People,dc=example,dc=com

外部データ ソースにユーザをバイ ン ド し ます。

8-14Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 339: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

Person Lookup イベン ト

Person Lookup のすべての イベン ト (Order on Behalf、 Service Form、 Authorization Delegate) は同じ動作および設定オプシ ョ ン を使用し ます。

デ ィ レ ク ト リ 統合の イベン ト が有効でない場合、 [個人検索 (Person Search) ] ウ ィ ン ド ウは サービ ス カ タ ロ グ (Service Catalog) データベースにあ る個人情報を検索し ます。 個人が選択さ れた場合、 その情報が使用さ れます。 個人情報は更新されません。

デ ィ レ ク ト リ 統合イベン ト が有効になっている場合、 Person Lookup イベン ト は次の操作に よ って設定で き ます。

• 「Person Search」 操作が 初の手順になっている必要があ り ます。 こ の操作は外部デ ィ レ クト リ か ら個人情報を取得し、 その情報を [Person Search] ウ ィ ン ド ウに表示し ます。 人を選択する と 、 イベン ト に対し て指定さ れている マ ッ ピ ン グに従って、 その人についての追加情報が取得さ れ、 コール側の コ ンテン ツに提供されます。

• 「Import Person」 操作がその次の手順です。 こ の操作は、 選択さ れた個人のプ ロ フ ァ イルを外部デ ィ レ ク ト リ か ら サービ ス カ タ ロ グ (Service Catalog) へイ ンポー ト し、 データ を同期し ます。

• 「Import Manager」 の操作は、 「Import Person」 手順の次の操作です。 こ の操作は選択し た個人のマネージ ャに関する情報を外部デ ィ レ ク ト リ か ら検出し て、 その情報を持つ サービ ス カ タ ロ グ (Service Catalog) データベース を更新し ます。

Person Search 操作

Person Search 操作の設定に よ り 、 検索条件を満たす人を表示する ウ ィ ン ド ウの外観および動作が決ま り ます。

個人を サービ ス カ タ ロ グ (Service Catalog) に イ ンポー ト する ためには、 すべての必須フ ィ ール ド が正し い属性マ ッ ピ ン グ を持ち、 空白以外の値を返す必要があ り ます。 必須の値が 1 つでも指定さ れていない場合は、 デフ ォル ト で、 検索結果か ら対象 と な る人が除外されます。 代わり に、 そ う し た除外さ れる人を検索結果に含めて、 不完全な情報を持つ対象者 と し てフ ラ グ を付け る こ と がで き ます。

不完全な情報を持つ人は選択で き ません。

[個人検索 (Person Search) ] 操作の設定時

表 8-6 Person Search 操作

設定 値 コ メ ン ト

Search Selectivity • 不完全な情報を持つ人を表示 する

デフ ォル ト では、 不完全な情報を持つ人は検索結果ウ ィ ン ド ウか ら除外さ れます。

並び替え : • 名

• Last Name First Name

• First Name Last Name

• 姓

• No Sort

デフ ォル ト では姓で並び替え ます。

検索結果の 大表示数(Max Results)

デフ ォル ト では、 検索結果に表示さ れる行数は 1000 です。

8-15Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 340: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

* (アス タ リ スク) ワイルド カー ド文字と個人の検索

個人の検索を設定およびテ ス ト する場合には、 ワ イル ド カー ド 文字 と し てア ス タ リ ス ク (*)の使用に注意が必要があ り ます。

ユーザに対し て透過的にな る よ う 、 シ ス テムは検索文字列の 後に、 常に * を付けます。 し たがって、 ユーザが [姓 (Last Name) ] フ ィ ール ド に john と 入力し て [検索 (Search) ] を ク リ ックする と 、 デ ィ レ ク ト リ にあ る 「John」、 「Johnson」、 「Johnson」 など、 姓が john と い う 語で始ま るすべての個人が返さ れます。

[個人の検索 (Search Person) ] ダ イ ア ロ グ ボ ッ ク スの検索文字列に、 明示的に * の文字を入力する こ と も で き ます。 次に、 ワ イル ド カー ド 検索の使用例をい く つか示し ます。

• [Last Name] フ ィ ール ド に 「*」 を入力し て [Search] を ク リ ッ ク し ます。 シ ス テムは、 デ ィレ ク ト リ 内のすべての個人を返し ます。

• [姓 (Last Name) ] フ ィ ール ド に john* と 入力し て [検索 (Search) ] を ク リ ッ ク し ます。 これは実質的に、 [Last Name] フ ィ ール ド に john と だけ入力し た こ と と 同じ です。 シ ス テムは、 姓が 「john」 と い う 語で始ま るデ ィ レ ク ト リ 内のすべての個人を返し ます。

• [Last Name] フ ィ ール ド に *john と 入力し て [Search] を ク リ ッ ク し ます。 シ ス テムは、 姓に 「john」 と い う 語が含まれる (「John」、 「McJohn」、 「Johnson」 など) すべての個人を返し ます。

• [Last Name] フ ィ ール ド に *john*son と 入力し て [Search] を ク リ ッ ク し ます。 姓に 「john」と い う 語が含まれ、 それに続いて (直後でな く て も かまいません) 「son」 と い う 語が含まれているすべての個人が返さ れます。 具体的には、 「Johnson」、 「Mcjohnson」、「Upjohningson」 などです。

(注) 検索文字列内では、 * は常にワ イル ド カー ド 文字 と し て扱われます。 し たがって、 ユーザは文字 * を含むデ ィ レ ク ト リ の値を検索で き ません。 その他のすべての特殊文字は、 検索文字列で使用で き ます。

[Search Results] ウ ィ ン ド ウの設定

デフ ォル ト では、[人を選択し ます(Select Person)] ポ ッ プア ッ プの [検索結果(Search Results)] ウ ィ ン ド ウに、ユーザの名、姓の順で表示さ れます。Administration モジ ュールで使用で き る [個人(Person)] ポ ッ プア ッ プの設定を変更する と 、フ ィ ール ド を表示に追加で き ます。

8-16Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 341: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

[個人のインポー ト (Import Person) ] 操作

[個人の イ ンポー ト (Import Person)] 設定は、アプ リ ケーシ ョ ンの個人情報を、選択し た個人に関する 新の情報で更新する か([個人検索(Person Search)] イベン ト で [個人の イ ンポー ト (Import Person)] を使用する場合)、ま たは、ロ グ イ ン し た個人に関する 新情報で更新する か([ロ グ イ ン(Login)] イベン ト で [個人の イ ンポー ト (Import Person)] を使用する場合)を制御し ます。

[マネージャのインポー ト (Import Manager) ] 操作

サービ ス カ タ ロ グ (Service Catalog) では、 承認 と 確認を動的に割 り 当て る こ と がで き ます。た と えば、 要求の ド ル値が指定さ れた し き い値を超えている場合、 特定の部署の部長に よ る承認が必要な場合があ り ます。 別の要求では、 要求者の直属の上司に よ る確認が必要な場合があり ます。

こ う し たビジネ ス ルールを実装する には、 従業員のマネージ ャ (サービ ス を要求で き る人) が サービ ス カ タ ロ グ (Service Catalog) データベースに も存在し てい る必要があ り ます。 [マネージ ャ の イ ンポー ト (Import Manager) ] 操作は、 こ の要件 (従業員のデータ と と も にマネージ ャ(上司) のデータ を イ ンポー ト する こ と ) をサポー ト し ています。

[マネージ ャ の イ ンポー ト (Import Manager)] 操作の動作を制御する には:

• 従業員のマネージ ャ を指定する、 従業員デ ィ レ ク ト リ エン ト リ の属性を指定し ます。

• すべての従業員について、 指定さ れた属性に、 マネージ ャ を一意に特定する値が挿入されている こ と を確認し ます。 こ れは通常、 ロ グ イ ン ID ま たは電子 メ ール ア ド レ スに し ます。

• [スーパーバイ ザ (Supervisor) ] フ ィ ール ド のマ ッ ピ ング ([オプシ ョ ンの個人データ マ ッピ ン グ (Optional Person Data Mappings) ] で一覧表示) で、 マネージ ャ情報を保持する従業員データ に属性を指定し ます。 次の例では managerEmail 属性が使用さ れています。

表 8-7 Import Person 操作

設定 値 コ メ ン ト

更新 (Refresh) • Refresh Person Profile

• Refresh Period (Hours)

更新期間を空白のま ま、 ま たはゼ ロ にする と 、イ ンポー ト ご と に更新さ れます。 こ う する と 、サービ ス カ タ ロ グ (Service Catalog) データベースに外部デ ィ レ ク ト リ の 新の変更が常に反映される こ と が保証されます。 ま た、 後に更新されてか ら指定期間が経過し た と き だけ、 ユーザのプ ロ フ ァ イルを更新する よ う に指定する こと も で き ます。

Create Associations • Do Not Create Organizational Unit

• Do Not Create Group

デフ ォル ト では、 組織単位およびグループが作成されます (存在し ない場合)。 ロールはデ ィ レク ト リ 統合では作成で き ません。 ロールは、 個人を イ ンポー ト する前に存在し ている必要があり ます。

Remove Existing Associations

• 組織

• グループ

• ロール

デフ ォル ト では、 既存の組織単位、 グループ、ま たはロールの関連付けは削除し ません。

8-17Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 342: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

図 8-3 個人データ

• [マネージ ャ の イ ンポー ト (Import Manager) ] 設定で、 元の個人に対し て指定し た [スーパーバイ ザ (Supervisor) ] 属性に対応する値を持つマネージ ャ のデ ィ レ ク ト リ レ コー ド のフ ィ ール ド であ る、 「マネージ ャ ID のキー フ ィ ール ド 」 と し て指定し ます。

考え られる シナ リ オでは、 個人の上司を一意に識別する単一の属性が、 各個人のデ ィ レ ク ト リ レ コー ド に存在し ます。 た と えば、 従業員のデ ィ レ ク ト リ レ コー ド の属性 manager_email にマネージ ャ の電子 メ ール ID が含まれてい る と 仮定し ます。 マネージ ャ の他の情報はあ り ません。

別のシナ リ オ と し て、 個人の上司の DN に完全に一致する属性がデ ィ レ ク ト リ レ コー ド に含まれている場合が想定さ れます。 こ の属性の名前が manager であ る と 仮定し ます。

監視階層の利用も必要にな る こ と があ り ます。

た と えば、 次の組織図について考えてみま し ょ う 。

表 8-8 マネージャ ID のキー フ ィ ールド

ソ リ ューシ ョ ン

スーパーバイザ(Supervisor)

manager_email

マネージ ャ ID のキー フ ィ ール ド

email (マネージ ャ のデ ィ レ ク ト リ レ コー ド にあ る電子メ ール属性)

表 8-9 マネージャ ID のキー フ ィ ールド

ソ リ ューシ ョ ン

スーパーバイザ(Supervisor)

manager

マネージ ャ ID のキー フ ィ ール ド

dn (DN は特別な属性で、 検索文字列の前に付け られません)

8-18Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 343: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部ディレク ト リ との統合

統合イベン ト、 操作、 および手順の定義

図 8-4 組織図

直属の上司の承認を得なければならない要求の場合、ツ リーの 1 つ上のレベルに上がる、「相対的な」検索が必要です。

または、特定の要求で部長の承認が必要、といった場合には、「絶対的な」検索が必要です。現在の個人の地位が「部長」になるまで、人(マネージャ)がインポート されます。上記の例で、S. Person の場合、 他に 2 人の人が必要で、それは直属のマネージャ、A. Name と、 そのマネージャ、J. Doe (J. Doe は彼ら 3 人の部長)です。T.Tom の場合、インポート が必要なのは 1 回だけです。

絶対検索を使用している場合 (指定した役職の人物を見つけるまで、 連続的によ り高い権限レベルを持つすべてのマネージャをインポート )、 その役職に相当する数字を割り当てる必要があ り ます。

• 社内階層を分析し、 すべての管理職に対応する数値を割り当てます。

• 各従業員の管理レベルを指定する属性を、 従業員ディ レク ト リ エン ト リ で特定します。 たとえば、 「paygrade」 とい う属性を使用できます。

• すべての従業員について、 指定された属性に値が入っている こ と を確認します。

• [管理レベル (Management Level) ] フ ィールドのマッピング ([オプシ ョ ンの個人データマッピング (Optional Person Data Mappings) ] で一覧表示) で、 この情報を保持する属性を指定します。

• Import Manager の設定で、 最も高いレベルのマネージャを 「Maximum Level」 と してインポートするよ う入力します。

既知の値よ り も上位の上司と同期しない場合は、 検索の終わり を設定する こ とができます。複数の値は、 #value1#, #value2# のよ う な形式で指定できます。

たとえば、uid が「scarter」の人よ り も上位の上司はすべてインポート しないと します。その場合は、その人の Supervisor 属性がその人の電子メール([email protected])にマッピングされます。このケースでは、Search Terminator を #[email protected]# に設定します。ディ レ ク ト リ統合は、[email protected] で上司と してレコードが見つかる とすぐに、上司の同期を停止します。

制約条件が Maximum Level または Search Terminator のいずれかを満たすとすぐに、 上司の同期は停止します。

3623

52

H. JonesDirector

J. DoeDirector

A. NameProject Manager

T. TomSr Architect

S. PersonAnalyst 1

2

3

4

1 レベル 1 3 レベル 3

2 レベル 2 4 レベル 4

8-19Cisco Prime Service Catalog 11.0 アダプタ統合ガイド

Page 344: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

統合イベン ト 、 操作、 および手順の定義

カス タム コー ド操作

カ ス タ ム コー ド 操作を使用し て、 アプ リ ケーシ ョ ンでサポー ト さ れていないルーチン を呼び出し ます。 カ ス タ ム コー ド 操作は、 サービ ス カ タ ロ グ (Service Catalog) の操作を置き換えた り 、補完し た り で き ます。

表 8-10 [マネージャのイ ンポー ト (Import Manager) ] 操作

設定 値 コ メ ン ト

マネージ ャ ID のキー フ ィ ール ド

従業員のマネージ ャ (スーパーバイ ザ) を一意に識別するデ ィ レ ク ト リ 属性。

大レベル (Maximum Level)

絶対検索では、イ ンポー ト するマネージ ャの高管理レベルを示し ます。相対検索では、

イ ンポー ト する必要のあ る現在の従業員より も上位階層のマネージ ャの数を示し ます。

Search Mode • 絶対値 (Absolute)

• Relative

検索終了値 (Search Terminator)

マネージ ャ のキー フ ィ ール ド と 一致しすると 、 検索を終了する 1 つ以上の値。

Refresh options • Refresh Person Profile

• Refresh Period (Hours)

[個人プ ロ フ ァ イルの更新 (Refresh Person Profile) ] チェ ッ ク ボ ッ ク ス をオンにすると 、 Service Catalog 内のマネージ ャ のプ ロフ ァ イルが更新さ れます。 [更新期間(Refresh Period) ] を空白のま まにする と 、同じ人に対し て [マネージ ャの イ ンポー ト(Import Manager) ] イベン ト が発生する たびにプ ロ フ ァ イルが更新さ れます。 数値を指定する と 、 マネージ ャ のプ ロ フ ァ イルは指定期間内に一度だけ更新さ れます。

関連付け • Do Not Create Organizational Unit

• Do Not Create Group

[個人の イ ンポー ト (Import Person) ] の設定 と 同じ。

既存の関連付けの削除 • 組織

• グループ

• ロール

[個人の イ ンポー ト (Import Person) ] の設定 と 同じ。

表 8-11 カス タム コー ド操作

設定 値 コ メ ン ト

Custom Code Operation Type

• シングル サ イ ンオン

• 外部認証 (External Authentication)

• Import Person

• Import Manager

• Custom Code

• Person Search

マ ッ ピ ング名を提供する ために Java ク ラ ス を使用し ます。 Java ク ラ スの詳細については、Javadoc を参照し て く だ さ い。

8-20Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 345: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

デ ィ レ ク ト リ LDAP 統合の設定デ ィ レ ク ト リ 統合の設定には Administration モジ ュールのデ ィ レ ク ト リ オプシ ョ ン を使用する必要があ り ます。 基本的なプ ロ セスは次の と お り です。

• デ ィ レ ク ト リ 統合を有効に し ます。 Administration モジ ュールの [設定 (Settings) ] タ ブで [デ ィ レ ク ト リ 統合 (Directory Integration) ] を ク リ ッ ク し て、 デ ィ レ ク ト リ 統合を有効にし ます。

• データ ソース情報を設定し ます。 Administration モジ ュールの [デ ィ レ ク ト リ (Directories) ] タ ブの [データ ソース (Datasources) ] 領域を使用し て、 デ ィ レ ク ト リ サーバに接続するデータ ソース を設定し ます。 データ ソース名、 説明、 プ ロ ト コル、 サーバ製品、 認証方法などの情報が必要です。

• マ ッ ピ ン グ を設定し ます。 [Administration module's Directories] タ ブの [Mappings] 領域を使用し て、 アプ リ ケーシ ョ ン データ をデ ィ レ ク ト リ サーバ データ にマ ッ プ し ます。 マ ッ ピン グに よ り 、 ユーザや個人の全プ ロ フ ァ イルおよび関連するすべてのエンテ ィ テ ィ が更新さ れます。 こ れら のエンテ ィ テ ィ には住所、 連絡先、 場所、 1 つ以上のグループ関係、 1 つ以上の組織単位 (OU) 関係、 1 つ以上の ロール関係があ り ます。

• イベン ト を設定し ます。 Administration モジ ュールの [デ ィ レ ク ト リ (Directories) ] タ ブの [イベン ト (Events) ] 領域を使用し て、 デ ィ レ ク ト リ 統合の動作を設定し ます。 [ロ グ イ ン(Login) ] イベン ト と [個人検索 (Person Lookup) ] イベン ト は、 シングル サ イ ンオン(SSO)、 エン ド ユーザ認証 (EUA)、 個人の イ ンポー ト 、 マネージ ャ の イ ンポー ト 、 および個人検索などの操作を含むよ う に設定で き ます。

• 必要に応じ て、 ク ラ イ アン ト を カ ス タ マ イ ズする ために、 関連エンテ ィ テ ィ と のカ ス タ ム コー ド イ ン ターフ ェ イ スの設定を行います。 こ れには、 デ ィ レ ク ト リ の Java ク ラ ス属性マ ッ ピ ン グ、 デ ィ レ ク ト リ サーバ API、 および個人の イ ンポー ト などがあ り ます。

デ ィ レ ク ト リ統合の有効化

デ ィ レ ク ト リ 統合を有効にする には:

ステ ッ プ 1 管理権限を持つアカ ウ ン ト を使用し て ロ グ イ ン し、 Administration モジ ュールを選択し ます。

ステ ッ プ 2 [Settings (設定) ] タ ブを ク リ ッ ク し ます。

ステ ッ プ 3 [デ ィ レ ク ト リ 統合 (Directory Integration) ] の横の [オン (On) ] を ク リ ッ ク し ます。

ステ ッ プ 4 [カ ス タ マ イ ゼーシ ョ ン (Customizations) ] 画面の下部で [更新 (Update) ] を ク リ ッ ク し ます。

こ れで、 デ ィ レ ク ト リ 統合が有効にな り ま し た。 (「デ ィ レ ク ト リ 統合の有効化」 を参照)。

8-21Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 346: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

図 8-5 デ ィ レ ク ト リ統合の有効化

1 [Administration] モジ ュール 3 デ ィ レ ク ト リ 統合の設定

2 [設定 (Settings) ] タ ブ

1

2

3

8-22Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 347: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

デ ィ レ ク ト リ統合の設定

Administration モジ ュールの [Directories] タ ブを使用し て、 デ ィ レ ク ト リ 統合の多数の設定を行います。

図 8-6 [Directory Integration] 領域

デ ィ レ ク ト リ 統合を設定する には :

ステ ッ プ 1 管理権限を持つアカ ウ ン ト を使用し て ロ グ イ ン し ます。

ステ ッ プ 2 ド ロ ッ プダ ウ ン メ ニ ューか ら、 [Administration] を選択し ます。

ステ ッ プ 3 [デ ィ レ ク ト リ (Directories) ] タ ブを ク リ ッ ク し ます。

[デ ィ レ ク ト リ 統合 (Directory Integration) ] ページが表示さ れます。 デ ィ レ ク ト リ 統合が有効に さ れる と 、 こ れら の設定が有効にな り ます。

データ ソース情報の設定

以降の項では、 データ ソース特有の情報設定について解説し ます。 タ ス ク には次の も のがあ ります。

• データ ソースの追加ま たは編集 - まだデータ ソースが存在し ない新し い イ ン ス ト ール環境に、 データ ソース を追加する必要があ り ます。 データ ソースが存在する場合は、 それを編集で き ます。

• SSL 接続用のサーバ証明書の追加 - これが必要なのは、接続方式 と し て [SSL] を選択し た場合だけです。

• 参照データ ソースの追加 - 必要な場合のみ。

• 接続のテ ス ト - 接続で き る こ と を確認する ために、 必ず接続をテ ス ト する必要があ り ます。

1 [Administration] モジ ュール

2 [デ ィ レ ク ト リ (Directories) ] タ ブ

1

2

8-23Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 348: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

データ ソースの追加または編集

データ ソースは少な く と も 1 つ定義し て く だ さ い。 新し いデータ ソース を追加する には、 次の手順を実行し ます。

図 8-7 データ ソースの追加または編集

ステ ッ プ 1 Administration モジ ュールを選択し てか ら [デ ィ レ ク ト リ (Directories) ] タ ブを ク リ ッ ク し て、[デ ィ レ ク ト リ 統合 (Directory Integration) ] ページに移動し ます。

ステ ッ プ 2 ページ ナビゲータ で [データ ソース (Datasources) ] オプシ ョ ン を ク リ ッ ク し ます (まだ選択されていない場合)。

ステ ッ プ 3 [追加 (Add) ] を ク リ ッ ク し ます。 新し いデータ ソース を追加する代わ り に、 既存のデータソース を編集する には、 リ ス ト で目的のデータ ソースの横にあ る [編集 (Edit) ] を ク リ ッ ク します。

[データ ソース設定 (Datasource Configuration) ] 領域が拡大し ます。

ステ ッ プ 4 [データ ソース名(Datasource name)]、[データ ソースの説明(Datasource Description)]、および必要な設定に入力し ます。隣接領域のすべての設定にア ク セスする には、 を ク リ ッ ク し ます。こ れら の設定の詳細については、データ ソース ワーク シー ト を参照する か、ま たは次の項を参照し てく だ さ い。

ステ ッ プ 5 [更新 (Update) ] を ク リ ッ ク し ます。

1 [データ ソース (Datasources) ] オプシ ョ ン 3 [データ ソースの編集 (Edit Datasource) ] ボ タ ン

2 [Add Datasource] ボ タ ン 4 [Update] ボ タ ン

1

3

4

2

8-24Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 349: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

接続情報の設定

データ ソースへの接続に使用する接続プ ロ ト コルおよびユーザ ク レデンシ ャルを指定し ます。

図 8-8 接続情報の設定

証明書の設定

接続方式 と し て [SSL] を選択し た場合は、 デ ィ レ ク ト リ 統合シ ス テムの証明書を指定する必要があ り ます。

図 8-9 セキュ リ テ ィ 証明書の設定

証明書を設定する には :

ステ ッ プ 1 Administration モジ ュールを選択し てか ら [デ ィ レ ク ト リ (Directories) ] タ ブを ク リ ッ ク し て、[デ ィ レ ク ト リ 統合 (Directory Integration) ] ページに移動し ます。

ステ ッ プ 2 ページ ナビゲータ で [データ ソース (Datasources) ] オプシ ョ ン を ク リ ッ ク し ます (まだ選択されていない場合)。

ステ ッ プ 3 証明書を追加するデータ ソースの横にあ る [編集 (Edit) ] を ク リ ッ ク し ます。

ステ ッ プ 4 [証明書の追加 (Add Certificate) ] を ク リ ッ ク し ます。

1 [Add certificate] ボ タ ン 3 [Certificate Type] ド ロ ッ プダ ウ ン メ ニ ュー

2 [Certificate Name] フ ィ ール ド 4 [Certificate Value] フ ィ ール ド

1

2 3

4

8-25Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 350: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

ステ ッ プ 5 証明書に名前を付け ます。 証明書のエ イ リ ア ス名には、 スペースや特殊文字を使用し ないで くだ さ い。

ステ ッ プ 6 [証明書タ イ プ (Certificate Type) ] ド ロ ッ プダ ウ ン メ ニ ューか ら、 証明書タ イ プを選択し ます。

ステ ッ プ 7 証明書フ ィ ール ド に証明書の値 (VeriSign などのベンダーか ら取得) を貼 り つけます。

ステ ッ プ 8 [更新 (Update) ] を ク リ ッ ク し ます。

照会用データ ソースの設定

複数のデータ ソース を設定し た場合は、 選択し たデータ ソースに対し て、 照会用シ ス テム と してデータ ソース を指定する こ と がで き ます。 こ の方法では、 選択されたデータ ソースに対し てシ ス テムが検索を実行する たびに、 照会用のすべてのデータ ソース も検索されます。

照会用データ ソースは、 一致が見つかる まで指定さ れた順序で検索されます。 検索条件で 1 つ以上のレ コー ド が返さ れた と き に、 一致が見つかった こ と にな り ます。

照会用データ ソースは、 通常、 デ ィ レ ク ト リ 情報が複数のデ ィ レ ク ト リ 間で分割される場合に使用さ れます。 た と えば、 企業の複数の事業部で、 それぞれ独自のデ ィ レ ク ト リ を保持する こと がで き ます。

図 8-10 照会用データ ソースの設定

照会用データ ソース を設定する には:

ステ ッ プ 1 Administration モジ ュールの [Directory Integration] ページに移動し ます。

ステ ッ プ 2 ページ ナビゲータ で [データ ソース (Datasources) ] オプシ ョ ン を ク リ ッ ク し ます (まだ選択されていない場合)。

ステ ッ プ 3 照会用データ ソース を設定するデータ ソースの横にあ る [編集 (Edit) ] を ク リ ッ ク し ます。

ステ ッ プ 4 [Add Referral] を ク リ ッ ク し ます。

ステ ッ プ 5 [照会用データ ソース (Referral Datasource) ] 領域が表示さ れます。 [データ ソース名(Datasource Name) ] ド ロ ッ プダ ウ ン メ ニ ューか らデータ ソース名を選択し、 [マ ッ ピ ング名(Mapping Name) ] ド ロ ッ プダ ウ ン メ ニ ューか ら マ ッ ピ ング名を選択し ます。

ステ ッ プ 6 [更新 (Update) ] を ク リ ッ ク し ます。

1 [照会の追加 (Add Referral) ] ボ タ ン 3 [Mapping Name] ド ロ ッ プダ ウ ン メ ニ ュー

2 [Datasource Name] ド ロ ッ プダ ウ ン メニ ュー

1

2 3

8-26Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 351: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

接続のテス ト

必要な設定手順をすべて完了する と 、 次はデ ィ レ ク ト リ 統合の接続をテ ス ト で き ます。

図 8-11 接続のテス ト

接続をテ ス ト する には:

ステ ッ プ 1 Administration モジ ュールの [Directory Integration] ページに移動し ます。

ステ ッ プ 2 ページ ナビゲータ で [データ ソース (Datasources) ] オプシ ョ ン を ク リ ッ ク し ます (まだ選択されていない場合)。

ステ ッ プ 3 データ ソース名の左にあ るチェ ッ ク ボ ッ ク ス をオンに し て、 テ ス ト するデータ ソース を選択します。

ステ ッ プ 4 [接続のテ ス ト (Test Connection) ] を ク リ ッ ク し ます。

接続が成功し た場合は [テ ス ト ス テータ ス (Test Status) ] カ ラ ムに OK と 表示さ れ、 接続が失敗し た場合は が表示さ れます。

マ ッ ピングの設定

Administration モジ ュールの [デ ィ レ ク ト リ (Directories) ] タ ブで [マ ッ ピ ン グ (Mappings) ] 領域を使用し て、 サービ ス カ タ ロ グ (Service Catalog) データ をデ ィ レ ク ト リ サーバ データ にマ ッ プ し ます。

マ ッ ピ ン グ を設定する には、 「マ ッ ピ ン グの設定」 を参照し、 次の手順に従います。

1 [テ ス ト 接続 (Test Connection) ] ボ タ ン 2 [テ ス ト ス テータ ス (Test Status) ] カ ラ ム

1

2

8-27Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 352: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

図 8-12 マ ッ ピングの設定

ステ ッ プ 1 Administration モジ ュールの [デ ィ レ ク ト リ 統合 (Directory Integration) ] ページに移動し ます。

ステ ッ プ 2 ページ ナビゲータ で、 [マ ッ ピ ング (Mappings) ] オプシ ョ ン を ク リ ッ ク し ます。

ステ ッ プ 3 新し いマ ッ ピ ン グ を追加する には、 [追加 (Add) ] を ク リ ッ ク し、 既存のマ ッ ピ ング を編集する には リ ス ト の目的のマ ッ ピ ン グの横にあ る [編集 (Edit) ] を ク リ ッ ク し ます。

[マ ッ ピ ング設定 (Mapping Configuration) ] 領域が拡大し ます。

ステ ッ プ 4 マ ッ ピ ン グ ワーク シー ト に記載さ れている要件に基づいて、 マ ッ ピ ン グの名前、 説明、 および属性を設定し ます。 [Person Data] セ ク シ ョ ンに表示さ れた、 先頭にア ス タ リ ス ク (*) が付いている マ ッ ピ ン グは必須です。 ボ タ ン を ク リ ッ ク し てオプシ ョ ンのマ ッ ピ ン グ を設定し、[Optional Person Data Mappings] セ ク シ ョ ン を展開する こ と も で き ます。

ステ ッ プ 5 [更新 (Update) ] を ク リ ッ ク し ます。

マ ッ ピ ン グ フ ィ ール ド には、 次に示すよ う に、 シンプル、 複合、 式、 Java のマ ッ ピ ング タ イプを指定で き ます。

1 [マ ッ ピ ン グ (Mappings) ] オプシ ョ ン 3 [マ ッ ピ ン グの編集 (Edit Mapping) ] ボ タ ン

2 [マ ッ ピ ン グの追加 (Add Mapping) ] ボ タ ン 4 [Update] ボ タ ン

1

32

4

8-28Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 353: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

マ ッ ピング タ イプ

こ こ では、 指定可能なマ ッ ピ ン グ タ イ プについて説明し、 正し いサンプルのマ ッ ピ ン グ を示します。 ま た、 式マ ッ ピ ン グの例について も説明し ます。 次の表に、 サポー ト されている マ ッ ピン グ タ イ プを示し ます。

簡易マ ッ ピングと複合マ ッ ピング

次の表は、 必須フ ィ ール ド に対する簡易マ ッ ピ ン グ と 複合マ ッ ピ ン グの例を示し ています。

表 8-12 マ ッ ピング タ イプ

マ ッ ピ ング タ イ プ 説明 (Description)

シンプル 1 つのデ ィ レ ク ト リ 属性を フ ィ ール ド にマ ッ プ し ます。 こ れは単純な 1 対 1 マ ッ ピ ングです。 次に例を示し ます。

Person Field: First Name

Directory Attribute: givenName

Composite 属性の組み合わせを フ ィ ール ド にマ ッ ピ ング し ます。 # を使用し て各属性名を区切 り ます。 マ ッ ピ ングは リ テ ラルを含むこ と がで き ます。 次に例を示し ます。

Person Field: Email

Directory Attributes: #givenName#_#sn#@#domain#.com

式 (Expression) 式では、 正規表現 と パターン マ ッ チング を使用し てマ ッ ピ ングが得られます。 詳細については、 式マ ッ ピ ング を参照し て く だ さ い。

Java Class 簡易、 複合、 ま たは式の各マ ッ ピ ングで目的 と する機能を提供で き ない場合は、 Java マ ッ ピ ング を使用し ます。 こ れには、 Java ク ラ ス を記述し、 アプ リ ケーシ ョ ン サーバ上の適切なデ ィ レ ク ト リ に、 コ ンパイルし た ク ラス フ ァ イルを配置する、 と い う 作業が含まれます。 詳細については、 Java ク ラ ス マ ッ ピ ング を参照し て く だ さ い。

表 8-13 マ ッ ピングの例

個人デー タ デ ィ レ ク ト リの値

名 givenName

姓 sn

ロ グ イ ン ID uid

Person Identification uid

電子 メ ール ア ド レ ス (Email Address) #givenName#_#sn#@#company#.com

Home Organizational Unit OU

[パス ワー ド (Password) ] Uid

8-29Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 354: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

式マ ッ ピング

式マ ッ ピ ン グ を使用する と 、 式が一致するパターン (正規表現) 基づいて、 値を条件付き で属性に割 り 当て る こ と がで き ます。 シ ス テムの式マ ッ ピ ン グは Perl5 Regular Expression Language を使用し、 Java の条件演算子に似た構文 と 組み合わせて、 一致させるパターン を指定し ます。構文 :

expr:<expression>=(<patternlist>)?(<valuelist>):<default>

説明 :

次に例を示し ます。

expr:<expression>= (<pattern1>|<pattern2>…<patternn>)?(<value1> | <value2> <valuen>):<default>

<expression> が <pattern1> に一致する と 、 <value1> を返し ます。

<expression> が <pattern2> に一致する と 、 <value2> を返し ます。

<expression> がどのパターンに も一致し ない場合、 <default> を返し ます。

各要素 (expression、 pattern、 ま たは value) には、 # 記号で区切って、 デ ィ レ ク ト リ の属性名を含める こ と がで き ます。 た と えば、 パターン を 「#givenName#_#sn#」 の よ う に指定で き ます。 こ こ で #givenName# と #sn# はどち ら も属性名です。

ま た、 括弧を使用し て一連のパターン要素を 1 つの要素にグループ化で き ます。 括弧内のパターン と 一致し た場合、 $1、 $2 などの形式で後方参照を使用し て、 以前に一致し たパターン を参照する こ と がで き ます。

式データ マ ッ ピングの例

デ ィ レ ク ト リ 統合に適用さ れる式の簡単な利用法 と し て、 デ ィ レ ク ト リ 内で コー ド 化されている 1 つ以上の値を、 よ り わか り やすい記述、 ま たは広範なカテゴ リ に変換する こ と がで き ます。 た と えば、 サービ スに よ っては、 従業員 と 請負業者の区別が必要にな る こ と があ り ます。costCenter 属性は、 「000000」 が請負業者用です。 し たがって、 [Employee Type] フ ィ ール ド に次の式を適用する こ と がで き ます。

expr:#costCenter#=(000000)?(Contractor):Employee

も う ひ と つの式の利用法は、 ソース属性が空白の場合に、 フ ィ ール ド にデフ ォル ト 値を入力する こ と です。 こ れは多 く の場合に、 デ ィ レ ク ト リ データ が標準化で き る までの 「応急処置」 とな り ます。 ま た、 た と えば外部の請負業者に部門が割 り 当て られない場合などの標準にする こと がで き ます。 次の式を [Home OU] フ ィ ール ド (マ ッ ピ ングの必須フ ィ ール ド ) に適用する こと がで き ます。

expr:#DeptLevel2#=(.+)?(#DeptLevel2#):Contractors

こ の式では、 該当する場合に DeptLevel2 属性を使用する こ と も、 ユーザの Home OU に対し て事業部門のデフ ォル ト を 「Unknown」 にする こ と も で き ます。

expr 式マ ッ ピ ングが使用さ れる こ と を示すためのプレ フ ィ ッ ク スです。

<expression> 一致させる ための式です。

<patternlist> パイ プ (|) で区切られたパターンのセ ッ ト です。

<valuelist> パターンのセ ッ ト に対応する、 パイ プ (|) で区切られた値のセ ッ ト です。 それぞれの値は、 式が対応するパターン と 一致し た場合の戻 り 値を指定し ます。

<default> <patternlist> のパターンが <expression> と 一致し なかった場合に使用さ れる戻 り値です。

8-30Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 355: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

同様に、 こ の式を使用し て、 一連の入力値を、 異な る戻 り 値のセ ッ ト に変換で き ます。 これは、 case 文、 ま たはネ ス ト さ れた if/then 構造 と 同じ です。 た と えば、 次の式を [Locale ID] フ ィ ール ド に適用し、 ユーザの ロ ケーシ ョ ンに基づいて、 そのユーザに言語を割 り 当て る こ とがで き ます。

expr:#country#=(United States | Germany)?(en_US | de_DE):en_US

ユーザの国が United States の場合は、 言語を米国英語に設定し、 Germany の場合は言語を ド イツ語に設定し ます。 その他の国の場合は、 言語を米国英語に設定し ます。

正規表現では、 ソース属性の長さ、 および英数字で構成されている かど う かをチェ ッ ク で き ます。 た と えば、 郵便番号が数値データ タ イ プ と し て格納さ れ、 先行ゼ ロ が切 り 捨て られる こ とがあ り ます。 先行ゼ ロ を回復する には、 [Company Postal Code] フ ィ ール ド に次の よ う な式を適用で き ます。

expr:#postalCode#=(^[1-9][0-9][0-9][0-9]$)?(0#postalCode#):#postalCode#

postalCode 属性がち ょ う ど 4 桁の場合は、 属性に先行ゼ ロ の値を追加し ます。 こ れに よ り 、 郵便番号 1701 は 01701 に変換さ れ、 特定のパターンに一致し ないすべての ソース値は、 変更されずにそのま まにな り ます。

正規表現の同様の使用法 と し て、 属性値の形式が、 予想し たパターン と 一致する かをチェ ッ クする、 と い う も のがあ り ます。 有効なマネージ ャのユーザ ID は、 必ず 2 文字 と 、 それに続 く一連の数字で構成さ れている場合について考えてみま し ょ う 。 た と えば、 有効な ID は fd1024 や ID3839 と な り ます。 次の式を使用で き ます。

expr:#manager#=(cn=([a-zA-Z][a-zA-Z][0-9]+),.*)?($1):None

式、 パターン、 ま たは戻 り 値で属性を使用で き ます。

expr:#sn#, #givenname#=(Smith.*|Doe, John)?(All Smiths|Only John):Others

expr:#sn#, #givenname#=(Smith.*|Doe, John)?(#givenname#|Only John):Others

パターン と 照合する ためにあ ら ゆ る試行を作成する前に、 Doe、 Jane などのデ ィ レ ク ト リ レコー ド の姓および名が 1 つの文字列に組み合わ さ れます。

パターンの一部を抽出する には、 括弧および後方参照を組み込む と 役立ち ます。 た と えば個人が所属し ている組織は、 識別名 (dn) 属性内に組み込まれる こ と が よ く あ り ます。

dn: cn=plee,ou=Corporate,dc=InfoSys,dc=com

[Home Organizational Unit] フ ィ ール ド にマ ッ プ される式は、 次の よ う な形式にな り ます。

expr:#dn#=((cn=[^,]+,ou=([a-zA-Z]+),dc=InfoSys,dc=com)?($1):Default

戻 り 値 「Corporate」 は後方参照値 $1 で、 こ れは 初の括弧 ([a-zA-Z]+) 内の式で照合し たパターンに相当し ます。

複数のフ ィ ール ド が含まれている オーバーロー ド 属性を解析する ために、 後方参照変数の使用が必要にな る こ と があ り ます。 た と えば、 1 つの属性に、 個人の勤務先住所 (ビル名、 階数(レベル)、 オフ ィ ス など) を含める こ と が可能です。

location=Corporate Headquarters-Fifth Floor-Office #5F

異な る後方参照変数を、 次の値 と し て使用する と 、 同じパターン を使用し て、 式内で 3 つの要素を照合する こ と がで き ます。

Office Building expr:#Location#=(([^-])+-([^-])+-(.*))?($1): Unknown

Building Level expr:#Location#=(([^-])+-([^-])+-(.*))?($2): Unknown

Cubic Location expr:#Location#=(([^-])+-([^-])+-(.*))?($3): Unknown

8-31Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 356: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

Java ク ラス マ ッ ピング

デ ィ レ ク ト リ データ を フ ィ ール ド にマ ッ プする ためのカ ス タ ム Java ク ラ ス を実装する には、Java プ ロ グ ラ ミ ング を よ く 理解し、 Java 開発環境が用意さ れている必要があ り ます。

すべてのカ ス タ ム マ ッ ピ ン グ ク ラ スは、 「デ ィ レ ク ト リ 統合でのカ ス タ ム コー ド の使用」(P.8-37) のガ イ ド ラ イ ンに従っています。 マ ッ ピ ング ク ラ スは IEUIAttributeMapping イ ン ターフ ェ イ ス を実装する必要があ り ます。

開発者は以下のガ イ ド ラ イ ンに従って、 カ ス タ ム コー ド モジ ュールをテ ス ト およびイ ン スト ールする必要があ り ます。

1. 適な Java IDE を イ ン ス ト ールし、 カ ス タ ム マ ッ ピ ング コー ド を開発する ためのプ ロ ジ ェク ト をセ ッ ト ア ッ プ し ます。

2. 要件を満たすよ う にカ ス タ ム コー ド フ ァ イルを編集し ます。

3. コ ンパイルし ます。

4. カ ス タ ム Java ク ラ スは、 Service Catalog サービ スがア ク セスで き る よ う に、 サービ ス カ タロ グ (Service Catalog) の Web アーカ イ ブ (war) に イ ン ス ト ールする必要があ り ます。RequestCenter.war/WEB-INF/classes にデ ィ レ ク ト リ を作成し、 パ ッ ケージ と 一致する よ うに し ます。 こ の よ う なデ ィ レ ク ト リ は通常、 次の よ う な名前にな り ます。

com/newscale/client/<clientname> (com/newscale/client/aib など)。

5. CustomMapping.class フ ァ イルを、 前の手順で作成し たデ ィ レ ク ト リ に コ ピーし ます。

6. Service Catalog サービ ス を再起動し ます。

7. ク ラ ス フ ァ イルの完全修飾名を Mapped Attribute と し て指定し、 フ ィ ール ド に値が挿入される よ う に し ます。

8. デ ィ レ ク ト リ テ ス ト 機能を使用し て、 カ ス タ ム コー ド をテ ス ト し ます。

9. ソース を適切な リ ポジ ト リ に保存し ます。

マ ッ ピングのテス ト

マ ッ ピ ン グ テ ス ト 機能を使用し て、 自身のデータ マ ッ ピ ン グが正し く 設定さ れている こ と 、およびデ ィ レ ク ト リ サーバか ら正し い値を取得する こ と をテ ス ト し ます。

データ マ ッ ピ ン グ テ ス ト 機能の使用には、 次の処理が含まれます。

• データ マ ッ ピ ン グ テ ス ト 機能を有効にする

• データ マ ッ ピ ン グ テ ス ト コ ン ト ロールの使用

デ ィ レ ク ト リ マ ッ プ テス ト 機能の有効化

デ ィ レ ク ト リ マ ッ プのテ ス ト 機能を有効にする には、 「マ ッ ピ ン グ テ ス ト の有効化」 を参照し、次の手順に従って く だ さ い。

8-32Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 357: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

図 8-13 マ ッ ピング テス ト の有効化

ステ ッ プ 1 Administration モジ ュールの [Settings] タ ブを ク リ ッ ク し て [Settings] ページを表示し ます。

ステ ッ プ 2 ページ ナビゲータ で、 [デバ ッ グ (Debugging) ] オプシ ョ ン を ク リ ッ ク し ます。

[Debug Settings] ページが表示さ れます。

ステ ッ プ 3 [デ ィ レ ク ト リ マ ッ プテ ス ト (Directory Map Testing) ] 設定の横にあ る [オン (ON) ] を ク リ ック し ます。

ステ ッ プ 4 [更新 (Update) ] を ク リ ッ ク し ます。

データ マ ッ ピ ン グ テ ス ト 機能が有効にな り ます。 [Data Mapping] タ ブにア ク セスする と 、「マ ッ ピ ン グ テ ス ト コ ン ト ロール」 に示すよ う に、 次の追加機能が表示さ れます。

• [テ ス ト するデータ ソースの選択 (Choose a Datasource for Testing) ] ド ロ ッ プダ ウ ン メニ ュー

• 取得 (Fetch)

• ク リ ア (Clear)

• テ ス ト 値 (Test Values)

1 [Debugging] オプシ ョ ン 3 [Update] ボ タ ン

2 デ ィ レ ク ト リ マ ッ プ テ ス ト の設定

32

1

8-33Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 358: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

データ マ ッ ピング テス ト コ ン ト ロールの使用

図 8-14 マ ッ ピング テス ト コ ン ト ロール

データ マ ッ ピ ン グ テ ス ト コ ン ト ロールの使用方法

ステ ッ プ 1 [Mapping] ページが表示さ れていない場合は、 [Mappings] を ク リ ッ ク し ます。

ステ ッ プ 2 テ ス ト する マ ッ ピ ン グの横にあ る [編集 (Edit) ] を ク リ ッ ク し ます。

ステ ッ プ 3 [テ ス ト するデータ ソースの選択 (Choose a Datasource for testing) ] ド ロ ッ プダ ウ ン メ ニ ューから目的のデータ ソース を選択し ます。

1 [Mappings] オプシ ョ ン 4 [Fetch] ボ タ ン

2 [Edit (編集) ] ボ タ ン 5 [Test Values] カ ラ ム

3 [Choose a Datasource for testing] ド ロ ッ プダ ウ ン メ ニ ュー 6 [Test summary] 領域

1

2

3 45

6

8-34Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 359: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

ステ ッ プ 4 [テ ス ト 値 (Test Values) ] カ ラ ムにテ ス ト 値を入力し ます。 簡易、 複合、 Java、 および式の各マ ッ ピ ン グ を使用で き ます。

ステ ッ プ 5 [Fetch] を ク リ ッ ク し ます。

ステ ッ プ 6 [Test Values] カ ラ ムにテ ス ト 値が表示され、 ページの下部に結果の概要が示さ れます。

(注) [Fetch] に よ り 値が返さ れる のは 1 つのデータ ソースのみで、 照会先は検索さ れません。 照会先の検索が統合さ れている と デバ ッ グが難し いため、 便宜上その よ う になっています。

ステ ッ プ 7 [取得 (Fetch) ] ボ タ ンの右にあ る [ ク リ ア (Clear) ] を ク リ ッ ク し て、 希望する マ ッ ピ ングが設定さ れる まで、 新し い値を さ ら に試し ます。

デ ィ レ ク ト リ統合イベン ト の設定

Administration モジ ュールの [Directories] タ ブで [Events] 領域を使用し て、 次の イベン ト に対するデ ィ レ ク ト リ 統合の動作を設定し ます。

• ロ グ イ ン (Login)

• Person Lookup for Order on Behalf

• Person Lookup for Service Form

• Person Lookup for Authorization Delegate

イベン ト を設定する には、 「イベン ト の設定」 を参照し、 次の手順に従います。

ステ ッ プ 1 Administration モジ ュールの [Directory Integration] ページに移動し ます。

ステ ッ プ 2 ページ ナビゲータ の [イベン ト (Events) ] を ク リ ッ ク し、 [イベン ト (Events) ] ページを表示し ます。

ステ ッ プ 3 設定する イベン ト の タ イ プの横にあ る [編集 (Edit) ] を ク リ ッ ク し ます。

[Event Configuration] 領域が表示さ れます。

ステ ッ プ 4 [イベン ト ス テータ ス (Event Status) ] ド ロ ッ プダ ウ ン メ ニ ューか ら [有効 (Enabled) ] を選択し、 イベン ト を有効に し ます。

ステ ッ プ 5 [Add step] を ク リ ッ ク し て手順を追加し、 選択し た イベン ト が発生し た と き にシ ス テムで開始さ れる よ う に し ます。

ステ ッ プ 6 追加し た手順に関連付け る操作を選択し ます。

• SSO や EUA など、 い く つかの操作は一部の イベン ト タ イ プに適用で き ませんが、 こ の メニ ューではすべての操作を使用で き ます。

ステ ッ プ 7 [オプシ ョ ン (Options) ] を ク リ ッ ク し て、 選択し た操作に関連付け る オプシ ョ ン を設定し ます。 [Options] 領域が表示されます。 [オプシ ョ ン (Options) ] 領域は、 選択し た操作に よ って異な り ます。 使用で き る操作、 およびその操作のオプシ ョ ンについては、 次の項で詳し く 説明します。

ステ ッ プ 8 関連付け る オプシ ョ ン を設定し ます。 使用で き る操作および操作の設定用のオプシ ョ ンの詳細は、 こ の章のデ ィ レ ク ト リ イベン ト に関する項を参照し て く だ さ い。

ステ ッ プ 9 [Update] を ク リ ッ ク し、 追加する各手順および操作に対し て、 こ れら の手順を繰 り 返し ます。

8-35Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 360: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ LDAP 統合の設定

図 8-15 イベン ト の設定

1 [Events] オプシ ョ ン 5 [Operation] ド ロ ッ プダ ウ ン メ ニ ュー

2 編集 (Edit) 6 オプシ ョ ン

3 [Event Status] ド ロ ッ プダ ウ ン メ ニ ュー 7 [更新 (Update) ]

4 [ス テ ッ プの追加 (Add step) ]

12

3

45 6

7

8-36Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 361: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

デ ィ レ ク ト リ統合でのカス タム コー ドの使用デ ィ レ ク ト リ 統合フ レーム ワーク は、 「Login」 および 「Person Lookup」 イベン ト の柔軟性を利用し、 カ ス タ マ イ ズで き る よ う 設計さ れています。

Administration モジ ュールの [Directories] タ ブでは、 すべての イベン ト に対する標準操作を使用で き ます。 その よ う な標準の操作 と し ては、 SSO、 External User Authentication、 Import Person、Import Manager、 および Person Search などがあ り ます。

こ れら の標準操作ではビジネ ス シナ リ オを満たせない場合、 [Directories] タ ブには、 カ ス タ ム Java コー ド を実行する ための イ ン ターフ ェ イ ス も用意さ れています。 こ のカ ス タ ム コー ド は、こ の章に記載さ れた イ ン ターフ ェ イ スに準拠し ている必要があ り 、 サービ ス カ タ ロ グ (Service Catalog) が公開し てい る API を使用し て、 すべてのカ ス タ マ イ ズ ソ リ ューシ ョ ン を開発する必要があ り ます。

以下に、 イベン ト の操作を カ ス タ マ イ ズで き る シナ リ オの有効な使用例を示し ます。

デ ィ レ ク ト リ 統合カ ス タ ム コー ド フ レーム ワーク では、 外部データ ソースのレ コー ド か ら個人ま たはユーザ プ ロ フ ァ イルの特定のフ ィ ール ド に対する、 複雑な取得ロ ジ ッ ク を提供する よう 実装可能な イ ン ターフ ェ イ ス も定義さ れます。

デ ィ レ ク ト リ 統合の Public API およびイ ン ターフ ェ イ スには次の も のが含まれています。

• カ ス タ ム コー ド 操作イ ン ターフ ェ イ ス。 デ ィ レ ク ト リ 統合の操作を カ ス タ マ イ ズする ために使用し ます。

• カ ス タ ム Java ク ラ ス マ ッ ピ ング イ ン ターフ ェ イ ス。 レ コー ド か ら外部データ ソースの特定の属性を取得する場合に、 カ ス タ マ イ ズ さ れた取得を提供し ます。

• デ ィ レ ク ト リ サーバ API。 外部データ ソースで照会ま たは認証を行い、 レ コー ド を取得する ために使用し ます。

• 個人の イ ンポー ト /更新 API。 サービ ス カ タ ロ グ (Service Catalog) データベースの個人属性を更新する ために使用し ます。

一般的なカ ス タ ム コー ド プ ロ ジ ェ ク ト には、 次の タ イ プのア ク テ ィ ビテ ィ が含まれています。

• カ ス タ ム コー ド の必要性を確認する。

• Administration モジ ュールの [デ ィ レ ク ト リ (Directories) ] タ ブを設定し て、 カ ス タ ム コード で使用さ れるデータ ソース を含める。 該当する場合は、 カ ス タ ム コー ド で使用する可能性のあ る マ ッ ピ ン グ を含める。

表 8-14 使用例

状況 対策

HttpServletRequest に よ る SSO ヘ ッ ダー入力の形式を解析で きない

ベンダー と SSO と の統合をサポー ト する ために、 ユーザの ク レデンシ ャルを取得する カ ス タ ム コー ド SSO 操作を提供する。

サービ ス カ タ ロ グ (Service Catalog) 以外の Web サービ ス またはデータベースでユーザを認証する

カ ス タ ム コー ド External Authentication 操作を提供する。

会社の メ イ ン ユーザ リ ポジ ト リが、 LDAP デ ィ レ ク ト リ 以外のデータベースにあ る

カ ス タ ム コー ド External Authentication、 およびカ ス タ ム コー ド Import Person 操作を提供する。

8-37Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 362: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

• カ ス タ ム コー ド を開発する。 公開 API、 およびデ ィ レ ク ト リ 統合タ ス ク用にシ ス コ か ら提供さ れた イ ン ターフ ェ イ スについて理解する必要があ り ます。

• カ ス タ ム コー ド を ビル ド および導入する。

• カ ス タ ム コー ド を使用する よ う 、 Administration モジ ュールの [Directories] タ ブを設定する。

次の 「デ ィ レ ク ト リ 統合の操作」 に、 デ ィ レ ク ト リ 統合の操作を詳し く 示し ます。

標準操作 と カ ス タ ム コー ド 操作の混在 と 照合、ま たは置換も、デ ィ レ ク ト リ 統合フ レーム ワークでサポー ト さ れています。次の表に示すよ う に、 サービ ス カ タ ロ グ(Service Catalog) は、1 つの イベン ト で さ ま ざ ま な操作の組み合わせをサポー ト し ています。独自にカ ス タ マ イ ズ し た コー ドと 、こ れら の イ ン ターフ ェ イ ス を実装しやす く する よ う 設計された、サービ ス カ タ ロ グ(Service Catalog) の公開 API を使用で き ます。

カ ス タ ム コー ド の設計および開発エンジニアは、 デ ィ レ ク ト リ 統合フ レーム ワーク、 公開 API、 およびカ ス タ ム コー ド イ ン ターフ ェ イ スについて理解する こ と が重要です。 こ れら については、 こ の章で詳し く 説明し ます。

次の表 8-16は、 カ ス タ ム コー ド 操作の メ ソ ッ ド 、 イベン ト 、 および操作タ イ プ間の関係を表しています。 次の表 8-16に記載さ れていない組み合わせはサポー ト さ れていません。

表 8-15 デ ィ レ ク ト リ統合の操作

操作 目的 入力 出力

シングル サ イ ンオン ユーザの ロ グ イ ン名を識別する

HttpServletRequest ロ グ イ ン名(Login Name)

外部認証 (External Authentication)

外部データ ソースでユーザを認証する

ロ グ イ ン名 (Login Name) [パス ワー ド (Password) ]

ユーザの認証

Person Search 名ま たは姓が一致する個人の リ ス ト を取得する

姓および名 個人の リ ス ト

Import Person 外部データ ソースから サービ ス カ タ ログ (Service Catalog) データベースに個人を イ ンポー ト する

ロ グ イ ン名 (Login Name) イ ンポー ト された個人情報(managerID も含む)

Import Manager 外部データ ソースから サービ ス カ タ ログ (Service Catalog) データベースに、 マネージ ャ ま たはマネージ ャ のチェーンを イ ンポー ト する

イ ンポー ト さ れた個人情報(マネージ ャ情報も含む)

マネージ ャがシス テムに イ ンポー ト される

8-38Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 363: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

カス タム コー ド操作イン ターフ ェ イス

イベン ト 内で設定さ れている操作のカ ス タ ム実装を提供する場合、 「カ ス タ ム コー ド 操作イ ンターフ ェ イ ス」 を実装する必要があ り ます。

カ ス タ ム コー ド 操作イ ン ターフ ェ イ スは、 特定の操作が ト リ ガーされた と き に呼び出されるコールバ ッ ク メ ソ ッ ド を定義し ます。 どの メ ソ ッ ド が呼び出さ れる かは、 操作で選択された操作タ イ プに よ って決ま り ます。 詳細については、 カ ス タ ム コー ド 操作の メ ソ ッ ド 、 イベン ト 、およびタ イ プの表を参照し て く だ さ い。 カ ス タ ム コー ド の操作イ ン ターフ ェ イ スで定義されるすべての メ ソ ッ ド は、 同じパターンに従っています。

パラ メータ

以下の リ ス ト で、 「**」 は次のいずれかの操作タ イ プで置き換え る必要があ り ます。

• IEUISignon

• IEUIPersonSearch

1. **OperationDTO : こ のオブジ ェ ク ト には、 Administration モジ ュールの [Directories] タ ブで操作を どの よ う に設定し たか、 についての情報が含まれています。 これには、 マ ッ ピ ングおよびデータ ソースの情報が含まれます。

2. **OperationContext : Context オブジ ェ ク ト を使用し て、 メ ソ ッ ド の呼び出し で情報を共有し ます。 デ ィ レ ク ト リ 統合フ レーム ワーク は、 1 つの コ ンテキ ス ト オブジ ェ ク ト に情報を格納し ますが、 こ れは同じ HttpServletRequest の呼び出し の と き に他の コ ンテキ ス ト オブジ ェ ク ト で使用する こ と がで き ます。

a. setLocalContextObject および getLocalContextObject を使用する と 、 結果の一部にはな らないカ ス タ ム情報を設定で き ます。

b. get**Result を使用する と結果オブジェ ク ト が取得されます。 結果オブジェ ク ト には、 イベン ト 要求全体で発生した こ と に関するすべての情報が含まれています。 結果には、 製品化されたイ ンポー ト でサポー ト されている情報が含まれています。 LocalContext オブジェ クト を使用して、 製品化された操作の実装で予期しなかったオブジェ ク ト を格納し ます。

表 8-16 カス タム コー ド操作

イベン ト処理のタ イ プ(Operation Type)

イ ン ターフ ェ イス(Interface) 方法

ロ グ イ ン (Login) SSO ISignOn getCredentials

EUA ISignOn authenticate

Import Person ISignOn importPerson

Import Manager ISignOn importManager

Custom Code ISignOn performCustom

Person Search for :

• 代理オーダー (Order OnBehalf)

• 承認の委任 (AuthorizationDelegate)

• サービ ス フ ォーム (ServiceForm)

Person Search IPersonSearch getCredentials

Import Person IPersonSearch importPerson

Import Manager IPersonSearch importManager

Custom Code IPersonSearch performCustom

8-39Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 364: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

3. Request : HttpServletRequest です。

4. **ImportAPI : こ のオブジ ェ ク ト を使用し て個人を イ ンポー ト し ます。 詳細については、Javadoc を参照し て く だ さ い。

5. **LDAPAPI : こ の API を使用し て LDAP ク エ リ ーを作成し ます。 詳細については、 Javadoc を参照し て く だ さ い。

リ ターン (Return)

**Result。 カ ス タ ム タ ス ク を実行する と 、 API は、 有効な戻 り タ イ プに結果を挿入し て返し ます。 関連する プ ロパテ ィ を更新し た後、 OperationContext か ら取得さ れる、 同じ結果オブジ ェク ト が返さ れます。 結果オブジ ェ ク ト の新し い イ ン ス タ ン スが返される と 、 予期し ない動作が生じ る こ と があ り ます。

次の表 8-17は、 予想さ れる入力ま たは戻 り と 、 各コールバ ッ ク メ ソ ッ ド のパ ラ メ ータ にあ る オブジ ェ ク ト の関係を示し ています。

実装ク ラ ス を コ ンパイルする には、 すべての メ ソ ッ ド を実装する必要があ り ます。 制限されている操作タ イ プのみを カ ス タ マ イ ズする場合、 その操作タ イ プに関連し ない メ ソ ッ ド の、 空の実装を提供する必要があ り ます。

た と えば、 カ ス タ マ イ ズ さ れた SSO のみを対象にする場合は、 getCredentials メ ソ ッ ド の完全な実装を提供し ます。 その他のすべての メ ソ ッ ド については、 ヌルを返し ます。

シ ス テムはイ ン ターフ ェ イ スの イ ン ス タ ン ス をプールで き ます。 ま た、 複数のス レ ッ ド か ら同時にア ク セスする こ と がで き ます。 し たがって、 イ ン ス タ ン スはス テー ト レ スに し てお く こ とを推奨し ます。

カ ス タ ム コー ド の操作イ ン ターフ ェ イ スには、 次の 2 つの タ イ プがあ り ます。

• ISignOn はロ グ イ ンのカ ス タ マ イ ズで使用されます。

• IPersonSearch は [個人検索 (Person Lookup) ] ダ イ ア ロ グ ボ ッ ク スのカ ス タ マ イ ズで使用さ れます。

表 8-17 カス タム コー ド コールバッ ク メ ソ ッ ドの入力

情報 オブジ ェ ク ト /プロパテ ィ

HttpServletRequest 要求

ロ グ イ ン名(Login Name)

• IEUISignOnOperationContext .IEUISignOnOperationResult.ssoLoginId

• IEUIPersonSearchOperationContext .IEUIPersonSearchOperationResult.ssoLoginId

First Name と LastName

• First Name : IEUIPersonSearchOperationContext.firstNameSearchString

• Last Name : IEUIPersonSearchOperationContext.lastNameSearchString

個人の リ ス ト IEUIPersonSearchOperationContext.EUIPersonSearchOperationResult.SearchPersonList.SearchPersonList is a collection with all elements of type IExtPersonDTO

イ ンポー ト さ れた個人情報

• IEUISignOnOperationContext .IEUISignOnOperationResult.ImportedPersonExtDTO

• IEUIPersonSearchOperationContext.EUIPersonSearchOperationResult.ImportedPersonExtDTO

マネージ ャ ID(Manager Id)

IEUIPersonSearchOperationContext.EUIPersonSearchOperationResult.ImportedPersonExtDTO.PersonDTO.managerID

8-40Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 365: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

Login イベン ト カス タム コー ド イン ターフ ェ イス : ISignOn

こ れは、 ロ グ イ ン イベン ト SSO、 EUA、 Import Person、 Import Manager、 およびカ ス タ ム コー ド 操作を カ ス タ マ イ ズする ために、 カ ス タ ム コー ド が実装する必要のあ る イ ン ターフ ェイ スです。

SSO 操作のカス タ マイズ

SSO カ ス タ ム コー ド 操作の主な目的は、 Remote NTML/IWA の タ イ プが Sign-On の場合に、Sign-On、 ま たは CGI ヘ ッ ダー (CGI 変数 REMOTE_USER) か ら ロ グ イ ン名を取得し、 返すこと です。

表 8-16 に概要を示すよ う に、 ISignOn イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 getCredentials メ ソ ッ ド の完全な実装を提供し て く ださ い。 詳細な仕様については、 ISignOn イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

以下に、 getCredentials メ ソ ッ ド を実装する ためのガ イ ド ラ イ ン を示し ます。 こ れら のすべてのガ イ ド ラ イ ン を実装する必要はあ り ません。 以下の概説では取 り 上げていませんが、 カ ス タ マイ ズに よ っては追加の要件が存在する場合があ り ます。

• IEUISignOnOperationContext か ら IEUISignOnOperationResult を取得し ます。 こ れは、 こ のイ ン ターフ ェ イ スか ら必ず返さ れる オブジ ェ ク ト です。

• パラ メ ータ要求を使用し て処理し、 個人の ロ グ イ ン名が得られる よ う に し ます。

• in-product デ ィ レ ク ト リ のル ッ ク ア ッ プ機能を使用し た場合は、IEUISignOnOperationResult.setSsoLoginId(<login id>) を コールする と LoginId が返さ れます。

• IEUISignOnOperationResult.setSsoRedirectUrl("<any url or error page>") を コールし ます。 これは、 SSO の障害時にユーザを リ ダ イ レ ク ト する ために使用し ます。

IEUIEventSSOOperationDTO.getEventSsoDTO() で取得さ れた SSO 操作のオプシ ョ ンはヌルになる可能性があ り ます。 カ ス タ ム コー ド 操作に対し ては、 Administration モジ ュールが SSO オプシ ョ ン を受け入れないか ら です。

Login イベン ト に対する EUA 操作のカス タ マイズ

EUA カ ス タ ム コー ド 操作の主な目的は、 外部シ ス テムに対し てユーザを認証する こ と です。

表 8-16 に概要を示すよ う に、 ISignOn イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 authenticate メ ソ ッ ド の完全な実装を提供し て く だ さい。 詳細な仕様については、 ISignOn イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

以下に、 EUA 操作を実装する ためのガ イ ド ラ イ ン を示し ます。 こ れら のすべてのガ イ ド ラ イ ンを実装する必要はあ り ません。 以下では取 り 上げていませんが、 カ ス タ マ イ ズに よ っては追加の要件が存在する場合があ り ます。

• IEUISignOnOperationContext か ら IEUISignOnOperationResult を取得し ます。 こ れは、 こ のイ ン ターフ ェ イ スか ら必ず返さ れる オブジ ェ ク ト です。

• IEUIEventEUAOperationDTO オブジ ェ ク ト の EUIDatasourceDTO オブジ ェ ク ト には、 こ の操作に対し て Administration モジ ュールで設定さ れた Datasource への イ ン ターフ ェ イ スが含まれています。

• EUIUtil の LDAPConfigInfo オブジ ェ ク ト に値を挿入し、 EUIDatasourceDT に渡し ます。こ れは、 LDAP Server に接続情報を使用し て LDAP API を コールする ために必要です。

• IEUISignOnOperationResult.getSsoLoginId() を コールし て Login Name を取得し ます。

• BindDN を形成し、 setBindDN() を コールし て LDAPConfigInfo に設定し ます。

8-41Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 366: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

• IEUISignOnOperationResult.getEuaPassword() を コールし て、 [Login] ページでユーザが入力し たパス ワー ド を取得し ます。

• setBindPassword() を コールし て、 それを LDAPConfigInfo に設定し ます。

• LDAPConfigInfo オブジ ェ ク ト ILDAPApi.authenticate() API を渡し て、 Directory Server に対し てユーザを認証し ます。

• ユーザが認証さ れた ら、 IEUISignOnOperationResult.setEuaAuthenticated(true) を コールします。

• ユーザの認証が失敗し たか、 何ら かの例外が発生し た場合は、IEUISignOnOperationResult.setEuaAuthenticated(false) を コールし ます。

IEUIEventEUAOperationDTO.getEventEuaDTO() で取得し た EUA 操作オプシ ョ ンは空にな り ます。 カ ス タ ム コー ド の操作に対し ては、 Administration モジ ュールが EUA オプシ ョ ン を受け入れないか ら です。

Login イベン ト に対する Import Person 操作のカス タ マイズ

[個人の イ ンポー ト (Import Person) ] 操作の主な目的は、 外部シ ス テム (デ ィ レ ク ト リ サーバや外部データベース など) か ら サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ンにユーザを イ ンポー ト ま たは更新する こ と です。

表 8-16 に概要を示すよ う に、 ISignOn イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 importPerson メ ソ ッ ド の完全な実装を提供し て く ださ い。 詳細な仕様については、 ISignOn イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

以下に、 Import Person 操作を実装する ためのガ イ ド ラ イ ン を示し ます。 こ れら のすべてのガ イド ラ イ ン を実装する必要はあ り ません。 以下では取 り 上げていませんが、 カ ス タ マ イ ズに よ っては追加の要件が存在する場合があ り ます。

• IEUISignOnOperationContext か ら IEUISignOnOperationResult を取得し ます。 こ れは、 こ のイ ン ターフ ェ イ スか ら必ず返さ れる オブジ ェ ク ト です。

• IEUIEventImportPersonOperationDTO オブジ ェ ク ト の EUIDatasourceDTO オブジ ェ ク ト には、こ の操作に対し て Administration モジ ュールで設定さ れたデータ ソースへの イ ン ターフ ェイ スが含まれています。

• IEUIEventImportPersonOperationDTO オブジ ェ ク ト の EUIDataMappingDTO オブジ ェ ク ト には、 こ の操作に対し て Administration モジ ュールで設定さ れたマ ッ ピ ングへの イ ン ターフ ェ イ スが含まれています。

• IEUISignOnOperationResult.getSsoLoginId() メ ソ ッ ド か ら取得し た ロ グ イ ン名を使用し て、LDAP サーバま たは外部データベースか ら外部シ ス テム上のユーザに対し て問い合わせを行い、 個人のプ ロ フ ァ イルに関するすべての情報 (組織単位、 グループ、 ロールなど) を収集し ます。

• ISignOnImportPersonAPI.getPersonByLoginName(<Login Id>) を コールし て、ユーザがすでに サービ ス カ タ ロ グ (Service Catalog) データベースに存在し てい る かど う かチェ ッ ク し ます。 すでに存在し ている場合、 こ の メ ソ ッ ド は IPersonDTO オブジ ェ ク ト を返し ます。 存在し ていない場合、 メ ソ ッ ド は signOnImportPersonAPIException を ス ローし ます。

• 個人が見つか ら ない場合は、 個人の イ ンポー ト を準備する ために、PersonFactory.createPersonDTO() メ ソ ッ ド に よ って IPersonDTO オブジ ェ ク ト を作成し ます。

• 外部シ ス テムか ら フ ェ ッ チ し たデータ か ら、 PersonFactory を使用し て こ れら の DTO を作成し て値を挿入し ます。 IPersonDTO、 ILoginInfo、 IContactDTO、 IAddressDTO、 および IPersonExtensionDTO について も同様に し ます。

• ISignOnImportPersonAPI.beginTransaction() を コールし てデータベース ト ラ ンザ ク シ ョ ン を開始し ます。

8-42Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 367: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

• ISignOnImportPersonAPI.getOrgUnitByName(<OU Name>) を コールし て、 組織単位 (OU)が存在する かど う かチェ ッ ク し ます。 存在する場合、 こ の メ ソ ッ ド は IOrganizationalUnitDTO オブジ ェ ク ト を返し ます。 組織単位が存在し ない場合、 メ ソ ッ ド は signOnImportPersonAPIException を ス ローし ます。

• OU が存在し ない場合は、ISignOnImportPersonAPI.createOrgUnit(<IOrganizationalUnitDTO>) を コールし て作成する こ と がで き ます。

• ユーザがすでに存在する場合、 ISignOnImportPersonAPI.updatePerson(<IPersonDTO>) をコールし ます。 こ れに よ り 、 個人の基本プ ロ フ ァ イル、 ロ グ イ ン情報、 プ リ フ ァ レ ン ス、ホーム OU、 および内線番号が更新されます。

• ユーザがすでに存在する場合は、 ISignOnImportPersonAPI.linkAddresses(<IAddressDTO collection>) および ISignOnImportPersonAPI.linkContact(<IContactDTO> を コールし て、 住所/ロケーシ ョ ンおよび連絡先を リ ン ク ま たは更新し ます。

• 個人が外部シ ス テムの 1 つ以上のグループに関連付け られている場合は、ISignOnImportPersonAPI.getGroupByName (<ou name>) を コールし て、 初に、 存在するすべてのグループを取得し ます。 関連付け られていない場合は、ISignOnImportPersonAPI.createGroup(<IOrganizationalUnitDTO>) を コールし て新し いグループをすべて作成し ます。

• 個人が新規の場合は、 ISignOnImportPersonAPI.linkPersonToOrgUnit() および ISignOnImportPersonAPI.linkPersonToGroup() を コールし て、 OU およびグループのすべてのリ ス ト をユーザに リ ン ク し ます。

• 個人がすでに存在する場合は、 ISignOnImportPersonAPI.unlinkPersonToOrgUnit() および ISignOnImportPersonAPI.unlinkPersonToGroup() を コールし て、 ユーザか らすべての OU およびグループを リ ン ク解除する こ と がで き ます。

• OU の既存の関係 (個人のホーム OU やグループなど) を見つけ る には、ISignOnImportPersonAPI.getOrgUnitsForPerson() および ISignOnImportPersonAPI.getGroupsForPerson() methods を コールし ます。

• ロールへの既存の関係を見つけ る には、 ISignOnImportPersonAPI.getRolesForPerson() method を コールし ます。

• イ ンポー ト さ れた個人を ロールに関連付け る必要があ る場合は、 初に ISignOnImportPersonAPI.getRBACRoleByLogicName(<roleLogicName>) を使用し て ロールを取得し ます。

• ISignOnImportPersonAPI.linkPersonToRole() ま たは ISignOnImportPersonAPI.unlinkPersonToRole() を コールし て、 個人に ロールを リ ン ク ま たはリ ン ク解除し ます。

• 個人の イ ンポー ト ま たは更新が正常に終了し た ら、 IEUISignOnOperationResult にフ ラ グ ImportPersonDone = true を設定し ます。

• イ ンポー ト ま たは更新が正常に終了し た ら、 PersonFactory.createExtUserDTO() で IExtUserDTO のオブジ ェ ク ト を作成し、 IPersonDTO および HomeOUDTO (IOrganizationalUnitDTO) を IExtUserDTO に設定し、IEUISignOnOperationResult.setImportedPersonExtDTO(<IExtUserDTO>) を コールし て、 イ ンポー ト し た個人の IExtUserDTO を返し ます。

• イ ンポー ト ま たは更新操作が失敗し た ら、 IEUISignOnOperationResult にフ ラ グ ImportPersonDone = false を設定し ます。

• ISignOnImportPersonAPI.commitTransaction() を コールし てデータベース ト ラ ンザ ク シ ョ ンを終了ま たはコ ミ ッ ト し ます。

8-43Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 368: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

• ト ラ ンザ ク シ ョ ンが失敗し た場合は、 ISignOnImportPersonAPI.rollbackTransaction() を コールし て exception ブ ロ ッ ク で ト ラ ンザ ク シ ョ ン を ロールバ ッ ク し、ISignOnImportPersonAPI.releaseTransaction() を コールし て finally ブ ロ ッ ク で ト ラ ンザ クシ ョ ン を リ リ ース し ます。

IEUIEventImportPersonOperationDTO.getImportPersonDTO() メ ソ ッ ド に よ る Import Person 操作のオプシ ョ ンは空です。 カ ス タ ム コー ド の操作に対し ては、 Administration モジ ュールが Import Person オプシ ョ ン を受け入れないか ら です

Login イベン ト に対する Import Manager 操作のカス タ マイズ

[マネージ ャ の イ ンポー ト (Import Manager) ] 操作の主な目的は、 デ ィ レ ク ト リ サーバなどの外部シ ス テムか ら、 個人の上司チェーン を サービ ス カ タ ロ グ (Service Catalog) に イ ンポー トま たは更新する こ と です。

表 8-16 に概要を示すよ う に、 ISignOn イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 importPerson メ ソ ッ ド の完全な実装を提供し て く ださ い。 詳細な仕様については、 ISignOn イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

以下に、 Import Manager 操作のガ イ ド ラ イ ン を示し ます。

• IEUISignOnOperationContext か ら IEUISignOnOperationResult を取得し ます。 こ れは、 こ のイ ン ターフ ェ イ スか ら必ず返さ れる オブジ ェ ク ト です。

• IEUISignOnOperationResult か ら、 イ ンポー ト ま たは更新さ れたユーザの ImportedPersonExtDTO を取得し ます。

• IEUISignOnOperationResult.getImportedPersonExtDTO() method メ ソ ッ ド で イ ンポー ト された個人を取得し ます。 IExtUserDTO オブジ ェ ク ト が返さ れ、 それか ら PersonDTO オブジ ェ クト を取得し ます。

• 外部シ ス テムか ら、 必要に応じ てすべてのマネージ ャ を イ ンポー ト し、 前述の Import Person の例で説明し てい る の と 同じ方法で、 各マネージ ャ を作成ま たは更新し ます。

• personDTO は、 イ ンポー ト さ れたマネージ ャ の IPersonDTO への参照であ り 、 managerDTO は、 マネージ ャの イ ンポー ト 後に返さ れた IPersonDTO への参照であ る こ と を前提に、 マネージ ャ を個人に リ ン ク し ます。

• personDTO.setManagerId(managerDTO.getId() を使用し て、 personDTO に対する マネージ ャの関係を設定し ます。

• [個人の イ ンポー ト (Import Person) ] 操作に説明のあ るいずれかの メ カニズム を使用し て personDTO を保存し、 関係を保存し ます。

マネージ ャ チェーン を イ ンポー ト する場合は、 個人よ り も先に 上位のマネージ ャ を イ ンポート する こ と を推奨し ます。 こ れに よ り 、 personDTO が個人のマネージ ャ と の リ ン ク を更新するための不要な更新が防止さ れます。

IEUIEventImportManagerOperationDTO で取得し た Manager 操作オプシ ョ ン を イ ンポー ト し ます。getImportManagerDTO() は空にな り ます。カ ス タ ム コー ド の操作に対し ては、Administration モジ ュールが Import Manager オプシ ョ ン を受け入れないか ら です。

Login イベン ト に対するカス タム操作のカス タ マイズ

カ ス タ ム コー ド 操作の主な目的は、 アプ リ ケーシ ョ ンの他のどの場所に も示されていない、必要なカ ス タ ム操作を実行する こ と です。

以下に、 カ ス タ ム コー ド 操作のガ イ ド ラ イ ン を示し ます。

• IEUISignOnOperationContext か ら IEUISignOnOperationResult を取得し ます。 こ れは、 こ のイ ン ターフ ェ イ スか ら必ず返さ れる オブジ ェ ク ト です。

8-44Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 369: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

• IEUIEventCustomOperationDTO か ら EUIDatasourceDTO を取得し ます。 こ のオブジ ェ ク トには、 こ の操作の Administration モジ ュールで設定さ れたデータ ソースが含まれています。

• IEUIEventCustomOperationDTO か ら EUIDataMappingDTO を取得し ます。 こ のオブジ ェ クト には、 こ の操作の Administration モジ ュールで設定さ れたマ ッ ピ ングが含まれています。

• 必要に応じ て、 すべてのカ ス タ ム操作を実行し ます。

• 前の例に基づいて、 IEUISignOnOperationResult には値が適切に挿入さ れるはずです。

Person Lookup のカス タム コー ド イン ターフ ェ イス : IPersonSearch

こ れは、 Person Search イベン ト の Person Search、 Import Person、 Import Manager、 およびカ ス タム コー ド 操作を カ ス タ マ イ ズする ために、 カ ス タ ム コー ド が実装する必要のあ る イ ン ターフ ェ イ スです。

実装ク ラ スは、 Administration モジ ュール > [デ ィ レ ク ト リ (Directories) ] タ ブ > [イベン ト(Events) ] で設定さ れます。 サービ ス カ タ ロ グ (Service Catalog) アプ リ ケーシ ョ ン内の次の場所で個人を検索する ために設定する こ と がで き ます。

• Person Search for Order On Behalf

• Person Search for Authorization Delegate

• Person Search for Service Form

Person Search 操作のカス タ マイズ

Person Search 操作の主な目的は、 デ ィ レ ク ト リ サーバなどの外部シ ス テムか ら ユーザを検索する こ と です。

「カ ス タ ム コー ド 操作」 の表に概要を示すよ う に、 IPersonSearch イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 search メ ソ ッ ド の完全な実装を提供し て く だ さ い。 詳細な仕様については、 ISignOn イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

以下に、 Person Search 操作のガ イ ド ラ イ ン を示し ます。

• IEUISignOnOperationContext か ら IEUISignOnOperationResult を取得し ます。 こ れは、 こ のイ ン ターフ ェ イ スか ら必ず返さ れる オブジ ェ ク ト です。

• カ ス タ ム Person Search 操作は、 Person Search を使用し て設定で き る ため、 Search Event の以前の操作か ら、 検索結果に対し て追加し た り 、 操作し た り で き ます。 こ の よ う にする には、 IEUISignOnOperationResult.getSearchPersonList() を コールし て、 すでに検索結果内に存在する個人の リ ス ト を取得し ます。

• 外部シ ス テムのユーザを検索し ます。 デ ィ レ ク ト リ サーバの場合は、 イ ン ターフ ェ イ ス ILDAPApi で API メ ソ ッ ド を使用し、 外部データベースの場合は、 SQL データ ソースに接続する ために ISignOnImportPersonAPI で API を使用し ます。

• 外部シ ス テムで見つかった個人ご と に IExtUserDTO を作成し ます。

• IExtUserDTO に、 IPersonDTO、 IOrganizationalUnitDTO (ホーム OU の場合)、 および ILoginInfoDTO を挿入し ます。

• 任意 : 個人のポ ッ プア ッ プ グ ローバル設定に基づいて、 コ レ ク シ ョ ン IContactDTO、IAddressDTO の コ レ ク シ ョ ン、 IPersonExtensionDTO に も挿入し ます。

• ISignOnImportPersonAPI getCustomParam("ShowAllUsersForOrderOnBehalf") を使用し て、フ ラ グ 「All Users For Order On Behalf」 を取得し ます。

8-45Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 370: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

• カ ス タ ム コー ド と 標準プ ラ ッ ト フ ォームの動作 と の整合性を保つため、 フ ラ グがオフで、個人に対し ていずれかの必須属性が指定さ れていない場合は、 そのエン ト リ を削除し ます。こ れに よ り 、 不完全な個人はポ ッ プア ッ プに表示さ れな く な り ます。

• カ ス タ ム コー ド と 標準プ ラ ッ ト フ ォームの動作 と の整合性を保つため、 フ ラ グがオンで、いずれかの必須属性に対し て個人が指定さ れていない場合は、IExtUserDTO.setResultHasError(true) を コールし ます。 こ れに よ り 、 不完全な個人がポ ッ プア ッ プに含まれる よ う にな り ますが、 オプシ ョ ン ボ タ ンの代わ り に赤いア ス タ リ ス ク 「*」が表示さ れます。 星印の付いたユーザは、 エン ド ユーザが選択する こ と も、 イ ンポー ト する こ と も で き ません。

• IEUISignOnOperationResult.setSearchPersonList (<List of all IExtUserDTO>) コールで検索されたすべての個人の リ ス ト を返し ます。

IEUIEventPersonSearchOperationDTO.getPersonSearchOperationDTO() メ ソ ッ ド で取得し た Person Search 操作のオプシ ョ ンは空です。こ れは、カ ス タ ム コー ド の操作に対し ては、Administration モジ ュールが Person Search オプシ ョ ン を受け入れないか ら です。

Person Search イベン ト に対する Import Person 操作のカス タ マイズ

「カ ス タ ム コー ド 操作」 の表に概要を示すよ う に、 IPersonSearch イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 importPerson メ ソ ッ ド の完全な実装を提供し て く だ さ い。 詳細な仕様については、 IPersonSearch イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

カ ス タ マ イ ズする手順は、 Login イベン ト に対する Import Person 操作のカ ス タ マ イ ズ と 同様です。

Person Search イベン ト に対する Import Manager 操作のカス タ マイズ

「カ ス タ ム コー ド 操作」 に概要を示すよ う に、 IPersonSearch イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 search メ ソ ッ ド の完全な実装を提供し て く だ さ い。 詳細な仕様については、 IPersonSearch イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

カ ス タ マ イ ズする手順は、 Login イベン ト に対する Import Manager 操作のカ ス タ マ イ ズ と 同様です。

Person Search イベン ト に対するカス タム操作のカス タ マイズ

「カ ス タ ム コー ド 操作」 に概要を示すよ う に、 IPersonSearch イ ン ターフ ェ イ ス を実装する Java ク ラ ス を提供する必要があ り ます。 こ の イ ン ターフ ェ イ スでは、 performCustom メ ソ ッ ド の完全な実装を提供し て く だ さ い。 詳細な仕様については、 IPersonSearch イ ン ターフ ェ イ スのマニ ュ アルを参照し て く だ さ い。

カ ス タ マ イ ズする手順は、 Login イベン ト に対する カ ス タ ム操作のカ ス タ マ イ ズ と 同様です。

カス タム Java ク ラス マ ッ ピング イン ターフ ェ イス

簡易、 複合、 ま たは正規表現の各属性マ ッ ピ ン グでは不十分な場合は、 デ ィ レ ク ト リ 統合属性マ ッ ピ ン グでカ ス タ ム Java ク ラ ス を使用する こ と がで き ます。

8-46Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 371: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

属性マ ッ ピングに対するカス タム Java ク ラス : IEUIAttributeMapping

こ れは、 デ ィ レ ク ト リ 属性マ ッ ピ ン グ を カ ス タ マ イ ズする ために、 カ ス タ ム コー ド が実装する必要のあ る イ ン ターフ ェ イ スです。 カ ス タ ム マ ッ ピ ン グ ク ラ スの主な目的は、 デ ィ レ ク ト リ サーバか ら取得し た属性値を カ ス タ マ イ ズする こ と です。

実装ク ラ スは、 Administration モジ ュール > [Directories] タ ブ > [Mappings] で設定さ れ、 マ ッ ピン グのすべての属性に対し て設定で き ます。

図 8-16 属性マ ッ ピングに対する カス タム Java ク ラス

以下に、 カ ス タ ム Java ク ラ スのマ ッ ピ ング ク ラ ス を使用する ためのガ イ ド ラ イ ン を示し ます。

• マ ッ ピ ン グ ク ラ スは、 デ ィ レ ク ト リ か ら取得さ れた値に適用される、 簡単な ロ ジ ッ ク に対し てのみ使用さ れます。

• パフ ォーマン ス上の理由か ら、 Directory Server API を使用し てデ ィ レ ク ト リ サーバに対する コールを実行し た り 、 何ら かのデータベース操作を実行する ためにマ ッ ピ ン グ ク ラ ス を使用する こ と はで き ません。 こ れら の用途に対し ては、 Person Search ま たは Login イ ンターフ ェ イ ス を使用する必要があ り ます。

• マ ッ プ さ れた属性に対し て単一の値を返すには、 IEUIAttributeMapping.getAttributeValue() を実装し ます。 こ の メ ソ ッ ド は、 OU List、 Group List、 ま たは Role List mapping フ ィ ール ドに対し て実装し ないで く だ さ い。

• マ ッ プされた属性に対し て複数の値を返すには、IEUIAttributeMapping.getAttributeValueArray() を実装し ます。この メ ソ ッ ド は、OU List、Group List、および Role List マ ッ ピング フ ィ ール ド に対し てのみ実装されます。

8-47Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 372: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

Directory Server APIこ れは、 製品に組み込まれているデ ィ レ ク ト リ サーバ (LDAP) 接続機能 と 統合する ために、シ ス コ が提供する API ラ ッ パーです。

こ の API が提供する機能は、 デ ィ レ ク ト リ サーバに対する認証、 およびク エ リ ーのみです。こ の API は、 サービ ス カ タ ロ グ (Service Catalog) でサポー ト されているすべてのデ ィ レ ク トリ サーバをサポー ト し ます。

通常、 Directory Server API はデ ィ レ ク ト リ 統合のデータ ソースおよびマ ッ ピング設定から機能し、ク エ リ ー用の接続情報、 フ ィ ルタ、 および属性を手作業でコーデ ィ ングする必要があ り ません。

一般的に、 LDAP API を使用する には、 LDAPConfigInfo オブジ ェ ク ト も必要です。 こ の目的のためには、 すべてのデータ ソースおよびマ ッ ピ ングか ら EUIUtil.get LDAPConfigInfo() を使用します。

LDAP API の javadoc は、 製品パ ッ ケージの javadocs フ ォルダにあ り ます。

ILDAPApi のインス タ ンスの取得 : API 実装

ILDAPApi の イ ン ス タ ン ス を作成する必要はあ り ません。 両方のカ ス タ ム コー ド API イ ン ターフ ェ イ ス (ISignOn と IPersonSearch) のすべての メ ソ ッ ド 引数で使用で き ます。

デ ィ レ ク ト リ統合ユーテ ィ リ テ ィ (EUIUtil) ク ラス

デ ィ レ ク ト リ 統合ユーテ ィ リ テ ィ ク ラ ス (EUIUtil) は、 Administration モジ ュールで設定さ れたデータ ソースおよびマ ッ ピ ン グ を、 Directory Server API が認証、 検索、 および ク エ リ ー機能の入力 と し て使用で き る形式に変換し ます。

LDAP 設定情報 (LDAPConfigInfo) ク ラス

LDAPConfigInfo ク ラ スのオブジ ェ ク ト は、 デ ィ レ ク ト リ サーバ API に渡す必要があ る、 次のすべての設定オプシ ョ ン を カプセル化し ます。

• 認証情報

• 接続情報

• 属性の ク エ リ ー

• サーチ フ ィ ルタ

上級ユーザの場合は、 何ら かの設定を上書きする必要があ る場合に、 すべての設定に対する getter および setter が LDAPConfigInfo か ら提供さ れます。 これ ら の メ ソ ッ ド の詳細については、こ の ク ラ スに関する Javadoc を参照し て く だ さ い。

API のメ イン イン ターフ ェ イス : ILDAPApi

ILDAPApi は、 デ ィ レ ク ト リ サーバ上で次の 2 つの基本操作を提供する メ イ ン イ ン ターフ ェ イスです。

• 認証

• Search/Query

ILDAPApi イ ン ターフ ェ イ スは、 サービ ス カ タ ロ グ (Service Catalog) 全体で LDAP と 一貫性を保って対話を行 う ための メ ソ ッ ド を提供し ます。

8-48Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 373: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

デ ィ レ ク ト リ統合でのカス タム コー ドの使用

LDAPEntryBean

ILDAPApi.query(…) メ ソ ッ ド を使用し てデ ィ レ ク ト リ サーバに対し て ク エ リ ーま たは検索を行う と 、 LDAPEntryBean の コ レ ク シ ョ ン と し て結果が返さ れます。

個人のインポー ト /更新 API こ の API を使用する と 、 個人プ ロ フ ァ イルの イ ンポー ト ま たは更新、 OU ま たはグループの作成、 OU、 グループ、 ま たはロールへの個人の リ ン ク ま たは リ ン ク解除を行え ます。 こ の API は、 個人を イ ンポー ト する ための ト ラ ンザ ク シ ョ ン管理、 および SQL データ ソースへの接続もサポー ト し ています。 こ の API には、 CnfParams テーブルか ら読み込むための メ ソ ッ ド も含まれています。

個人のインポー ト /更新 API イン ターフ ェ イス : ISignOnImportPersonAPI

個人の イ ンポー ト /更新 API イ ン ターフ ェ イ スは、 次のための メ ソ ッ ド を提供し ます。

• PersonID ま たは LoginName に よ って Person オブジ ェ ク ト を取得する。Person と ロ グ イ ン情報、 プ リ フ ァ レ ン ス、 ホーム OU、 住所、 連絡先、 場所、 および内線番号が返さ れます。

• ロ グ イ ン情報、 プ リ フ ァ レ ン ス、 ホーム OU、 住所、 連絡先、 場所、 および内線番号を使用し て Person を作成する。

• ロ グ イ ン、 プ リ フ ァ レ ン ス、 ホーム OU、 および内線番号を使用し て Person を更新する。

• OrganizationalUnitID、 Name に よ り OU を取得する。 OU の メ ンバは返さ れません。

• 特定の Person についてすべての OU を取得する。 OU の メ ンバは返さ れません。

• OU を作成し ます。

• Person と OU を リ ン ク / リ ン ク解除する。

• GroupID、 Name に よ って Group を取得する。 Group のすべての メ ンバは返さ れません。

• 特定の個人についてすべてのグループを取得する。

• グループを作成する。

• 個人 と グループを リ ン ク / リ ン ク解除する。

• 名前に よ り ユーザ定義ロールを取得する。

• シ ス テム定義ロールに対する LogicName オブジ ェ ク ト を取得する。

• LogicName オブジ ェ ク ト に よ り シ ス テム定義ロールを取得する。

• 指定さ れた個人のすべての ロールを取得する。

• 個人 と ロールを リ ン ク / リ ン ク解除する。

• 個人の住所や場所を リ ン ク /更新する。

• 個人の連絡先を追加/更新/削除する。

• Import Person に対する ト ラ ンザ ク シ ョ ンの開始、 ト ラ ンザ ク シ ョ ンの コ ミ ッ ト 、 および トラ ンザ ク シ ョ ン リ ソースの リ リ ース を行 う 。

• SQL データ ソースへの接続を取得する。

• SQL データ ソース接続で ト ラ ンザ ク シ ョ ン を ロールバ ッ クする。

• SQL データ ソースへの接続を接続プールに戻す。

• CnfParams テーブルか らパ ラ メ ータ値を取得する。

詳細については、 Java のマニ ュ アルを参照し て く だ さ い。

8-49Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 374: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

SQL データ ソースに接続するための Java ク ラスのカス タ マイズ

SQL データ ソースに接続する ために Java ク ラ ス を カ ス タ マ イ ズする には、 次の手順に従います。

ステ ッ プ 1 DatasourceName を渡すこ と で、ISignOnImportPersonAPI から SQL データ ソース データベースへの接続を取得し ます。DatasourceName には、newscale.properties フ ァ イルの「DatasourceJNDIPrefix」プロパテ ィ で定義されている よ う に、JNDI プレ フ ィ ッ ク スが付加されます。

ステ ッ プ 2 JDBC ス テー ト メ ン ト を使用し て ク エ リ ーを実行する には、 上記の接続を使用し ます。

ステ ッ プ 3 try ブ ロ ッ ク の 後で、 接続オブジ ェ ク ト を直接コ ミ ッ ト し ます。

ステ ッ プ 4 障害ま たは例外が発生し た と き に接続を ロールバ ッ クする には、 ISignOnImportPersonAPI をコールし ます。

ステ ッ プ 5 final ブ ロ ッ ク で、 ス テー ト メ ン ト を直接閉じ て ISignOnImportPersonAPI を コールし、 接続を解放し て接続プールに戻し ます。

ベス ト プラ クテ ィ ス

カス タム コー ド Java フ ァ イルのコ ンパイル

カ ス タ ム コー ド を コ ンパイルおよび導入する手順を、 次に示し ます。

ステ ッ プ 1 build.xml フ ァ イルの例に示す build.xml フ ァ イルを コ ピーし て、 任意のフ ォルダ(C:\CustomCode など) に貼 り 付け ます。

ステ ッ プ 2 build.xml フ ァ イルを編集し て、 RequestCenter.war を使用で き る フル パス を指すよ う プ ロパテ ィ「rcwar.dir」 を変更し ます。

ステ ッ プ 3 build.xml を編集し て、 servlet-api.jar を使用で き る フル パス を指すよ う プ ロパテ ィ「javax.servlet.dir」 を変更し ます。 こ れはアプ リ ケーシ ョ ン サーバに特有の設定です。

ステ ッ プ 4 カ ス タ ム コー ド Java フ ァ イル用に、 (C:\CustomCode\src などの) サブフ ォルダを作成し ます。

ステ ッ プ 5 「com.newscale.SignOnCustomCode」 などのパ ッ ケージ名を付けてカ ス タ ム コー ド を作成し、SignOnCustomCode.java フ ァ イルを C:\CustomCode\src\com\newscale\SignOnCustomCode.java デ ィ レ ク ト リ に配置し ます。

ステ ッ プ 6 C:\CusomCode フ ォルダの コ マン ド ラ イ ンか ら 「ant」 を実行し ます。

ステ ッ プ 7 ant のビル ド フ ァ イルは、 「src」 サブフ ォルダの下のすべての java フ ァ イルを コ ンパイルし、ク ラ ス フ ァ イルを 「out」 サブフ ォルダに配置し ます。

ステ ッ プ 8 ant のビル ド フ ァ イルは、 「RequestCenter.war\WEB-INF\classes」 フ ォルダに も ク ラ ス フ ァ イルを導入し ます。

ステ ッ プ 9 アプ リ ケーシ ョ ン サーバを再起動し ます。

8-50Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 375: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

コーデ ィ ングのガイ ド ラ イン

パッ ケージ名

• パ ッ ケージ名は com.newscale.[yourcompanyname].* にする こ と を推奨し ます。

• すべての ContextLocalAttributes の格納には、 キー名 「com.yourcompanyname.*」 を使用します。 こ れに よ り 、 内部名前空間での ク ラ ッ シ ュ が防止されます。

ログ

• メ ッ セージをサーバ ロ グに記録する には、 System.out.println ではな く Logger を使用します。

• デバ ッ グ ロ グについては、 必ずデバ ッ グが有効になっている かど う かを 初に確認し ます。 こ れはパフ ォーマン ス上、 必要です。

• 例外ブ ロ ッ ク を コール元に伝搬する前に、 必ずエ ラーを例外ブ ロ ッ ク に記録し ます。

例外処理

• EUIException が取得さ れた場合は、 そのま ま ス ローし て返し ます。

• その他のすべての例外は EUIException と し て ラ ッ プ し、 ス ローし て返し ます。

Administration モジュールでのカス タム コー ドの設定

カ ス タ ム コー ド の開発、 コ ンパイル、 および導入が終了し た ら、 その コー ド を使用する よ う に Administration モジ ュールを設定する必要があ り ます。 設定には、 いつ (どの イベン ト で)、 どの操作で、 どの順序 (ス テ ッ プ) でカ ス タ ム コー ド を呼び出すかを指定し ます。

ステ ッ プ 1 : グローバル設定の実行

Administration モジ ュールの [Settings] タ ブで こ の設定をオンに し て、 Directory Integration が有効になっている こ と を確認し ます。 Directory Integration をオンにする方法は、 デ ィ レ ク ト リ 統合の有効化に説明があ り ます。

ステ ッ プ 2 : データ ソースの設定

カ ス タ マ イ ズ さ れている かど う かに関係な く 、 大半の操作ではデータ ソース と マ ッ ピ ン グが必要です。 こ のため、 初に Directory Administration の 2 つの領域を設定する必要があ り ます。

データ ソースは LDAP などの外部サーバであ り 、 ユーザのデータ が現在格納さ れています。サービ ス カ タ ロ グ (Service Catalog) はデータ ソースにア ク セスする必要があ り ます。 データソースが必要ないカ ス タ ム操作は SSO だけです。

データ ソースの設定の詳細については、 データ ソースの定義およびデータ ソース情報の設定を参照し て く だ さ い。

8-51Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 376: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

ステ ッ プ 3 : 属性マ ッ ピングの設定

外部データ ソース を設定し た ら、 サービ ス カ タ ロ グ (Service Catalog) で使用で き る個人関連のデータ を、 LDAP デ ィ レ ク ト リ (ま たは他の外部データ ソース) 内のデータ にマ ッ プする必要があ り ます。 こ れら のマ ッ ピ ン グでは、 イベン ト および操作のシーケン スで、 ど こ を検索する か、 および何を取得する かが サービ ス カ タ ロ グ (Service Catalog) に指示さ れます。

マ ッ ピ ン グ を設定する には、 マ ッ ピ ン グの定義およびマ ッ ピ ン グの設定のガ イ ド ラ イ ン と 説明に従って く だ さ い。

ステ ッ プ 4 : イベン ト /カス タ マイズ イベン ト の設定

Login 以外のすべての イベン ト に対する シングル サ イ ンオン (SSO) および認証の操作のカ スタ マ イ ズは、 不正なア ク シ ョ ン と みな さ れます。 こ れら の操作が必要にな る タ イ ミ ン グは他にあ り ません。 外部の LDAP サーバか ら、 アプ リ ケーシ ョ ンにユーザがサ イ ン イ ン し て認証さ れた後は、 プ ロ セス を複製する必要があ り ません。

外部データ ソースへの接続が必要なすべての イベン ト は、 こ こ で設定されます。 こ のガ イ ド に記載さ れている カ ス タ ム コー ド API を呼び出す場合には、 カ ス タ ム操作が不正な順序で発生した り 、 失敗し た り し ない よ う 、 各イベン ト に対する操作の順序を考え る こ と が重要です。

ステ ッ プ 1 ナビゲーシ ョ ン ペイ ンで [イベン ト (Event) ] を ク リ ッ ク し ます。

ステ ッ プ 2 カ ス タ マ イ ズする イベン ト の [編集 (Edit) ] を ク リ ッ ク し ます。

ステ ッ プ 3 イベン ト が無効になっている場合は、 ド ロ ッ プダ ウ ン メ ニ ューを使用し て [有効 (Enabled) ] を選択し ます。

ステ ッ プ 4 [Add step] を ク リ ッ ク し て操作を追加し ます。 こ こ では、 ス テ ッ プを必要なだけ追加で き ます。ま た、 各ス テ ッ プの詳細を設定し てか ら、 その次のス テ ッ プを追加および設定し て く だ さ い。

ステ ッ プ 5 ド ロ ッ プダ ウ ン メ ニ ューか ら [操作 (Operation) ] を選択し ます。

• SSO の コー ド を呼び出すだけの場合は、 た と えば メ ニ ューか ら SSO を選択で き ます。 SSO の コー ド を カ ス タ マ イ ズする には、 [カ ス タ ム コー ド (Custom Code) ] を選択し、 次のステ ッ プでカ ス タ マ イ ズする操作を選択し ます。

• カ ス タ マ イ ズ し た操作を設定する には、 [カ ス タ ム コー ド (Custom Code) ] を選択し ます。

ステ ッ プ 6 ド ロ ッ プダ ウ ン メ ニ ューか ら [マ ッ ピ ング (mapping) ] および [データ ソース (datasource) ] を選択し ます。

ステ ッ プ 7 [追加オプシ ョ ン(Additional Options)] の見出しの下で、[オプシ ョ ン(Options)] を ク リ ッ ク し ます。

ステ ッ プ 8 そのス テ ッ プのオプシ ョ ン を設定し ます。

• カ ス タ ム コー ド 操作タ イ プでは、 ド ロ ッ プダ ウ ン メ ニ ューを使用し て、 カ ス タ マ イ ズする操作を選択し ます。

• Java ク ラ スでは、 その操作用の全体のパ ッ ケージ名を入力し てか ら、 その後ろに ク ラ ス名を入力し ます。 た と えば、 com.newscale.bfw.eui.api.samples.operations.CustomCodeTester のよ う にな り ます。

• こ の例では、 Java ク ラ ス名を イ タ リ ッ ク体で示し てあ り ます。 こ れら は両方が コー ド 自体の中にあ り 、 コ ピーする こ と がで き ます。

ステ ッ プ 9 ス テ ッ プの追加オプシ ョ ン を閉じ る には、 [Close] を ク リ ッ ク し ます。

ステ ッ プ 10 必要に応じ て、 ス テ ッ プの追加 と 設定を続け ます。

ステ ッ プ 11 イベン ト 用のすべてのス テ ッ プを保存する には、 [Update] を ク リ ッ ク し ます。

8-52Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 377: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

操作タ イプ と し てのカス タム コー ドの使用

前述のス テ ッ プで、 操作 と し て [カ ス タ ム コー ド (Custom Code) ] を選択し、 操作タ イ プ と して [カ ス タ ム コー ド (Custom Code) ] を選択し た場合は、 未定義のカ ス タ ム コー ド を コールしている ため、 設計する必要があ り ます。

シ ス コ が提供し ている カ ス タ ム コー ド テ ス ト の例では、 Java ク ラ ス 「performCustom」 を使用し て、 独自のカ ス タ ム コー ド を定義で き ます。

カス タム コー ドの導入

すべてのカ ス タ ム コー ド は、 サービ ス カ タ ロ グ (Service Catalog) イ ン ス ト ーラ に対する カ スタ マ イ ズ と し てパ ッ ケージ化する必要があ り ます。 こ れに よ り 、 イ ン ス ト ールの更新が必要な場合や、 新し いサ イ ト を イ ン ス ト ールする場合に、 カ ス タ マ イ ズを再適用で き ます。

カ ス タ ム コー ド をパ ッ ケージおよび導入する ための方法は、 サービ ス カ タ ロ グ (Service Catalog) を ホ ス ト し てい る アプ リ ケーシ ョ ン サーバに よ って異な り ます。 カ ス タ ム コー ド の設定の詳細については、 『Cisco Prime Service Catalog 11.0 アダプ タ統合ガ イ ド 』 および 『Cisco Prime Service Catalog 管理および操作ガ イ ド 』 を参照し て く だ さ い。

API のビュー /用途の例 こ の ソ リ ューシ ョ ンは、 次の用途に適し ています。

• コ ンテナで管理さ れる SQL データ ソースか ら収集さ れたデータ を使用し て、 個人を検索する イベン ト ク ラ ス を作成する。

• コ ンテナで管理さ れる SQL データ ソースか ら収集さ れたデータ を使用し て、 個人を イ ンポー ト する イベン ト ク ラ ス を作成する。

• コ ンテナで管理さ れる SQL データ ソースか ら収集さ れたデータ を使用し て、 個人を修正する イベン ト ク ラ ス を作成する。

• UI か ら設定パ ラ メ ータ を受け取る こ と がで き る イベン ト ク ラ ス を作成する。 こ の例ではマ ッ ピ ン グ イ ン ターフ ェ イ ス を使用し て、 設定パラ メ ータ を ク ラ スに渡し ます。

ま た、 ホーム OU が サービ ス カ タ ロ グ (Service Catalog) に存在し ない場合に、 個人のホーム OU を事業部門 と し て作成し ます。

(注) こ の ソ リ ューシ ョ ンでは、 データ ソース をアプ リ ケーシ ョ ン サーバ上に設定する必要があ り ます。 以降では、 EUIPersonSearchSQL ク ラ スの設定および使用法について説明し ます。

SQL データ ソース

個人プ ロ フ ァ イルの必須フ ィ ール ド のデータ が含まれている (ま たは、 これ ら のフ ィ ール ド の値を得る こ と がで き る) SQL テーブルは、 データ ソース と し て使用で き ます。 次に、 こ の例で使用さ れる テーブルの定義を示し ます。

CREATE TABLE [psgextusers] ( [login] [nvarchar] (100) COLLATE Latin1_General_CI_AI NOT NULL, [firstname] [nvarchar] (100) COLLATE Latin1_General_CI_AI NULL, [lastname] [nvarchar] (100) COLLATE Latin1_General_CI_AI NULL, [password] [nvarchar] (100) COLLATE Latin1_General_CI_AI NULL, [email] [nvarchar] (100) COLLATE Latin1_General_CI_AI NULL,

8-53Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 378: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

[homeOU] [nvarchar] (100) COLLATE Latin1_General_CI_AI NULL, CONSTRAINT [PK_extuser] PRIMARY KEY CLUSTERED ( [login] ) ON [PRIMARY] ) ON [PRIMARY]GO

次に、 上記のテーブル定義で使用する サンプル データ の一部を示し ます。

INSERT INTO [RequestCenter].[dbo].[psgextusers]([login], [firstname], [lastname], [password], [email], [homeOU])VALUES('Moe', 'Moe', 'Howard', 'Moe', '[email protected]', 'Nyuk Nyuk Nyuk')INSERT INTO [RequestCenter].[dbo].[psgextusers]([login], [firstname], [lastname], [password], [email], [homeOU])VALUES('Larry', 'Larry', 'Fine', 'Larry', '[email protected]', 'Nyuk Nyuk Nyuk')INSERT INTO [RequestCenter].[dbo].[psgextusers]([login], [firstname], [lastname], [password], [email], [homeOU])VALUES('Curly', 'Curly', 'Howard', 'Curly', '[email protected]', 'Nyuk Nyuk Nyuk')INSERT INTO [RequestCenter].[dbo].[psgextusers]([login], [firstname], [lastname], [password], [email], [homeOU])VALUES('Shemp', 'Shemp', 'Howard', 'Shemp', '[email protected]', 'Nyuk Nyuk Nyuk')

8-54Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 379: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

データ ソースの定義

Directory Integration イ ン ターフ ェ イ ス を使用する には、 LDAP データ ソース を設定し てお く 必要があ り ます。 LDAP は、 データ ソースでサポー ト さ れている唯一の UI です。 データ ソース なし でマ ッ プを作成で き ますが、 LDAP データ ソース な し ではテ ス ト で き ません。

図 8-17 データ ソース設定の例

コ ンテナで管理さ れるデータ ソースの設定は、 コ ンテナに よ って異な り ます。 データ ソースの設定の詳細については、 『Cisco Prime Service Catalog Installation and Upgrade Guide』 を参照して く だ さ い。

8-55Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 380: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

マ ッ ピングの例

EUIPersonSearchSQL ク ラ スに対する マ ッ ピ ン グ を作成する必要があ り ます。

図 8-18 マ ッ ピングの設定例

こ のマ ッ ピ ン グには、 Custom 9 と し て JNDI への参照が含まれ、 Custom 10 にはテーブル名の参照が含まれています。 こ の よ う なマ ッ ピ ン グ を使用する と 、 「select * from tablename」 の よ う な簡単な ク エ リ ーを実行し、 JDBC の メ タデータ機能を使用し て、 マ ッ ピ ングに基づいてカ ラ ムを選択する こ と がで き ます。

8-56Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 381: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

イベン ト の設定例

「Person Lookup for Order on Behalf」 イベン ト には 2 つのス テ ッ プがあ り 、 初のス テ ッ プでは「Person Search」 操作を実行する必要があ り ます。 ク ラ スの名前はマ ッ ピ ング と し て与え られます。 パ ッ ケージの仕様全体は、 Java ク ラ ス と し て与え られます。

図 8-19 カス タム Person Search 操作

「Person Lookup for Order on Behalf」 イベン ト の 2 番めのス テ ッ プは、 選択し た個人の イ ンポート (「Import Person」) です。 こ の設定では同じ Java ク ラ ス を使用し ますが、 カ ス タ ム コー ド 操作タ イ プは異な り ます。 ド ロ ッ プダ ウ ン メ ニ ューのカ ス タ ム コー ド 操作タ イ プは、 イ ン ターフ ェ イ ス ク ラ スで コールさ れる メ ソ ッ ド に対応し た も の と な り ます。

8-57Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 382: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

図 8-20 イベン ト のステ ッ プ 2 : カス タム Import Person 操作

SQL ベースの個人検索のサンプル コー ド

次に、 カ ス タ ム ク ラ スの ソース を示し ます。

package com.newscale.profsvcs.eui;

import com.newscale.api.person.*;import com.newscale.bfw.eui.EUIException;import com.newscale.bfw.eui.api.*;import com.newscale.bfw.ldap.ILDAPApi;import com.newscale.bfw.logging.ILogUtil;import com.newscale.bfw.logging.LogUtilFactory;import com.newscale.comps.extuserintegration.session.*;

import javax.servlet.http.HttpServletRequest;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.*;

/** * Person Search to an external SQL datasource

8-58Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 383: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

* * @author Lee Weisz * @version $Revision$ */public class EUIPersonSearchSql implements IPersonSearch { /** * Logger instance */ private ILogUtil log = LogUtilFactory.getLogUtil(EUIPersonSearchSql.class);

/** * Implement Person Search Operation and fetch users from an external system * * @param euiOperationDTO . * @param euiPersonSearchOperationContext * * @param request . * @param signOnImportPersonAPI * @param ldapApi * @return . * @throws EUIException . */ public IEUIPersonSearchOperationResult search(IEUIEventPersonSearchOperationDTO euiOperationDTO, IEUIPersonSearchOperationContext euiPersonSearchOperationContext, HttpServletRequest request, ISignOnImportPersonAPI signOnImportPersonAPI, ILDAPApi ldapApi) throws EUIException {

log.debug("search: Entering search method..."); IEUIPersonSearchOperationResult euiOperationResult = euiPersonSearchOperationContext .getEUIPersonSearchOperationResult();

// Check if there is any SearchPerson List already available, if so we // can append to the existing List

// Typically if there is a productized Person Search Operation is // configured before the custom code, this list would be populated

// TODO Why is this an ArrayList?Can't it be a List? ArrayList personList = euiOperationResult.getSearchPersonList();

if (null == personList) { personList = new ArrayList(); }

// Get the search criteria from the dialog box String searchFirstName = euiPersonSearchOperationContext.getFirstNameSearchString(); String searchLastName = euiPersonSearchOperationContext.getLastNameSearchString();

log.debug("search: Looking for " + searchFirstName + " " + searchLastName);

EUIDataMappingDTO dataMappingDTO = euiOperationDTO.getEuiMappingDTO(); Map attributeMap = dataMappingDTO.getAllAttributeMap();

// What's in this map? if (log.isDebugEnabled()) { Set ks = attributeMap.keySet(); for (Iterator it = ks.iterator(); it.hasNext();) { Object key = it.next(); log.debug("search: " + key + " is " + attributeMap.get(key)); }

8-59Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 384: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

}

// Use the map to map the columns to Person fields String firstNameColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_FIRSTNAME); String lastNameColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_LASTNAME); String loginColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_LOGINID);

// Use the custom9 mapping to hold the datasource value and custom10 to // hold the tablename.Since we control the import as well, it won't show up // in the imported Person's profile String ds = (String) attributeMap.get("custom9"); String sourceTable = (String) attributeMap.get("custom10");

StringBuffer searchSQL; searchSQL = new StringBuffer().append("select ") .append(firstNameColumn).append(", ") .append(lastNameColumn).append(", ") .append(loginColumn).append(" from ") .append(sourceTable);

if (searchFirstName != null && searchFirstName.trim().length() > 0 || searchLastName != null && searchLastName.trim().length() > 0) { searchSQL.append(" where ");

if (searchFirstName != null && searchFirstName.trim().length() > 0) { searchSQL.append(firstNameColumn).append(" like '").append(searchFirstName.trim()).append("%'"); }

if (searchFirstName != null && searchFirstName.trim().length() > 0 && searchLastName != null && searchLastName.trim().length() > 0) { searchSQL.append(" and "); }

if (searchLastName != null && searchLastName.trim().length() > 0) { searchSQL.append(lastNameColumn).append(" like '").append(searchLastName.trim()).append("%'"); } }

log.debug("search: " + searchSQL.toString());

Connection conn = null; Statement s = null;

// get a connection to the external db try { conn = signOnImportPersonAPI.getExternalDBConnection(ds);

s = conn.createStatement(); ResultSet rs = s.executeQuery(searchSQL.toString());

while (rs.next()) { String fname = rs.getString(firstNameColumn); String lname = rs.getString(lastNameColumn); String login = rs.getString(loginColumn);

IExtUserDTO extUserDTO = PersonFactory.createExtUserDTO(); IPersonDTO personDTO = PersonFactory.createPersonDTO();

8-60Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 385: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

personDTO.setFirstName(fname); personDTO.setLastName(lname); personDTO.setPersonIdentification(login);

// Make the IPersonDTO into an IExtPersonDTO extUserDTO.setPersonDTO(personDTO); // Add IExtUserDTO to the collection of searched persons personList.add(extUserDTO); } } catch (SQLException e) { log.error("search: " + searchSQL.toString(), e); } catch (SignOnImportPersonAPIException e) { log.error("search: Cannot get a connection to " + ds, e); } finally { try { s.close(); } catch (SQLException e) { e.printStackTrace(); } try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } }

// Set the list of Persons Searched into the Result to be returned euiOperationResult.setSearchPersonList(personList);

log.debug("search: Leaving search method..."); return euiOperationResult; }

/** * Implement the Import Person Operation to Import a user from External * system * * @param euiOperationDTO . * @param euiPersonSearchOperationContext * . * @param request . * @param signOnImportPersonAPI * @param ldapApi * @return . * @throws EUIException . */ public IEUIPersonSearchOperationResult importPerson(IEUIEventImportPersonOperationDTO euiOperationDTO, IEUIPersonSearchOperationContext euiPersonSearchOperationContext, HttpServletRequest request, ISignOnImportPersonAPI signOnImportPersonAPI, ILDAPApi ldapApi) throws EUIException {

log.debug("importPerson: Entering importPerson method...");

/* Potentially useful stuff on the request... Name : isOOB Value : true/false Name : customerid Value : personDTO.setPersonIdentification() from search Name : customerId Value : personDTO.setPersonIdentification() from search Name : lDAPCustomerId Value : personDTO.setPersonIdentification() from search */

8-61Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 386: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

// What's on this request? if (log.isDebugEnabled()) { log.debug("importPerson: Parameters collected from the search window..."); Enumeration paramNames = request.getParameterNames();

if (paramNames.hasMoreElements()) { while (paramNames.hasMoreElements()) { String paramName = (String) paramNames.nextElement(); String paramValues[] = request.getParameterValues(paramName); if (paramValues != null) { log.debug("importPerson: Name : " + paramName); for (int i = 0; i < paramValues.length; i++) { log.debug("importPerson: Value : " + paramValues[i]); } } } } }

boolean refreshPerson = true; String login = request.getParameter("customerId");

// Defaults String homeOU = ""; String firstName = ""; String lastName = ""; String email = ""; String password = "password";

// Get the UI mapping EUIDataMappingDTO dataMappingDTO = euiOperationDTO.getEuiMappingDTO(); Map attributeMap = dataMappingDTO.getAllAttributeMap();

// Use the map to map the columns to Person fields String firstNameColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_FIRSTNAME); String lastNameColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_LASTNAME); String loginColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_LOGINID); String passwordColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_PASSWORD); String emailColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_EMAILADDRESS); String homeOUColumn = (String) attributeMap.get(EUIAPIConstants.EUIMAPFIELDTYPE.ATTR_HOMEORGANIZATIONLUNIT);

// Use the custom9 mapping to hold the datasource value and custom10 to // hold the tablename.Since we control the import as well, it won't show up // in the imported Person's profile unless we screw up somehow and put it there... String ds = (String) attributeMap.get("custom9"); String sourceTable = (String) attributeMap.get("custom10");

StringBuffer importSQL; importSQL = new StringBuffer().append("select ") .append(firstNameColumn).append(", ") .append(lastNameColumn).append(", ") .append(loginColumn).append(", ") .append(passwordColumn).append(", ") .append(emailColumn).append(", ") .append(homeOUColumn) .append(" from ").append(sourceTable).append(" where ") .append(loginColumn).append("='").append(login).append("'");

8-62Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 387: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

log.debug("import: " + importSQL.toString());

Connection conn = null; Statement s = null;

try { // get a connection to the external db conn = signOnImportPersonAPI.getExternalDBConnection(ds); s = conn.createStatement(); ResultSet rs = s.executeQuery(importSQL.toString());

while (rs.next()) { homeOU = rs.getString(homeOUColumn); firstName = rs.getString(firstNameColumn); lastName = rs.getString(lastNameColumn); email = rs.getString(emailColumn); password = rs.getString(passwordColumn); } } catch (SQLException e) { log.error("import: " + importSQL.toString(), e); } catch (SignOnImportPersonAPIException e) { log.error("import: Cannot get a connection to " + ds, e); } finally { try { s.close(); } catch (SQLException e) { log.error("import: ", e); } try { conn.close(); } catch (SQLException e) { log.error("import: ", e); } }

log.debug("import : Got " + login + "," + firstName + "," + lastName + "," + email + "," + password + "," + homeOU);

IPersonDTO personDTO = PersonFactory.createPersonDTO(); try { // Get or Create the Person // This API throws an exception if the Person is not found in Service Catalog try { personDTO = signOnImportPersonAPI.getPersonByLoginName(login); log.info("importPerson: " + login + " exists in Request Center"); } catch (SignOnImportPersonAPIException impEx) { log.info("importPerson: Creating new Person for " + login); refreshPerson = false; personDTO.setLogin(login); }

// Get or Create the Home OU that the Person should be associated with // This API throws an exception if the OU is not found in Service Catalog IOrganizationalUnitDTO homeOUDTO; try { homeOUDTO = signOnImportPersonAPI.getOrgUnitByName(homeOU); log.info("importPerson: " + homeOU + " exists in Request Center"); } catch (SignOnImportPersonAPIException impEx) { log.info("importPerson: Creating new OU " + homeOU + " for " + login); homeOUDTO = PersonFactory.createOrganizationalUnitDTO(); homeOUDTO.setName(homeOU); homeOUDTO.setBillable(false); homeOUDTO.setOrganizationalUnitTypeId(2); // business unit. homeOUDTO.setRecordStateId(1); // active

8-63Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 388: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

homeOUDTO.setLocaleId(EUIAPIConstants.LOCALEID.USEN); try { homeOUDTO = signOnImportPersonAPI.createOrgUnit(homeOUDTO); } catch (SignOnImportPersonAPIException crEx) { log.error("importPerson: Can't create " + homeOU + " for " + login); throw crEx; } } personDTO.setHomeOrganizationalUnitId(homeOUDTO.getId());

// Populate the Login Object... // Modify the login information only if this is a new Person if (!refreshPerson) { ILoginInfoDTO loginInfoDTO = PersonFactory.createLoginInfoDTO();

loginInfoDTO.setLoginname(personDTO.getLogin()); loginInfoDTO.setPrivateKey(personDTO.getLogin()); // Set the un-encrypted password loginInfoDTO.setPassword(password);

// Set ILoginInfoDTO to IPersonDTO personDTO.setILoginInfoDTO(loginInfoDTO); }

// Populate the rest of the essential fields// Presumably, any expression on the mapping will have already been executed // and the result is what's returned in the personDTO personDTO.setFirstName(firstName); personDTO.setLastName(lastName); personDTO.setEmail(email);

// Set the active status // TODO These methods are bogus...// personDTO.setIsInactive(false);// personDTO.setIsActive(true); // TODO What do these numbers mean?Is there a constants library to convert these codes into something meaningful? personDTO.setRecordStateId(1);

// Upsert the Person signOnImportPersonAPI.beginTransaction(); if (refreshPerson) { // Update the existing Person // This method updates only Basic Info, LoginInfo, Preferences, Home OU and Person Extension signOnImportPersonAPI.updatePerson(personDTO); } else { // Create the Person // This creates a Person with Basic Info, LoginInfo, Preferences, Home OU and Person Extension personDTO = signOnImportPersonAPI.createPerson(personDTO); // From here on out it's a refresh refreshPerson = true; } signOnImportPersonAPI.commitTransaction(); } catch (Exception e) { log.error("importPerson: Exception during Import Person", e); try { // Rollback Transaction signOnImportPersonAPI.rollbackTransaction(); } catch (SignOnImportPersonAPIException se) { log.error("importPerson: Error while Rolling back transaction", se); } } finally {

8-64Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 389: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

// Release Transaction signOnImportPersonAPI.releaseTransaction(); }

IExtUserDTO extUserDTO = PersonFactory.createExtUserDTO(); extUserDTO.setPersonDTO(personDTO);

IEUIPersonSearchOperationResult psor = euiPersonSearchOperationContext.getEUIPersonSearchOperationResult(); psor.setImportedPersonExtDTO(extUserDTO);

log.debug("importPerson: Leaving importPerson method...");

return psor; }

/** * Implement Import Manager Operation and Import all the Supervisors chain * of the Person being imported * * @param euiOperationDTO . * @param euiPersonSearchOperationContext * . * @param request . * @param signOnImportPersonAPI * @param ldapApi * @return . * @throws EUIException . */ public IEUIPersonSearchOperationResult importManager(IEUIEventImportManagerOperationDTO euiOperationDTO, IEUIPersonSearchOperationContext euiPersonSearchOperationContext, HttpServletRequest request, ISignOnImportPersonAPI signOnImportPersonAPI, ILDAPApi ldapApi) throws EUIException { return null; }

/** * Implement any Custom Operation * * @param euiOperationDTO . * @param euiPersonSearchOperationContext * * @param request . * @param signOnImportPersonAPI * @param ldapApi * @return . * @throws EUIException . */ public IEUIPersonSearchOperationResult performCustom(IEUIEventCustomOperationDTO euiOperationDTO, IEUIPersonSearchOperationContext euiPersonSearchOperationContext, HttpServletRequest request, ISignOnImportPersonAPI signOnImportPersonAPI, ILDAPApi ldapApi) throws EUIException { return null; }}

8-65Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 390: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プラ クテ ィ ス

サポー ト される タ イム ゾーン

タ イ ム ゾーンのマ ッ ピ ン グにサポー ト さ れている タ イ ム ゾーンは、 次の と お り です。 表 8-18 サポー ト されている時間帯

タ イム ゾーン名 GMT 相当

Etc/GMT+12 (GMT-12:00) 日付変更線、 西側

Pacific/Apia (GMT-11:00) サモア

US/Hawaii (GMT-10:00) ハワ イ

US/Aleutian (GMT-10:00) ハワ イ ア リ ューシ ャ ン夏時間

US/Alaska (GMT-09:00) ア ラ ス カ

America/Tijuana (GMT-08:00) 太平洋標準時 (米国およびカナダ)

America/Chihuahua (GMT-07:00) チワ ワ、 ラ パス、 マサ ト ラ ン

US/Arizona (GMT-07:00) ア リ ゾナ

Canada/Mountain (GMT-07:00) 山岳部標準時 (米国およびカナダ)

Canada/Saskatchewan (GMT-06:00) サス カチュ ワ ン州

US/Central (GMT-06:00) 中央ア メ リ カ

Canada/Central (GMT-06:00) 中央標準時 (米国およびカナダ)

America/Mexico_City (GMT-06:00) グアダ ラ ハラ、 メ キシ コ シテ ィ ー、

America/Bogota (GMT-05:00) ボゴ タ、 リ マ、 キ ト

Canada/Eastern (GMT-05:00) 東部夏時間 (米国およびカナダ)

America/Jamaica (GMT-05:00) 東部標準時 (米国およびカナダ)

US/East-Indiana (GMT-05:00) イ ンデ ィ アナ (東部)

America/Antigua (GMT-04:00) 大西洋標準時 (カナダ)

Canada/Atlantic (GMT-04:00) 大西洋夏時間 (カナダ)

America/Manaus (GMT-04:00) マナウ ス

America/Santiago (GMT-04:00) サンチャ ゴ

America/Caracas (GMT-04:30) カ ラ カ ス

America/La_Paz (GMT-04:00) ラ パス (ボ リ ビ ア)

America/Sao_Paulo (GMT-03:00) ブ ラ ジ リ ア

America/Godthab (GMT-03:00) グ リ ーン ラ ン ド

America/Argentina/Buenos_Aires (GMT-03:00) ブエ ノ ス ア イ レ ス

America/Guyana (GMT-04:00) ジ ョ ージ タ ウ ン

America/St_Johns (GMT-03:30) ニ ューフ ァ ン ド ラ ン ド およびラ ブ ラ

Atlantic/South_Georgia (GMT-02:00) 中部大西洋

Atlantic/Azores (GMT-01:00) アゾ レ ス諸島

Atlantic/Cape_Verde (GMT-01:00) カーボベルデ諸島

Etc/Greenwich (GMT) グ リ ニ ッ ジ標準時、 ダブ リ ン、 エデ ィ ン

Africa/Casablanca (GMT) カサブ ラ ンカ、 モン ロ ビ ア

ヨ ーロ ッ パ/サ ラ エボ (GMT+01:00) サ ラ エボ、 ス コ ピエ、 ワルシ ャ ワ、

Europe/Brussels (GMT+01:00) ブ リ ュ ッ セル、 コペンハーゲン、 マ

Africa/Brazzaville (GMT+01:00) ア フ リ カ中西部

ヨ ーロ ッ パ/アム ス テルダム (GMT+01:00) アム ス テルダム、 ベル リ ン、 ベル

8-66Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 391: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

ベス ト プ ラ ク テ ィ ス

ヨ ーロ ッ パ/ベオグ ラー ド (GMT+01:00) ベオグ ラー ド 、 ブ ラ チス ラバ、 ブダ

Africa/Cairo (GMT+02:00) カ イ ロ

ヨ ーロ ッ パ/ヘルシンキ (GMT+02:00) ヘルシンキ、 キエフ、 リ ガ、 ソ フ ィ

ヨ ーロ ッ パ/ ミ ン ス ク (GMT+02:00) ミ ン ス ク

ヨ ーロ ッ パ/アテネ (GMT+02:00) アテネ、 ブカ レ ス ト 、 イ ス タ ンブー

Asia/Jerusalem (GMT+02:00) エルサレ ム

Africa/Windhoek (GMT+02:00) ビ ン ト フ ッ ク

Africa/Harare (GMT+02:00) ハ ラーレ、 プレ ト リ ア

Asia/Baghdad (GMT+03:00) バグダ ッ ド

Africa/Nairob (GMT+03:00) ナイ ロ ビ

ヨ ーロ ッ パ/モス ク ワ (GMT+03:00) モス ク ワ、 サン ク ト Petersburg, Asia/Kuwait (GMT+03:00) ク ウ ェー ト 、 リ ヤ ド

Asia/Tehran (GMT+03:30) テヘラ ン

Asia/Baku (GMT+04:00) バ クー

アジア/マス カ ッ ト (GMT+04:00) アブダビ、 マ ス カ ッ ト

Asia/Yerevan (GMT+04:00) エレ ヴ ァ ン

Asia/Tbilisi (GMT+04:00) ト ビ リ シ

Asia/Kabul (GMT+04:30) カブール

アジア/カ ラ チ (GMT+05:00) イ ス ラ マバー ド 、 カ ラ チ、 タ シケ ン

Asia/Yekaterinburg (GMT+05:00) エカチェ リ ンブルグ

アジア/コルカ タ (GMT+05:30) チェ ンナイ、 コルカ タ、 ム ンバイ、

アジア/カ ト マンズ (GMT+05:45) カ ト マンズ

アジア/ダ ッ カ (GMT+06:00) ア ス タナ、 ダ ッ カ

Asia/Novosibirsk (GMT+07:00) ノ ボシビルス ク

Asia/Colombo (GMT+05:30) ス リ ジ ャ ヤ ワルダナプ ラ コ ッ テ

Asia/Rangoon (GMT+06:30) ヤン ゴ ン (ラ ングーン)

Asia/Bangkok (GMT+07:00) バン コ ク、 ハ ノ イ、 ジ ャ カルタ

アジア/ ク ラ ス ノ ヤルス ク (GMT+08:00) ク ラ ス ノ ヤルス ク

アジア/イル クーツ ク (GMT+09:00) イル クーツ ク

Asia/Kuala_Lumpur (GMT+08:00) ク ア ラルンプール、 シンガポール

アジア/台北 (GMT+08:00) タ イペイ

Australia/Perth (GMT+08:00) パース

Asia/Chongqing (GMT+08:00) 北京、 重慶、 香港特別自治区、 ウル

アジア/ ソ ウル (GMT+09:00) ソ ウル

アジア/東京 (GMT+09:00) 大阪、 札幌、 東京

アジア/ヤ クーツ ク (GMT+09:00) ヤ クーツ ク

オース ト ラ リ ア/ダーウ ィ ン (GMT+09:30) ダーウ ィ ン

Australia/Adelaide (GMT+09:30) アデレー ド

オース ト ラ リ ア/ホバー ト (GMT+10:00) ホーバー ト

Australia/Canberra (GMT+10:00) キ ャ ンベラ、 メ ルボルン、 シ ド ニー

表 8-18 サポー ト されている時間帯 (続き)

タ イム ゾーン名 GMT 相当

8-67Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド

Page 392: Cisco Prime Service Catalog 11.0 統合ガイド...目次 iv Cisco Prime Service Catalog 11.0 統合ガイドGet 操作 3-12Post 操作 3-14API リファレンスおよび例 3-15定義データ

第 8 章 外部デ ィ レ ク ト リ との統合

build.xml フ ァ イルの例

build.xml フ ァ イルの例<?xml version="1.0" ?><project name="Sample Project" default="all" basedir=".">- <!-- Main target --> <target name="all" depends="init,build,deploy" /> <!- Set the following properties to point to appropriate folders --> <property name="rcwar.dir" value="<apps server path where Request Center application WAR file is deployed>" /> <property name=" javax.servlet.dir" value="<path where jboss-servlet-api_3.0_spec-1.0.0.Final.jar is available in the app server>" /> <property name="rcwar_webinf_classes.dir"value="${rcwar.dir}/WEB-INF/classes" /> <target name="init"> <property name="dirs.base" value="${basedir}" /> <mkdir dir="${dirs.base}/out" /> <property name="src" value="${dirs.base}/src" /> <property name="out" value="${dirs.base}/out" /> </target> <path id="classpath"> <fileset dir="${rcwar.dir}" includes="*.jar" /> <fileset dir="${javax.servlet.dir}" includes="jboss-servlet-api_3.0_spec-1.0.0.Final.jar" /> <pathelement path="${rcwar_webinf_classes.dir}" /> </path>- <!-- Compile Java Files --> <target name="build" depends="init"> <javac srcdir="${src}" destdir="${out}" debug="true" includes="**/*.java" classpathref="classpath" deprecation="true" fork="true" memoryinitialsize="256M" memorymaximumsize="512M" /> </target> <target name="deploy" depends="init"> <copy todir="${rcwar_webinf_classes.dir}"> <fileset dir="${out}"> <include name="**/*.class" /> </fileset> </copy> </target></project>

Australia/Brisbane (GMT+10:00) ブ リ ズベン

アジア/ウ ラ ジオス ト ク (GMT+10:00) ウ ラ ジオス ト ク

Pacific/Guam (GMT+10:00) グアム、 ポー ト モレ ス ビー

Pacific/Guadalcanal (GMT+11:00) ソ ロ モン諸島、 ニ ューカ レ ド ニア

Pacific/Auckland (GMT+12:00) オーク ラ ン ド 、 ウ ェ リ ン ト ン

Pacific/Fiji (GMT+12:00) フ ィ ジー島

Pacific/Tongatapu (GMT+13:00) ヌーク ア ロ フ ァ

表 8-18 サポー ト されている時間帯 (続き)

タ イム ゾーン名 GMT 相当

8-68Cisco Prime Service Catalog 11.0 アダプ タ統合ガイ ド