技術サービス定義とは、アプリケーションを技術サービスとしてSystemwalker Service Catalog Managerに登録するために必要な情報です。技術サービス定義は、XMLファイルを使って定義します。このファイルは、XMLスキーマTechnicalServices.xsdに準拠して作成します。
本章では、技術サービス定義に利用する要素と属性の意味を説明します。それぞれの構文はTechnicalServices.xsdを参照してください。
TechnicalServices
技術サービス定義ファイルにおいて最上層となる要素です。
TechnicalService
アプリケーションをSystemwalker Service Catalog Managerの技術サービスとして登録するために必要なすべての情報を記載します。
属性
id:アプリケーションのID(必須)
Systemwalker Service Catalog Managerは、技術サービスとして登録するアプリケーションを一意に識別するキーとして使用します。ほかの技術サービスと重複するキーは使用できません。
build:アプリケーションのビルド番号(オプション)
技術サービスとして登録するアプリケーションのビルド番号またはパッチレベルを指定します。
provisioningType:インスタンスのプロビジョニングの実行を同期モードにするか非同期モードにするかを指定(オプション)デフォルトは同期モード。
詳細は“3.1 プロビジョニングサービスの実装”を参照してください。
provisioningTimeout:非同期のプロビジョニング処理が失敗したと判断するためのタイムアウト時間をミリ秒で指定します(オプション)。省略するとタイムアウトは発生しません。
provisioningUrl:プロビジョニングサービスのインターフェースを定義したWSDLのURL(エクスターナルアクセスの場合はオプション。その他は必須)。
provisioningVersion:プロビジョニングサービスのバージョン番号(オプション)
provisioningUserName:プロビジョニングサービスへのアクセス権を持つユーザー名(オプション)
BASICユーザー認証でプロビジョニングサービスを保護する場合に使用します。BASIC認証はユーザーIDとパスワードで認証する方法で、証明書は使用しません。BASICユーザー認証によりSystemwalker Service Catalog Managerだけがプロビジョニングサービスを呼び出せるようになります。
Systemwalker Service Catalog Managerとプロビジョニングサービスとの通信をセキュアにする方法と認証方式の詳細については、“アプリケーション開発ガイド”を参照してください。
provisioningPassword:provisioningUserName に指定したユーザーのパスワード(オプション)
accessType:ユーザーによるアプリケーションのアクセス種別を指定(必須)
Systemwalker Service Catalog Managerを使用せずにユーザーがアプリケーションに直接ログインする場合にはDIRECTを指定します。
ログインだけをSystemwalker Service Catalog Managerを使用しておこない、その後はクライアントがアプリケーションへ直接アクセスする場合はLOGINを指定します。
プロビジョニングサービスとしてユーザー特有の方法が使用されているならUSERを指定します。このアクセス種別ではアプリケーションによる完全なログインの制御もしくは、SAMLによるシングルサインオンのメカニズムを使用することができます。
baseUrlに指定したアプリケーションのリモートインターフェースのURLを経由して、ユーザーが全てのアプリケーションへのアクセスを直接行う場合にはEXTERNALを指定します。サービスにアクセスする場合には、アプリケーションのID (id属性)をURLに付加してください。
それぞれのアクセス種別の詳細は“第2章 アクセス種別の決定”を参照してください。
プラットフォームアクセスとプロキシアクセスは使用しないでください。この二つのアクセス種別は非推奨となりました。これらのアクセス種別は、処理時間やデータに対する要求が高いアプリケーションがSystemwalker Service Catalog Managerに相当の負荷を与え、資源の消費に大きな影響を与えるため、勧められません。プラットフォームアクセスまたはプロキシアクセスを使用する場合には、システム運用管理者にお問い合わせください。
baseUrl:アプリケーションのリモートインターフェースのURL
accessTypeがLOGINの場合に指定する必要があります。エクスターナルアクセスでは外部から参照されるURLを記述します。アプリケーションはbaseURLに対してデフォルトのコンテンツを準備してください。それは、このURLがアプリケーションのリモートインターフェースを指すことになるからです。
loginPath:ログイン経路
トークンハンドラーへのパスを記述します。トークンハンドラーはユーザートークンを含むログイン要求を処理するアプリケーションのモジュールです。パスは、サービスURLで指定されるスラッシュ(/)から始まる相対アドレスのURLである必要があります。
onlyOneSubscriptionPerUser:サービス利用部門でサービスを1回しか購入できないかどうかを指定します(デフォルトはfalse)。trueもしくはfalseを指定します。falseを指定した場合には、サービス利用部門によって1つの技術サービスに基づく複数のサービスを購入することができます。trueを指定した場合には、サービス利用部門によって1つの技術サービスに基づいて購入できるサービスは1つだけです。この場合にはサービス提供部門が該当する技術サービスに基づいた他のサービスを定義・登録していたとしても、サービス利用部門では他のサービスを購入することは出来ません。
allowingOnBehalfActing:組織が別の組織を代表して動作することができるか設定します(デフォルトはfalse)。trueもしくはfalseを指定します。trueを指定した場合には、技術サービス開発部門とサービス提供部門の組織は、サービス利用部門としてSystemwalker Service Catalog Managerにログインしたとみなされます。これによりallowingOnBehalfActingをtrueに指定した技術サービスをサービス利用部門として購入することができるようになります。
例
<tns:TechnicalService accessType="LOGIN" baseUrl="http://myserver.example.com:7777/myservice" build="25.01.2010" id="SampleService" loginPath="/login" provisioningType="SYNCHRONOUS" provisioningUrl= "http://myserver.example.com:8090/axis/services/MyProvisioningService?wsdl" onlyOneSubscriptionPerUser="false" >
AccessInfo
accessTypeがDIRECTもしくはUSERの場合はAccessInfoが必須です。
ユーザーがアクセスする方法を、localeに指定した言語で記述します。この情報が必要なのは、ダイレクトアクセスではユーザーがSystemwalker Service Catalog Manager経由でアプリケーションにアクセスするわけではないためです。
たとえばアプリケーションのWebユーザーインターフェースやログインページのURLなど、アクセスに必要な情報を提供するために使用します。
ここで定義したテキストは、Systemwalker Service Catalog Managerの管理ポータルに表示されます。また、サービスの利用者に配信されるメールにも記載されます。複数の言語を使って定義することが可能です。英語(locale=en)の記述はデフォルトとして利用され、定義していない言語は英語の記述が使用されます。このため英語の記述は必須です。
属性
locale:enやen-USなどのロケールコードを指定します(必須)。(enは英語、en-USは英語(米国)です)
LocalizedDescription
技術サービス定義ファイル内に定義した各要素の目的や説明を記述するテキストです。locale属性ごとに、複数のテキストを用意できます。
LocalizedDescriptionは、以下の要素の下層の要素として記述します。
TechnicalService
技術サービス開発部門、およびサービスを販売するサービス提供部門、サービス提供代行部門、サービス仲介部門の管理ポータルに、サービスの説明として表示されます。
ParameterDefinition
技術サービス開発部門、サービスを販売するサービス提供部門、およびサービスを購入するサービス利用部門のSystemwalker Service Catalog Managerのユーザーインターフェース(管理ポータルおよびサービスポータル)に、パラメーターの説明として表示されます。
Event
技術サービス開発部門、サービスを販売するサービス提供部門、サービス提供代行部門、サービス仲介部門、およびサービスを購入するサービス利用部門のSystemwalker Service Catalog Managerのユーザーインターフェース(管理ポータルおよびサービスポータル)に、イベントの説明として表示されます。
Role
技術サービス開発部門、およびサービスを販売するサービス提供部門、サービス提供代行部門、サービス仲介部門の管理ポータルにロールの説明として表示されます。
Operation
技術サービス開発部門が技術サービスの定義を更新する際、およびサービスが提供する操作をサービス利用部門が選択する際、Systemwalker Service Catalog Managerのユーザーインターフェース(管理ポータルおよびサービスポータル)に操作の説明として表示されます。
属性
locale:enやen-USなどのロケールコードを指定します。(enは英語、en-USは英語(米国)です)
例
<LocalizedDescription locale="en"> Our Service supports you in ... </LocalizedDescription>
LocalizedLicense
サービス利用部門に表示するサービス利用規約を、localeに指定した言語で記述します。locale属性ごとに、複数のテキストを用意できます。
技術サービス開発部門、サービスを販売するサービス提供部門、サービス提供代行部門、サービス仲介部門、およびサービスを購入するサービス利用部門のSystemwalker Service Catalog Managerのユーザーインターフェース(管理ポータルおよびサービスポータル)に、サービス利用規約として表示されます。サービス提供部門およびサービス提供代行部門が変更することができます。
属性
locale:enやen-USなどのロケールコードを指定します(必須)。(enは英語、en-USは英語(米国)です)
例
<LocalizedLicense locale="en"> Please read this software license agreement ... The license terms are applied for the concession of the rights ... </LocalizedLicense>
LocalizedTag
技術サービスに関係した検索用のタグを、localeに指定した言語で記述します。locale属性ごとに、複数のテキストを用意できます。
タグは技術サービス開発部門の管理ポータルに表示されます。サービス利用部門のサービスポータルにて、検索用として技術サービスに基づいたタグを使用することができます。サービスポータル管理部門によって、タグの表示/非表示を選択できます。コンマを区切り文字として、5つまでのタグを並べることができます。タグは大文字・小文字を区別しません。20文字以上指定することはできません。
属性
locale:enやen-USなどのロケールコードを指定します(必須)。(enは英語、en-USは英語(米国)です)
例
<LocalizedTag locale="en"> Documentation </LocalizedTag>
LocalizedName
ユーザーロールまたは操作を、localeに指定した言語で記述します。locale属性ごとに、複数のテキストを用意できます。
ロール名は、技術サービス開発部門、サービスを販売するサービス提供部門、サービス提供代行部門、サービス仲介部門、およびサービス利用部門がユーザーをサービスに割り当てる際、Systemwalker Service Catalog Managerのユーザーインターフェースに表示されます。オペレーション名は、サービス利用部門がサービスの利用を開始する際、あるいは技術サービス開発部門が管理ポータルを使用して技術サービス定義を更新する際に表示されます。
属性
locale:enやen-USなどのロケールコードを指定します(必須)。(enは英語、en-USは英語(米国)です)
ParameterDefinition
インスタンスのプロビジョニング処理を実行する際、アプリケーションに渡すパラメーターを宣言します。
サービス提供部門はパラメーターを使用することで、機能構成やサービス内容の異なる複数のサービス仕様を提供できます。中でも、ENUMERATION型のパラメーターを利用すると、さまざまな選択肢を提供できるようになります。たとえば、MEMORY_STORAGEパラメーターを宣言し、1GB、2GB、4GBを用意し、これらを、最小記憶量、中間記憶量、最大記憶量という3つの選択肢に割り当てます。すると、サービス提供部門が料金設定を定義するとき、この3種類の選択肢を利用できます。また、サービス利用部門がサービスを購入する際にも、この3つの選択肢を利用できるようになります。
Systemwalker Service Catalog Managerは、インスタンスのプロビジョニング処理を呼び出すとき、技術サービス定義に宣言されている全パラメーターを渡します。それ以降の処理は、アプリケーションに委ねられます。
たとえば、ユーザーの作成可能な最大ファイル数を制限するMAX_FILE_NUMBERパラメーターを宣言した場合、アプリケーションはファイルの最大数を超えないよう正確に追跡する必要があります。
以下の事前定義パラメーターが用意されています。
パラメーター | 内容 |
---|---|
NAMED_USER | このパラメーターは1つのサービス購入ごとに指定できる最大ユーザー数を制限する際に使用します。ログインアクセスおよびユーザーアクセスの場合に有効です。 |
CONCURRENT_USER | このパラメーターは同時アクセス数の最大値を制限する場合に使用します。ログインアクセスおよびユーザーアクセスの場合に有効です。 |
PERIOD | このパラメーターはサービスの購入後の使用可能期間を限定する場合に使用します。この期限が過ぎると購入していたサービスは解約されます。accessTypeがEXTERNAL以外の場合に関連します。 |
事前定義パラメーターはSystemwalker Service Catalog Managerによって制御され、どのサービスにも設定することができます。アプリケーション側での作りこみは不要です。
属性
id:パラメーターのID(必須)。技術サービス内のパラメーターで一意となるIDを定義します。
valueType:パラメーターのデータ型(必須)。BOOLEAN、INTEGER、LONG、STRING、ENUMERATIONのどれか一つを設定できます。
mandatory:サービスにパラメーターが必須かどうかを定義(オプション)。trueまたはfalseを設定します。省略値は、falseです。
configurable:パラメーターがサービス提供部門に表示されるかどうかを定義(オプション)。trueまたはfalseを設定します。省略値は、falseです。falseを設定した場合、パラメーターを確認・変更できるのは技術サービス開発部門だけになります。trueを設定すると、サービス利用部門にパラメーターを公開するかどうかを、サービス提供部門が指定できるようになります。サービス利用部門によるパラメーターの変更をサービス提供部門が許可した場合、サービス提供部門はパラメーターの料金を定義できます。また、サービス利用部門はサービスに利用申請する際、パラメーターの値を設定できるようになります。configurableの設定にかかわらず、プロビジョニング処理のときはすべてのパラメーターがサービスに渡されます。
default:パラメーターの省略値を定義(オプション)。BOOLEAN、INTEGER、およびLONGデータ型の値は、通常のJavaメカニズムで評価されます。例えばBOOLEANデータ型については、trueとTRUE以外の記述はfalseとして評価されます。
minValue:パラメーターの最低値を定義(オプション)。
maxValue:パラメーターの最大値を定義(オプション)。
Options:ENUMERATION型のパラメーター用。インスタンスのプロビジョニング処理でアプリケーションに渡すOption要素を、パラメーターの値ごとに定義します。Optionsには、次の属性を持つさまざまなOption要素を定義します。
id:オプションのID。パラメーター内のすべてのOptionで一意となるID。
LocalizedOption:オプションの目的や説明をlocaleに指定した言語で記述。locale属性ごとに複数のテキストを用意できます。
例
<ParameterDefinition configurable="true" default="2" id="MEMORY_STORAGE" mandatory="false" valueType="ENUMERATION"> <Options> <Option id="1"> <LocalizedOption locale="en">Minimum Storage (1GB) </LocalizedOption> </Option> <Option id="2"> <LocalizedOption locale="en">Medium Storage (2GB) </LocalizedOption> </Option> <Option id="3"> <LocalizedOption locale="en">Maximum Storage (4GB) </LocalizedOption> </Option> </Options> </ParameterDefinition> <ParameterDefinition configurable="true" default="200" id="MAX_FOLDER_NUMBER2" mandatory="true" maxValue="500" minValue="12" valueType="INTEGER"> <LocalizedDescription locale="en"> Number of folders that can be created.</LocalizedDescription> </ParameterDefinition>
Event
イベントを宣言します。Systemwalker Service Catalog Managerはイベント発生の通知を受け取れるようになります。Systemwalker Service Catalog ManagerのパブリックWebサービスAPIでイベント通知を実装した場合のみ必要です。
詳細は“3.3 イベント管理との統合”を参照してください。
属性
id:イベントのID(必須)。技術サービス内のイベントで一意となるIDを指定します。
例
<Event id="FILE_DOWNLOAD"> <LocalizedDescription locale="en"> File Download </LocalizedDescription> </Event>
Role
サービスのロールを宣言します。ロールに応じて異なるアクセス権をサービスが提供する場合に使用します。ロールは、サービスとして提供するアプリケーションのアクセス権に対応づけるために使用します。
属性
id:ユーザーロールのID(必須)。技術サービス内のユーザーロールで一意となるIDを定義します。
例
<Role id="ADMIN"> <LocalizedName locale="en">Administrator</LocalizedName> <LocalizedDescription locale="en"> Administrators have full access to all data entities and can execute administrative tasks such as role assignments and user creation. </LocalizedDescription> </Role> <Role id="GUEST"> <LocalizedName locale="en">Guest</LocalizedName> <LocalizedDescription locale="en"> Guests only have limited read access. </LocalizedDescription> </Role>
Operation
技術サービスが提供する操作を宣言します。
技術サービスによっては、アプリケーションに直接アクセスすることなしに、Systemwalker Service Catalog Manager経由でアクセス可能な追加の操作や機能を提供した場合があります。SaaSの環境では、アプリケーションはローカル環境にはインストールされておらず、サービスとして提供されます。このため、利用者は、システムのバックアップやシャットダウンのような管理作業を行いたい場合などでも、アプリケーションが利用しているシステム資源にはアクセスすることはできません。このような操作を技術サービスで提供すれば、Webでアクセス可能な別のインターフェースをアプリケーションに追加しなくても、統合が簡単に行えるようになります。
属性
id:操作のID(必須)。技術サービスの操作で一意となるIDを定義します。
type:操作として呼び出されるトランザクションの種類(オプション)。SYNCHRONOUSのみ設定可能です。
actionURL:操作のWebインターフェースを定義したWSDLドキュメントのURL(必須)。
例
<Operation id="BACKUP" type="SYNCHRONOUS" actionURL="http://myserver.example.com:7777/myOperation.wsdl"> <LocalizedName locale="en">Backup</LocalizedName> <LocalizedDescription locale="en"> Performs a backup of the subscription data. </LocalizedDescription> </Operation>