Architecture

Oracle SOA – Référentiels d’Entreprise

Publié le : Auteur: Emmanuel Lesne Laisser un commentaire
5294f3d9f92ea1677e000083

Au cours d’un article précédent, je vous ai présenté l’installation de la plateforme SOA Suite. Je vous propose d’ajouter 2 outils complémentaires pour :

  1. Organiser les services en production au travers d’un annuaire UDDI.
  2. Gérer la définition et la conception des services.

Ces outils offrent la capacité de maîtriser les aspects Runtime et Design des services SOA en amont en aval de la SOA Suite (pour une vision de plus haut niveau, se référer à l’article sur le Modèle de maturité SOA) Cet article dresse une présentation technique rapide puis les éléments clés afin de réaliser cette installation complémentaire à la SOA Suite 11g PS6.

Présentation technique

2 outils Oracle apportent la cohérence globale nécessaire pour maitriser la chaîne de production et suivre correctement les services d’entreprise:

Ils se combinent et s’articulent autour de la suite SOA. Grace à eux, la spécification, le design, le déploiement, l’exécution et le suivi sont alors reliés les uns aux autres. Plutôt que de longs discours, ce diagramme synthétise bien ces dépendances, ici techniques, entre le ‘Service Definition’ (OER), le ‘Service Implementation and Configuration’ (JDev), ‘SOA Test Staging and Prod’ (SOA Suite et OSB), ‘SOA Monitoring and Management’ (OEM) et ‘UDDI’ (OSR).

Comme vous pouvez le constater, les référentiels techniques de OER, MDS et OSR sont au cœur de cette architecture. La suite de l’article présente comment les installer sur un socle SOA Suite PS6.

Installation de Oracle Service Registry

Cette version est malheureusement alignée sur la PS5. (A quand une mise à jour ?) Il est indispensable de la séparer de socles SOA Suite différents (exemple 11.1.1.7 dans les articles SOA précédents).
1. Installer WebLogic Server 10.3.6 dans un nouveau OFM_HOME. Ne pas utiliser une installation SOA Suite. Des conflits de bibliothèques sont bloquants.
2. Installer les éléments de BD pour OSR TableSpace

CREATE TABLESPACE OSR 
DATAFILE 
'/u01/app/oracle/oradata/XE/OSR.dbf' SIZE 52428800 REUSE AUTOEXTEND ON NEXT 52428800 MAXSIZE 524288000 
DEFAULT NOCOMPRESS 
ONLINE 
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

User

-- USER SQL
CREATE USER OSR IDENTIFIED BY welcome1 
DEFAULT TABLESPACE "OSR"
TEMPORARY TABLESPACE "TEMP";

-- ROLES
GRANT "RESOURCE" TO OSR ;
GRANT "CONNECT" TO OSR ;
ALTER USER OSR DEFAULT ROLE "RESOURCE","CONNECT";

-- SYSTEM PRIVILEGES

-- QUOTAS
ALTER USER OSR QUOTA UNLIMITED ON OSR;

3. Installer Oracle Service Registry

  • version standalone
  • sélectionnez votre nouveau $OFM_HOME/registry111
  • SMTP: RAS
  • Compte administrateur: Utilisez welcome1 en mot de passe. (idem que pour Oracle SOA Suite 🙂 )
  • DB Setup:
    • Populate
    • Oracle DB + Install démo
  • DataSource: RAS
  • JDBC drivers. Utilisez le drivers dans XE (/u01/app/oracle/product/11.2.0/xe/jdbc/lib)
  • Authentification: DB
  • Serveur: Weblogic 10.3
  • Méthode de déploiement: domain configuration
  • Déploiment: décaller le port de +1000, soit 8101. Ce point n’est pas obligatoire. Si comme moi vous avez aussi une SOA Suite, cela est nécessaire.

4. Configurer le domaine weblogic Utiliser le script config.sh dans $OFM_HOME/wlserver_10.3/common/bin Créer un domaine avec Oracle Registry nommé er_domain. (ie Enterprise Repositories) Configurer les « Serveur d’administration » pour modifier le port 7001 +1000 = 8001 5. Démarrer les serveurs

  • (optionnel) AdminServeur: $OFM_HOME/user_projects/domains/er_domain/bin/startWebLogic.sh
  • osr_server1: $OFM_HOME/user_projects/domains/er_domain/bin/startManagedWebLogic.sh osr_server1

