SOMMAIRE Introduction BCO / Toolbox aujourd’hui Recommandations pour BCO CRP aujourd’hui ...

10
SOMMAIRE Introduction BCO / Toolbox aujourd’hui Recommandations pour BCO CRP aujourd’hui Recommandations pour CRP La base de données Recommandations pour la base de données Les tests Environnements de développement

Transcript of SOMMAIRE Introduction BCO / Toolbox aujourd’hui Recommandations pour BCO CRP aujourd’hui ...

Page 1: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

SOMMAIRE

Introduction

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandations pour CRP

La base de données

Recommandations pour la base de données

Les tests

Environnements de développement

Page 2: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

BCO

<<BCCommon>>.jar

<<CBWeb >> FRW_

<<BCEJB >>FRW_

DMZ 2 : WAS 2

DMZ 1 : WAS 1

DCS

<<DCSCommon>>.jar

<<DCSWeb >> FRW_ <<lib>><<lib>>

<<DCSEJB >> FRW_

DMZ 2 : WAS 2

DMZ 1 : WAS 1<<lib>><<lib>>

<<lib>><<lib>>

<<lib>><<lib>>

<<lib>><<lib>>

SO

<<SOCommon>>.jar

<<SOWeb >> FRW_ <<lib>><<lib>>

<<SOEJB >> FRW_

DMZ 2 : WAS 2

DMZ 1 : WAS 1<<lib>><<lib>>

<<lib>><<lib>>

<<lib>><<lib>>

<<CBCommonCommon>><<CBCommonCommon>> <<CBWebCommon>><<CBWebCommon>>

Architecture des projets BCO Toolbox

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

Légendes

FRW_ : Framework ancêtre SweetDev

Machine Fronts

Machine Métiers

Librairies communes à l’ensemble BCO / Toolbox Toolbox

Page 3: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

<<EJBXXX >>

DMZ 2 : WAS 2

. XML. XML

DécritDécrit

pojonputpojoOutput

DMZ 3

PS

Procédure stockée PS

J

D

B

C

Procédure stockée PS

- Framwork ancetre de SweetDev

-Dans la toolbox, le métier est exclusivement embarqué dans la base de données à travers des procédures stockées.

-Les EJB n’ont aucune intelligence. Ils se contentent de faire appel à ces procédures stockées. Les résultats des appelles sont retournés et exploités à travers des pojos java.

- Chaque EJB se base sur 2 fichiers XML.

- Ces derniers décrivent la procédure stockée à appeler ainsi que le pojo en entré de la procédure stockée et le pojo matérialisant le retour après exécution.

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

Page 4: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

EJBs Serveur

. XML

Procédures stockées

POJOs

Interfaces EJB

Présentation Métier

BCO toolbox à plusieurs niveaux de complexité:-L’existence des EJB - Encapsulation des procédures stockées-La complexité des développements se trouve dans la mise en correspondance des interfaces EJB du module front avec les composants métier. Il faut générer une dizaine de fichier pour exploiter un unique EJB métier.

Interfaces EJB EJBs Serveur

Page 5: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

Réorganiser les dépendances de librairies dans les différents projets. De plus, ajouter un outil de gestion de dépendance tel que Maven. Ceci permettra également une meilleure gestion des sources et automatisera les déploiements.

Reprendre les « copier/coller » du code de BCO (package com.bnpparibas.compben.*) fait dans les projets SO et DCS. Les remonter dans le projet commun <<CBCommonCommon>>

Ecrire une documentation technique à destination des développeurs. Celle-ci sera un descriptif des étapes à accomplir (dans l’ordre) pour implémenter de nouveaux comportements dans les applications.

Fournir et installer un plugin (wizard) intégré à l’environnement de développement pour la génération automatique de code. Ce dernier prendra en charge la génération des différents fichiers de configuration pour l’implémentation d’un EJB métier.

Recommandations pour BCO / Toolbox

Page 6: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

.XLSDonnées GRH Monde retraitée

.XLSDonnées de compensation post campagne

Export BCO

.XLS.XLSExport Métier

Métier

Retraitement

.XLS.XLS

Import

Exploitation

Vue macroscopique de CRP

Import

Page 7: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

CRP

<<CRPEJBClient>>

<<CRPWeb >>

<<CRPEJB >>

DMZ B : WAS 2

DMZ A : WAS 1

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement Architecture logiciel de CRP

Page 8: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

Imports non packagé / Mutualisé

Export non packagé / Mutualisé

Internationalisation partiel et lourde

Pas de module dédié à la juridiction

Code métier partagé entre le monde Java et les procédures stockées.

Les procédures stockées sont transactionnelle mais pas les requêtes JDBC dans le code Java

Impossible de connaitre le status d’une mise à jour de la base.

Page 9: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

Refactoring De CRP

-Migrer dans la version récente de SweetDev-Implémenter l’internationalisation grâce à SweetDev

JSP Métier- Refactorer les jsp: Bean java pour les

données-Refondre les EJB ( DAO simple + EJB

Métier)-Mutualiser les export dans un service

unique- Mutualiser les imports dans un service

unique-Utiliser une API de génération Excel en

streaming => Préservation de la RAM-Basculer le code métier dans les PS (comme BCO) ou dans le code java

(Hibernate)-Se baser sur SweetDev pour avoir une

gestion centralisé de la juridiction + Hibernate facilite la juridiction des

données

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

Page 10: SOMMAIRE  Introduction  BCO / Toolbox aujourd’hui  Recommandations pour BCO  CRP aujourd’hui  Recommandations pour CRP  La base de données  Recommandations.

BCO / Toolbox aujourd’hui

Recommandations pour BCO

CRP aujourd’hui

Recommandation pour CRP

La base de données

Recommandations pour la base

Les tests

Environnements de développement

DynDefIdnom_colonetype_donnee

DynValIdId_DynDef <fk>Id_ligne <fk>value