Global configuration aware integration with IBM Jazz/DNG

Hi all,

I am integrating the oslc-adapter producer application with ibm-Jazz/DNG for RM module. After configuring the friend out bound connection in JAZZ-JTS server. I was trying to link the reference’s from DNG-RM module to my adapter while doing this reference from IBM-DNG, I was facing the error

CRRRW7387E The action cannot be completed because an invalid global configuration was specified. To perform this action, you must be working in a valid global configuration. Select a global configuration that includes the RM component you are working with and try the action again.

Then i found some specification to make my oslc-adapter to be compatible with Global configurations in
https://jazz.net/wiki/bin/view/Deployment/IntegratingWithConfigurationManagementEnabledCLMApplications#Service_provider_properties_for

so while hitting URI-https://localhost:8086/oslc-adaptor/services/serviceProviders/1
Service provider , i have to provide the RDF/XML response by having global configurations as follows
by having global configurations tags. Current RDF/XML response:

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:oslc="http://open-services.net/ns/core#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
    <oslc:ServiceProvider rdf:about="https://localhost:8086/paacs-adaptor-rm-webapp/services/serviceProviders/1">
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://purl.org/dc/terms/"/>
                <oslc:prefix>dcterms</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:details rdf:resource="https://localhost:8086/paacs-adaptor-rm-webapp/services/serviceProviders/1"/>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://purl.org/dc/terms/"/>
                <oslc:prefix>dcterms</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://open-services.net/ns/core#"/>
                <oslc:prefix>oslc</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://open-services.net/ns/rm#"/>
                <oslc:prefix>oslc_rm</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
                <oslc:prefix>rdf</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:service>
            <oslc:Service>
                <oslc:selectionDialog>
                    <oslc:Dialog>
                        <oslc:label>SelectionDialog1</oslc:label>
                        <oslc:hintHeight>1300px</oslc:hintHeight>
                        <oslc:dialog rdf:resource="https://localhost:8086/paacs-adaptor-rm-webapp/services/requirements/selector"/>
                        <oslc:hintWidth>1600px</oslc:hintWidth>
                        <oslc:resourceType rdf:resource="http://open-services.net/ns/rm#Requirement"/>
                        <dcterms:title rdf:parseType="Literal">SelectionDialog1</dcterms:title>
                    </oslc:Dialog>
                </oslc:selectionDialog>
                <oslc:queryCapability>
                    <oslc:QueryCapability>
                        <oslc:label>QueryCapability</oslc:label>
                        <oslc:resourceShape rdf:resource="https://localhost:8086/paacs-adaptor-rm-webapp/services/resourceShapes/requirement"/>
                        <oslc:queryBase rdf:resource="https://localhost:8086/paacs-adaptor-rm-webapp/services/requirements/query"/>
                        <oslc:resourceType rdf:resource="http://open-services.net/ns/rm#Requirement"/>
                        <dcterms:title rdf:parseType="Literal">QueryCapability</dcterms:title>
                    </oslc:QueryCapability>
                </oslc:queryCapability>
                <oslc:domain rdf:resource="http://open-services.net/ns/rm#"/>
            </oslc:Service>
        </oslc:service>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
                <oslc:prefix>rdfs</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://open-services.net/ns/servicemanagement/1.0/"/>
                <oslc:prefix>oslc_data</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"
    >2019-06-28T07:37:11.319Z</dcterms:created>
        <dcterms:title rdf:parseType="Literal">Service Provider 'PAACS RM Service Provider'</dcterms:title>
        <dcterms:identifier>/1</dcterms:identifier>
        <dcterms:description rdf:parseType="Literal"> (id: /1; kind: Service Provider)</dcterms:description>
    </oslc:ServiceProvider>
</rdf:RDF>

Expected RDF/XML response for Global configurations Compatible to be added in the existing response was

<jfs_proc:globalConfigurationAware rdf:parseType="Literal">compatible</jfs_proc:globalConfigurationAware>

so i want to know how to add this global configurations XML tags using Service provider Java class code

Thanks

Please ask the question properly so that people can understand it. Please edit your post to describe what is the problem, what did you try to do, and what did not work.

@jamsden and Nick should know best how to deal with this.

From what I see, you need to add an extra triple to the ServiceProvider definition to declare it GCM-aware. This is how to do it on a new ServiceProvider instance:

