Сервер Open Services for Lifecycle Collaboration (OSLC)
Для упрощения интеграции инструментов управления жизненным циклом используются службы Open Services for Lifecycle Collaboration (OSLC). Windchill поддерживает спецификацию OSLC по умолчанию и активирует клиенты OSLC, чтобы использовать эти службы для интеграции с Windchill.
Интерфейсы Windchill OSLC API позволяют клиентам OSLC запрашивать детали Windchill и устанавливать с ними связь на основе спецификаций OSLC. Windchill поддерживает следующие спецификации OSLC:
Службы Windchill OSLC отвечают за сопоставление объектов Windchill с соответствующим ресурсом OSLC и предоставляют ответ для этих ресурсов в запрашиваемом формате. Поддерживаются следующие форматы:
• RDF+XML (по умолчанию)
• text/turtle
|
|
Службы Windchill OSLC могут использоваться только клиентами OSLC; не-OSLC клиенты должны использовать службы Windchill REST (WRS) (OData).
|
Каталог OSLC
Доступ к каталогу OSLC и к дополнительной информации обо всех доступных службах, ресурсах и терминологии можно получить в расположении http(s)://<server>:<port>/Windchill/oslc/catalog.
Конфигурирование авторизации OAuth
Авторизацией по умолчанию для служб Windchill OSLC является базовая авторизация.
Для включения авторизации OAuth необходимо выполнить дополнительный шаг конфигурации. См. в разделе
Конфигурирование делегированной авторизации OAuth описание шагов по конфигурированию
Windchill для использования OAuth. После создания конфигурации
Windchill OAuth задайте следующие свойства
Windchill:
|
Имя свойства
|
Описание
|
|
oslc.authorizationURI
|
URI для получения авторизации OAuth
|
|
oslc.oauthAccessTokenURI
|
URI для получения лексемы доступа OAuth
|
|
oslc.oauthRequestTokenURI
|
URI для получения лексемы запроса OAuth
|
Если сконфигурированы свойства OSLC OAuth, каталог Windchill OSLC содержит свойство OAuthConfiguration, позволяющее клиентам OSLC обнаружить, что они должны использовать авторизацию OAuth.
|
|
При использовании авторизации OAuth убедитесь, что все запросы к конечным точкам OSLC имеют префикс с настроенным шаблоном URL-адреса SpringSecurityFilterChain. Например, если SpringSecurityFilterChain сконфигурирован с использованием шаблона URL-адреса /oauth/*, все конечные точки OSLC должны иметь шаблон URL-адреса /oauth/oslc/*.
|
Конфигурация, требуемая после обновления Windchill
Чтобы включить службы Windchill OSLC после обновления с предыдущей версии Windchill, выполните следующие шаги.
1. Добавьте следующую запись в %WT_HOME%/codebase/WEB_INF/web.xml
<servlet-mapping>
<servlet-name>OSLCServlet</servlet-name>
<url-pattern>/oslc/*</url-pattern>
</servlet-mapping>
2. Чтобы добавить путь OSLC в конфигурацию Apache, добавьте следующую запись в HTTPServer/conf/conf.d/30-app-Windchill-AJP.conf
JkMount /Windchill/oslc/* ajpWorker
3. Чтобы сконфигурировать каталог OSLC для анонимного доступа в конфигурации Apache, добавьте следующую запись в 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>
Конфигурация для общего доступа к ресурсам (CORS) для OSLC
|
|
Для более безопасной конфигурации используйте фильтр CORS только для междоменной конфигурации OSLC.
|
|
|
При конфигурировании Windchill для общего доступа к ресурсам OSLC с другими клиентскими приложениями PTC OSLC установите эти приложения локально в том же домене.
|
Чтобы разрешить сайтам клиентов с других сайтов просматривать службы 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>
Конфигурирование встроенного обработчика сервлетов для кадрирования предварительных просмотров Windchill для межсайтового развертывания
При интеграции Windchill с внешним сервером OSLC, таким как Codebeamer, и их развертывании на сайтах, должен быть сконфигурирован встроенный обработчик сервлетов (на основе Tomcat) для поддержки кадрирования предварительных просмотров Windchill на интегрированном сервере OSLC. Межсайтовым развертыванием называют серверы, которые развернуты в различных интернет-доменах верхнего уровня, например windchill.foo.com и codebeamer.bar.com.
|
|
Эта конфигурация необходима для обеспечения совместимости с более новыми версиями браузеров.
|
Чтобы сконфигурировать встроенный обработчик сервлетов (на основе Tomcat), задайте следующие свойства в файле wt.properties с помощью утилиты xconfmanager.
|
Свойство
|
Описание
|
|
wt.authCookieName
|
Наименование файла cookie аутентификации.
|
|
wt.authCookieNameRegexp
|
Регулярное выражение, соответствующее наименованию файла cookie аутентификации.
Например: _shibsession_.*
Чтобы найти файл cookie аутентификации, войдите в систему Windchill и перейдите в браузере в раздел > > .
|
|
|
Убедитесь, что файл cookie не удаляется и не пропускается аутентифицирующим веб-сервером или прокси-сервером, а передается во встроенный обработчик сервлетов.
|