Upload
phamdieu
View
214
Download
0
Embed Size (px)
Citation preview
© IBM France 2017
Université IBM i 2017
17 et 18 mai – IBM Client Center de Bois-Colombes
S37 – Transformation DB2 for i de DDS à SQL :
témoignage client ASSURA
Jeudi 18 mai – 13h30-15h00
Laurent CRELIER et Colin BISSEGGER – Figeas / ASSURA
Expérience ASSURA : DDS to SQL
13:30 Welcome
13:35 Pascal BLANDIN (Itheis) introduction
Qui est Itheis
13:45 Thierry LABRUNIE (Itheis) solution
Solution Xcase for i
14:00 Laurent CRELIER (Figeas) DSI Adjoint
Qui est Figeas / ASSURA
Contexte d’évolution
14:20 Colin BISSEGGER (Figeas) Architecte logiciel
14:45 Questions réponses & Conclusions
Intégration de produits, prestation de services, et
solutions de productivité innovantes
IBM PartnerWorld. Couverture Européenne.
Certification Fresche Legacy.
Solutions de modernisation IBM i
Des solutions
complètes pour vos
projets de
modernisation IBM i
3 niveaux de
transformation
Solutions de modernisation IBM i
Méthodes et outils
performants pour la
réussite de vos
projets de
modernisation IBM i
Approche « Best of breed » *
* Définition Wikipedia de « Best of breed »:
(Anglicisme informatique) Ensemble de logiciels interconnectés étant chacun les meilleurs de leurs catégories.
Références clients
Transformation de DDS à DDL avec Xcase for i :
• La base cible est définie en SQL
• Bénéficie des améliorations continues offertes par IBM
• Performance optimale
• L'intégrité des données est assurée par le moteur de la base de données
• Le type Date est utilisé pour stocker les dates
• Utilise des identités pour assurer l’unicité et des colonnes d’audit pour sa
gestion
• Utilise des noms significatifs pour les tables et les colonnes
• Utilise la puissance des Vues SQL
• Les relations sont explicitement déclarées ou au moins documentées
• Facilement utilisable par des outils modernes et les nouveaux employés
• Gérée par un outil de modélisation graphique
Moderniser DB2 for i avec Xcase
Migre structures et données
à SQL sans recompilation
des PGMs Retrouve les relations,
implémente
progressivement
l’intégrité référentielle
Nettoie les
données,
transforme les
dates, identifie
les orphelins
et les PGM
qui les créent Est gérée depuis le modèle graphique
Une image vaut mieux qu’un long discours
Contact_ldr_du_client_pk
Code_site [table catégorie client]
N_interne_client [fichier des clients]
Categorie_client [table catégorie client .code_parametre]
Contact ldr du client
Fichier_des_adresses_pk
N_adresse
Fichier des adresses
Fichier_des_clients_pk
Code_site [table act iv ité client]
N_interne_client
Secteur_act ivite [table act ivité client.code_parametre]
Secteur_commercial [table secteur commercial.code_parametre]
N_adresse_client [ fichier des adresses.n_adresse]
Type_tiers_groupe [ table type tiers.code_parametre]
N_tiers_groupe [ fichier des tiers.numero_t iers]
Type_tiers_don_ordre [table type tiers.code_parametre]
N_tiers_don_ordre [fichier des t iers.numero_tiers]
Fichier des clients
Fichier_des_t iers_pk
Code_site [table type t iers]
Type_de_tiers [table type t iers.code_parametre]
Numero_tiers
N_adresse [ fichier des adresses]
Fichier des tiers
Fichier_domiciliations_bancaires_clients_pk
N_interne_client [fichier des clients]
Fichier domiciliations bancaires clients
Fichier_facturat ion_clients_pk
N_interne_client [fichier des clients]
N_adr_facturation [fichier des adresses.n_adresse]
Mode_envoi_facture [table mode d'env oi de factures.code_parametre]
Monnaie [table monnaie/devise.code_parametre]
Terme_facture [ table emission facture.code_parametre]
Periodicite_facture [table périodicité facturation.code_parametre]
Moyen_de_paiement [ table moyen paiement .code_parametre]
Delai_de_paiement [table délai paiement .code_parametre]
Code_tv a [ table tv a.code_parametre]
N_adresse_facturat ion [f ichier des adresses.n_adresse]
N_adr_envoi_facture [ fichier des adresses.n_adresse]
Code_site [table tva]
Fichier facturation clients
Fichier_r_sultats_clients_pk
N_interne_client [fichier des clients]
Type_adresse [ table type d'adresse.code_parametre]
N_adresse_resultat [f ichier des adresses.n_adresse]
Type_de_tiers [table type t iers.code_parametre]
N_de_tiers [f ichier des tiers.numero_tiers]
Moyen_livraison_resultats [table moyen liv raison.code_parametre]
N_base_adresse_res [f ichier des adresses.n_adresse]
Code_site [table moyen liv raison]
Fichier resultats clients
Fichier_sous_comptes_clients_pk
N_interne_client [fichier des clients]
N_adresse_s [f ichier des adresses.n_adresse]
Moyen_livraison_produit [ table moyen livraison.code_parametre]
N_adresse_livraison [f ichier des adresses.n_adresse]
Code_site [table moyen liv raison]
Fichier sous-comptes clients
Is_tabpap_sql_table_pk
Table pays
Is_tabtv p_sql_table_pk
Code_site
Code_parametre
Table tva
Table_activite_client_pk
Code_site
Code_parametre
Table activité client
Table_categorie_client_pk
Code_site
Code_parametre
Table catégorie client
Table_delai_paiement_pk
Code_site
Code_parametre
Table délai paiement
Table_emission_facture_pk
Code_site
Code_parametre
Table emission facture
Table_langue_pk
Table langue
Table_mode_d_envoi_de_factures_pk
Code_site
Code_parametre
Table mode d'envoi de factures
Table_monnaie_devise_pk
Code_site
Code_parametre
Table monnaie/devise
Table_moyen_livraison_pk
Code_site
Code_parametre
Table moyen livraison
Table_moyen_paiement_pk
Code_site
Code_parametre
Table moyen paiement
Table_periodicite_facturation_pk
Code_site
Code_parametre
Table périodicité facturation
Table_secteur_commercial_pk
Code_site
Code_parametre
Table secteur commercial
Table_tit re_pk
Table titre
Table_type_d_adresse_pk
Code_site
Code_parametre
Table type d'adresse
Table_type_tiers_pk
Code_site
Code_parametre
Table type tiers
Model: Landauer SQL
Diagram: --Main-- Display: --Main--
Designer: Company:
Version: 51 1/28/2015 7:56:50
Expérience ASSURA : DDS to SQL
13:30 Welcome
13:35 Pascal BLANDIN (Itheis) introduction
Qui est Itheis
13:45 Thierry LABRUNIE (Itheis) Solution
Solution Xcase for i
14:00 Laurent CRELIER (Figeas) DSI Adjoint
Qui est Figeas / ASSURA
Contexte d’évolution
14:20 Colin BISSEGGER (Figeas) Architecte logiciel
14:45 Questions réponses & Conclusions
CUSF
PF
LF 1 LF 2
Modèle DDS Modèle SQL
PGM 1
PGM 2
PGM 3
CUSF
LF
CUSF
SQL
Fichier DDS
Index
Vue LF SURROGATE
LF SURROGATE
XCASE tour d’horizon
• XCASE est composé de 5 modules – Modernize-DB - Passage des DDS au SQL
– Relate-DB - Découverte des relations
– Evolve-DB - Gestion graphique de la base de
données
– Viewer-DB - Visualiser la base de données
– Test-DB - Gestion des jeux de tests
CUSF
PF
LF 1 LF 2
PGM 1
PGM 2
PGM 3
CUSF
LF
CUSFS
SQL
Index
Vue
Modernize-DB - Méthodologie
Copie des
données
SQL DDS
Situation initiale
1 - Création de la table SQL cible
2 - Création des index
3 - Création du LF SURROGATE
4 - Modification des LF
5 – Migration des données
Situation finale
Modernize-DB – Points d’attention
• PF multi membres
• Données corrompues lors de la migration
des données
• Utilisation d ’un LF SURROGATE ‐ CL avec des commandes sur PF
Modernize-DB – Synthèse
Pas de changements sur les applications existantes
Automatisé et complet
Risques d’erreurs réduit
Ajoute colonnes (identités, etc.)
Normalise le nommage des composants
Procède par sous ensembles
Analyse
Modernise Objets PF
Contrôle les données
Copie des données
Transforme les LF en vues
Basé sur la méthodologie recommandée par IBM
Relate-DB – Situation
• La plupart des bases de données DB2 for i
n’ont pas de relations déclarées
• Existent elles ?
• Ou se trouvent-elles ?
• Pourquoi ne sont-elles pas déclarées ?
• Comment les découvrir ?
Relate-DB – Pourquoi ?
• Documentation et compréhension de la
Base
• Performances accrues
• Utilisées par des logiciels modernes – Vues, Rapports, Base de test, BI
• Qualité et Intégrité des données
Relate-DB – Intégrité référentielle
• L’intégrité référentielle n’est pas respectée
par les données de la Base • Xcase découvre les Orphelins et les Doublons
• Les applications existantes violent l’intégrité
de la Base • Xcase trace les applications qui violent l’intégrité
• La relation implicite n’est pas déclarable en
SQL • Xcase vous permet de contourner cette difficulté en
utilisant des relations « Alternatives »
Relate-DB – Comment ?
• La découverte manuelle est extrêmement
laborieuse et pratiquement jamais mise en
œuvre
• Le module Relate-DB est un système
expert qui exploite toutes les données
disponibles pour les découvrir.
• Il ne vous reste plus qu’à valider les
propositions faites par Relate-DB.
Relate-DB – Implémentation des RI
• Existe dans le Modèle mais pas déclaré
dans la base • Pour documentation, création assistée de Vues SQL
et Base de Données de Test
• Déclaré dans la base • Il est possible de la désactiver
• Relation Alternative • Prise en charge automatique, souple et optimale par
Xcase même quand la relation implicite n’est pas
déclarable en SQL
• Tracer les erreurs applicatives
Evolve-DB - Gestion graphique
• Représentation graphique • Xcase fournit un vrai environnement de modélisation
graphique construit autour de diagrammes décrivant
les relations entre les tables.
• Visualiser, organiser et naviguer rapidement les
bases de données les plus complexes à l'aide de
diagrammes multiples et intégrés.
• Modification graphique du modèle sans
connaissance du SQL.
• Génère le code SQL • Pour toutes les modifications des objets de base de
données, tels que les tables, les index, vues,
triggers et procédures stockées.
• Mise à jour transparente des objets associés.
Evolve-DB – Analyse d’impact
• Analyse d’impact et préservation des
données • Effectue une analyse d’impact minutieuse de toutes
les modifications et met en œuvre les modifications
indispensable a toute évolution
• La synchronisation de la base de données avec
votre modèle est géré sous votre contrôle
permanent.
• Xcase s’occupe de générer tout le code nécessaire
pour mettre en œuvre tout les modifications explicite
et implicite.
• Automatisation des modifications
VIEWER DB - Généralités
• Pourquoi • Visualiser la base à partir du modèle relationnel de
la base de données
• Comment • VIEWER DB permet d’exploiter le modèle
‐ Sans possibilité de modifier le modèle, ni la base de
donnée.
• Qui • Toute personne ayant besoin de connaitre la base
de donnée
• Durée • 0,5 jour
TEST DB – Qualité requises
• Cohérente
• Représentative – Au niveau enregistrement
– Au niveau zone
• Zones Sensibles Masquées
• Compacte
• Compréhensible
TEST DB – Qualité requises
• Enregistrement • Remplissage par échantillonnage de la production
• Remplissage synthétique
• Respect de l’intégrité référentielle
• Zone • Masquage
• Valeurs exhaustives
• Valeurs modifiées
• Valeurs compréhensibles
TEST DB – Usages
• Test Base Courante
• Test Nouvelle Base
• Base pour Qualification
• Par application
• Base pour Formation (actualiser les dates)
DB2 pour allez plus loin
• Cours IBM SQL Advanced
• Le Redbook de référence sur DB2 ‐ Modernizing IBM eServer iSeries Application Data Access
- A Roadmap Cornerstone
• Le Redbook sur la modernisation ‐ Modernizing IBM i Applications from the Database up to
the User Interface and Everything in Between
Expérience ASSURA : DDS to SQL
13:30 Laurent RIVIER (Itheis) Welcome
13:40 Pascal BLANDIN (Itheis) solution
Qui est Itheis
Solution Xcase for i
14:00 Laurent CRELIER (Figeas) DSI Adjoint
Qui est Figeas / ASSURA
Contexte d’évolution et vision
14:20 Colin BISSEGGER (Figeas) Architecte logiciel
Expérience projet
Bénéfices aujourd’hui
14:45 Questions réponses & Conclusions
© IBM France 2017
Témoignage client
Xcase – Modernisation DB2 for i
Présentation du projet
Laurent CRELIER DSI Adjoint
44
• 1973: Création du groupe avec 430 assurés
• 2001: Création d’Assura SA pour les assurances complémentaires
• 2013: Création de Assura Holding SA
Le groupe Assura
Assurance maladie obligatoire, caisse n° 1. 950’000 assurés
Assurance maladie complémentaire. 500’000 assurés
Société de services du groupe, dont la DSI (70 personnes)
Imprimerie du groupe, dépend de la DSI
1200 e
mplo
yés
3 m
illia
rds C
HF
de C
A
Architecture d’Entreprise
45
Zoom sur l’architecture et l’intégration
1990
2000
2010
2017
19
99
20
03
Mise à disposition de
l’application Motiva pour
les agents
20
04
20
11
Mise en œuvre
de la chaîne de
dématérialisation
Lancement du site web
Assura.ch
19
9
1
Acquisition du système
IBM AS/400
19
8
8
1986
Acquisition du système
IBM S/38
assura.ch
20
15
20
16
POC Intégration (Prestations)
Intégration progiciel HRAccess / Ressources humaines
Lancement de
l’espace client pour
nos assurés
Historiquement, le système d’information d’Assura
a été bâti autour du système IBMi
Intégration progiciel Microsoft Dynamics 365 / Finance d’entreprise
Assura Aujourd’hui
Développement
Autres technologies
Développement
COBOL et Adelia (IBMi)
Intégration
Solution du marché
Output Management
20
17
2
01
7
CRM Microsoft
Architecture d’Entreprise
Architecture applicative
46 Annexes
Développement d’une architecture orientée services (SOA) afin d’intégrer aisément
les nouvelles applications à l’existant. L’évolutivité et l’ouverture du système
d’information (Référentiel, cloud, mobiles, etc.) seront facilitées.
Architecture orientée application
Fort
couplage
Dépendance
technologique
Silos
applicatifs
Application Application
Application
Application
Application
Application
Aujourd’hui
Développement d’une architecture modulaire
Architecture orientée service
Services
Cloud
Référentiels
Applications
internes
Legacy systems
Neutralité
technologique
Services
mutualisés
Faible
couplage
SOA (via ESB)
Demain
Applications
externes
Architecture orientée application
Fort
couplage
Dépendance
technologique
Silos
applicatifs
Applicatio
n Applicatio
n
Applicatio
n
Applicatio
n
Applicatio
n
Applicatio
n
Aujour
d’hui
Architecture d’Entreprise
47
IBMi
Legacy System Reference DB
DB_REF
WindowsWeb Server
Web services
TIBCOESB
CRM
Cloud Microsoft
ACMDTAOrchestration
ERP Fin
Output Management
Cloud Privé
Interne
Portail Client
Zoom sur l’architecture et l’intégration
IBMi
Architecture d’Entreprise
Cycle de vie des applications (ALM)
48
Développement Intégration Acceptation Production
Environnements IT Environnements Métier
Architecture d’Entreprise
Création d’un environnement dédié pour le projet
49
Développement Intégration Acceptation Production
XCase
Réplication avec
anonymisation des données
Architecture d’Entreprise
50
Planning de projet en 3 lots
POC Formation Préparation
Plan de communication
11 mois au total
Architecture d’Entreprise
51
Les 7 clefs de la Conduite du Changement
1. Le changement fait peur
2. Visualiser les enjeux de demain, en corrélation avec les objectifs de la société
3. Intégrer les nouveaux concepts
4. Détecter les « hommes du changement »
5. Conduire la mise en application opérationnelle
6. Ouvrir les esprits à de nouvelles perspectives
7. Le changement passe obligatoirement par une modification du comportement
Manuel du petit Manager
Source : www.agoravox.fr
Manque d’information
aux acteurs du
changement sur les
actions préparatoires
Report de la première livraison de 3 semaines
Architecture d’Entreprise
52
Transformation
- Passer à SQL sans impacter les traitements
- Ajout de colonnes techniques (dates, IDs, …)
- Découverte automatique des relations
Accompagnement
- 800 tables transformées
- Suivi de projet
- Travaux technique en dehors des heures
d’exploitation
- Expertise pointue dans les bases de données
Opérationnel
- Accompagnement des équipes de
développement
- Maintenance des modèles de données
- Documentation actualisée en permanence
- Génération des scripts différentiels
Automatisation des actions
Fiabilité des découvertes
Fiabilité et répétabilité des transformations
Aucune dépendance à l’outil
Support
Formation
Conseil
Valeur ajoutée des partenaires
Maîtrise des structures de données
Diagrammes visuels à l’ensemble
de la société
Intégration avec notre ALM
Ressources compétentes pour
accompagner la démarche
Prise en charge des pics de travail
Compétences dans la modernisation
Souplesse dans la mise en œuvre
Evolve DB
Viewer
© IBM France 2017
Témoignage client
Xcase – Modernisation DB2 for i
Présentation technique
Colin BISSEGGER : Architecte applicatif
Proof Of Concept
• Environ 50 tables, utilisées par notre plus
gros traitement
• Réalisé sur site avec Itheis
• Résultats probants – Légers gains de performance (accès RLA)
– Mais surtout, pas de perte de performance!
54
Réalisation en trois lots
• Découpage grossier sur la base des
domaines métier
55
Portefeuille
assurés
Prestations
d’assurance
Finances, le
reste
250 tables 290 tables 300 tables
500 mio. Records 1.7 mia. records 900 + 900 mio.
records
Travaux préparatoires
57
A quoi servent les tables
Champs multi-parents
? Transformer
Collecter
Sélectionner
Nommer
Valider
Travaux préparatoires
58
Exclure – Tables SQL
– Tables utilisées comme DS externes
– Multi-membres
– Tables de log
– Etc.
Sélectionner les tables parents potentiels
Transformer
Collecter
Sélectionner
Nommer
Valider
Etablir une nomenclature – Pour les tables
– S’assurer de toujours avoir plus de 10 caractères au nom long
– Respecter un vocabulaire
– Pour les champs
– Contrôles de cohérence des noms
– Consistance des abréviations
Travaux préparatoires
59
Transformer
Collecter
Sélectionner
Nommer
Valider
Travaux préparatoires
60
• Valider les relations – Sélection des relations cohérentes
– Plus de 2600 relations, 14’000 avec les alternatives!
Transformer
Collecter
Sélectionner
Nommer
Valider
Travaux préparatoires
61
• Modifications de programmes – Environ 360 programmes à retoucher sur 8’000
• Points d’attention – Triggers RPG: Il faut modifier le buffer
– COBOL: Modification de comportement en ouverture OUTPUT
• Et toujours:
Transformer
Collecter
Sélectionner
Nommer
Valider
63
Communication
• Consultants et externes
• Nouveaux développeurs
• Développeurs .Net
Evolutivité
Nouvelle BD: DB_REF
Intégration
Synchro
Anonymisation (automatisée)
Echantillonnage
Outillage
Accompagnement des équipes de
développement
Maintenance des modèles de données
Documentation actualisée en permanence
Génération des scripts différentiels
Bénéfices du projet
Les diagrammes visuels permettent de
diffuser la connaissance du schéma
Xcase intègre la possibilité
de documenter tables et champs
Mise en œuvre d’une nouvelle
base de données
Les ID uniques permettent de répliquer
la BD actuelle vers la nouvelle
Les relations permettent d’automatiser
les extractions
Schémas généraux maintenus par
l’Architecture
Schémas personnels pour les
développeurs
.
Fin de la présentation
Prochaine étape pour en savoir plus :
Tel: +33 (0) 4 42 21 57 02
- Se rencontrer
- Ou Contacter Figeas
- Ou Contacter Itheis
- Ou poser une question