Professional Documents
Culture Documents
Demande d'avis
Rfrence du document Type de document Status crit par Revu par Diffusion Contact Version 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Description Version initiale Rvision Rvision
Ajout de la table des dcisions prendre Ajout d'actions suite l'accord de CDH Ajout action n0 pour Cellule transversale architecture Rvision de la conclusion Ajout section Cot de la solution Modifications suite aux remarques d'OSC : Re-formulation de la Dcision n1 Modification de ASAP en ' planifier' Ajout Section 'Cas concrets'
Rsum court
la question Sur quel environnement d'excution devons-nous faire tourner les Batchs ? , il a t dmontr qu'uniquement deux environnements suffisent l'ensemble des besoins fonctionnels et techniques de l'ETNIC. Il s'agit : D'un environnement Batch pour temps rel : Celui-ci recevra les demandes directement des applications qui veulent fonctionner en asynchrone. Le traitement de ces demandes se fera sur base d'une charge disponible ou sur base horaire (Scheduler). D'un environnement Batch pour temps diffr : Celui-ci fonctionnera toujours pour de gros volume de donnes et sera contrl par un Scheduler. L'avantage de ces deux environnements est d'avoir d'un ct une solution qui rponde aux besoins d'un fonctionnement la demande entre le monde temps rel (par exemple application web) et le monde batch et de l'autre une solution qui rponde aux besoins du temps diffr dtach et indpendant du temps rel. Avec ces deux solutions l'ETNIC gagnera en cohrence et pourra construire sur cette base des solutions gnriques telles qu'un serveur d'impression ou un gnrateur de batch la demande qui pourront tre intgrs dans toutes les applications.
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 1/18
DCISIONS PRENDRE
N 1 QUI DEV / EXPL QUOI Donner son accord sur le lancement d'un environnement Batch pour temps rel dans l'architecture d'entreprise.
Si 1 accorde alors dcisions prendre ci-dessous
'1.1
DEV / EXPL
Donner son accord pour que l'environnement Batch pour temps rel soit constitut des composants existants suivants: plateforme de notification, ESB, EGL, Scheduler...
Si 1.1 accorde alors dcisions prendre ci-dessous
Donner son accord pour que le nouveau scheduler (march Scheduler gr par JC Mertens) contrle des batchs pour temps rel
DEV
Donner son accord pour que le langage utilis pour crer les batchs soit uniquement EGL.
Intgrer les contraintes d'un environnement de batch pour temps rel Avant lancement dans le march Scheduler. march Scheduler Analyser les batch en Php, Python et Perl pour les r-crire en EGL Intgrer la problmatique des scripts et des formations pour les batchs pour temps rel dans le march Scheduler. Intgrer la problmatique des scripts et des formations pour les batchs pour temps diffr dans le march Scheduler. planifier Avant lancement march Scheduler Avant lancement march Scheduler
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 2/18
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 3/18
OBJECTIFS DU DOCUMENT
L'objectif du document est de fournir une rponse claire et prcise la question :
GLOSSAIRE
Nom Services Prsentation Description Les services Prsentation grent l'interactivit avec les utilisateurs. Ils ont la responsabilit de toute la dfinition de l'ergonomie de travail de l'utilisateur et de son accessibilit aux crans. Les services Scurit protgent les accs aux diffrents services de l'architecture. Ceux-ci identifient l'utilisateur par l'intermdiaire de services d'authentification et l'autorisent suivant les permissions qui lui sont attribus. Ils communiquent l'ensemble des autorisations - associs des contextes d'utilisation organisationnels et/ou gographiques - chacun des business appels afin qu'ils ralisent une autorisation d'accs aux donnes. Les services de mdiation grent les changes d'information entre le monde extrieur et les services Mtier. Ils interviennent galement dans les changes d'information entre les services Mtier Les services de notification grent l'ensemble des notifications de cette architecture entre les services Prsentation et tous les services Mtier. C'est dire qu'ils grent tous les abonnements des sujets (topics) et les publications / notifications aux diffrents intervenants. Ces services sont une des solutions la mise en place d'une communication asynchrone entre services Mtier Les services Mtier sont les moteurs d'excution des rgles appliquer dans un des contextes Mtier de la CF. Ils contiennent tous les algorithmes spcifiques au traitement de l'information dans ce contexte. S'ils doivent faire appel d'autres services Mtier alors ils ont l'obligation de passer par les services de mdiation. Les services transversaux fournissent des services gnriques ne ncessitant aucune modification pour rpondre aux besoins des autres services de l'architecture. Les services Processus assurent l'excution des workflow Entreprise. C'est dire les processus entre les utilisateurs et les autres services condition que ces processus ne soient pas spcifiques un mtier (sauf exception1) Les services Donnes vont fournir une vue abstraite des donnes persistes. Ils ont la responsabilit d'accder aux diffrents systmes de persistence de manire fiable et optimale. Leurs avantages sont de fournir toujours les mmes services d'accs quelque soit le systme de persistence cible. Si une modification de base de donnes doit tre ralise, aucune modification dans les services Mtier ne devra tre effectue puisque l'impact ne sera dtect que dans les services Donnes.
Services Scurit
Services de mdiation
Services de notification
Services Mtier
Services Transversaux
Services Processus
Services Donnes
Pour plus d'explication sur les notions de Services telle que dfinies dans le Glossaire, veuillez vous rfrer au document Architecture Globale
Une exception pourrait tre par exemple la demande d'un service Mtier pour des raisons techniques ou de ressource.
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 4/18
INTRODUCTION
La question a t pose lors de la dernire runion sur la dfinition des standards de dveloppement l'ETNIC. Pour rpondre cette question, il faut tout d'abord tre sr de la bonne comprhension de ce qu'est un batch et ensuite tudier quand et comment il faut l'utiliser. L'approche pourrait paratre inhabituelle tant donn que les besoins fonctionnels sont tudis en dernier lieu. Ici elle se justifie par une volont de ne pas rinventer la roue et de considrer que l'utilisation de batch est connue depuis longtemps et donc qu'il y a lieu de regarder l'existant au travers de l'exprience des spcialistes dans ce domaine. Proposition de structure du document : 1. Dfinition de Batch 2. Gestion des Batchs 3. Contexte d'utilisations des Batch 4. Besoins fonctionnels de l'ETNIC 5. Environnements d'excution des Batchs 6. Conclusion
DFINITION DE BATCH
Un Batch est un enchanement automatique de commandes sans intervention d'un oprateur (humain). Au regard d'internet et des diffrents dictionnaires de l'Informatique, il existerait trois notions de Batch: 1. Batch processing : traitement par lots, 2. Batch queuing : traitement squentiel, 3. Batch parallel (//) : traitement parallle. Pour la dfinition de chacun des points ci-dessous, les notations suivantes ont t utilises: {} : dsigne un ensemble. Par exemple A = {a} signifie que A est un ensemble compos de l'lment 'a'. : indique est lment de . Par exemple a A signifie 'a' est lment de l'ensemble 'A'. # : indique nombre d'lments d'un ensemble . Par exemple #A=1 signifie que le nombre d'lments de l'ensemble 'A' est 1. + : indique la mise en parallle de 2 batchs * : indique la mise en srie (l'un aprs l'autre) de 2 batchs.
Considrons E comme un ensemble de donnes traiter de 'n' lments et T comme un ensemble d'actions de une et une seule action. Cette dernire s'appliquera sur l'entiret de E. L'excution de ce batch (batch processing) consistera rcuperer l'ensemble E et excuter T sur E. Ce type de batch sera reprsent dans la suite du document par ce symbole :
BP
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Version : 0.9 / Mise jour le :08/04/2009 Cre le : 29/01/2009 Page 5/18
TRAITEMENT SQUENTIEL
Le principe du traitement squentiel est d'excuter un ensemble d'actions sur une donne la fois. Voici un schma reprsentatif du fonctionnement squentiel :
Considrons E comme un ensemble de donnes traiter de 'n' lments et T comme un ensemble de plusieurs actions. Ces dernires s'appliqueront sur un et un seul lment de E la fois. L'excution de ce batch (batch queuing) consistera prendre un lment de E et excuter T sur cet lment. Excuter ce batch une seule fois n'impactera qu'un seul lment de l'ensemble E. Pour impacter la totalit de E il faut obligatoirement excuter n fois le batch (avec n = #E). Ce type de batch sera reprsent dans la suite du document par ce symbole :
BQ
TRAITEMENT PARALLLE
Le principe du traitement parallle est d'excuter un (petit) ensemble d'action sur plusieurs (petits) ensembles de donnes en mme temps. Voici un schma reprsentatif du fonctionnement parallle :
Considrons E comme un ensemble de donnes (peut-tre vu comme une agrgation d'ensembles) traiter de 'n' lments et T comme des ensembles de plusieurs actions. Ces dernires s'appliqueront sur un et un seul sous-ensemble de E chaque fois. L'excution de ce batch (batch parallel) consistera lancer des BP en parallle sur des sous-ensemble de E. Ce type de batch sera reprsent dans la suite du document par ce symbole :
B//
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Version : 0.9 / Mise jour le :08/04/2009 Cre le : 29/01/2009 Page 6/18
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 7/18
CONTEXTE D'UTILISATION
Ce chapitre va permettre de fournir une vue sur les caractristiques techniques des diffrents types de batch en rapport des besoins techniques. Les diffrents points de vue sont exprims en terme de facilit implmenter le besoin technique. C'est dire qu'un point de vue exprim par - - signifie qu'il est trs difficile raliser avec les langages, les outils d'administration, etc tels que prvu l'ETNIC. Si des solutions alternatives via des produits ou des modifications existent alors des remarques dans les sous-chapitres prciseront l'orientation prendre. La pertinence de prendre en compte ces remarques ou non n'est pas indiqu dans ce chapitre.
BP
Par lots ++ -++ -++
BQ
vnementiel / Services ++ + ++ ++
B//
Services + -+ -++
Remarque : Le besoin Recovery sur {} exprime l'ide de pouvoir relancer l'ensemble des traitements. Le - pour BQ indique uniquement que cette fonctionnalit n'est pas de base au niveau du Scheduler.En effet cette fonctionnalit peut tre ralise par programmation en tenant jour un historique des programmes excuts.
BP
++ -
BQ
+ ++
B//
+
Remarques : Le - de BP au niveau de la diminution du record locking, tient compte du fait que l'objectif mme du BP est de travailler sur l'ensemble complet des donnes. De ce fait le - prcise plus la dpendance la base de donnes et donc au manque de flexibilit rpondre ce besoin. Le + au lieu de ++ de BQ sur viter deadlock indique que l'analyse doit prvoir ce besoin avant de raliser les programmes.
BP
-++ --++ + ou - ++ ---
BQ
++ -++ ++ ++ ++ -++ ++
B//
---+ + + +
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 8/18
Remarques : Le ++ de BP dans Transactionnel sur {} doit tre vu dans les limites des possibilits de la DB. Le - - de BQ ne prend pas les possibilits de la technique de compensation. Le besoin // interactif et batch exprime l'ide de faire coexister le lancement de batch en mme temps que l'interactif sur la mme DB dans les limites d'une cohrence fonctionnelle. Le besoin Partage de services exprime l'ide qu'un batch puisse exposer des services. Le + ou - - de BP dans Rutiliser des services existants tient compte du fait de la spcificit de BP de devoir travailler sur un ensemble complet. Ce qui signifie que les services existants doivent tre prvus pour travailler sur un ensemble. Si les services le prvoient alors la cotation est + sinon - car trs grosse perte de performances.
BP
---
BQ
++ ++
B//
---
Remarques : Les contrles d'accs sont fournis par utilisateur donc incompatibles dans le cadre d'un BP ou d'un B// puisqu'ils sont prvus pour fonctionner hors contexte utilisateur (principe de la vue d'ensemble).
BP
+ ou (si trs gros batch) ++ ++ ++
BQ
++ -++ --
B//
+ --
Remarques : Le - - de BQ dans Mainframe / cobol indique qu'il est fortement dconseill d'utiliser cette technologie sur mainframe puisqu'elle a pour but de s'appuyer sur le CPU pour un fonctionnement optimal. Type d'infrastructure conseille dans le cas d'excution de batch sur serveurs VMWARE : Caractristiques du serveur : 4 CPU quadcore SERVEUR PHYSIQUE plusieurs Go de mmoire. VM WARE 1 Caractristiques des vmwares : Le serveur physique est identique celui ci-dessus; VM WARE 2 VMWARE 0 vmware 1 3 ne reoivent qu'un CPU quadcore avec peu de mmoire et sont en priorit basse; VM WARE 3 vmware0 reoit l'ensemble de la mmoire avec un CPU quadcore et est en priorit haute.
BP
-++ -++
BQ
++ -++ --
B//
+ + +
Cre le : 29/01/2009
Page 9/18
CONCLUSIONS DU CHAPITRE
la vue des rsultats ci-dessus nous constatons que chaque type de batchs rpond des besoins spcifiques. Ceux-ci pourraient s'exprimer de la manire suivante : 1. La possibilit de travailler directement sur un ensemble de donnes sans subir les perturbations du monde extrieur. La rapidit fournir une rponse suite un traitement sur un seul lment ou synchroniser avec le monde interactif n'a pas d'importance. 2. La possibilit de traiter de trs gros volumes. 3. La possibilit de pouvoir rejouer l'entiret des traitements. 4. La possibilit de travailler avec des traitements parallles de types diffrents. Le monde interactif et le monde batch devrait tre capable de travailler ensemble. 5. La possibilit de pouvoir rejouer un traitement spcifique. 6. La possibilit de pouvoir rutiliser un service existant. L'aspect performance (dure du traitement) n'a pas d'importance. 7. La possibilit (l'obligation) de pouvoir rutiliser les donnes de scurit de l'utilisateur (aspect dlgation de traitement). Les batchs par traitement par lots sont plus aptes rpondre en terme de solution aux points 1,2 et 3. Par contre les batchs squentiels sont plus appropris pour les points 4,5,6 et 7. Les batchs parallles doivent tre vus comme un compromis BP et BQ o la rponse un besoin spcifique d'accs des DB de types diffrents. Conseils : Les connexions locales une DB seront toujours plus performantes que les connexions distance. De ce fait le traitement de trs gros batch ayant une exigence forte sur la performance est conseill sur le mme environnement local que DB2.
4.
5.
6.
7.
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
8.
Accs plusieurs DB de types diffrents. L'accs des bases de donnes diffrentes pour un mme type de traitement est la raison d'tre des B// donc il est normal qu'ils soient la rponse ce besoin.
ENVIRONNEMENTS D'EXCUTION
Ce chapitre a pour objectif de dfinir le meilleur environnement d'excution par rapport aux rponses des besoins fonctionnels du chapitre prcdent. Deux environnements d'excution des batchs sont ncessaires pour rpondre aux besoins fonctionnels : un environnement batch compatible avec le temps rel (interactif) et un environnement batch en temps diffr contrl par un Scheduler.
Le scnario est le suivant : 1. L'utilisateur confirme sa demande de lancement d'un batch via une application web; 2. Celle-ci est transfre au service notification sur un sujet (topic) attribu au Scheduler; 3. Le Scheduler est notifi de la demande; 4. Il gre la notification comme un vnement dclencheur. Ds que sa fentre d'excution commencera il pourra lancer le batch; 5. Le programme lanc par le batch (ou chane batch) enverra sa rponse au service notification ; 6. Le service notification transfre la rponse au systme eBAL3. Ce transfert s'appuie sur une donne de type 'Rpondre ' transmise au point 2 par l'application appelante. Cette donne indique qui le service notification doit rpondre. 7. Le systme eBAL notifie l'utilisateur que sa rponse est arrive. 8. L'utilisateur tlcharge la rponse en se connectant eBAL. L'avantage d'utiliser comme indiqu au point 6 la donne de type 'Rpondre ' signifie que la rponse peut tre envoye d'autre systme. Comme par exemple la GED ou encore une autre application via son service mtier . Pour ce dernier exemple le service de mdiation devra intervenir. Afin de mieux comprendre voici un schma explicatif :
Pour plus d'information sur le service notification de l'ETNIC, cfr le document Architecture globale . Un rsum est disponible au chapitre glossaire 3 Pour plus d'information sur le systme e-BAL du service transversal de l'ETNIC, cfr le document Architecture globale
2
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 11/18
Solution technique aux Batchs Queuing La solution technique la plus apte rpondre dans ce cadre aux besoins de BQ est la suivante :
L'exemple de scnario ci-dessus met en scne les besoins fonctionnel d'un utilisateur d'imprimer des courriers. Bien entendu le serveur d'impression est optionnel puisque e-BAL peut transformer un message XML en cran de type web. Ce scnario est comme suit : 1. Un utilisateur confirme une demande de lancement d'impression (gnration d'un pdf par exemple) via une application web; 2. Celle-ci est transfre au service notification sur un sujet (topic) attribu la demande; 3. Le service de mdiation est notifi de la demande; 4. Il gre la notification comme un vnement dclencheur. Il lance une orchestration qui dans notre exemple pourrait appeler le service Scurit pour de plus amples informations sur l'utilisateur puis ensuite un ou plusieurs services Mtier; 5. Les services mtier retournent leurs rponses afin de complter la demande; 6. la fin du processus le systme d'impression reoit la demande complte; 7. Ici l'exemple consiste en l'impression d'un simple courrier dont la gnration du fichier pdf prend quelques secondes. Le systme d'impression retourne le fichier en rponse; 8. Le service de mdiation transmet la rponse au service notification ; 9. Le service notification transfre la rponse au systme eBAL4. Ce transfert s'appuie sur une donne de type 'Rpondre ' transmise au point 2 par l'application appelante. Cette donne indique qui le service notification doit rpondre. 10. Le systme eBAL notifie l'utilisateur que sa rponse est arrive. 11. L'utilisateur tlcharge la rponse en se connectant eBAL.
Pour plus d'information sur le systme e-BAL du service transversal de l'ETNIC, cfr le document Architecture globale
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 12/18
Le scnario est comme-suit : 1. Un oprateur configure une chane batch via la console d'administration. 2. Lorsque l'oprateur confirme la configuration, le scheduler mmorise les donnes. 3. Ds que les conditions sont respectes, le Scheduler dmarre le lancement du ou des batchs. 4. Suivant la dfinition de la chane le Scheduler excute le ou les programme(s). 5. Chaque programme lanc traite des donnes soit dans une DB soit sur un disque dur.
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 13/18
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 14/18
L'lment obligatoire qu'il faut implmenter pour avoir un fonctionnement minimal tel que dcrit dans ce document est: Serveurs Linux sous VMWare : 1 serveur Linux sous VMWare dans un premier temps est ncessaire. L'lment ncessaire qu'il faudrait implmenter pour avoir un fonctionnement complet tel que dcrit dans ce document est: Scheduler : 1 scheduler compatible monde ouvert permettra de rpartir la charge sur un base temporelle et non vnementielle ( la demande ). Les besoins en administration pour grer cet environnement sont : 1 administrateur systme : pour la gestion VMWare et Linux 1 administrateur applicatif : pour intervenir sur la configuration des scripts administratifs, du monitoring, des jobs, les logs, les plateformes ESB/Notification ... 1 oprateur Scheduling : pour la configuration des batchs. 1 administrateur rseau : pour la surveillance du fonctionnement rseau (bande passante, cblage ...) Le cot initial sera calcul sur base de la mise en place d'un serveur sous Linux VMWare et d'un Scheduler. Ce cot n'est pas possible aujourd'hui valuer car il dpend du march Scheduling . Le cot de fonctionnement (ou rcurrent) sera calcul sur base du temps d'administration de cette solution. Le temps d'administration sera comme suit sur base de : Hypothses : 5 nouveaux batchs configurer par mois 30 batchs excuts en moyenne par jour 1 serveur Linux sous VMWare monitor Estimations du cotl : Administration systme : 1h au total par mois. Administration applicatif : suivi monitoring : 1h au total tous les deux jours. configuration / dploiement / test / documentation des programmes :1h par nouveau batch. Scheduling (dpendra du produit) : suivi monitoring : 1h au total tous les deux jours. configuration / dploiement / test / documentation :1h par nouveau batch. Administration rseau : suivi monitoring : 1h au total par semaine. Le temps d'administration par mois est de 36h. En tenant compte d'un tarif horaire pour un AP de 68 (source : contrat de gestion, page 44), le cot de la solution pour un an est de 29.376 (36h*12m*68)
Les investissements effectuer tel que dcrit dans la conclusion seront valus dans le document Demande d'avis-Convergence des environnement d'excution des Batchs ? .
CAS CONCRETS
Cette solution Batch pour temps rel se place au niveau des composants transversaux dans l'architecture d'Entreprise donc potentiellement l'ensemble des projets de l'ETNIC pourrait tre concerns et devront tenir compte de cette solution. Toutefois afin d'aider comprendre l'intert de la solution vis vis des projets de l'ETNIC voici une liste non exhaustives de ceux qui utiliseront ce nouvel environnement : Subsides ADEPS pour la gnration des rapports Cadastre de l'emploi pour la gnration des rapports (solution existante qui sera modifie) PPT pour la gnration des rapports (solution existante qui sera modifie) CIOC pour la gnration des rapports et de la synchronisation entre Cerbre et Mimsis FADI pour le traitement des actions des utilisateurs (dveloppement en cours prvus pour fin 2009) SIEL pour les batchs Php convertir SIEL-PROECO pour les batchs Php convertir OBSI pour les batchs Php convertir PRIMVER pour les batchs Php convertir ONSS (prvue fin 2009) pour la communication avec ONSS-DMFA les nouvelles applications de GIEI qui seront dveloppes en 2010 ( long ou moyen terme) Alfresco ( moyen terme) Datawarehouse
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 16/18
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 17/18
BIBLIOGRAPHIE
Cadre belge d'interoprabilit (BELGIF) : http://www.belgif.be Scheduler - OpenSource-JobScheduler : http://jobscheduler.sourceforge.net/ Scheduler IBM Tivoli Workload Scheduler : http://www-01.ibm.com/software/tivoli/products/scheduler/ Scheduler - CA 7 Workload Automation : http://www.ca.com/fr/products/product.aspx?id=1171 CA 11 Workload Automation Restart and Tracking http://www.ca.com/fr/products/product.aspx?id=1169 CA Dispatch Output Management http://www.ca.com/fr/products/product.aspx?id=1250 The Shorcut GuideTM to IT Workload Automation and Job Scheduling http://nexus.realtimepublishers.com/SGITWAJS.htm
CELLULE_TRANS-ARCHI-DmdAvisBatch2009xxxx
Cre le : 29/01/2009
Page 18/18