URL: http://localhost:8101/registry/uddi/bsc/web Utilisateur: admin/welcome1

5294f3d9f92ea1677e000083

Installation de Oracle Enterprise Registry

1. Préparer la DB avant installation Création des tablespaces

CREATE TABLESPACE OER_DATA 
    DATAFILE 
        '/u01/app/oracle/oradata/XE/OER_DATA.dbf' SIZE 52428800 REUSE AUTOEXTEND ON NEXT 52428800 MAXSIZE 524288000 
    DEFAULT NOCOMPRESS 
    ONLINE 
    EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

CREATE TABLESPACE OER_IDX 
    DATAFILE 
        '/u01/app/oracle/oradata/XE/OER_IDX.dbf' SIZE 52428800 REUSE AUTOEXTEND ON NEXT 52428800 MAXSIZE 524288000 
    DEFAULT NOCOMPRESS 
    ONLINE 
    EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

CREATE TABLESPACE OER_BLOB 
    DATAFILE 
        '/u01/app/oracle/oradata/XE/OER_BLOB.dbf' SIZE 52428800 REUSE AUTOEXTEND ON NEXT 52428800 MAXSIZE 524288000 
    DEFAULT NOCOMPRESS 
    ONLINE 
    EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

Ajouter l’utilisateur OER

-- USER SQL
CREATE USER OER IDENTIFIED BY welcome1 
DEFAULT TABLESPACE "OER_DATA"
TEMPORARY TABLESPACE "TEMP";

-- ROLES
GRANT "RESOURCE" TO OER ;
GRANT "CONNECT" TO OER ;
ALTER USER OER DEFAULT ROLE "RESOURCE","CONNECT";

-- SYSTEM PRIVILEGES

-- QUOTAS
ALTER USER OER QUOTA UNLIMITED ON OER_IDX;
ALTER USER OER QUOTA UNLIMITED ON OER_BLOB;
ALTER USER OER QUOTA UNLIMITED ON OER_DATA;

2. Installer OER

  • Utiliser le OFM_HOME de OSR
  • le chemin est donc $OFM_HOME/repository111
  • Le port du serveur doit être 8201 pour cohabiter avec OSR et SOA Suite
  • Configurer les tablespaces de la BD:
    • Data tablespace: OER_DATA
    • BLOB tablespace: OER_BLOB
    • Index tablespace: OER_IDX

3. Configurer le domaine WebLogic Relancer la commande ($OFM_HOME/wlserver_10.3/common/bin) pour étendre le domaine er_domain avec ‘Oracle Enterprise Repository’.
4. Lancer le serveur oer_server1 Commandes:

  • $OFM_HOME/user_projects/domains/er_domain/bin/startManagedWebLogic.sh oer_server1

URL: http://localhost:8201/oer Utilisateur: admin/admin à modifier en admin/welcome1 après la 1ère connexion.

Capture du 2013-11-26 20:46:21

Relier SOA Suite, OSB et OER

Il nous reste maintenant à lier la SOA Suite avec ces référentiels.

Plus que quelques étapes… 😉 il faut:

1. Importer le pack Harvester de OER

Dans la console, via Admin > Import/Export > Import, exécuter l’appli Java JNLP. Puis importer le fichier $ER_HOME/respository111/core/tool/solutions/11.1.1.x.x-OER-Harvester-Solution-Pack.zip

2. Configurer OSB

Modifier le fichier $OFM_HOME/Oracle_OSB1/harvester/HarvesterSettings.xml de l’instance OSB.

[...]
<!--Connection info to OER-->
    <repository>
        <uri>http://localhost:8201/oer</uri>
        <credentials>
            <user>admin</user>
            <password>welcome1</password> <!--run encrypt.bat to encrypt this-->
        </credentials>
        <timeout>30000</timeout>
    </repository>

    <!--Query: the files to harvest-->
    <query>
       <remoteQuery>
          <serverType>OSB</serverType>
          <projectName>default</projectName>
          <uri>http://localhost:7001/</uri>
          <credentials>
              <user>weblogic</user>
               <password>welcome1</password>
          </credentials>
        </remoteQuery>

[...]

Exécuter les commandes pour crypter le mot de passe et importer l’existant:

source setenv.sh
./encrypt.sh  HarvesterSettings.xml HarvesterSettings.xml
./osb11g-harvest.sh

Ceci va injecter les projets exécutés dans OSB.

Et voilà, l’infrastructure de gouvernance est prête !