39
Architecture de développement Document de présentation Frédéric sagez – 11 juin 2010

Présentation de l'Architecture de Développement du projet TRANS@ctions

Embed Size (px)

Citation preview

Architecture de développement

Document de présentation

Frédéric sagez – 11 juin 2010

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

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

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

5Environnement de développement

Présentation de l’environnement de

développement (2/2)

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

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

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

9Environnement de développement

Développement du cœur de métier• Rules Language• Adapter• PL/SQL• IHM

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)

SSM CDM

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

HTTPSApplications 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

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

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

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

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

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

TO

RT

OIS

E S

VN

DATA MANAGER LTMH

Oracle Utilities EIP 1.5.0.7

Notepad++ / Visual Studio

Services Windows (Lodestar)

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*)

17Environnement de développement

Développement d’INES• Echanges et BPM

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)

SSM CDM

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

HTTPSApplications 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

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

SocleFramework INES

Poste de dév« INES » VMWARE

Aide au développement des composants « échanges »

Souche Produits INES

Templatesdes 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…

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

21Environnement de développement

Développement INES

Stratégie de développement (2/3)

Schéma détaillé du processus de développement

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

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

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

Su

bvers

ion

(S

VN

)

MAVEN 2

webMethods DesignerwebMethods Developer

25Environnement de développement

Développement INES

Description du poste de développement (2/4)

IDE Developer (interface Java)

26Environnement de développement

Développement INES

Description du poste de développement (3/4)

IDE Designer (basé sur Eclipse)

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

28Environnement de développement

Développement SSM et XWEB

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)

SSM CDM

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

HTTPSApplications 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

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

SERVICESSGBD(Oracle)

JDBC

Utilisateur

Intranet

Données statiques

INES

Authentification

Utilisateur(GAIA)

SiteMinder

Serveur de

Fichiers(NAS)

Appels

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

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

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

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

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

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

Su

bvers

ion

(S

VN

)

MAVEN 2

ECLIPSE (EDITION GALILEO)

NAVIGATEUR INTERNET

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

38Environnement de développement

Procédure de livraison

39Environnement de développement

Intégration continue

Serveur SGBDR

(Oracle)

Rapports

Poste(s) de développement

Serveur d’authentification

(GAIA)

Mo

nito

ring

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)