Architecture

Oracle SOA Suite – Installation et prise en main

Publié le : Auteur: Emmanuel Lesne Laisser un commentaire
osoa1

Cet article est le 3ème d’une série présentant les fonctionnalités et le développement avec la suite SOA d’Oracle.

Avant de commencer à développer, il est nécessaire d’avoir à disposition l’environnement de développement. L’objectif est de vous permettre de construire un environnement complet.

Cet article propose 2 installations différentes:

  1. Avec la VM d’Oracle TechNet sous VirtualBox
  2. En installant les outils sous Windows.

Cette dernière met à profit les paquets les plus récents, soit la version 11g PS6 ou 11.1.1.7. La procédure suivante décrit installation d’un environnement de développement sur un poste Windows 7 avec les éléments:

  • Oracle Database XE 11gr2
  • Oracle JDevelopper 11g 11.1.1.7 (version spécifique pour la SOA Suite PS6)
  • Oracle SOA Suite
  • Oracle BPM Suite
  • Oracle OSB

Suite à cette installation, une prise en main rapide en vidéo vous est proposée sous la forme d’un HelloWorld BPEL. Ainsi l’installation sera validée !

Installation pré-packagée avec VirtualBox

Oracle TechNet propose une VM avec SOA Suite en version 11.1.1.6.0. La VM est à  télécharger sur technet. Cela évite d’installer toute la suite et permet de la partager comme référence.

Au préalable, pour faire tourner un poste de développement complet SOA Suite, il faut 8Go (soit 40 euros 🙂 ):

  • 4Go pour cette VM
  • 2Go pour JDeveloppeur

Au démarrage, utiliser l’utilisateur « oracle/oracle », démarrer en mode graphique puis préciser la configuration: SOA et OSB.

A l’usage, il est préférable de garder JDev sous windows alors que la Suite SOA reste dans la VM (Oracle linux). Mais par défaut, Weblogic n’autorise pas d’accès extérieur 🙁 . Il convient de changer cela !

Voici les étapes pour y arriver sous VirtualBox:

  • Ajouter une carte réseau en Réseau privé hote en précisant le mode de promiscuité à « Autoriser tous ».

