Serveur Open Services for Lifecycle Collaboration (OSLC)
Les services Open Services for Lifecycle Collaboration (OSLC) sont utilisés pour simplifier l'intégration dans les outils de gestion du cycle de vie. Windchill prend en charge la spécification OSLC par défaut et permet aux clients OSLC d'utiliser ces services pour s'intégrer avec Windchill.
Les API OSLC Windchill permettent aux clients OSLC d'interroger et de lier les articles Windchill en fonction des spécifications OSLC. Windchill prend en charge les spécifications OSLC suivantes :
Les services OSLC Windchill sont chargés de mapper des objets Windchill à une ressource OSLC correspondante et de fournir la réponse pour ces ressources dans le format demandé. Les formats pris en charge sont les suivants :
• RDF + XML (par défaut)
• text/turtle
|
Les services OSLC Windchill ne peuvent être utilisés que par des clients OSLC. Les clients non-OSLC doivent utiliser Windchill REST Services (WRS) basé sur OData.
|
Catalogue OSLC
Pour plus d'informations sur l'ensemble des services, ressources et terminologie disponibles, vous pouvez accéder au catalogue OSLC à l'adresse http(s)://<server>:<port>/Windchill/oslc/catalog.
Configuration de l'autorisation OAuth
L'autorisation par défaut pour les services OSLC Windchill est l'autorisation de base. Une étape de configuration supplémentaire est requise pour activer l'autorisation OAuth.
Consultez la rubrique
Configure OAuth Delegated Authorization pour connaître les étapes de configuration de
Windchill pour utiliser OAuth. Une fois que l'OAuth
Windchill est configurée, définissez les propriétés de
Windchill suivantes :
Nom de la propriété
|
Description
|
oslc.authorizationURI
|
URI pour l'obtention de l'autorisation OAuth
|
oslc.oauthAccessTokenURI
|
URI pour l'obtention d'un jeton d'accès OAuth
|
oslc.oauthRequestTokenURI
|
URI pour l'obtention du jeton de demande OAuth
|
Lorsque les propriétés OAuth OSLC sont configurées, le catalogue OSLC Windchill inclut la propriété OAuthConfiguration, ce qui permet aux clients OSLC de découvrir qu'ils doivent utiliser l'autorisation OAuth.
|
Lorsque vous utilisez l'autorisation OAuth, assurez-vous que toutes les requêtes vers les extrémités OSLC sont précédées du modèle d'URL SpringSecurityFilterChain configuré. Par exemple, si SpringSecurityFilterChain est configuré avec le modèle d'URL /oauth/*, toutes les extrémités OSLC doivent avoir le modèle d'URL /oauth/oslc/*.
|
Configuration requise après la mise à jour de Windchill
Pour activer les services OSLC Windchill après la mise à jour d'une version précédente de Windchill, procédez comme suit :
1. Ajoutez l'entrée suivante à %WT_HOME%/codebase/WEB_INF/web.xml
<servlet-mapping>
<servlet-name>OSLCServlet</servlet-name>
<url-pattern>/oslc/*</url-pattern>
</servlet-mapping>
2. Pour ajouter le chemin OSLC à la configuration Apache, ajoutez l'entrée suivante à HTTPServer/conf/conf.d/30-app-Windchill-AJP.conf
JkMount /Windchill/oslc/* ajpWorker
3. Pour configurer le catalogue OSLC pour l'accès anonyme dans la configuration Apache, ajoutez l'entrée suivante à HTTPServer/conf/conf.d/30-app-Windchill-Auth.conf
<LocationMatch ^/+Windchill/+oslc/catalog(;.*)?>
Require all granted
</LocationMatch>
Configuration de la stratégie de sécurité du contenu
Pour autoriser les sites clients d'autres sites à visualiser les aperçus OSLC,
mettez à jour le fichier web.xml afin d'y inclure les configurations suivantes du filtre de servlet de sécurité du contenu 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>
Configuration du partage de ressources entre origines multiples (CORS) pour OSLC
|
Pour sécuriser au maximum la configuration, n'utilisez le filtre CORS que pour une configuration OSLC inter-domaines.
|
|
Lorsque vous configurez Windchill pour le partage de ressources OSLC avec d'autres applications clientes OSLC PTC, installez ces applications localement dans le même domaine.
|
Pour autoriser les sites clients d'autres sites à visualiser les services OSLC,
mettez à jour le fichier web.xml afin d'y inclure les configurations de filtre de servlet suivantes :
<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>