final ServiceProvider serviceProvider = new ServiceProvider();
final QName jfsProc_globalConfigurationAware = new QName(
    "http://jazz.net/xmlns/prod/jazz/process/1.0/",
    "globalConfigurationAware",
    "jfs_proc");
serviceProvider
    .getExtendedProperties()
    .put(jfsProc_globalConfigurationAware, "compatible");

Now, where to add this code is a tricky question. I assume you are using Lyo Designer to generate an RM adaptor? If so, you should look into the xyz.servlet.ServiceProviderCatalogSingleton#createServiceProvider method and add this property before returning the newly created SP. @jad might have a better idea about this.

1 Like

@jamsden
@jad
After adding this extended Properties I am able to see the RDF response as follows But still I am facing the same issue , Help on this to overcome the Global configurations issue with DNG/JTS integration

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:dcterms="http://purl.org/dc/terms/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:oslc="http://open-services.net/ns/core#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:j.0="http://jazz.net/xmlns/prod/jazz/process/1.0/">
    <oslc:ServiceProvider rdf:about="https://localhost:8086/adaptor-rm-webapp/services/serviceProviders/1">
        <oslc:details rdf:resource="https://localhost:8086/adaptor-rm-webapp/services/serviceProviders/1"/>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://purl.org/dc/terms/"/>
                <oslc:prefix>dcterms</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://www.w3.org/2000/01/rdf-schema#"/>
                <oslc:prefix>rdfs</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://open-services.net/ns/servicemanagement/1.0/"/>
                <oslc:prefix>oslc_data</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://open-services.net/ns/core#"/>
                <oslc:prefix>oslc</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <dcterms:created rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime"
    >2019-07-03T06:13:00.261Z</dcterms:created>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://open-services.net/ns/rm#"/>
                <oslc:prefix>oslc_rm</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:service>
            <oslc:Service>
                <oslc:selectionDialog>
                    <oslc:Dialog>
                        <oslc:hintWidth>1600px</oslc:hintWidth>
                        <oslc:hintHeight>1300px</oslc:hintHeight>
                        <oslc:dialog rdf:resource="https://localhost:8086/adaptor-rm-webapp/services/requirements/selector"/>
                        <dcterms:title rdf:parseType="Literal">SelectionDialog1</dcterms:title>
                        <oslc:resourceType rdf:resource="http://open-services.net/ns/rm#Requirement"/>
                        <oslc:label>SelectionDialog1</oslc:label>
                    </oslc:Dialog>
                </oslc:selectionDialog>
                <oslc:queryCapability>
                    <oslc:QueryCapability>
                        <oslc:queryBase rdf:resource="https://localhost:8086/adaptor-rm-webapp/services/requirements/query"/>
                        <dcterms:title rdf:parseType="Literal">QueryCapability</dcterms:title>
                        <oslc:resourceType rdf:resource="http://open-services.net/ns/rm#Requirement"/>
                        <oslc:resourceShape rdf:resource="https://localhost:8086/adaptor-rm-webapp/services/resourceShapes/requirement"/>
                        <oslc:label>QueryCapability</oslc:label>
                    </oslc:QueryCapability>
                </oslc:queryCapability>
                <oslc:domain rdf:resource="http://open-services.net/ns/rm#"/>
            </oslc:Service>
        </oslc:service>
        <j.0:globalConfigurationAware>compatible</j.0:globalConfigurationAware>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
                <oslc:prefix>rdf</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <oslc:prefixDefinition>
            <oslc:PrefixDefinition>
                <oslc:prefixBase rdf:resource="http://purl.org/dc/terms/"/>
                <oslc:prefix>dcterms</oslc:prefix>
            </oslc:PrefixDefinition>
        </oslc:prefixDefinition>
        <dcterms:title rdf:parseType="Literal">Service Provider 'RM Service Provider'</dcterms:title>
        <dcterms:identifier>/1</dcterms:identifier>
        <dcterms:description rdf:parseType="Literal"> (id: /1; kind: Service Provider)</dcterms:description>
    </oslc:ServiceProvider>
</rdf:RDF>

what kind of Global configurations required in OSLC-Adapter webapp to overcome issue with IBM-DNG/JTS integration

Thanks in advance

I’m not sure exactly what your issue is. If your an OSLC client attempting to connect to a DNG project area that is config-enabled, then you need to provide a Configuration-Context HTTP header with the value of the local or global configuration URL describing which version of the resources you want.

Specifying config aware information in the service provider is something a server does that a client might use.

1 Like

