Présentation de l'Architecture de Développements ainsi que des processus de développement dans les différents environnements:
- Coeur de Métier,
- Transactions Métier,
- Portail Web,
- Web Services.
2. 2Environnement de développement
Contexte et périmètre
Ce document est à destination des développeurs du projet TRANS@ctions.
Il a pour objectif de :
Présenter l’architecture de développement
Décrire les différents profils de développement
Détailler les processus de développement
• Comment chaque développeur s’intègre avec les autres développeurs
• Comment il récupère les sources
• Comment il installe son poste développement
Lister les outils mis à disposition du développeur
3. 3Environnement de développement
Sommaire
Présentation de l’environnement de développement
Stratégie de développement
Intégration continue
Profils développeur : CDM, INES, SSM & XWEB
• Présentation
• Stratégie de développements
• Description du poste de développement
• Tests unitaires
Procédure de livraison
4. 4Environnement de développement
Présentation de l’environnement de
développement (1/2)
Le plateforme de développement est composée de 3 environnements
DEV : environnement de développement
• postes de développement
• bases de données mutualisées utilisées depuis les postes de développement (Lodestar,
INES, XWEB)
TUN : environnement de tests unitaires
• éléments utilisés lors de l’exécution automatisée des tests unitaires par l’intégration
continue
TIN : environnement de tests d’intégration
• mis à jour automatiquement par l’intégration continue
• permet aux développeurs de tester la bonne intégration de leurs développements
6. 6Environnement de développement
Interfaçage systématique avec le gestionnaire de
configuration (Subversion)
• Subversion est la référence utilisée pour passer de
l’environnement DEV aux environnements TUN et TIN
Développement « isolé » sur les postes de
développement
• Utilisation de schémas propre à chaque développeur
• Installation des serveurs sur le poste développeur
Tests unitaires manuels sur les postes de développement
• Le développement du test unitaire doit être développé en
parallèle de la fonctionnalité à tester
Exécution des tests unitaires automatisée sur
l’environnement TUN
• A la validation des tests unitaires, les développements sont
déployés sur TIN
Tests d’intégration à la charge du développeur sur
l’environnement TIN
• L’ensemble des développements sont déployés pour valider
la chaine complète
TIN
TUN
Poste
LocalCheck-out des
sources via SVN
sur le poste local
Développement
Tests unitaires
Commit des
modifications sous
SVN
Check-out des
sources via SVN
(PF TUN)
Tests unitaires
(PF TUN)
Déploiement de la
dernière version
(PF TIN)
Tests d’intégration
( PF TIN)
Légende:
Si OK
Si KO
Etape
automatique
Etape
manuelle
Stratégie des développements
Cycle du développement des applications
7. 7Environnement de développement
Stratégie des développements
Développement/Correction avec l’Intégration (1/2)
Chaque développeur pourra interagir avec les blocs applicatifs manquants sur son
poste local
8. 8Environnement de développement
Stratégie des développements
Développement/Correction avec l’Intégration (2/2)
Enumérations des différents accès (de la couche haute à la couche basse) entre
les environnements de développement et d’intégration pour chaque type de
développeurs :
• Un développeur Java/J2EE pourra accéder aux couches applicatives 2, 3 & 4
• Un développeur webMethods pourra accéder aux couches applicatives 3 & 4
• Un développeur LodeStar pourra accéder aux couches applicatives 2, 3 & 4
10. 10Environnement de développement
Développement CDM
Présentation (1/2) : Architecture générale
GIN
INTERNET
DMZ externe
DMZ interne
Intranet S1/S2
Intranet S1/S2
SICT
PFE (INES)
JDBC
Portail (XWEB)
Réécriture HTTPContenus statiques
Serveur WebLogic
INES Services – INES Echanges – INES BPM
Oracle RACOracle RAC
Analytix
IIS
Selligent BI Selligent AS
Analytix
IIS
Selligent AS Selligent BI
SQL Server
SQL Net TCP
SMTP
RPS Bluecoat
SiteMinder
GAIA
HTTP HTTP
HTTP
HTTP (SOAP)
XWEB
SQLnet (JDBC)
TCP (SiteMinder)
SSMCDM
BDD Métier
Oracle RACOracle RAC
IIS
Web Application
Server
Load Balancer
Client
GRTgaz
HTTP (SOAP)
HTTP (SOAP)
SiteMinder
GAIA
HTTPS
HTTPS
SQL Net
SQL Net
HTTPSServeur mail Notes
HTTPS
HTTPS
Applications interfacées
SARA
RAPSODIE
GMAO
Application &
Report Server
Transaction
Mngt/Adapter
Server
Apache Apache
Supervision
métier
Services
Supervision
métier
Services
HTTP
TCP
JDBC
TCP
SMTP
SI Conduite
TCP
SiteMinder
GAIA
TCP
SiteMinder
GAIA
TCP
TCP
HTTP (SOAP)
Load Balancer
HTTP
Load Balancer
HTTP (SOAP)
PFF
Serveur de fichiers
HTTP HTTP (SOAP) HTTP (SOAP)
HTTP (SOAP)
PFE (INES)
INES FTP
externe
FTPS
HTTP (SOAP)
IIS
Web Application
Server
Application &
Report Server
Transaction
Mngt/Adapter
Server
11. 11Environnement de développement
Développement CDM
Présentation (2/2) : Composants logiciels
Serveur Front Office
Serveur HTTP Web
MS IIS 6
TODO Ajouter la version du framework .net
Serveur Back Office
Serveur d’application lodestar
Oracle Utilities EIP 1.5.0.7 Service Report Monitor & Scheduler
Oracle Utilities EIP 1.5.0.7 Service LTMH
Serveur de base de données:
Oracle Database 11g R2
12. 12Environnement de développement
Développement CDM
Stratégie de développement (1/2)
4 types de développements CDM :
• Le rules language
• Les adapter
• Le PL/SQL
• Les IHMs
Tous les développements s’appuient sur :
• Oracle Utilities EIP 1.5.0.7
• MS IIS 7
• TODO Le framework .net xxxxx
• Oracle Database 11g
Chaque développeur :
• Développe sur son poste en local
• Utilise un schéma dédié de la base de
données CDM de DEV
• Met à jour / Valide ses développements sur
le gestionnaire de configuration
Serveur Subversion
(SVN)
Serveur SGBD Métier (Oracle)
• Instance Lodestar (DEV/TUN/TIN)
Poste de Développement
• Configuration Lodestar locale
CHECKOUT / COMMIT
ODP / ODBC
13. 13Environnement de développement
Développement CDM
Stratégie de développement (2/2)
Schémas de base de données
• Une instance base de données pour chaque environnement (DEV, TUN, TIN)
• DEV : chaque développeur dispose d’un schéma indépendant des autres développeurs
• TUN, TIN : un schéma de test sur chaque environnement
• Un schéma de sécurité propre à chaque environnement DEV, TUN, TIN
Environnement
de Build/TUN
Environnement
d’Intégration/TIN
Environnement
de Développement
Instance L*
de TUN
SchémaInstance L*
de DEV
Instance L*
de TIN
Schéma
*
Schéma
Schéma sécurité Schéma sécurité Schéma sécurité
Schéma
Schéma
* Un schéma pour chaque développeur
14. 14Environnement de développement
Développement CDM
Description du poste de développement (1/2)
Chaque développeur dispose sur son poste en local une configuration lui
permettant de faire ses développements.
Serveurs
• IIS : partie web de Lodestar (IHM, Menu, Adapter, dictionnaire)
• Oracle Utilities Application Server : services tels que L* RM, L* Scheduler
• Oracle Utilities Transaction & Mngmt / Adapter : services pour l’adapter (L* Adapter),
installation et configuration de tous les services transverses pour développer les adapteurs.
IDE / Utilitaires
• Oracle Utilities Datamanager : développement RL, création des listes, manipulation des cuts,
export de données référentiels, tests des rates forms
• SQL Developer : client pour la base de données
• Visual Studio : développement des IHM (ASP.net)
• Notepad++ : éditeur de texte
• Soap UI client : test de web services
• Tortoise SVN : client pour la gestion de configuration Subversion
15. 15Environnement de développement
Développement CDM
Description du poste de développement (2/2)
Microsoft® Windows Vista – Poste Plimpot
IIS 7
NAVIGATEUR INTERNET
Framework
Web
TORTOISESVN
DATA MANAGER LTMH
Oracle Utilities EIP 1.5.0.7
Notepad++ / Visual Studio
Services Windows (Lodestar)
16. 16Environnement de développement
Développement CDM
Tests unitaires
Les tests unitaires sont à effectuer sur les développements réalisé par le
développeur Lodestar, ils concernent :
Les développement Rules Language
Automatisation des tests des rates forms
Les développement Adapter (valider la faisabilité technique)
Simulation locale des Interfaces suivant le type d’interface
Les développement IHM (valider la faisabilité technique)
Tests de tous les contrôles IHM
Vérification de la transmission des variables avec le typage attendu par la partie CDM(L*)
18. 18Environnement de développement
Développement INES
Présentation (1/2) : Architecture générale
GIN
INTERNET
DMZ externe
DMZ interne
Intranet S1/S2
Intranet S1/S2
SICT
PFE (INES)
JDBC
Portail (XWEB)
Réécriture HTTPContenus statiques
Serveur WebLogic
INES Services – INES Echanges – INES BPM
Oracle RACOracle RAC
Analytix
IIS
Selligent BI Selligent AS
Analytix
IIS
Selligent AS Selligent BI
SQL Server
SQL Net TCP
SMTP
RPS Bluecoat
SiteMinder
GAIA
HTTP HTTP
HTTP
HTTP (SOAP)
XWEB
SQLnet (JDBC)
TCP (SiteMinder)
SSMCDM
BDD Métier
Oracle RACOracle RAC
IIS
Web Application
Server
Load Balancer
Client
GRTgaz
HTTP (SOAP)
HTTP (SOAP)
SiteMinder
GAIA
HTTPS
HTTPS
SQL Net
SQL Net
HTTPSServeur mail Notes
HTTPS
HTTPS
Applications interfacées
SARA
RAPSODIE
GMAO
Application &
Report Server
Transaction
Mngt/Adapter
Server
Apache Apache
Supervision
métier
Services
Supervision
métier
Services
HTTP
TCP
JDBC
TCP
SMTP
SI Conduite
TCP
SiteMinder
GAIA
TCP
SiteMinder
GAIA
TCP
TCP
HTTP (SOAP)
Load Balancer
HTTP
Load Balancer
HTTP (SOAP)
PFF
Serveur de fichiers
HTTP HTTP (SOAP) HTTP (SOAP)
HTTP (SOAP)
PFE (INES)
INES FTP
externe
FTPS
HTTP (SOAP)
IIS
Web Application
Server
Application &
Report Server
Transaction
Mngt/Adapter
Server
19. 19Environnement de développement
Développement INES
Présentation (2/2)
INES est l’infrastructure d’échanges mutualisée et adaptée aux évolutions du SI de
GDF Suez
Chaîne de
Supervision
Outil de
Reporting
Framework WM Framework Informatica
Outils et Services
INES
Socle
Framework INES
Poste de dév
« INES » VMWARE
Aide au développement
des composants
« échanges »
Souche
Produits INES
Templates
des composants
« échanges »
Outils d’audit
des composants
« échanges »
IHM
d’Upload
INES Métier/Processus
BPM, BAM, Gestion des règles…
INES Services
Outils de gouvernance des services, ESB…
INES Échanges
EAI, ETL, FTP, CFT…
20. 20Environnement de développement
Développement INES
Stratégie de développement (1/3)
3 types de développements sur INES :
• Les échanges de type exposition de services
(INES Services)
• Les échanges de type EAI (INES Echanges)
• Les processus (INES BPM)
Tous les développements s’appuient sur :
• webMethods Integration Server 7.1
• webMethods Broker Server 7.1
• Oracle Database 11g
Chaque développeur :
• Développe sur son poste en local
• Utilise la base de données INES de DEV
• Utilise les services CDM et SSM de
l’environnement d’intégration
• Met à jour / Valide ses sources sur le
gestionnaire de configuration
Serveur Subversion
(SVN)
Serveur SGBD Métier (Oracle)
• Instances webMethods (DEV, TUN, TIN)
Poste de Développement
• Configuration webMethods locale
CHECKOUT / COMMIT
JDBC
22. 22Environnement de développement
Développement INES
Stratégie de développement (3/3)
Schémas de base de données
• Une instance base de données pour chaque environnement (DEV, TUN, TIN)
• DEV : chaque développeur dispose d’un schéma indépendant des autres développeurs
• TUN, TIN : un schéma de test sur chaque environnement
Environnement
de Build/TUN
Environnement
d’Intégration/TIN
Environnement
de Développement
Instance INES
de TUN Schéma
Instance INES
de DEV
Instance INES
de TIN Schéma
*
Schéma
Schéma
(*) : Un schéma pour chaque développeur
Schéma
23. 23Environnement de développement
Développement INES
Description du poste de développement (1/4)
Chaque développeur installe sur son poste :
Le serveur d’application (webMethods Integration Server)
• Héberge tous les packages développés : services, échanges, processus
Le broker (webMethods Broker)
• Utilisé par l’IS, permet les traitements asynchrones
Les IDE WebMethods
• Developer : développement des services
• Designer : développement des processus (basé sur Eclipse 3.3, donc permet à l’aide du plugin
Subclipse de s’intégrer à Subversion)
Un client SQL
• TOAD / SQL Developer
24. 24Environnement de développement
Développement INES
Description du poste de développement (2/4)
Briques Applicatives du poste de développement
Microsoft® Windows Vista – Poste Plimpot
webMethods Integration Server
JDK 5 (installation webMethods)
webMethods Broker
Subversion(SVN)
MAVEN 2
webMethods DesignerwebMethods Developer
27. 27Environnement de développement
Développement INES
Tests unitaires
Mode de fonctionnement
• Utilisation du framework INES AOFrmkUnitTesting
Procédure pour développer un test unitaire
• Développer le flow service / java service
• Faire le test manuel et sauvegarder les pipelines d’entrée / sortie
• Créer un package de test et décrire le test dans un fichier XML
Rapports générés
• Rapports standards type JUnit
29. 29Environnement de développement
Développement SSM & XWEB
Présentation (1/3) : Architecture générale
GIN
INTERNET
DMZ externe
DMZ interne
Intranet S1/S2
Intranet S1/S2
SICT
PFE (INES)
JDBC
Portail (XWEB)
Réécriture HTTPContenus statiques
Serveur WebLogic
INES Services – INES Echanges – INES BPM
Oracle RACOracle RAC
Analytix
IIS
Selligent BI Selligent AS
Analytix
IIS
Selligent AS Selligent BI
SQL Server
SQL Net TCP
SMTP
RPS Bluecoat
SiteMinder
GAIA
HTTP HTTP
HTTP
HTTP (SOAP)
XWEB
SQLnet (JDBC)
TCP (SiteMinder)
SSMCDM
BDD Métier
Oracle RACOracle RAC
IIS
Web Application
Server
Load Balancer
Client
GRTgaz
HTTP (SOAP)
HTTP (SOAP)
SiteMinder
GAIA
HTTPS
HTTPS
SQL Net
SQL Net
HTTPSServeur mail Notes
HTTPS
HTTPS
Applications interfacées
SARA
RAPSODIE
GMAO
Application &
Report Server
Transaction
Mngt/Adapter
Server
Apache Apache
Supervision
métier
Services
Supervision
métier
Services
HTTP
TCP
JDBC
TCP
SMTP
SI Conduite
TCP
SiteMinder
GAIA
TCP
SiteMinder
GAIA
TCP
TCP
HTTP (SOAP)
Load Balancer
HTTP
Load Balancer
HTTP (SOAP)
PFF
Serveur de fichiers
HTTP HTTP (SOAP) HTTP (SOAP)
HTTP (SOAP)
PFE (INES)
INES FTP
externe
FTPS
HTTP (SOAP)
IIS
Web Application
Server
Application &
Report Server
Transaction
Mngt/Adapter
Server
XWEB
SSM
30. 30Environnement de développement
Développement SSM & XWEB
Présentation (2/3) : Architecture logique SSM
Services et Supervisions Métiers
Serveur Web
PROXY
Serveur d’application
WEBAPP (IHMs)
WEB
SERVICES SGBD
(Oracle)
JDBC
Utilisateur
Intranet
Données statiques
INES
Authentification
Utilisateur
(GAIA)
SiteMinder
Serveur de
Fichiers
(NAS)
Appels
31. 31Environnement de développement
Développement SSM & XWEB
Présentation (3/3) : Architecture logique XWEB
Portail Web
Serveur Web
PROXY
Serveur d’application
WEBAPP (IHMs)SGBD
(Oracle)
Authentification
Utilisateur
(GAIA)
JDBC
SiteMinder
Utilisateur
Intranet
Données statiques
INES
Utilisateur
Internet
32. 32Environnement de développement
Développement SSM & XWEB
Stratégie de développement (1/3)
Tous les développements s’appuient sur :
• Oracle Weblogic Server 10g
• Oracle Database 11g
Chaque développeur
• travaille en local sur sa machine
• utilise le gestionnaire de versioning
(Subversion) pour « commiter » la dernière
version de son développement
• Utilise son schéma sur la base de données
Oracle de DEV
Serveur
Subversion
(SVN)
Serveur
d’authentification
(GAIA)
Serveur SGBD
Métier
(Oracle)
Poste de Développement
CHECKOUT / COMMITPlugin APACHE
JDBC
33. 33Environnement de développement
Développement SSM & XWEB
Stratégie de développement (2/3)
Schémas de base de données SSM
• Une instance base de données pour chaque environnement (DEV, TUN, TIN)
• DEV : chaque développeur dispose d’un schéma indépendant des autres développeurs
• TUN, TIN : un schéma de test sur chaque environnement
Environnement
de Build/TUN
Environnement
d’Intégration/TIN
Environnement
de Développement
Instance SSM
de TUN Schéma
Instance SSM
de DEV
Instance SSM
de TIN Schéma
*
Schéma
Schéma
(*) : Un schéma pour chaque développeur
Schéma
34. 34Environnement de développement
Développement SSM & XWEB
Stratégie de développement (3/3)
Schémas de base de données XWEB
• Une instance base de données pour chaque environnement (DEV, TUN, TIN)
• DEV : un schéma de développement
• TUN, TIN : un schéma de test sur chaque environnement
Environnement
de Build/TUN
Environnement
d’Intégration/TIN
Environnement
de Développement
Instance XWEB
de TUN Schéma
Instance XWEB
de DEV
Instance XWEB
de TIN SchémaSchéma
35. 35Environnement de développement
Développement SSM & XWEB
Description du poste de développement (1/2)
Chaque développeur installe sur son poste :
Serveur Web
• Apache Serveur (Version: 2.2.11)
Serveur d’application J2EE
• Oracle Weblogic Serveur (Version: 10g R3),
IDE & utilitaires
• Eclipse (Version: Galiléo ou SDK 3.5.2), Environnement de développement OEPE.
• Subclipse (Version: 1.6.10), plugin Eclipse SVN
• O.E.P.E. (Version: 11.1.1.4), plugin Eclipse Oracle Enterprise Pack for Eclipse
• JUnit (Version: 4.8.1), Tests unitaires
• Maven 2.0 (Version: 0.9.6), outil de « build » utilisant une approche déclarative où le contenu et la structure
du projet sont décrits
• JDK 6 (Version: J2SE 5.0 ou supérieur), JVM Java
• SQL Developer (Version: 1.5.5), client SQL
36. 36Environnement de développement
Développement SSM & XWEB
Description du poste de développement (2/2)
Briques Applicatives du poste de développement
Microsoft® Windows Vista – Poste Plimpot
APACHE 2
WEBLOGIC 10g
JDK 6
FRAMEWORKS
Subversion(SVN)
MAVEN 2
ECLIPSE (EDITION GALILEO)
NAVIGATEUR INTERNET
37. 37Environnement de développement
Développement SSM & XWEB
Test Unitaires
Mode de fonctionnement
• Standard pour le développement Java (Java BluePrints) : il faudra créer des tests unitaires avec
JUnit (tester le code) et DbUnit (adapte le SGBDR pour la conduite de test)
Procédure pour développer un test unitaire
• Le développement et les tests unitaires seront créés et développés sur le poste de
développement
• Ils devront être livrés conjointement sur le serveur SVN (Gestionnaire de versioning)
Rapports générés
• Chaque développeur pourra accéder au rapport final de leur livraison
39. 39Environnement de développement
Intégration continue
Serveur SGBDR
(Oracle)
Rapports
Poste(s) de développement
Serveur d’authentification
(GAIA)
Monitoring
Valider les sources
Compiler les sources
Tester le code compilé
« Packager » le code
compilé
Publication
Serveur de
TIN
Déploiement
Serveur d’Intégration
Continue (CIS)
Intégration Continue
Détection de
la MAJ
du référentiel
de source
Serveur Subversion
(SVN)