Configuring 3DEXPERIENCE as an OSLC Consumer

You can configure your 3DEXPERIENCE platform to use Open Services for Lifecycle Collaboration (OSLC) integration with supported external systems. This procedure defines the steps required to allow ENOVIA apps to consume objects, such as requirements, created in external systems.

This procedure shows you how to configure the OSLC consumer services for supported integrations, currently DOORS NG 6.0.5 and Rational Team Concert 6.0.5. The external system must also be customized to integrate with the ENOVIA apps.

  1. Define an OSLCConfig.json file to define the repositories for external systems.
    1. Add or edit the OSLCConfig.json file to include a repository entry for each external system you want to integrate with. This example shows repositories for the DOORS NG and Rational Team Concert. If you are only integrating to one external system, only include a definition for that system.

      {
          "repositories":[
              {
                  "id"                :    "doorsNG RM",
                  "title"             :    "Doors NextGen RM",
                  "rootUrl"           :    "https://URL:port/rm",
                  "type"              :    "DOORSNG",
                  "OSLC-Core-Version" :    "2.0",
                  "domain"            :    "RM",
                  "catalogUrl"        :    "https://URL:port/rm/oslc_rm/catalog",
                  "serviceUrl"        :    "",
                  "oauth"             :    "jazz",
                  "parameters"        :    {
      				        }
              },
        	     {
                  "id"                :    "RTC",
                  "title"             :    "Rational Team Concert",
                  "rootUrl"           :    "https://URL:port/ccm",
                  "type"              :    "RTC",
                  "OSLC-Core-Version" :    "2.0",
                  "domain"            :    "CM",
                  "catalogUrl"        :    "https://URL:port/ccm/oslc/workitems/catalog",
                  "serviceUrl"        :    "",
                  "oauth"             :    "ccm",
                  "parameters"        :    {
      				        },
                  "defaultServices"   :    true
              } 
      	                ]
      }
      

      You can use the sample code as a template.

      Parameter Description Value for DOORS Value for RTC
      id The system name of the external system. This value is stored in ProxyItem.Proxy_Id attribute of the Proxy object for the external object. doorsNG RM RTC
      title Title displayed to end user. Doors NextGen RM Rational Team Concert
      rootUrl Root URL of the Service Provider. The value after the URL is stored in the ProxyItem.Proxy_URL attribute. https://URL:port/rm", "type" : "DOORSNG https://URL:port/ccm"
      type Reserved. DOORSNG RTC
      OSLC-Core-Version Reserved. Do not change the value. 2.0 2.0
      domain Filters the repositories. Use RM for requirements; use CM for change actions and issues. RM CM
      catalogUrl Catalog URL of the repository when deploying from an OSLC catalog entry. https://URL:port/rm/oslc_rm/catalog https://URL:port/ccm/oslc/workitems/catalog
      serviceUrl Service provider URL when deploying from an OSLC Service Provider entry. Reserved for future use. Reserved for future use.
      oauth You can also leave the value blank. jazz ccm
      parameters Reserved. - -
      defaultServices When the Services provider deploys several dialog boxes, select the one tagged as the OSLC default. Do not use. true

    2. Save this file with the name OSLCConfig.json in ...\webapps\OSLCConsumer\assets.
  2. Add the 3DEXPERIENCE platform server URL (for 3DSpace and 3DDashboard) to the external application's white list. See the external application's instructions.

    • For DOORS deployment, add the 3DSpace and 3DEXPERIENCE URLs to the whitelist of jts and rm servers.
    • For RTC deployment, add the 3DSpace and 3DEXPERIENCE URLs to the whitelist of jts and ccm servers.

  3. Add a cross-origin resource filter to the web.xml file.

    For DOORS, add the filter to the JazzTeamServer\server\liberty\servers\clm\apps\rm.war\WEB-INF\web.xml file

    For RTC, add the filter to the JazzTeamServer\server\liberty\servers\clm\apps\ccm.war\WEB-INF\web.xml file:

    <filter>
        <filter-name>CORS</filter-name>
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
    </filter>
    <filter-mapping>
            <filter-name>CORS</filter-name>
            <url-pattern>/*</url-pattern>
    </filter-mapping>

    Copy these jar files:

    • http://search.maven.org/remotecontent?filepath=com/thetransactioncompany/cors-filter/1.8/cors-filter-1.8.jar
    • http://search.maven.org/remotecontent?filepath=com/thetransactioncompany/java-property-utils/1.9/java-property-utils-1.9.jar

    To this directory for DOORS:

    \JazzTeamServer\server\liberty\servers\clm\apps\rm.war\WEB-INF\lib

    To this directory for RTC:

    \JazzTeamServerserver\liberty\servers\clm\apps\ccm.war\WEB-INF\lib

  4. To configure the external server, configure the open authorization (OAuth) consumer in the external application. The consumer name should be defined as 3DExperience. See the external application's instructions.
  5. Configure OAuth Integration on 3DPassport. To do so, you need to define the OAuth Proxy for Jazz. For more information, see Installation and Setup: Administrate: 3DEXPERIENCE Platform: 3DPassport: Configuring Integration: Configuring OAuth Authentication: Generic Process for Configuring OAuth Authentication for all Providers.

After configuration is complete, the first time a 3DEXPERIENCE user performs an action that connects to the external system, the user is prompted to authorize the connection. The user logs in and then needs to rerun the initial action. All subsequent connections to the external system are authenticated automatically.