@jamsden
If your an OSLC client attempting to connect to a DNG project area that is config-enabled
–yes
@then you need to provide a Configuration-Context HTTP header with the value of the local or global configuration URL describing which version of the resources you want
Could you provide some sample code to retrieve the GC present in DNG and setting to HTTP Header

Thanks in Advance

@andrew
Hi Andrew
it’s working after doing this extra triple to service provider
but some times failing with some other RM-Projects present in DNG by showing error message

“CRRRW7359W The selected component cannot be shown in the current global configuration. Check that the current global configuration is correct and that a configuration for the component exists in the global configuration”

Any inputs on this issue

Nope, no idea. You got to ask IBM support about this error, esp if it’s sporadic.

Yes Andrew , Posted a question to IBM-DNG forum
Founded workflow is not working with Latest DNG-6.0.6 IFix009 patches
https://jazz.net/forum/questions/264371/dng-rm-project-integrating-with-external-oslc-adapterrm-global-configurations-issue

1 Like

Technical Scenario : I am integrating a External RM-OSLC adapter with DNG-6.0.6

Workflow Working DNG Version-6.0.6

After Configuring the Friend outbound connection and other required configurations to intercommunicate between DNG and External RM-OSLC adapter

I am able to link the references with External RM-project with out GC-configurations RM-Project as well as with GC-configurations enabled RM-PROJECT in DNG

All workflows working fine between DNG-6.0.6 and External RM-OSLC adapter

Workflow NOT Working DNG Version-6.0.6 (CLM_server_patch_6.0.6.0-iFix009-CALM606M-I20190513-0639)

after upgrading DNG-6.0.6 version with IFIX009 Patch updates

I am able to link the references with External RM-project with out GC-configurations RM-Project

But If I do the GC-configurations to DNG-RM project, RM Project having Global configurations

I am Unable to link the references with External RM-project with GC-configurations RM-Project

workflows Not working fine between DNG-6.0.6-IFIX009 RM Project having GC-configurations and External RM-OSLC adapter

Workflow to link the references

RM project having GC-configurations ,it’s showing following exception

“CRRRW7359W The selected component cannot be shown in the current global configuration. Check that the current global configuration is correct and that a configuration for the component exists in the global configuration”

OSLC_GC_ISSUE

@jamsden Please Provide help/Guidelines to overcome the issue with GC-configurations

@andrew
@jamsden
@jad
Hi All
I got the IBM DNG forum response as follows

I believe there are important considerations listed in https://jazz.net/help-dev/clm/index.jsp?topic=%2Fcom.ibm.jazz.vvc.doc%2Ftopics%2Fc_cm_considerations.html

namely:
"

  • If you rely on synchronization or OSLC integrations to relate data in ELM project areas to data in tools that do not support the OASIS OSLC Configuration Management specification, defer enabling configuration management for those project areas until those integrations are supported.
  • Links to tools outside of ELM are inconsistent until those integrations are updated to be compatible with configuration-enabled projects. This includes IBM tools, tools from other vendors, and custom OSLC integrations, such as those created by using the SDK from the Eclipse Lyo project."

Also take a look at the considerations in the RM section of that document to understand what works and does not work when enabling configuration management for a DNG project area.

It seems OSLC specifications not comptable with the Global configurations of IBM-DNG project area
so OSLC specification have to enhance to adapt the GC specification’s of IBM-DNG (untill oslc application integration will not work with IBM-DNG projects)
@andrew
@jamsden
@jad
Any inputs or guidelines on this

defer enabling configuration management for those project areas until those integrations are supported

I fully agree with that. That’s why it is enabled explicitly with a property in the first place!

Links to tools outside of ELM are inconsistent until those integrations are updated to be compatible with configuration-enabled projects.

This is expected.

This includes IBM tools, tools from other vendors, and custom OSLC integrations, such as those created by using the SDK from the Eclipse Lyo project.

This is basically all OSLC systems. It does not depend how the system was developed, but whether it supports configuration management properly.

It seems OSLC specifications not comptable with the Global configurations of IBM-DNG project area.

The OSLC CfgM specification has not yet been finalised yet. But I expect it to provide such compatibility once it becomes a standard. @jamsden, please correct me if needed.

OSLC specification have to enhance to adapt the GC specification’s of IBM-DNG

I don’t there plans at the moment to standartise all the features of IBM-DNG in OSLC. Any requirements by jfs_proc domain shall be implemented separate from what is in the OSLC.