統合の最初の作業は、外部からサービスを操作するためのWebサービスを実装することです。このWebサービスをプロビジョニングサービスと呼びます。カスタマーがサービスの利用申請をするときや、利用中のサービスの管理をおこなうときは、アプリケーションサービス機能はこのプロビジョニングサービスを呼び出します。また、ユーザーの追加や管理をおこなう場合も、プロビジョニングサービスを呼び出すことがあります。
最初に、以下の前提条件が満たされていることを確認してください。
統合するアプリケーションのインストールが完了していて、利用できる状態になっていること。
Webサーバーのインストールが完了していて、利用できる状態になっていること。
プロキシアクセス以外のアクセス種別を利用する場合は、以下が用意されていることを確認してください。
アプリケーションサービス機能と共に配布されているインテグレーションパックが提供するインターフェース。このファイルはプロビジョニングサービスのインターフェースやデータオブジェクトを含んでいます。アプリケーションサービス機能との統合をJavaで実装する際は、これらのAPIを利用します。
このファイルを利用しない場合は、WSDL定義からクラスを生成するために、Webサービスのフレームワークが必要になります。
実装には以下についての検討が必要です。
インスタンスの提供方法
カスタマーがサービスの利用申請をすると、アプリケーションはサービスの利用に必要なすべての処理を実行し、サービスの識別子をアプリケーションサービス機能に返す必要があります。アプリケーション側でサービスのために提供されるもののことを「インスタンス」と呼びます。
実際の動作や作成するインスタンスは、アプリケーションの性質や機能によって決まります。たとえば、アプリケーション使用中にカスタマーがデータを作成して保存したとします。このとき、アプリケーションはデータコンテナの中に独立したワークスペースを作成する場合もありますが、独立したデータベースのインスタンスを作成する場合もあります。
プロビジョニングのモード
インスタンスプロビジョニングには、同期モードと非同期モードがあります。
インスタンスを直ちに用意できる場合に利用します。アプリケーションは必要な処理をすべて実行し、処理の完了を確認します。これによりアプリケーションサービス機能はサービスを公開し、カスタマーがサービスを利用できる状態になります。
手作業が必要になる場合など、処理に時間を要するときに利用します。この場合、アプリケーションは処理が保留されていることをアプリケーションサービス機能に通知します。つまり、アプリケーション側で開始した処理が終了していない状態です。処理が終了したら、アプリケーションは改めてアプリケーションサービス機能に完了を通知する必要があります。何らかの理由で処理が終了しなかった場合も、その旨をアプリケーションサービス機能に通知する必要があります。
アプリケーションのパラメーターとオプション
アプリケーションが、アプリケーションサービス機能のサービスプロビジョニングに関連するパラメーターを必要とする場合もあります。パラメーターは、異なる構成を提供したり、サービスを制限したりするために提供します。たとえば、作成可能なフォルダ、ファイル、あるいはオブジェクトの上限値を指定する場合などに利用できます。
パラメーターに使用できるデータ型は、BOOLEAN、INTEGER、LONG、STRING、ENUMERATION があります。ENUMERATION型のパラメーターでは、さまざまな種類のオプションを指定できます。たとえば、最小、標準、最大といった3種類の記憶容量を提供する場合は、MEMORY_STORAGEパラメーターを用意して1GB、2GB、4GBなどの値を割り当てます。そうすれば、サプライヤーは記憶容量に応じて3種類の価格モデルを定義できるようになります。カスタマーも、サービスを利用申請する際に、必要な容量を選択できるようになります。
アプリケーションサービス機能は、プロビジョニングの際にアプリケーションへパラメーターを渡します。パラメーターの処理はアプリケーション側でおこないます。特に、パラメーターの内容でサービスに制限が加えられている場合は、アプリケーションが制限を正しく処理する必要があります。たとえば、ユーザーが作成できるファイル数の上限値がパラメーターで決まっている場合、アプリケーションはファイルの数を記憶し、上限値を超えないようにする必要があります。
アプリケーションサービス機能は、サービスに登録できるユーザー数(NAMED_USER)の上限値と、同時に利用できるユーザー数(CONCURRENT_USER)の上限値を定めています。この2つのパラメーターは、ダイレクトアクセスを除くすべてのアクセス種別で適用されます。ほかに、サービスの最長期間(PERIOD)というパラメーターもあります。こちらは、すべてのアクセス種別で適用されます。これらのパラメーターは、すべてのサービス仕様に対してアプリケーションサービス機能が自動的に適用します。アプリケーション側で実装する必要はありません。
ユーザー管理
ユーザーがアプリケーションサービス機能経由でアプリケーションにアクセスする場合には、ユーザー管理のオペレーションを実装しておく必要があります。このオペレーションは、アプリケーションサービス機能でカスタマーが新しいユーザーをサービスに割り当てたとき、ユーザーの割り当てをサービスから解除したとき、あるいはユーザーのプロファイルを更新したときに呼び出されます。アプリケーションが独自のユーザー管理をおこなっている場合などは、ユーザーのアカウントを作成するなど、これらのオペレーションに対応する処理を実行する必要があります。
プロビジョニングサービスの実装には2つの方法があります。
サービスをJavaクライアントとして実装する
サービスをJava以外のクライアントとして実装する