osoa1

  • Une fois la VM lancée, lancez le mode graphique pour accéder à la console en local (http://localhost:7001/console).
  • Environnement > Serveurs puis sélectionner AdminServer

osoa2

  • Indiquer l’IP de la carte réseau (Réseau privé local) par laquelle nous attaquerons Weblogic.

osoa3

  • Maintenant, vous pouvez ajouter un nouveau serveur depuis JDevelopper installé sous Windows en précisant bien la même IP. Vous avez aussi accès à l’instance XE locale, au référentiel BPM, etc.

osoa4

Voilà votre poste est prêt pour du développement SOA Suite !

 

Installation complète sous Windows

Si vous voulez rester sous Windows, les logiciels à télécharger sont disponibles sur OTN.

Quelques logiciels sont nécessaires:

  • Database XE
  • Oracle WebLogic Server + Coherence – Package Installer
  • Repository Creation Utility
  • JDeveloper
  • SOA Suite(les 2 parties)
  • Oracle Service Bus

Les produits Oracle XE, JDevelopper et RCU sont spécifiques à Windows. Pour le reste, préférer les versions « generics ». Ainsi il sera possible d’utiliser une JVM 64bits si besoin.

Bien entendu, un JDK 1.6 ou 1.7 est un pré-requis indispensable.

Installer JDevelopper

Installer l’IDE

Installer JDevelopper 11.1.1.7 dans, par exemple, E:OracleMiddleware_11gps6. J’utilise ensuite la variable MIDDLEWARE_HOME pour y faire référence.

Ce répertoire servira aussi pour le domaine SOA Suite.

Tips: Préférer une JVM 32bits pour de meilleurs performances.

Installer les plugins

Des plugins complémentaires sont nécessaires pour le développement SOA.

Ouvrir l’assistant Help > Check for updates et sélectionner les plugins:

  • Extra Audit Rules
  • JUnit
  • Oracle ADF
  • Oracle BPM Studio
  • Oracle Enterprise Repository Adapter
  • Oracle Enterprise Repository Harvester
  • Oracle SOA Composite Editor
  • Spring and Oracle SCA

Installer le serveur SOA Suite

Installez Oracle XE

L’installation de Oracle XE est simple et est explicitée dans de nombreux post. Elle ne sera donc pas détaillée.

Utiliser le mot de passe: welcome1

Paramétrage BD Oracle pour SOA Suite

Lancer le « Run SQL Command » puis exécuter:

sqlplus sys/welcome1@XE as sysdba
ALTER SYSTEM SET PROCESSES=500 SCOPE=SPFILE;
ALTER SYSTEM SET OPEN_CURSORS=800 SCOPE=SPFILE;

 Paramétrage des Service windows

Pour économiser de la mémoire, il est préférable désactiver le démarrage automatique des services Oracle.

Démarrer > Ordinateur (clic droit) > Gérer > Services

Pour les services suivants, modifier le type de démarrage à « Manuel »:

  • OracleServiceXE
  • OracleTNSServiceXE

 Installer RCU

Décompressez RCU et exécuter $RCU_INSTALLbinrcu.bat

Sélectionner les composants:

  • Infrastructure SOA et BPM

Renommer le PREFIX en DEV. Cela permet d’avoir plusieurs versions SOA Suite ou plusieurs environnements.

Utiliser le mot de passe: welcome1. Avec un seul et unique mot de passe, la gestion de la plateforme en est facilité.

Installer WebLogic

Comme nous avons déjà installé WebLogic dans l’installation JDev, ce point n’est pas nécessaire.

Installer OSB

Lancer l’installateur:

 $OSB_INSTALLDisk1setup.exe

Durant l’installation choisir:

  • Le serveur préalablement installé avec JDev: %MIDDLEWARE_HOME%wlserver_10.3

Le répertoire Oracle_OSB1 est maintenant présent dans %MIDDLEWARE_HOME%.

Installer SOA Suite

Lancer l’installateur

$SOA_INSTALL/Disk1/setup.exe

Durant l’installation choisir:

  • Le domaine préalablement installé avec JDev: %MIDDLEWARE_HOME%

Le répertoire Oracle_SOA1 est maintenant présent dans %MIDDLEWARE_HOME%.

Configurer le domaine

Un domaine est un ensemble cohérent de définition de serveurs, de clusters et autres ressources. Après l’installation du socle logiciel, il est nécessaire de créer un domaine qui sera utilisé pour SOA Suite.

%MIDDLEWARE_HOME%oracle_commoncommonbinconfig.cmd

Créer un domaine puis, pour un domaine de production, sélectionner les modules:

  • BPM Suite (hors SOA Suite)
  • SOA Suite
  • OSB
  • OSB OWSM Extension
  • OEM
  • WL Advanced  WS for JAX-RPC
  • BAM
  • OWSM
  • Oracle JRF
  • Oracle JRF WS Asynch services
  • WL Advanced WS for JAX-WS

En sélectionnant les modules non « developpement » les serveurs seront séparés. Ainsi chaque fonctionnalité pourra être démarré indépendamment. Au contraire, si vous sélectionnez les versions « developpement« , alors le serveur AdminServer contiendra tous les modules. C’est souvent cette configuration que l’on utilise sur un poste de développeur.

Changez le nom du domaine en: DEV_domain.

Tips: Utilisez le même PREFIX que pour RCU !

Pour le mot de passe administrateur, choisir encore une fois welcome1.

Tips: Sélectionner un JDK 32bits pour améliorer les performances.

Quand à la configuration des sources de données. Faites comme ci-dessous:

osoa5

Tips: Ajouter un host local pour pointer vers votre BD. Cela facilitera les changements de serveurs.

Les tests des sources de données doivent être « success ».

Le chemin du domaine sera appelé DOMAIN_HOME (%MIDDLEWARE_HOME%user_projectsdomainsDEV_domain).

Adaptation au JDK

Pour faire fonctionner SOA Suite avec un autre JDK que celui fourni. Il convient d’adapter légèrement les scripts de démarrage.

Dans %DOMAIN_HOME%binsetDomainEnv.cmd

Vérifier les valeurs suivantes:

set BEA_JAVA_HOME=
set SUN_JAVA_HOME=D:Oraclejdk1.7.0_13

et

if "%JAVA_VENDOR%"=="Oracle" (
    set JAVA_HOME=%BEA_JAVA_HOME%
) else (
    if "%JAVA_VENDOR%"=="Sun" (
        set JAVA_HOME=%SUN_JAVA_HOME%
    ) else (
        set JAVA_VENDOR=Sun
        set JAVA_HOME=D:Oraclejdk1.7.0_13
    )
)

Dans %DOMAIN_HOME%binstartWebLogic.cmd

Ajouter

set MEM_ARGS=-Xms368m -Xmx1g -XX:PermSize=64m -XX:MaxPermSize=368m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
avant
if "%WLS_REDIRECT_LOG%"=="" (

Lancement des serveurs

Serveur d’administration

Le serveur d’administration est « AdminServer ». Il contient les consoles d’administration et de gestion des instances SOA, ESB, BAM. Il est indispensable et est un prérequis avant l’exécution des serveurs soa_server1, osb_server1, bam_server1. Comme évoqué préalablement, si le mode development a été choisi, il n’y aura donc qu’un seul serveur « AdminServer ».

Pour l’exécuter:

%DOMAIN_HOME%startWebLogic.cmd

Lorsque le serveur est démarré, la trace « started in RUNNING mode> » est affichée.

Console d’administration WebLogic

La console d’administration permet de gérer les serveurs JEE WebLogic. Cette console est le point central pour la configuration de la toppologie des serveurs, des ressources JNDI et des applications JEE déployées.

L’URL de la console est alors accessible sous http://localhost:7001/console/

L’utilisateur est weblogic / welcome1 .

osoa6

 

Console Enterprise Manager

La console Oracle Enterprise Manager permet l’administration de l’infrastructure SOA. Elle est la console de gestion opérationnelle pour SOA Suite.

URL: http://localhost:7001/em

L’utilisateur est identique: weblogic / welcome1 .

osoa7

Console Oracle Service Bus

L’ESB Oracle Service Bus possède sa propre console de gestion et d’administration. Comme OEM, celle-ci est déployée sur AdminServer.

URL: http://localhost:7001/sbconsole/

osoa9

Serveur SOA Suite (mode production)

Le serveur contenant l’infrastructure SOA Suite est soa_server1. C’est ce serveur qui hébergera les applications SOA (SCA) déployées.

Pour le démarrer, lancer la commande:

%DOMAIN_HOME%binstartManagedWebLogic.cmd soa_server1

Pour simplifier les futurs lancement, créer un fichier startSoaServer1.cmd dans %DOMAIN_HOME% avec comme contenu:

@ECHO OFF
SETLOCAL
set DOMAIN_HOME=E:OracleMiddleware_11gps6user_projectsdomainsDEVPS6_domain
call "%DOMAIN_HOME%binstartManagedWebLogic.cmd" soa_server1
ENDLOCAL

Pour faciliter les développements, il faut adapter les traces générées par les applications SOA. Depuis la console OEM, positionner le ‘Niveau d’audit’ à « Développement » (SOA > soa-infra (clic droit) > Administration SOA > Propriétés communes).

osoa8

 

Serveur OSB (mode production)

Le moteur OSB est déployé et exécuté dans le serveur osb_server1.

Comme pour soa_server1, créer le fichier  %DOMAIN_HOME%startOsbServer1.cmd avec

@ECHO OFF

SETLOCAL
set DOMAIN_HOME=E:OracleMiddleware_11gps6user_projectsdomainsDEVPS6_domain
call "%DOMAIN_HOME%binstartManagedWebLogic.cmd" osb_server1
ENDLOCAL

 

Serveur BAM (mode production)

Le serveur Business Acitivity Monitoring est exécuté dans bam_server1.

Comme pour soa_server1, créer le fichier  %DOMAIN_HOME%startBamServer1.cmd avec

@ECHO OFF

SETLOCAL
set DOMAIN_HOME=E:OracleMiddleware_11gps6user_projectsdomainsDEVPS6_domain
call "%DOMAIN_HOME%binstartManagedWebLogic.cmd" bam_server1
ENDLOCAL

Supprimer l’identification

Pour éviter de rentrer systématiquement, les login/password de l’administrateur, ajouter le fichier boot.properties dans chaque répertoire de serveurs.

Positionner ce fichier après avoir lancé 1 fois chacun des serveurs. A placer dans:

  • %DOMAIN_HOME%serversAdminServersecurity
  • %DOMAIN_HOME%serverssoa_server1security
  • %DOMAIN_HOME%serversosb_server1security
  • %DOMAIN_HOME%serversbam_serversecurity

Prise en main et validation de l’installation

Plutôt qu’un long discourt je vous propose des vidéos pour tester cette installation.

La 1ère vidéo présente le développement rapide d’un Hello World en BPEL.

Les pré-requis sont les démarrages des serveurs AdminServer et soa_server1.

 

La 2nde vidéo présente la visualisation des traces d’appels à cette application puis un 1er test intégré à OEM.

Références

 

Article principal sur Oracle SOA