Open Services for Lifecycle Collaboration (OSLC)-Server
Open Services for Lifecycle Collaboration (OSLC)-Dienste werden verwendet, um die Integration in den Lebenszyklus-Management-Tools zu vereinfachen. Windchill unterstützt standardmäßig die OSLC-Spezifikation und ermöglicht es den OSLC-Clients, diese Dienste zur Integration in Windchill zu verwenden.
Die Windchill OSLC-APIs ermöglichen es OSLC-Clients, Windchill Teile basierend auf den OSLC-Spezifikationen abzufragen und zu verknüpfen. Windchill unterstützt die folgenden OSLC-Spezifikationen:
Die Windchill OSLC-Dienste sind für die Zuordnung von Windchill Objekten zu einer entsprechenden OSLC-Ressource verantwortlich und stellen die Antwort für diese Ressourcen im angeforderten Format bereit. Es werden die folgenden Formate unterstützt:
• RDF + XML (Standard)
• text/turtle
|
|
Die Windchill OSLC-Dienste können nur von OSLC-Clients verwendet werden; Nicht-OSLC-Clients müssen die Windchill (OData) Rest Services (WRS) verwenden.
|
OSLC-Katalog
Der OSLC-Katalog sowie weitere Informationen zu allen verfügbaren Diensten, Ressourcen und der Terminologie sind unter http(s)://<server>:<port>/Windchill/oslc/catalog verfügbar.
OAuth-Autorisierung konfigurieren
Die Standard-Autorisierung für die Windchill OSLC-Dienste ist die Basis-Autorisierung. Um die OAuth-Autorisierung zu aktivieren, ist ein zusätzlicher Konfigurationsschritt erforderlich.
Weitere Informationen zur Konfiguration von
Windchill für OAuth finden Sie unter dem englischen Thema
Configure OAuth Delegated Authorization. Nachdem OAuth für
Windchill konfiguriert wurde, legen Sie die folgenden
Windchill Eigenschaften fest:
|
Eigenschaftenname
|
Beschreibung
|
|
oslc.authorizationURI
|
URI zum Abrufen der OAuth-Autorisierung
|
|
oslc.oauthAccessTokenURI
|
URI zum Abrufen des OAuth-Zugriffstokens
|
|
oslc.oauthRequestTokenURI
|
URI zum Abrufen des OAuth-Anforderungstokens
|
Wenn die OSLC-OAuth-Eigenschaften konfiguriert sind, enthält der Windchill OSLC-Katalog die Eigenschaft OAuthConfiguration, mit der OSLC-Clients feststellen können, dass sie die OAuth-Autorisierung verwenden sollen.
|
|
Wenn Sie die OAuth-Autorisierung verwenden, stellen Sie sicher, dass allen Anforderungen an OSLC-Endpunkte das für "SpringSecurityFilterChain" konfigurierte URL-Muster vorangestellt wird. Wenn z.B. "SpringSecurityFilterChain" mit dem URL-Muster "/oauth/*" konfiguriert ist, müssen alle OSLC-Endpunkte das URL-Muster "/oauth/oslc/*" aufweisen.
|
Konfiguration nach Windchill Aktualisierung erforderlich
Führen Sie die folgenden Schritte aus, um die Windchill OSLC-Dienste nach der Aktualisierung von einer vorherigen Version von Windchill zu aktivieren:
1. Fügen Sie %WT_HOME%/codebase/WEB_INF/web.xml den folgenden Eintrag hinzu:
<servlet-mapping>
<servlet-name>OSLCServlet</servlet-name>
<url-pattern>/oslc/*</url-pattern>
</servlet-mapping>
2. Fügen Sie HTTPServer/conf/conf.d/30-app-Windchill-AJP.conf den folgenden Eintrag hinzu, um den OSLC-Pfad zur Apache-Konfiguration hinzuzufügen:
JkMount /Windchill/oslc/* ajpWorker
3. Fügen Sie HTTPServer/conf/conf.d/30-app-Windchill-Auth.conf den folgenden Eintrag hinzu, um den OSLC-Katalog für den anonymen Zugriff in der Apache-Konfiguration zu konfigurieren:
<LocationMatch ^/+Windchill/+oslc/catalog(;.*)?>
Require all granted
</LocationMatch>
Konfiguration für Inhaltssicherheitsrichtlinie
Aktualisieren Sie die Datei web.xml mit den folgenden OSLC-Inhaltssicherheit-Servlet-Filterkonfigurationen, damit Client-Sites von anderen Sites die OSLC-Vorschauen anzeigen können:
<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>
Konfiguration für das Cross-Origin Resource Sharing (CORS) für OSLC
|
|
Für eine sicherere Konfiguration verwenden Sie den CORS-Filter nur für eine domänenübergreifende OSLC-Konfiguration.
|
|
|
Wenn Sie Windchill konfigurieren, um OSLC-Ressourcen mit anderen PTC OSLC-Client-Anwendungen gemeinsam zu nutzen, installieren Sie diese Anwendungen lokal in derselben Domäne.
|
Aktualisieren Sie die Datei web.xml mit den folgenden Servlet-Filterkonfigurationen, damit Client-Sites von anderen Sites die OSLC-Dienste anzeigen können:
<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>
Eingebettete Servlet-Engine zum Erstellen von Windchill Vorschauen für die websiteübergreifende Bereitstellung konfigurieren
Wenn Windchill mit einem externen OSLC-Server wie Codebeamer integriert ist und beide websiteübergreifend bereitgestellt werden, muss die eingebettete Servlet-Engine (basierend auf Tomcat) so konfiguriert werden, dass die Einbettung der Windchill Vorschau im integrierten OSLC-Server unterstützt wird. Eine websiteübergreifende Bereitstellung bezieht sich auf Server, die auf verschiedenen Internetdomänen der obersten Ebene bereitgestellt werden, z.B. windchill.foo.com und codebeamer.bar.com.
|
|
Diese Konfiguration ist notwendig, um die Kompatibilität mit neueren Browserversionen sicherzustellen.
|
Legen Sie die folgenden Eigenschaften in der Datei wt.properties mit dem Dienstprogramm xconfmanager fest, um die eingebettete Servlet-Engine (basierend auf Tomcat) zu konfigurieren.
|
Eigenschaft
|
Beschreibung
|
|
wt.authCookieName
|
Name des Authentifizierungs-Cookies
|
|
wt.authCookieNameRegexp
|
Regulärer Ausdruck, der mit dem Namen des Authentifizierungs-Cookies übereinstimmt
Beispiel:_shibsession_.*
Melden Sie sich bei Windchill an, und gehen Sie im Browser zu > > , um das Authentifizierungs-Cookie zu finden.
|
|
|
Stellen Sie sicher, dass das Cookie vom authentifizierenden Web-Server oder Proxy nicht entfernt oder ausgelassen, sondern an die eingebettete Servlet-Engine übergeben wird.
|