Process Engine REST Service の構成
Process Engine REST Service サーブレットは、構成ファイルから構成情報を読み取ります。
この構成ファイルは、以下の機能を実行します。
- Content Platform Engine URI を割り当てます。
- REST Service サーブレットがワークフロー・システムとのセッションを確立するために必要とする接続ポイントを割り当てます。
- REST リソースのハンドラー・クラスを定義します。
構成ファイルにおける REST Service のデフォルトの接続ポイントは、「RESTCP」です。REST Service を使用するには、次の操作のいずれか 1 つを実行します。
- この接続ポイントが Content Platform Engine 用に作成されていることを確認します。
- 構成ファイルの接続ポイントの設定を、既存の接続ポイントに変更します。
接続ポイントについて詳しくは、『ワークフロー・システムの定義 (Defining the workflow system)』を参照してください。
この構成ファイル (デプロイされたディレクトリー内) は変更可能ですが、REST Service サーブレットは初期化時にのみ構成を読み取ります。 ファイルを変更する場合は、REST Service サーブレットを格納する Web アプリケーションを再始動する必要があります。
REST Service 構成ファイル
REST Service 構成ファイルは、次の場所にインストールされます。
<Content Platform Engine EAR file>¥peengine.war¥WEB-INF¥P8BPMRESTConfig.xml
構成ファイルのスキーマ
構成ファイルの XML スキーマは、次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.ibm.com/p8/bpm/v1/rest/config/schema" targetNamespace="http://www.ibm.com/p8/bpm/v1/rest/config/schema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="P8BPMREST">
<xs:complexType>
<xs:sequence>
<xs:element name="version.path">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="filenet.pe.bootstrap.ceuri">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="connection.point">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="resource.handler" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="path" type="xs:string" use="required"/>
<xs:attribute name="className" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="standalone" type="xs:boolean" default="false" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>
構成ファイルの例
以下の出力は、作業用の構成ファイルの例です。
<perest:P8BPMREST xmlns:perest="http://www.ibm.com/p8/bpm/v1/rest/config/schema" perest:standalone="false">
<perest:version.path value="/p8/bpm/v1"/>
<perest:filenet.pe.bootstrap.ceuri value="/FileNet/Engine"/>
<perest:connection.point value="RESTCP"/>
<perest:resource.handler path="workclasses" className="filenet.pe.rest.handlers.WorkClasses"/>
<perest:resource.handler path="workclasses/{workclassName}" className="filenet.pe.rest.handlers.AWorkClass"/>
<perest:resource.handler path="workclasses/{workclassName}/structure" className="filenet.pe.rest.handlers.WorkClassStructure"/>
<perest:resource.handler path="rosters/{rosterName}/wc/{workclassName}/wob/{wobID}" className="filenet.pe.rest.handlers.WorkClassLauncher"/>
<perest:resource.handler path="appspacenames" className="filenet.pe.rest.handlers.AppSpaces"/>
<perest:resource.handler path="appspacenames/{appspace}/rolenames" className="filenet.pe.rest.handlers.RoleNames"/>
<perest:resource.handler path="appspaces/{appspace}/myroles" className="filenet.pe.rest.handlers.Roles"/>
<perest:resource.handler path="appspaces/{appspace}/roles/{roleName}" className="filenet.pe.rest.handlers.Role"/>
<perest:resource.handler path="appspaces/{appspace}/roles/{roleName}/attributes" className="filenet.pe.rest.handlers.RoleAttributes"/>
<perest:resource.handler path="writableappspaces" className="filenet.pe.rest.handlers.WritableAppSpaces"/>
<perest:resource.handler path="writableappspaces/{appspace}" className="filenet.pe.rest.handlers.WritableAppSpace"/>
<perest:resource.handler path="writableappspaces/{appspace}/roles" className="filenet.pe.rest.handlers.WritableRoles"/>
<perest:resource.handler path="writableappspaces/{appspace}/roles/{roleName}" className="filenet.pe.rest.handlers.WritableRole"/>
<perest:resource.handler path="writableappspaces/{appspace}/roles/{roleName}/attributes" className="filenet.pe.rest.handlers.RoleAttributes"/>
<perest:resource.handler path="writableappspaces/{appspace}/roles/{roleName}/members" className="filenet.pe.rest.handlers.Members"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}" className="filenet.pe.rest.handlers.WorkBasket"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/filters" className="filenet.pe.rest.handlers.WorkBasketFilters"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/filters/{filterName}/attributes" className="filenet.pe.rest.handlers.WorkBasketFilterAttributes"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/columns" className="filenet.pe.rest.handlers.WorkBasketColumns"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/columns/{columnName}/attributes" className="filenet.pe.rest.handlers.WorkBasketColumnAttributes"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/attributes" className="filenet.pe.rest.handlers.WorkBasketAttributes"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/queueelements" className="filenet.pe.rest.handlers.QueueElements"/>
<perest:resource.handler path="queues/{queueName}/workbaskets/{workBasketName}/queueelements/count" className="filenet.pe.rest.handlers.QueueElementsCount"/>
<perest:resource.handler path="queues/{queueName}/stepelements/{wobID}" className="filenet.pe.rest.handlers.StepElement"/>
<perest:resource.handler path="currentuser" className="filenet.pe.rest.handlers.CurrentUser"/>
<perest:resource.handler path="securitydomains" className="filenet.pe.rest.handlers.SecurityDomains"/>
<perest:resource.handler path="queues/{queueName}/stepelements/{wobID}/milestones" className="filenet.pe.rest.handlers.Milestones"/>
<perest:resource.handler path="users" className="filenet.pe.rest.handlers.Users2"/>
<perest:resource.handler path="groups" className="filenet.pe.rest.handlers.Groups2"/>
</perest:P8BPMREST>