テクニカルサービス定義とは、アプリケーションをテクニカルサービスとしてアプリケーションサービス機能に登録するために必要な情報です。テクニカルサービス定義は、XMLファイルを使って定義します。このファイルは、XMLスキーマTechnicalServices.xsdに準拠して作成します。TechnicalServices.xsdは、アプリケーションサービス機能のインテグレーションパックに含まれています。詳細は、“付録A インテグレーションパック”を参照してください。
本章では、テクニカルサービス定義に利用する要素と属性の意味を説明します。それぞれの構文はTechnicalServices.xsdを参照してください。
TechnicalServices
テクニカルサービス定義ファイルにおいて最上層となる要素です。
TechnicalService
アプリケーションをアプリケーションサービス機能のテクニカルサービスとして登録するために必要なすべての情報を記載します。
属性
id:アプリケーションのID(必須)
アプリケーションサービス機能は、テクニカルサービスとして登録するアプリケーションを一意に識別するキーとして、idとversionの組み合わせを使用します。ほかのテクニカルサービスと重複するキーは使用できません。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
version:アプリケーションのバージョン番号(必須)
アプリケーションサービス機能は、テクニカルサービスとして登録するアプリケーションを一意に識別するキーとして、idとversionの組み合わせを使用します。
IDが同一であってもバージョン番号(version)が異なる場合、アプリケーションサービス機能は異なるサービスとみなします。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
build:アプリケーションのビルド番号(オプション)
テクニカルサービスとして登録するアプリケーションのビルド番号またはパッチレベルを指定します。
アプリケーションサービス機能は、ビルド番号をテクニカルサービスのアプリケーションを識別するためのキーとして使用しません。この点はバージョン番号(version)と異なります。
255文字以内で指定します。
provisioningType:インスタンスのプロビジョニングの実行を同期モードにするか非同期モードにするかを指定(必須)
プロビジョニングサービスの実装にcreateInstanceを使用した場合はSYNCHRONOUSを使用します。
プロビジョニングサービスの実装にasyncCreateInstanceを使用した場合はASYNCHRONOUSを使用します。
provisioningTimeout:非同期のプロビジョニング処理が失敗したと判断するためのタイムアウト(オプション)。省略するとタイムアウトは発生しません。
LONG 型の数値(9223372036854775807以下の整数値)で指定します。
provisioningUrl:プロビジョニングサービスのインターフェースを定義したWSDLのURL(プロキシアクセスでは使用しません。それ以外では必須)。
255文字以内で指定します。
provisioningVersion:プロビジョニングサービスのバージョン番号(オプション)
255文字以内で指定します。
provisioningUserName:プロビジョニングサービスへのアクセス権を持つユーザー名(オプション)
BASICユーザー認証でプロビジョニングサービスを保護する場合に使用します。BASICユーザー認証によりアプリケーションサービス機能だけがプロビジョニングサービスを呼び出せるようになります。
BASICユーザー認証を構成するためにはソフトウェア環境の標準機能を使用します。たとえば、アプリケーションサーバーを使用している場合は、アプリケーションサーバーの構成ツールを使用してBASIC認証を有効にします。
255文字以内で指定します。
provisioningPassword:provisioningUserName に指定したユーザーのパスワード(オプション)
255文字以内で指定します。
accessType:ユーザーによるアプリケーションのアクセス種別を指定(必須)
アプリケーションサービス機能を使用せずにユーザーがアプリケーションに直接ログインする場合にはDIRECTを指定します。
ログインだけをアプリケーションサービス機能を使用しておこない、その後はクライアントがアプリケーションへ直接アクセスする場合はLOGINを指定します。
アプリケーションへのログインやアプリケーション操作のすべてをアプリケーションサービス機能経由でアクセスする場合はPLATFORMを指定します。
ユーザーがアプリケーションサーバーに対してログインし、クライアントとアプリケーション間で交わされるすべてのリクエスト交換についてアプリケーションサービス機能がリバースプロキシとして働いて処理する場合はPROXYを指定します。
それぞれのアクセス種別の詳細は“第2章 アクセス種別の決定”を参照してください。
baseUrl:アプリケーションのリモートインターフェースのURL
アプリケーションサービス機能経由でアプリケーションにログインする場合、つまりaccessTypeにLOGINまたはPLATFORMを指定した場合に必要です。
255文字以内で指定します。
loginPath:トークンハンドラー(ユーザートークンを含むログインリクエストを処理するアプリケーション中のモジュール)のパス(オプション)。accessTypeがLOGINまたはPLATFORMの場合に指定する必要があります。
baseUrlで指定したURLからの相対パスを指定します。最初の文字をスラッシュ(/)にしてください。
トークンハンドラーの詳細は、“付録C ログイン・ログアウトの実装”を参照してください。
255文字以内で指定します。
descriptionUrl:サービスに関する追加情報を提供するWebページのURL(オプション)。マーケティング用の資料や、技術的なドキュメントの提供に使用できます。
255文字以内で指定します。
例
<TechnicalService accessType="PLATFORM" baseUrl="http://myserver.example.com:7777/myservice" build="25.01.2010" descriptionUrl="http://www.myServiceInfo.example.com" id="SampleService" loginPath="/login" provisioningType="SYNCHRONOUS" provisioningUrl= "http://myserver.example.com:8090/axis/services/MyProvisioningService?wsdl" version="1.00">
AccessInfo
accessTypeがDIRECTの場合はAccessInfoが必須です。
ユーザーがアクセスする方法を、localeに指定した言語で記述します。この情報が必要なのは、ダイレクトアクセスではユーザーがアプリケーションサービス経由でアプリケーションにアクセスするわけではないためです。
たとえばアプリケーションのWebユーザーインターフェースやログインページのURLなど、アクセスに必要な情報を提供するために使用します。
ここで定義したテキストは、アプリケーションサービス機能のユーザーインターフェースに表示されます。また、サービスの利用者に配信されるメールにも記載されます。複数の言語を使って定義することが可能です。
属性
locale:enやen-USなどのロケールコードを指定します(必須)。(enは英語、en-USは英語(米国)です)
LocalizedDescription
テクニカルサービス定義ファイル内に定義した各要素の目的や説明を記述するテキストです。locale属性ごとに、複数のテキストを用意できます。
LocalizedDescriptionは、以下の要素の下層の要素として記述します。
TechnicalService
テクノロジープロバイダー、サービスを販売するサプライヤー、およびサービスを利用申請するカスタマーのアプリケーションサービス機能のユーザーインターフェースに、サービスの説明として表示されます。
ParameterDefinition
テクノロジープロバイダー、サービスを販売するサプライヤー、およびサービスを利用申請するカスタマーのアプリケーションサービス機能のユーザーインターフェースに、パラメーターの説明として表示されます。
Event
テクノロジープロバイダー、サービスを販売するサプライヤー、およびサービスを利用申請するカスタマーのアプリケーションサービス機能のユーザーインターフェースに、イベントの説明として表示されます。
Role
テクノロジープロバイダー、サービスを販売するサプライヤー、およびカスタマーがユーザーをサービスに割り当てる際、アプリケーションサービス機能のユーザーインターフェースにロールの説明として表示されます。
Operation
テクノロジープロバイダーがテクニカルサービスの定義を更新する際、およびサービスが提供する操作をカスタマーが選択する際、アプリケーションサービス機能のユーザーインターフェースに操作の説明として表示されます。
属性
locale:enやen-USなどのロケールコードを指定します。(enは英語、en-USは英語(米国)です)
例
<LocalizedDescription locale="en"> Our Service supports you in ... </LocalizedDescription>
LocalizedLicense
カスタマーに表示するサービス利用規約を、localeに指定した言語で記述します。locale属性ごとに、複数のテキストを用意できます。
テクノロジープロバイダー、サービスを販売するサプライヤー、およびサービス利用を利用申請するカスタマーのアプリケーションサービス機能のユーザーインターフェースに、サービス利用規約として表示されます。
属性
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>
LocalizedName
ユーザーロールまたは操作を、localeに指定した言語で記述します。locale属性ごとに、複数のテキストを用意できます。
ロール名は、テクノロジープロバイダー、サービスを販売するサプライヤー、およびカスタマーがユーザーをサービスに割り当てる際、アプリケーションサービス機能のユーザーインターフェースに表示されます。オペレーション名は、カスタマーがサービスの利用を開始する際、あるいはテクノロジープロバイダーがアプリケーションサービス機能のユーザーインターフェースを使用してテクニカルサービス定義を更新する際に表示されます。
属性
locale:enやen-USなどのロケールコードを指定します(必須)。(enは英語、en-USは英語(米国)です)
ParameterDefinition
インスタンスのプロビジョニング処理を実行する際、アプリケーションに渡すパラメーターを宣言します。
サプライヤーはパラメーターを使用することで、機能構成やサービス内容の異なる複数のサービス仕様を提供できます。中でも、ENUMERATION型のパラメーターを利用すると、さまざまな選択肢を提供できるようになります。たとえば、MEMORY_STORAGEパラメーターを宣言し、1GB、2GB、4GBを用意し、これらを、最小記憶量、中間記憶量、最大記憶量という3つの選択肢に割り当てます。すると、サプライヤーが価格モデルを定義するとき、この3種類の選択肢を利用できます。また、カスタマーがサービスに利用申請する際にも、この3つの選択肢を利用できるようになります。
アプリケーションサービス機能は、インスタンスのプロビジョニング処理を呼び出すとき、テクニカルサービス定義に宣言されている全パラメーターを渡します。それ以降の処理は、アプリケーションに委ねられます。特に、パラメーターに応じてサービスの使用を制限するような場合は、アプリケーションがその制限を確実に守る必要があります。
たとえば、ユーザーの作成可能な最大ファイル数を制限するMAX_FILE_NUMBERパラメーターを宣言した場合、アプリケーションはファイルの最大数を超えないよう正確に追跡する必要があります。
属性
id:パラメーターのID(必須)。テクニカルサービス内のパラメーターで一意となるIDを定義します。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
valueType:パラメーターのデータ型(必須)。BOOLEAN、INTEGER、LONG、STRING、ENUMERATIONのどれか一つを設定できます。
mandatory:サービスにパラメーターが必須かどうかを定義(オプション)。trueまたはfalseを設定します。省略値は、falseです。
configurable:パラメーターがサプライヤーに表示されるかどうかを定義(オプション)。trueまたはfalseを設定します。省略値は、falseです。falseを設定した場合、パラメーターを確認・変更できるのはテクノロジープロバイダーだけになります。trueを設定すると、カスタマーにパラメーターを公開するかどうかを、サプライヤーが指定できるようになります。カスタマーによるパラメーターの変更をサプライヤーが許可した場合、サプライヤーはパラメーターの価格を定義できます。また、カスタマーはサービスに利用申請する際、パラメーターの値を設定できるようになります。configurableの設定にかかわらず、プロビジョニング処理のときはすべてのパラメーターがサービスに渡されます。
default:パラメーターの省略値を定義(オプション)。
minValue:パラメーターの最低値を定義(オプション)。
maxValue:パラメーターの最大値を定義(オプション)。
Options:ENUMERATION型のパラメーター用。インスタンスのプロビジョニング処理でアプリケーションに渡すOption要素を、パラメーターの値ごとに定義します。Optionsには、次の属性を持つさまざまなOption要素を定義します。
id:オプションのID。パラメーター内のすべてのOptionで一意となるID。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
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
イベントを宣言します。アプリケーションサービス機能はイベント発生の通知を受け取れるようになります。アプリケーションサービス機能のパブリックWebサービスAPIでイベント通知を実装した場合のみ必要です。
アプリケーションサービス機能では、従量制の価格モデルや、課金などにイベントを利用できます。詳細は“3.2 アプリケーションサービス機能のイベント管理との統合”を参照してください。
属性
id:イベントのID(必須)。テクニカルサービス内のイベントで一意となるIDを指定します。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
例
<Event id="FILE_DOWNLOAD"> <LocalizedDescription locale="en"> File Download </LocalizedDescription> </Event>
Role
サービスのユーザーロールを宣言します。ユーザーロールに応じて異なるアクセス権をサービスが提供する場合に使用します。ユーザーロールは、サービスとして提供するアプリケーションのアクセス権に対応づけるために使用します。
アプリケーションサービス機能では、ユーザーロールや、そのイベントに対する価格モデルを作成することも可能です。
属性
id:ユーザーロールのID(必須)。テクニカルサービス内のユーザーロールで一意となるIDを定義します。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
例
<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
テクニカルサービスが提供する操作を宣言します。
属性
Id:操作のID(必須)。テクニカルサービスの操作で一意となるIDを定義します。
40文字以内で指定します。先頭と末尾の空白、および以下の文字は使用できません。
! " # $ % & ' * + , / : ; < = > ? \ ^ `
type:操作として呼び出されるトランザクションの種類(オプション)。SYNCHRONOUSのみ設定可能です。
actionURL:操作のWebインターフェースを定義したWSDLドキュメントのURL(必須)。
255文字以内で指定します。
例
<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>