66
© 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

Université IBM i 2017 · * Définition Wikipedia de « Best of breed »: ... l’intégrité référentielle Nettoie les données, transforme les dates, identifie les orphelins

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

Itheis pour moderniser vos apps IBMi

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

Modernisation de DB2 for i

Modernisation des traitements

Modernisation des interfaces

Gestion des versions et du cycle de vie

Demande

Planifie

Analyse

Développe

Teste

Déploie

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.

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

Modernize-DB

Xcase Modernize-DB

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

Xcase Relate-DB

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

Xcase Evolve-DB

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

Evolve-DB – Gestion des données

• Visualiser et éditer les données

Evolve-DB – Contrôles des versions

• Visualiser et éditer les données

Evolve-DB – Contrôles des versions

• Visualiser et éditer les différences.

Evolve-DB – TP

Viewer-DB

Xcase Viewer-DB

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

Xcase Test-DB

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)

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

56

Transformer

Collecter

Sélectionner

Nommer

Valider

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

Résultats obtenus

62

– Diagrammes d’ensemble

– Relations documentées

– Noms longs

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

© IBM France 2017

Témoignage client

Xcase – Modernisation DB2 for i

Démo

.

Fin de la présentation

Prochaine étape pour en savoir plus :

[email protected]

[email protected]

[email protected]

Tel: +33 (0) 4 42 21 57 02

- Se rencontrer

- Ou Contacter Figeas

- Ou Contacter Itheis

- Ou poser une question

© IBM France 2017

Témoignage client

Xcase – Modernisation DB2 for i

Merci pour votre attention