SOA Suite 11g : le MDS (MetaData Storage)

Chaque brique de la SOA Suite d’Oracle possédait jusqu’à présent son propre répertoire de métadonnées dans lequel était stocké les objets utilisés lors du développement et de l’exécution (wsdl, xsd, xsl, etc.).
Avec l’apparition de la SOA Suite 11g, un nouveau concept est arrivé, le MDS (MetaData Storage). Celui-ci permet d’unifier les référentiels de stockage de métadonnées en un seul référentiel accessible par l’ensemble des composites SOA.
Le MDS va donc permettre de garantir la cohérence des métadonnées lors de la phase de développement (tout le monde utilisera les mêmes métadonnées) et évitera de dupliquer ces mêmes métadonnées dans différents référentiels.

JDeveloper et le MDS

JDeveloper s’intègre complètement au MDS et permet de visualiser l’arborescence du MDS, de visualiser le contenu des fichiers stockés, d’y exporter des métadonnées, etc.

Vue du MDS depuis JDeveloper 11g
Par défaut, chaque application SOA peut utiliser un MDS local qui est de type « système de fichiers ».
Pour chaque application SOA, vous trouverez le répertoire (caché) suivant : .adf contenant un répertoire META-INF dans lequel on trouve les fichiers suivants :

  • adf-config.xml : informations de connexion au MDS utilisé par l’application
  • connections.xml : connexions créées dans JDeveloper au niveau de l’application

Ci-dessous, un aperçu du fichier adf-config.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config"
xmlns:adf="http://xmlns.oracle.com/adf/config/properties"
xmlns:sec="http://xmlns.oracle.com/adf/security/config">
<adf:adf-properties-child xmlns="http://xmlns.oracle.com/adf/config/properties">
<adf-property value="Tests-4999"/>
</adf:adf-properties-child>
<adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
<mds-config xmlns="http://xmlns.oracle.com/mds/config">
<persistence-config>
<metadata-namespaces>
<namespace metadata-store-usage="mstore-usage_1" path="/soa/shared"/>
<namespace metadata-store-usage="mstore-usage_1" path="/apps"/>
</metadata-namespaces>
<metadata-store-usages>
<metadata-store-usage id="mstore-usage_1">
<metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
<property value="${oracle.home}/integration"
name="metadata-path"/>
<property value="seed"/>
</metadata-store>
</metadata-store-usage>
</metadata-store-usages>
</persistence-config>
</mds-config>
</adf-mds-config>
<sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
<CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore"
credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
</sec:adf-security-child>
</adf-config>

Sont précisés :

  • Le type de stockage : « oracle.mds.persistence.stores.file.FileMetadataStore »
  • Le chemin vers le MDS local : « ${oracle.home}/integration »
  • La partition utilisée : « seed » (propre à chaque application en général)
  • Les chemins vers les différents répertoires utilisés : « /soa/shared » et « /apps ». Le premier comprenant des objets propres à la SOA Suite, il est conseillé d’en créer un autre (« /apps ») dans lequel seront stockées les métadonnées des processus.

Ainsi, chaque développeur a le choix entre :

  • Travailler avec son propre référentiel MDS en local et le synchroniser avec le MDS de la SOA Suite avant de déployer ses composants SOA
  • Travailler directement avec le référentiel MDS de la SOA Suite

Connexion au MDS

Pour créer une connexion au MDS, il faut se rendre dans le panneau « Resource Palette » de JDeveloper et choisir « SOA-MDS » comme type de connexion :

Choisir le type de MDS, système de fichiers ou base de données :

Note : Par défaut, le MDS de la SOA Suite est un référentiel base de données.
A l’étape suivante, il est nécessaire de donner les informations de connexion à la base de données. Ici, il s’agit du schéma contenant le référentiel de base de données : « DEV_MDS ».

Une fois la connexion à la base de données créée, choisir la partition MDS dans laquelle sont stockées les métadonnées propres aux composants SOA : « soa-infra ».

La connexion au MDS est maintenant terminée, il est donc possible d’explorer le MDS depuis JDeveloper :

Conclusion

Dans l’article suivant, nous verrons comment utiliser les documents (xsd, etc.) stockés dans le MDS et comment déposer des documents sur le MDS du serveur SOA.