Rational utilise une technologie basée sur Open Services for Lifecycle Collaboration (OSLC) pour améliorer l'intégration aux applications Rational et aux autres outils IBM et outils tiers. La reconnaissance de service OSLC étant extensible, les développeurs Rational et tiers peuvent ajouter des services qui ne sont pas actuellement disponibles dans la norme mise en oeuvre ou qui sont considérés comme trop spécialisés pour être inclus aux versions en cours ou futures.
L'implémentation Rational DOORS de la spécification OSLC Requirements Management (RM) version 2 comprend une interface de programme d'application que vous pouvez utiliser pour exécuter des scripts Rational DOORS DXL avec le protocole HTTP ou HTTPS. Cette interface API ajoute une valeur supplémentaire aux intégrations en vous permettant d'accéder aux données Rational DOORS et de les manipuler de façon sécurisée. Elle est basée sur le concept d'une bibliothèque de scripts DXL. Les administrateurs peuvent facilement ajouter, modifier et supprimer des scripts DXL à l'aide de l'interface utilisateur des services OSLC DXL.
Les scripts sont contrôlés et personnalisés par l'administrateur Rational DOORS, qui peut décider quels scripts DXL sont disponibles dans l'interface de service. L'administrateur peut verrouiller la fonction d'appel de certaines fonctions pouvant être considérées comme un risque potentiel pour la sécurité, par exemple "runDXL". Certains DXL, tels que des widgets d'interface utilisateur, ne sont pas pris en charge.
Etant donné que la reconnaissance de service est protégée par OAuth, si vous utilisez le service DXL OSLC, vous devez vous authentifier en saisissant votre nom d'utilisateur et votre mot de passe.
void getHelloString(string language)
{
string hello = null
if ("French" == language)
{
hello = "Bonjour le monde"
}
else if ("Finnish" == language)
{
hello = "Hei maailma"
}
else if ("Latin" == language)
{
hello = "Ave mundi"
}
else
{
hello = "Hello world"
}
setDxlServiceResult hello
print hello "\n"
}
OSLCDXLService os = null
string err = null
string dxlCode = "#include <addins/services/helloWorld.inc>\n"
err = addOrUpdateOSLCDXLService("helloWorld", "Hello world in several languages", dxlCode, "getHelloString")
if (!null err)
{
print err
}
else
{
print "Installed Service\n"
}
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:doors="http://jazz.net/doors/xmlns/prod/jazz/doors/2.0/">
<doors:Arguments>
<doors:arguments>English</doors:arguments>
</doors:Arguments>
</rdf:RDF>
<doors:Arguments>
<doors:arguments>English,French</doors:arguments>
</doors:Arguments>
Le service DXL de réception divise la liste séparée par des virgules
en chaînes distinctes English et French.<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:doors="http://jazz.net/doors/xmlns/prod/jazz/doors/2.0/">
<doors:DxlServiceResult rdf:about="http://my-desktop:8080/dwa/rm/dxl/helloWorld>
<doors:result>Hello world</doors:result>
</doors:DxlServiceResult>
</rdf:RDF>
Le service n'effectue pas de conversion de paramètres. Spécifiez des arguments sur une chaîne unique. Le script DXL analyse et extrait des valeurs de la chaîne avant de les convertir dans les paramètres individuels attendus.