特殊な管理 > Open Services for Lifecycle Collaboration (OSLC) サーバー
Open Services for Lifecycle Collaboration (OSLC) サーバー
Open Services for Lifecycle Collaboration (OSLC) サービスは、ライフサイクル管理ツール間の統合を簡略化するために使用されます。Windchill では、デフォルトで OSLC 仕様がサポートされており、OSLC クライアントはこれらのサービスを使用して Windchill と統合できます。
Windchill OSLC API により、OSLC クライアントは、OSLC 仕様に基づいて、Windchill 部品への照会およびリンクを行うことができます。Windchill では、以下の OSLC 仕様がサポートされています。
Configuration Management 1.0 (Windchill 部品の公開用)
Windchill OSLC サービスは、Windchill オブジェクトの対応する OSLC リソースへのマッピングを処理し、要求されたフォーマットで、これらのリソースに応答を提供します。サポートされているフォーマットは以下のとおりです。
rdf+xml (デフォルト)
text/turtle
* 
Windchill OSLC サービスを使用できるのは OSLC クライアントのみです。OSLC クライアント以外は Windchill (OData) Rest Services (WRS) を使用しなければなりません。
OSLC カタログ
http(s)://<server>:<port>/Windchill/oslc/catalog にある OSLC カタログを参照することで、使用できるすべてのサービス、リソース、および用語の詳細を確認できます。
OAuth 認証の設定
Windchill OSLC サービスのデフォルトの認証は、基本認証です。OAuth 認証を有効にするには、追加の設定手順を実行しなければなりません。OAuth を使用するように Windchill を設定する手順については、「OAuth 委任認証の設定」を参照してください。Windchill OAuth を設定した後、以下の Windchill プロパティを設定します。
プロパティ名
説明
oslc.authorizationURI
OAuth 認証を取得するための URI
oslc.oauthAccessTokenURI
OAuth アクセストークンを取得するための URI
oslc.oauthRequestTokenURI
OAuth リクエストトークンを取得するための URI
OSLC OAuth プロパティの設定により、Windchill OSLC カタログに OAuthConfiguration プロパティが含められるので、OSLC クライアントは OAuth 認証を使用する必要があることを検出できます。
* 
OAuth 認証を使用する場合、OSLC エンドポイントへのすべてのリクエストに、SpringSecurityFilterChain に設定されている URL パターンをプレフィックスとして追加します。たとえば、SpringSecurityFilterChain が URL パターン /oauth/* を使用して設定されている場合、すべての OSLC エンドポイントに URL パターン /oauth/oslc/* が必要です。
Windchill のアップデート後に必要なコンフィギュレーション
以前のバージョンの Windchill からのアップデート後に Windchill OSLC サービスを有効にするには、次の手順を実行します。
1. 次のエントリを %Windchill%/codebase/WEB_INF/web.xml に追加します
<servlet-mapping>
<servlet-name>OSLCServlet</servlet-name>
<url-pattern>/oslc/*</url-pattern>
</servlet-mapping>
2. Apache コンフィギュレーションに OSLC パスを追加するために、次のエントリを HTTPServer/conf/conf.d/30-app-Windchill-AJP.conf に追加します
JkMount /Windchill/oslc/* ajpWorker
3. Apache コンフィギュレーションで OSLC カタログの匿名アクセスを設定するために、次のエントリを HTTPServer/conf/conf.d/30-app-Windchill-Auth.conf に追加します。
<LocationMatch ^/+Windchill/+oslc/catalog(;.*)?>
Require all granted
</LocationMatch>
コンテンツセキュリティポリシーのコンフィギュレーション
ほかのサイトのクライアントサイトで OSLC プレビューを表示できるようにするには、web.xml ファイルを更新して、次の OSLC コンテンツセキュリティサーブレットフィルタコンフィギュレーションを追加します。
<filter>
<filter-name>OSLCContentSecurityFilter</filter-name>
<description>Servlet request filter to set the Content Security Policy for previews</description>
<filter-class>com.ptc.oslc.windchill.filter.OSLCHttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>https://site1.domain.com,https://site2.domain.com </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>OSLCContentSecurityFilter</filter-name>
<url-pattern>/oslc/*</url-pattern>
</filter-mapping>
OSLC のオリジン間リソース共有 (CORS) のコンフィギュレーション
* 
より安全なコンフィギュレーションにするため、CORS フィルタはクロスドメイン OSLC コンフィギュレーションにのみ使用します。
* 
ほかの PTC OSLC クライアントアプリケーションとの間で OSLC リソースを共有するように Windchill を設定する場合、これらのアプリケーションを同じドメインにローカルにインストールします。
ほかのサイトのクライアントサイトが OSLC サービスを表示できるようにするには、web.xml ファイルを更新して、次のサーブレットフィルタコンフィギュレーションを追加します。
<filter>
<filter-name>ContentCorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>[ALLOWED_ORIGINS]</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,OPTIONS</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ContentCorsFilter</filter-name>
<url-pattern>/oslc/preview/*</url-pattern>
<url-pattern>/oslc/config/*</url-pattern>
</filter-mapping>
これは役に立ちましたか?