Vous êtes sur la page 1sur 51

Table des mati` eres

1 Pr esentation G en erale 1.1 Organisme daccueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Pr esentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Etat de lart 2.1 Les ERP . . . . . . . . . . . . . . . . . . 2.1.1 Historique . . . . . . . . . . . . . 2.1.2 D enition dun ERP . . . . . . . 2.1.3 Pour quoi les ERP ? . . . . . . . 2.1.4 Les principaux editeurs des ERP 3 Analyse et sp ecication des besoins 3.1 Identication des Utilisateurs . . . . 3.2 Les Exigences Sp eciques . . . . . . 3.2.1 Les besoins fonctionnels . . . 3.3 Les exigences non sp eciques . . . . 3.4 Les cas dutilisation . . . . . . . . . 3.4.1 Les diagrammes de s equences 3 3 3 5 5 5 6 6 7 8 8 9 9 10 11 15 18 18 18 23 23 24 25 25 25 25 25 26 26 28 31

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

4 Solutions techniques possibles et choix retenus 4.1 Solutions techniques possibles . . . . . . . . . . . 4.1.1 Technologie de d eveloppement . . . . . . 4.1.2 Environnement de d eveloppement . . . . 4.1.3 Gestion de la base de donn ees . . . . . . . 4.2 Choix retenus . . . . . . . . . . . . . . . . . . . . 5 Conception 5.1 Conception g en erale . . . . . . . . . . . . . . . 5.1.1 La comptabilit e analytique : . . . . . . 5.1.2 La gestion de la base de connaissances : 5.2 Conception d etaill ee . . . . . . . . . . . . . . . 5.2.1 Architecture de lapplication . . . . . . 5.2.2 Diagrammes de Classes . . . . . . . . . 5.2.3 Diagrammes de s equences d etaill es . . . 5.2.4 Conception de la base de donn ees . . . . i

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

6 R ealisation 6.1 Environnement de travail . . . . . . . . . . . . . . . . . . 6.1.1 Environnement mat eriel . . . . . . . . . . . . . . . 6.1.2 Environnement logiciel . . . . . . . . . . . . . . . . 6.2 Travail r ealis e . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Page dauthentication des utilisateurs . . . . . . . 6.2.2 Page dajout dun document EXCEL . . . . . . . . 6.2.3 Page de validation dun documents EXCEL . . . . 6.2.4 Recherche de ches de proc edures . . . . . . . . . 6.2.5 R esultats de la recherche . . . . . . . . . . . . . . 6.2.6 Consultation des statistiques . . . . . . . . . . . . 6.2.7 Ajout de nouveaux utilisateurs ou administrateurs 6.3 Chronogramme . . . . . . . . . . . . . . . . . . . . . . . . Netographie A Annexe

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

33 33 33 33 34 34 35 35 36 36 37 37 38 41 43

ii

Table des gures


1.1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.1 4.2 5.1 5.2 5.3 5.4 5.5 5.6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 A.1 A.2 A.3 A.4 A.5 Feuille daectation de temps pass es . . . . . . . . . . . . . . . . . . . . . . . . . Cas dutilisation du directeur . . . . . . . . . . . Cas dutilisation du comptable . . . . . . . . . . Cas dutilisation de ling enieur . . . . . . . . . . Cas dutilisation du consultant simlpe . . . . . . Cas dutilisation de lassistant de service . . . . . Cas dutilisation du responsable de d epartement Ajout dun chier EXCEL . . . . . . . . . . . . . Consultation des statistiques . . . . . . . . . . . Recherche de proc edures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 11 12 13 14 14 15 15 16 17 21 22 26 27 28 29 30 31 34 35 35 36 36 37 37 38 43 44 44 45 46

Architecture de JSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture de Hibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture de lapplication . . . . . . Diagramme de classes de lapplication Ajout dun chier EXCEL . . . . . . . Consultation des statistique . . . . . . Recherche de proc edures . . . . . . . . Conception de la base de donn ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Identication des utilisateurs . . . . . . . . . . . Ajout dun chier . . . . . . . . . . . . . . . . . . Validation du document EXCEL . . . . . . . . . Recherche de che de proc edure . . . . . . . . . . R esultats de la recherche . . . . . . . . . . . . . . Consultation des statistiques . . . . . . . . . . . Ajout de nouveaux utilisateurs ou administrateur Chronogramme . . . . . . . . . . . . . . . . . . .

Architecture Simple Tiers. . . . . . . . . . . . . . . . . . Architecture Deux Tiers . . . . . . . . . . . . . . . . . . Architecture Trois Tiers . . . . . . . . . . . . . . . . . . Servlet etendant la classe javax.servlet.http.HttpServlet Les pages JSP dans une application J2EE. . . . . . . . .

iii

A.6 Le mod` ele MVC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

iv

Introduction G en erale D e nos jours, toute entreprise est pr ete ` a investir des sommes consid erables dans limplantation des technologies logicielles an dam eliorer ses services, daccro tre son agilit e et sa exibilit e, de r eduire les co uts, daugmenter la production et de faire face aux d es du march e. En eet, vu la croissance des activit es au sein des entreprises, la t ache de g erer ecacement toutes ces fonctions sav` ere de plus en plus complexe et dicile. Pour surpasser ces dicult es, une entreprise doit utiliser des outils optimis es et adapt es facilitant les t aches et orant des fonctionnalit es riches et utiles. Parmi ces outils nous trouvons les syst` emes int egr es de gestion tel que les ERP(Entrprise Ressources Planning). Les ERP sont des outils de gestion et danalyse permettant doptimiser la diusion des informations en interne, dam eliorer les processus de gestion et dautomatiser les t aches ce qui augmente enormement la r eactivit e des entreprises et leurs agilit es. Cest dans ce contexte que sint` egre notre stage dimmersion en entreprise qui a pour objectif de concevoir et de r ealiser un ERP permettant dautomatiser les di erentes besognes de la soci et e NETCOM TUNISIE. Cet ERP doit automatiser les di erents processus de gestion ` a savoir la gestion des ressources humaines, la gestion de la production, la gestion commerciale et la gestion nanci` ere. Le pr esent rapport synth etise tout le travail que nous avons eectu e dans cette perspective. il est organis e en chapitres comme suit : Le premier chapitre donne une pr esentation g en erale du projet : lorganisme daccueil ainsi que les objectifs ` a atteindre. Dans le second chapitre, nous proc edons ` a un expos e de l etat de lart du domaine qui nous concerne. Nous pr esentons dans un premier temps le syst` eme existant pour d evoiler ses d efaillances et ses limites. Nous pr esentons egalement la solution que nous proposons an de palier aux limites du syst` eme actuel. Le troisi` eme chapitre intitul eAnalyse et Sp ecication des besoinspr esente les di erents besoins fonctionnels et non fonctionnels auxquelles doit satisfaire lapplication. Les choix technologiques retenus pour la phase de d eveloppement font lobjet du quatri` eme chapitre. Dans le chapitre V nous pr esentons la conception g en erale et la conception d etaill ee du

syst` eme. Le dernier chapitre d ecrit les t aches accomplies en titre de r ealisation. Enn nous donnons une conclusion r ecapitulant le travail r ealis e ainsi que des perspectives futurs.

Chapitre 1

Pr esentation G en erale
Introduction
Ce chapitre a pour objectif de situer notre projet dans son contexte g en erale ` a savoir lorganisme daccueil et le sujet ` a traiter. Dans la premi` ere section nous donnons une br` eve pr esentation de lorganisme daccueil SATEC International. Dans la deuxi` eme section, nous d ecrivons le sujet ` a traiter et les objectifs ` a atteindre.

1.1

Organisme daccueil

Activit es de SATEC SATEC a et e cr eee en 1992 et a pu, durant 16 ans, consolider une bonne et solide assise sur le march e tunisien en tant quint egrateur r eseaux et s ecurit e de r eseaux, ind ependamment de tout constructeur. SATEC Tunisie, est devenue un pr ecurseur et un acteur majeur de lint egration r eseau en Tunisie. Quelques dates utiles 1992 : Cr eation de SATEC Tunisie. 1998 : SATEC Tunisie, meilleur support Nortel : proche Orient/ Afrique du Nord, Cisco Partner. 1998 : R ealisation du projet de la t el e compensation, ISO 9001 version 2000. 2002 : Sp ecialisation s ecurit e VPN,WiFi de Cisco Systems. 2004 : Mise en service dun centre de management de la s ecurit e. 2005 : Services manag es Q.o.S, s ecurit e.

1.2

Pr esentation du sujet

Dans le syst` eme actuel de la soci et e NETCOM, chaque service poss` ede son propre syst` eme dinformation ce qui a donn e lieu ` a plusieurs probl` emes dont les majeurs sont : Pour collecter les informations n ecessaires au processus dadministration de lentreprise, on constate une lenteur caus ee par la dispersion de di erents syst` emes dinformations.

Toute mise ` a jour suvenue sur lun des syst` emes dinformations nest d etect ee par les autres que par voie humaine, en cons equence elle ne se fait pas en temps r eel et risque de transmettre des information erron ees. Les cons equences d esagr eables dune telle situation ont oblig e lentreprise ` a y mettre n. Pour cela, la meilleur solution etait dimpl ementer un ERP multifonctions qui vise ` a centraliser le syst` eme dinformation et ` a automatiser ses activit es tout en garantissant une s ecurit e de haut niveau.

Fig. 1.1 Feuille daectation de temps pass es Notre mission consistait alors ` a concevoir et impl ementer cet ERP qui doit comporter les quatre module suivants : Module Module Module Module de de de de gestion gestion gestion gestion de ressources humaines de la production commerciale nanci` ere

Notre mission a et e ensuite r eduite ` a la r ealisation de deux sous modules : impl ementation du sous module danalyse analytique et celui de la gestion de la base de connaissance. Et cela vu, en premier lieu, lenvergure du projet initial et linsusance du temps consacr e au stage, et en second lieu lurgence de r ealiser ces deux fonctionnalit es pour le client.

Conclusion
Dans ce premier chapitre nous avons pu situer le projet dans son cadre g en eral en pr esentant lorganisme daccueil et les buts de lapplication. Dans le chapitre suivant, nous allons proc eder a une ` etude d etaill ee de lexistant pour d egager ses limites.

Chapitre 2

Etat de lart
Introduction
Avant dentamer l elaboration de notre application, nous avons jug e primordial de pr esenter les objectifs dune telle application ` a partir des el ements moteurs par lesquels elle est constitu ee.

2.1
2.1.1

Les ERP
Historique

Dans les ann ees 60 et 70, les premiers logiciels font leur apparition dans les entreprises. Il sagit essentiellement dapplications de comptabilit e et egalement de MRP, pour la gestion des approvisionnements. Ces logiciels sp eciques ne sont pas portables , cest ` a dire quils d ependent du type dordinateur et du syst` eme dexploitation. Dans les ann ees 80 se d eveloppent des progiciels quon personnalise, int egrants la nance, la comptabilit e, la paie et la gestion de production assist ee par ordinateur. La tendance ` a personnaliser et ` a modier compl` etement le progiciel de base pour lentreprise conduit le produit ` a etre obsol` ete au bout de 5 ` a 10 ans. Dans ces ann ees apparaissent egalement les premiers MRP II, int egrant la gestion de production et la gestion des approvisionnements. La petite histoire raconte qu` a la n des ann ees 80, trois employ es dIBM pressentent un march e important pour les progiciels int egr es, et fondent SAP. Peu apr` es, SAP R/2 devient la premi` ere r ef erence en mati` ere dERP, encore fond ee sur une structure informatique centralis ee et une technologie mainframe. En 1993, SAP R/3 r ealise lint egration totale de toutes les composantes dune entreprise, de la nance ` a la production, aux ventes et aux ressources humaines... Sa structure informatique et sa portabilit e compl` ete seront une grande raison de son succ` es. Les ERP sont maintenant pr esents dans lindustrie et dans la grande distribution, essentiellement dans les tr` es grandes entreprises. Le march e des plus petites entreprises, le domaine de la nance et le secteur public commencent ` a etre touch es. La conception et le d eveloppement des ERP ont et e rendus possibles par les evolutions technologiques : vitesse de calcul, technologies de r eseaux, syst` emes de gestion de bases de donn ees, stockage de donn ees... se sont consid erablement d evelopp es et am elior es. De plus, le succ` es des ERP a et e favoris e par la perte de cr edibilit e des informaticiens dans les entreprises a la n des ann ` ees 80 et au d ebut des ann ees 90. 5

2.1.2

D enition dun ERP

Lacronyme ERP signie Enterprise Ressource Planning traduit en fran cais par Progiciel de Gestion Int egr e ou PGI. ERP est le terme le plus couramment utilis e. Emanant dun concepteur unique, un ERP est un progiciel qui permet de g erer lensemble des processus dune entreprise int egrant lensemble de ses fonctions comme la gestion des ressources humaines, la gestion nanci` ere et comptable, laide a la decision, la vente, la distribution, lapprovisionnement, la production ou encore du e-commerce. Le principe fondateur dun ERP est de construire des applications informatiques correspondant aux diverses fonctions cit ees pr ec edemment de mani` ere modulaire sachant que ces modules sont ind ependants entre eux, tout en partageant une base de donn ees unique et commune au sens logique. Lautre principe qui caract erise un ERP est lusage de ce quon appelle un moteur de workfow et qui permet, lorquune donn ee est enregistr ee dans le syst` eme dinformation(SI), de la propager dans les modules qui en ont lutilit e, selon une programmation pr ed enie. Ainsi, on peut parler dERP lorsquon est en pr esence dun SI compos e de plusieurs applications partageant une seule et m eme base de donn es, par le biais dun syst` eme automatis e pr ed eni et eventuellement param etrable, un moteur de workfow.

2.1.3

Pour quoi les ERP ?

Concr` etement, les avantages de la mise en place dun ERP sont les suivants : Lint egrit e et lunicit e du SI, cest ` a dire quun ERP permet une logique et une ergonomie unique ` a travers sa base de donn ees, elle aussi unique au sens logique . Ceci se traduit par le fait quil peut exister plusieurs bases de donn ees physiques mais celles-ci respectent la m eme structure. En bref, un ERP permet d eviter la redondance dinformation entre di erents SI de lentreprise. Lutilisateur a la possibilit e de r ecup erer des donn ees de mani` ere imm ediate, ou encore de les enregistrer. Un avantage important, les mises ` a jour dans la base de donn ees sont eectu ees en temps r eel et propag ees au modules concern es. Un ERP est un outil multilingue et multidevise, il est donc adapt e au march e mondial, en particulier aux multinationales. Pas dinterface entre les modules, il y a synchronisation des traitements et optimisation des processus de gestion. De m eme, la maintenance corrective est simpli ee car celle-ci est assur ee directement par l editeur et non plus par le service informatique de lentreprise. (Celui-ci garde n eanmoins sous sa responsabilit e la maintenance evolutive : am elioration des fonctionnalit es, evolution des r` egles de gestion, etc.). Un ERP permet de ma triser les stocks, el ement important pour la plupart des entreprises car les stocks co utent chers. Par cons equent, les ERP g` erent et prennent en charge plusieurs p eriodes ( pour les exercices comptables par exemple), plusieurs devises, plusieurs langues pour les utilisateurs et clients, plusieurs l egislations, plusieurs axes danalyse en informatique d ecisionnelle. Mais limplantation comporte plusieurs risques : des risques organisationnels (le progiciel et lorganisation de lentreprise doivent cohabiter), de mise en oeuvre (au niveau formation utilisateur), fonctionnels (fonctions oertes par le progiciel par rapport aux fonctions attendues), techniques, contractuels

entre l editeur et lentreprise et enn des risques economiques du fait de linvestissement.

2.1.4

Les principaux editeurs des ERP

On distingue deux types dERP : les ERP propri etaires, edit es par des soci et es, ce qui implique lachat dune licence, et les ERP open source qui sont gratuits . Les principaux ERP propri etaires du march e sont : SAP (leader mondial) Oracle/Peoplesoft SAGE ADONIX Microsoft SSA Global

Conclusion
Dans ce chapitre nous avons d enit cest quoi r eellement les ERP. Ce chapitre sert donc ` a pr esenter th eoriquement notre sujet pour mieux comprendre le syst` eme impl ement e. Le chapitre suivant sera consacr e` a l etude des besoins fonctionnels et non fonctionnels auxquels doit r epondre notre application.

Chapitre 3

Analyse et sp ecication des besoins


Introduction
La r eussite de tout projet d epend de la qualit e de son d epart. De ce fait, l etape de sp ecication constitue la base de d epart de notre travail. En outre, lad equation de toute lapplication ` a r ealiser, aux besoins des utilisateurs et aux traitements envisag es au niveau de ses op erations assurera la r eussite de lapplication et son utilit e future. Pour assurer ces objectifs, il est essentiel que nous parvenions ` a une vue claire des di erents besoins escompt es de notre projet. Dans ce chapitre, nous etudions dans un premier temps les besoins fonctionnels et non fonctionnels de notre syst` eme, ensuite, une sp ecication formelle des besoins est pr esent ee par des diagrammes de cas dutilisation et de s equences suivant la mod elisation UML.

3.1

Identication des Utilisateurs

Notre application fournit une interaction avec plusieurs types dacteurs, ils sont d enis comme etant des utilisateurs directs du syst` eme exploitant le logiciel ` a travers ses interfaces. Nous identions dans le cadre de ce projet six acteurs primaires : Le directeur qui est lutilisateur qui a tous les privil` eges au niveau de la comptabilit e analytique et au niveau de la gestion des r oles des autres acteurs. Le comptable qui a un acc` es limit e au niveau de la comptabilit e analytique. Ling enieur qui a tout les droits au niveau de la gestion de la base de connaissance. Le consultant simple qui a un acc` es limit e au niveau de la gestion de la base de connaissance. Lassistance du service qui aura lacc` es pour ajouter ou modier les documents des ing enieurs. Les responsables des d epartements qui ont des privil` eges sp eciques ` a chaque d epartement. Pour cela on va sp ecier ci dessous les besoins que doit fournir le syst` eme pour chaque cat egorie dutilisateurs.

3.2

Les Exigences Sp eciques

Lanalyse du sujet, nous a permis de cerner les fonctionnalit es ` a la disposition de lutilisateur.Les besoins ainsi d egag es ont et e class es en fonctionnels et non fonctionnels.

3.2.1

Les besoins fonctionnels

Le Directeur : Le syst` eme doit permettre au directeur de : Sidentier pour acc eder ` a la section de la comptabilit e. Consulter la liste d etaill ee des aaires et la r epartition des ing enieurs correspondant par mois. Eectuer des recherches selon des di erents crit` eres : par date, par ing enieur ou par aaire. Ajouter une nouvelle aaire si elle nexiste pas d ej` a. Visualiser les statistiques et les courbes d evolution. T el echarger un chier EXCEL et mettre ` a jour la base de donn ees. Valider les documents t el echarg es. Saisir les informations du document de ling enieur ` a laide dun formulaire. Mettre ` a jour les r oles de chaque prole utilisant le syst` eme. Le Comptable : Le syst` eme doit permettre au comptable de : Consulter la liste d etaill ee des aaires et la r epartition des ing enieurs correspondant par mois. Eectuer des recherches selon des di erents crit` eres . Sidentier pour acc eder ` a la section de la comptabilit e. Visualiser les statistiques et les courbes d evolution. Ling enieur : Le syst` eme doit permettre ` a ling enieur de : Sidentier pour acc eder ` a la section de la gestion de la base de connaissances. Remplir les ches de proc edure (description, mot cl e..). Consulter ses ches de proc edure remplies auparavant. Mettre ` a jour une che de proc edure. Le consultant : Le syst` eme doit permettre au consultant simple de : Rechercher une che de proc edure. Consulter les ches r esultantes class ees. Imprimer la che des proc edures. Le responsable de d epartement : Le syst` eme doit permettre au responsable de d epartement de : Sidentier pour acc eder ` a la section de comptabilit e analytique. Ajouter et mettre a jour les proles du d epartement. Lassistance de service : Le syst` eme doit permettre ` a lassistance de service de : 9

Sidentier pour acc eder ` a la section de comptabilit e analytique. Ajouter des documents des ing enieurs. Valider les documents des ing enieurs.

3.3

Les exigences non sp eciques

Pour le bon fonctionnement de notre application nous avons d egag e les besoins non fonctionnels suivants : la abilit e : le syst` eme doit etre disponible ` a tout moment pour lutilisateur, avec un acc` es s ecuris e par la d enition dun login et dun mot de passe. la portabilit e : le syst` eme doit tourner sur plusieurs plates-formes. la convivialit e : le syst` eme doit pr esenter une interface compr ehensible, facile ` a manipuler ce qui nous permettera daccro tre la rentabilit e et lecacit e de notre syst` eme.

10

3.4

Les cas dutilisation

L etude approfondie des sp ecications permet de d egager plusieurs cas dutilisation. Un cas dutilisation d ecrit une utilisation du syst` eme par un acteur particulier.Ce qui revient ` a pr esenter les besois fonctionnels de fa con formelle. Cas dutilisation du directeur :

Fig. 3.1 Cas dutilisation du directeur

11

Cas dutilisation du comptable :

Fig. 3.2 Cas dutilisation du comptable

12

Cas dutilisation de ling enieur

Fig. 3.3 Cas dutilisation de ling enieur

13

Cas dutilisation du consultant simple :

Fig. 3.4 Cas dutilisation du consultant simlpe Cas dutilisation de lassistance de service :

Fig. 3.5 Cas dutilisation de lassistant de service

14

Cas dutilisation du responsable de d epartement

Fig. 3.6 Cas dutilisation du responsable de d epartement

3.4.1

Les diagrammes de s equences

les diagrammes de s equences peuvent servir ` a illustrer un cas dutilisation d ecrit pr ec edemment. Cest un moyen semi formel de capturer le comportement de tous les objets et acteurs impliqu es dans un cas dutilisation. Dans ce qui suit nous allons pr esenter quelques sc enarios de notre applications. Diagramme de s equence pour lajout dun chier EXCEL

Fig. 3.7 Ajout dun chier EXCEL 15

Diagramme de s equence pour la consultation des statistiques

Fig. 3.8 Consultation des statistiques

16

Diagramme de s equence pour la recherche de proc edures

Fig. 3.9 Recherche de proc edures

Conclusion
Dans ce chapitre, nous venons de pr esenter une analyse globale de lapplication tout en sp eciant les besoins fonctionnels et les contraintes que notre travail doit satisfaire et respecter. La conception et ses d etails seront d ecrits dans le prochain chapitre.

17

Chapitre 4

Solutions techniques possibles et choix retenus


Introduction
Ce chapitre aborde une etude comparative entre les di erentes technologies existantes et prouve le choix de lenvironnement de d eveloppement ainsi que le syst` eme de gestion de la base de donn ees.

4.1
4.1.1

Solutions techniques possibles


Technologie de d eveloppement

Microsoft .NET Pr esentation : La plate-forme Microsoft .NET est une solution compl` ete pour d evelopper, d eployer et ex ecuter des application de tous types, y compris des services web. Fond ee sur des standards de lindustrie (HTTP, XML, SOAP, WDSL), la plate-forme .NET est un moyen simple et puissant pour impl ementer la coop eration des services logiciels entre eux, quelle que soit leur localisation, leur impl em entation technique, quils soient internes ou externes, existant ou ` a inventer. Les composants de .NET : A travers les di erentes annonces de Microsoft depuis son lancement, les composants de .NET semblent sorganiser de la mani` ere suivante : 1. Pour la couche pr esentation et logique de pr esentation : ASP .NET : cest une nouvelle version dASP (Active Server Pages) qui supporte une v eritable compilation en IL, alors quASP etait interpr et e auparavant. On peut egalement ecrire les pages ASP dans nimporte quel langage disposant dun compilateur IL. WinForms et WebForms : ils pr esentent un ensemble de composants graphiques accessibles dans Visual Studio .NET . 2. Pour la couche logique m etier et objets interm ediaires :

18

CLR ( Common Language Runtime) : cest un environnement dex ecution commun qui ex ecute un bytecode ecrit dans un langage interm ediaire (Microsoft intermediate Language ) C# : cest nouveau langage orient e objet destin e` a faciliter la programmation dans .NET, notamment les composants, qui int` egre des el ements de C, C++ et de Java en apportant quelques innovations comme les m eta-donn ees. Langages quelconques qui peuvent etre compil es en IL et ex ecut es par le CLR si un compilateur IL existe pour ce dernier. Une grande biblioth` eque de composants et dobjets de base accessibles par le CLR, qui fournissent les fondations pour ecrire rapidement un programme (acc` es r eseau, graphisme, acc` es aux donn ees ). Visual Studio .NET : cest une r efonte de lenvironnement Visual Studio et de Visual INterDev permettant aussi bien le d eveloppement dapplication et de composant classique. Un support de terminaux mobiles avec une version compacte de lenvironnement .NET . 3. Pour la couche de donn ees : ADO .NET : cest une nouvelle g en eration de composants dacc` es aux bases de donn ees ADO qui utilise XML et SOAP pour l echange de donn ees. Les avantages de .NET : La plate-forme .NET comprend un mod` ele de programmation homog` ene et des outils de d eveloppement multi langages qui acc` el` erent le d eveloppement et lint egration de Services Web et de tout autre type dapplication multi langages et int egrant les standards, la plate-forme .NET laisse au d eveloppeur toute libert e de choisir le langage de d eveloppement. Dautre part son support des stabndards et son approche moderne, la plateforme .NET est parfaitement adapt ee ` a la construction dune architecture orient ee services. La plate-forme .NET ore donc plusieurs avantages : Un d eveloppement sp ecique gr ace au moteur CLR . Une structure multi langages et extensible . Une ex ecution multi plate-forme . Une productivit e comparable ` a celle des environnements Client/Serveur comme PowerBuilder ou Delphi . Un mod` ele de programmation simple et coh erent . Une installation automatis ee des Web Services . J2EE Pr esentation : J2EE est logiquement destin e aux gros syst` emes dentreprise. Les logiciels employ es ` a ce niveau ne fonctionnent pas sur un simple PC mais requi` ere une puissance beaucoup plus importante. Pour cette raison, les applications doivent etre constitu ees de plusieurs composants pouvant etre d eploy es sur des plate-formes multiples an de disposer de la puissance de calcul n ecessaire. Cest la raison d etre des applications distribu ees. J2EE est une collection de composants, de conteneurs et de services permettant de cr eer et de d eployer des applications distribu ees au sein dune architecture standardis ee. 19

Les composants de J2EE : J2EE fournit une gamme doutils et dAPI an de concevoir facilement les di erentes couches. 1. Pour la couche Pr esentation et logique de pr esentation : Java Servlet : Une servlet est un programme ecrit en JAVA qui tourne sur la machine du serveur J2EE. Une servlet est charg ee lorsque le serveur est mis en route ou lorsque le premier client fait appel aux services de la servlet.Le serveur Web re coit une demande adress ee ` a une servlet sous la forme dune requ ete HTTP. Il transmet la requ ete ` a la servlet concern ee, puis renvoie la r eponse fournie par celle du client . La servlet re coit egalement les param` etres de la requ ete envoy ee par le client. Elle peut alors eectuer toutes les op erations n ecessaires pour construire la r eponse avant de renvoyer celle-ci sous forme de code HTML. Une fois charg ee, une servlet reste active dans lattente de nouvelles requ etes. Une servlet doit soit impl ementer linterface javax.servlet.Servlet ou etendre soit la classe javax.servlet.GenericServlet soit javax.servlet.http.HttpServlet. Java Server Pages (JSP) : cette extension permet de valoriser davantage les applications web avec la plate-forme J2EE en permettant le d eveloppement dapplications web bas ees sur ce mod` ele ; les JSP permettent gr ace au moteur de servlet de produire facilement des pages HTML. Struts : Jakarta Struts est un projet dAppache software foundation qui a pour but de fournir un cadre standard de d eveloppement web en java respectant le mod` ele darchitecture MVC (Model-View-Controller). Il fournit le minimum de r` egles pour construire des applications web professionnelles. Java Server Faces (JSF) : Java Server Faces est un framework dinterface utilisateur pour les applications web, bas e sur les technologies JSP et Servlets. Le but de JSF est daccro tre la productivit e des d eveloppeurs dans le d eveloppement des interfaces utilisateur tout en facilitant leur maintenance. JSF permet de r econcilier deux points de vues diam etralement oppos es en fornissant un framework bas e sur une abstraction compl` ete des m ecanismes dinternet tout en garantissant une totale ma trise du cycle de vie du traitement dune requ ete. JSF permet : une s eparation nette entre la couche de pr esentation et les autres couches. le mapping HTML/Objet. un mod` ele riche de composants graphiques r eutilisables. un mod` ele riche de composants graphiques r eutilisables. une gestion de l etat de linterface entre les di erentes requ etes. une liaison simple entre les actions c ot e client de lutilisateur et le code Java correspondant c ot e serveur. la cr eation de composants customs gr ace ` a une API. le support de di erents clients (HTML, WML, XML, ...) gr ace ` a la s eparation des probl ematiques de construction de linterface et du rendu de cette interface.

20

Fig. 4.1 Architecture de JSF Spring : Cest un framework ayant pour but de rendre facile le d eveloppement des applications web tout en augmentant la consistance et la productivit e. 2. Pour la couche logique m etier et objet interm ediaires : Les EJB : Ce sont des composants Java pour des applications distribu ees multi niveaux. Cette extension fournit un moyen standard pour d enir les composants c ot e serveur et d enit une vaste infrastructure dex ecution pour lh ebergement des composants c ot e serveur. Les JavaBeans : Selon la sp ecication des Javabeans, une Bean est un composant logiciel r eutilisable pouvant etre manipul e visuellement dans un outil de construction (builder tool). 3. Pour la couche de donn ees : JDBC Connector : JDBC (lacronyme de JAVA Data Base Connectivity) est une API JAVA permettant dacc eder ` a es base de donn ees, de fa con ind ependante de la base utilis ee, ` a partir dune application JAVA. La proc edure sera la m eme quelle que soit la base de donn ees choisie. JDBC d enit une API de bas niveau d esign ee pour supporter les fonctionnalit es basiques de SQL ind ependement de toute impl ementation SQl sp ecique. Hibernate : cest un framework qui donne une solution pour le mapping objet/relationnel et la gestion de la couche de persistence. Hibernate permet la gestion automatique de la structure de la base de donn ees : cr eation et mise ` a jour. IL utilise un langage simple pour linterrogation de la base de donn ees appel e HQL (Hibernate Query Language) et qui fournit une couche dabstraction SQL.

21

Fig. 4.2 Architecture de Hibernate

Les avantages de J2EE : Lapproche multi niveaux adopt ee par la plate-forme J2EE ore plusieurs avantages : Elle r eduit la compl exit e du d eveloppement distribu e avec une architecture simpli ee et le partage de la charge de travail. Cest une solution hautement evolutive qui permet le d eveloppement des syst` emes satisfaisant de nombreux besoins rapidement modiables. Les nouvelles applications peuvent sint egrer correctement avec les syst` emes dinformations existants. La s ecurit e est am elior ee. Les d eveloppeurs peuvent choisir parmi une diversit e doutils de d eveloppement et de composants pour d evelopper les applications requises. L equipe de d eveloppement peut s electionner les meilleurs solutions pour leurs besoins, sans etre verrouill ee par lore du fournisseur unique. Tous les composants sont gratuits. Comparaison entre J2EE et .NET Dans cette section, nous allons d egager les principales di erences entre la technologies J2EE de Sun et la technologie .NET de Microsoft. En fait, nous avons limit e notre etude sur ces deux technologies car ils sont les plus appr eci ees au sein des entreprises qui ambitionnent avoir des applications robustes, portables, complexes et s ecuris ees, dautant plus quelles traitent des donn ees condentielles, et font appels aux technologies les plus modernes. Le tableau suivant expose les crit` eres sur lesquels se basera notre choix technologique.

22

.NET Langages Services Pr esentation Interpr` ete Composants graphiques Acc` es ` a la BD Technologie C#,multi-langage BCL ASP .NET CLR WinForms, WebForms ADO .NET Produit

J2EE Java Java Core API Servlet, JSP JVM Swing JDBC, Hibernate, iBatis Standard

Tab. 4.1 Tableau comparatif .NET et J2EE

4.1.2 4.1.3

Environnement de d eveloppement Gestion de la base de donn ees

Oracle DataBase Oracle est un SGBDR edit e par la soci et e du m eme nom Oracle Corporation leader mondial en base de donn ees.Oracle peut assurer entre autres fonctionnalit es : La d enition et la manipulation des donn ees La coh erence des donn ees. La condentialit e des donn ees. Lint egrit e des donn ees. MySQL MySQL a pour origine lapplication mSQL. Cette application permettait de ce connecter ` a des tables en utilisant des routines bas niveau. Cependant, apr` es quelques tests, les d eveloppeurs sont arriv es ` a la conclusion que mSQL n etait pas assez rapide et exible pour leurs besoins. Le serveur de bases de donn ees MySQL est tr` es rapide, able et facile ` a utiliser. Il dispose aussi de fonctionnalit es pratiques, d evelopp ees en coop eration avec les utilisateurs. Les principales fonctionnalit es quore MySQL sont : Fonctionne sur de nombreuses plate-formes. Dispose dAPI pour C, C++, Eiel, Java, Perl, PHP, Python, Ruby et Tcl. Compl` etement multi-thread e, gr ace aux threads du noyau. Cela signi e quon peut lutiliser facilement sur un serveur avec plusieurs processeurs. Tables B-tree tr` es rapide, avec compression dindex. Syst` eme lallocation m emoire tr` es rapide, exploitant les threads. Tables en m emoire, pour r ealiser des tables temporaires. Les fonctions SQL sont impl ement ees gr ace ` a une librairie de classes optimis ees, qui sont aussi rapides que possible . PostgreSQL PostgreSQL est un SGBD relationnel objet Open Source impl ement e par luniversit e de Berkeley. Les fonctions cl es du mod` ele objet de PostgreSQL sont les classes, lh eritage et la surcharge.

23

PostgreSQL est un logiciel modulaire poss edant un langage d ecriture de proc edures similaire a celui dOracle mais ` egalement dautres interfaces de programmation. Voici les fonctions cl es du mod` ele orient e objet de PostgreSQL : Les classes : Une classe correspond ` a un ensemble dobjets poss edant un identicateur unique. Lh eritage : La notion dh eritage correspond ` a une organisation hi erarchique des tables. Par exemple, si deux tables se trouvent dans une relation parent/enfant, les informations contenues dans la table parent sont egalement disponible dans la table enfant. La surcharge : On parle de surcharge de fonction lorsquune fonction peut etre d enie plusieurs fois avec des param` etres di erents.

4.2

Choix retenus

La claret e de larchitecture quelle propose ainsi que la multitude des IDE qui peuvent la supporter et sa gratitude, la technologie J2EE a et e le choix Judicieux pour le d eveloppement de notre application. LIDE surlequel nous avons choisit de d evelopper notre application est lIDE Eclipse. Une base de donn ee MySQL est celle qui va etre impl ementer pour g erer les donn ees n ecessaire ` a lapplication.

Conclusion
Apr` es cette etude nous avons d ecid e de choisir la plate-forme J2EE comme environnement de d eveloppement (donc Java comme langage de programmation), MySQL pour limpl ementation de la base de donn ees et hibernate pour la couche persistence de donn ees. Le chapitre suivant aborde en d etail la conception de lapplication ` a r ealiser.

24

Chapitre 5

Conception
Introduction
Dans ce pr esent chapitre nous allons entamer une partie cruciale du d eveloppement logiciel et qui constitue un pont entre la sp ecication et la r ealisation. Elle comporte la conception de lapplication ainsi que la conception de la base de donn ees.

5.1

Conception g en erale

Le travail ` a r ealiser est d ecompos e en deux module ind ependants ` a savoir le module de la comptabilit e analytique et le module le gestion de la base de connaissances.

5.1.1

La comptabilit e analytique :

Ce module sint egre dans la partie de gestion nanci` ere de lERP ` a r ealiser. Elle automatise au premier lieu la t ache de pointage horaire du personnel de lentreprise et facilite, en second lieu, la t ache du comptable pour la r ealisation des statistiques el ementaires et crois ees et y dessiner les diagrammes correspondnat an de les bien pr esenter au responsable sup erieur. Ce module, a part son r ` ole pour r eduire les temps de r ealisation des t aches cit ees, il permet d economiser largent puisque l etre humain ninterviendra pas dans le m ecanisme.

5.1.2

La gestion de la base de connaissances :

Ce module fait parti de la gestion de la productivit e de lentreprise. en eet il sert comme un puissant outil pour la constitution dun ensemble de connaissances dans les domaines dactivit e de lentreprise an de faciliter la r eparation, la mise ` a niveau ou l elimination dune proc edure de travail.

5.2

Conception d etaill ee

La conception d etaill ee vise ` a transformer le mod` ele danalyse (sp ecication : haut niveau dabstraction) en un mod` ele concr et, de bas niveau dabstraction et ` a partir duquel le programmeur peut directement impl ementer le syst` eme.

25

5.2.1

Architecture de lapplication

La navigation entre les di erentes parties de notre application est pr esent ee par la gure ci-dessous :

Fig. 5.1 Architecture de lapplication

5.2.2

Diagrammes de Classes

Le diagramme de classes permet de d ecrire la structure statique du syst` eme ` a laide des classes et des relations.

26

Fig. 5.2 Diagramme de classes de lapplication

27

5.2.3

Diagrammes de s equences d etaill es

Diagramme de s equence pour lajout dun chier EXCEL Le diagramme suivant pr esente comment un ing enieur peut ajouter un chier EXCEL pour le prendre en compte par ladministration de lentreprise.

Fig. 5.3 Ajout dun chier EXCEL

28

Diagramme de s equence pour la consultation des statistiques

Fig. 5.4 Consultation des statistique

29

Diagramme de s equence pour la recherche de proc edures

Fig. 5.5 Recherche de proc edures

30

5.2.4

Conception de la base de donn ees

Le mod` ele relationnel de donn ees est un mod` ele de donn ee comme dautres existants ayant pour but de d ecrire le monde r eel ` a partir des informations et des donn ees quon peut en extraire et se di erencient par la nature des associations quils permettent de mod eliser. Lobjectif essentiel du mod` ele relationnel etait daccro tre lind ependance vis-` a-vis du niveau de repr esentation des donn ees. Du point de vue utilisateur, une base de donn ees peut etre consid er ee comme un ensemble de tables manipulables par des langages de haut niveau dont la caract eristique principale est d etre des langages non proc eduraux. Pour ces raisons nous avons choisi dutiliser une base de donn ees relationnelle. A ce niveau de cette application et tout en consid erant les besoins d ej` a sp eci es nous avons envisag e un certain nombre de tables pour enregistrer les donn ees n ecessaires pour la gestion du site. Les tables utilis ees et les relations qui les inter-relient sont donn ees par la gure 5.6

Fig. 5.6 Conception de la base de donn ees

31

Coclusion
Etant donn e les besoins des utilisateurs de notre applications, la phase de conception vient pour permettre la d etermination des di erents objets contribuant ` a assurer les fonctionnalit es souhait ees. Cette phase est une pr eparation ` a la phase du codage garantissant une organisation claire et pr ecise ainsi quune facilit e dimpl ementation des classes invoqu ees, des structures de donn ees utilis ees et les relations qui existent entre les di erentes classes. Nous essayons dans le chapitre r ealisation dimpl ementer les di erentes classes et de montrer les fonctionnalit es r ealis ees suite ` a cette impl ementation.

32

Chapitre 6

R ealisation
Apr` es avoir achev e l etape de conception de lapplication, nous entamons dans ce chapitre la phase de r ealisation. Nous allons pr esenter, en premier lieu, lenvironnement de travail utilis e pour le d eveloppement de lapplication. Ensuite, nous allons donner un aper cu sur le travail accompli ` a travers des capture d ecran. Enn, nous montrerons le chronogramme de la r ealisation du projet.

6.1
6.1.1

Environnement de travail
Environnement mat eriel

An de r ealiser ce site web dans les conditions les plus favorables, nous avons mis en disposition un ordinateur ayant la conguration suivante : Processeur : Intel(R) Pentium(R) M 3.2GHz Disque dur : 120Gb RAM :1.256GB

6.1.2
Eclipse

Environnement logiciel

Eclipse est un environnement de d eveloppement int egr e (Integrated Development Environment) dont le but est de fournir une plate-forme modulaire pour permettre de r ealiser des d eveloppements informatiques. I.B.M. est ` a lorigine du d eveloppement dEclipse qui est dailleurs toujours le coeur de son outil Websphere Studio Workbench (WSW), lui m eme ` a la base de la famille des derniers outils de d eveloppement en Java dI.B.M. Tout le code dEclipse a et e donn e` a la communaut e par I.B.M an de poursuivre son d eveloppement. Eclipse utilise enorm ement le concept de modules nomm es Plug-ins dans son architecture. Dailleurs, hormis le noyau de la plate-forme nomm e Runtime, tout le reste de la plate-forme est d evelopp e sous la forme de Plug- ins. Ce concept permet de fournir un m ecanisme pour lextension de la plate-forme et ainsi fournir la possibilit e` a des tiers de d evelopper des fonctionnalit es qui ne sont pas fournies en standard par Eclipse. 33

Tomcat : Tomcat est un serveur dapplication totalemet ecrit en java. A partir de la version 5.0 il impl ementait les sp ecications 2.4 des JavaServlet et 2.0 des JSP. Tomcat a et e d evelopp e en open source au sein du projet Apache Jakarta, dont le but est de fournir des solutions serveur bas ees sur la plate-forme Java, de qualit e identique aux applications commerciales.Tomcat est un moteur dex ecution pour les servlets et les pages JSP. Il prend en charge la partie dynamique du site et laisse la partie statique au serveur web.

6.2

Travail r ealis e

A cette etape du nous donnons les captures d ecran relatives aux pages des principales fonctions r ealis ees par lapplication.

6.2.1

Page dauthentication des utilisateurs

Fig. 6.1 Identication des utilisateurs

34

6.2.2

Page dajout dun document EXCEL

Fig. 6.2 Ajout dun chier

6.2.3

Page de validation dun documents EXCEL

Fig. 6.3 Validation du document EXCEL

35

6.2.4

Recherche de ches de proc edures

Fig. 6.4 Recherche de che de proc edure

6.2.5

R esultats de la recherche

Fig. 6.5 R esultats de la recherche

36

6.2.6

Consultation des statistiques

Fig. 6.6 Consultation des statistiques

6.2.7

Ajout de nouveaux utilisateurs ou administrateurs

Fig. 6.7 Ajout de nouveaux utilisateurs ou administrateur

37

6.3

Chronogramme

Il est n ecessaire de tracer un diagramme qui d ecrit la r epartition temporelle des t aches du travail durant deux mois an de montrer les di erentes phases par lesquelles notre projet a pass e. Documentation et etudes th eorique : elle consiste ` a rechercher une documentation sur le sujet et ` a etudier les objectifs g en eraux du stage. Sp ecication et analyse de besoins : elle consiste ` a etudier l etat actuel du processus de travail de lentreprise ainsi que ses besoins r eels. Conception : elle vise ` a mod eliser le syst` eme selon une vue bien claire. Impl ementation : elle soccupe du d eveloppement du codes des di erentes fonctionalit es du syst` eme comme mod elis e dans la conception. R edaction du rapport : elle collecte toutes les informations n ecessaires et autoris ees ` a etre publi ees. Le chronogramme suivant donne la r epartition de ces di erentes phases :

Fig. 6.8 Chronogramme

38

Conclusion et perspectives Avant de commencer le stage, nous en attendions essentillement ` a trois choses : travailler sur
un produit davenir au moins en tunisie (les ERP), recueillir une exp erience et des comp etences professionnelles et d ecouvrir le fonctionnement des equipes de d eveloppement au sein des entreprises informatiques. Lobjectif de ce stage etait de concevoir et de d evelopper deux modules faisant parti dun ERP destin e` a une entreprise class ee de PME. Il a et e aussi b en eque aussi bien sur le plan th eorique que sur le plan pratique. En eet sur le plan pratique ce projet nous a donn e une occasion de d ecouvrir le framework JSF pour le d eveloppement des applications web, et dam eliorer nos connaissances sur la gestion des bases de donn ees. Sur le plan th eorique il nous a permis une familiarisation avec les notions et les automatismes de la programmation des applications Web avec lIDE Eclipse suivant larchitecture MVC2 ainsi que les techniques de manipulation de la couche de persistence avec Hibernate. En perspectives, le d eveloppement du reste des modules de lERP et son int egration dans lenvironnement constituons le sujet du projet de n d etudes an de voir un produit complet pouvant automatiser plusieurs t ache dans les petites et moyennes entreprises.

39

Bibliographie
my Applications Web Java Servlets et JSP,2004 [1] Olivier Debas, Christine Deaix Re [2] David GearyCore, Cay Horstmann JavaServer Faces, Second Edition,2007 [3] Giulio zambon Begining JSP, JSF and Tomcat web devloppement.Apress 2007 [4] Eric Sarrion. D eveloppement Web avec J2EE .OReilly,2005

40

Netographie
[N1] [N2] [N3] [N4] [N2] [N3] http://www.developpez.com http://www.coreservlets.com/JSF-Tutorial/ http://www.jsftoolbox.com/documentation/ http://www.roseindia.net/ http://www.myfacescomponent.com http://www.tomahawkcomponent.com consult e le 01 juillet 2008 consult e le 09 juillet 2008 consult e le 10 juillet 2008 consult e le 27 juillet 2008 consult e le 20 ao ut 2008 consult e le 21 ao ut 2008

41

Glossaire
Dans ce glossaire nous citons quelques termes n ecessaires pour la compr ehension du rapport. ASP : Active Server Pages CLR : Common Language Runtime EJB : Entreprise JavaBean ERP : Entreprise Ressource Planning HQL : Hibernate Query Language HTTP : Hyper Text Transfer Protocol IDE : Integrated Development Environment JDBC : Java Data Base Connectivity JSF : Java Server Faces JSP : Java Server Pages MVC : Model-View-Controller PGI : Progiciel de Gestion Integr e PME : Petites et Moyennes Entreprises SI : Syst` eme dInformation SQL : Structured Query Language UML : Unied Modeling Language

42

Annexe A

Les Architectures Logicielles


Architecture Simple tiers
Les applications bureautiques sont con cues pour fonctionner sur un ordinateur unique. Toutes les services fournis par lapplication - interface utilisateur, persistance des donn ees (sauvegarde dans des chiers propri etaires) et logique de traitement de ces donn ees - r esident sur la m eme machine et sont inclus dans lapplication.

Fig. A.1 Architecture Simple Tiers.

Architecture deux tiers


Selon larchitecture deux tiers les traitements sont r epartis entre le client repr esent e par une station de travail utilisateur et le serveur repr esent e par un mainframe ou un serveur puissant. Le client prend en charge lensemble des taches li ees ` a la pr esentation, ` a la logique applicative ainsi quune grande partie de la logique m etier. Quant au serveur, son r ole est dh eberger les donn ees du syst` eme dinformation et de traiter les requ etes en provenance du client. Un des inconv enient de larchitecture deux-tiers est que la logique charg ee de la manipulation des donn ees et de lapplication des r` egles m etiers a erentes est incluse dans lapplication ellem eme. Cela pose probl` eme lorsque plusieurs applications doivent partager lacc` es ` a une base de donn ees.

Architecture trois tiers


Cest un mod` ele logique darchitecture applicative qui vise ` a s eparer tr` es nettement trois couches logicielles au sein dun m eme syst` eme.

43

Fig. A.2 Architecture Deux Tiers

Fig. A.3 Architecture Trois Tiers Selon ce mod` ele, toute la logique m etier est extraite de lapplication cliente. Celle-ci nest plus responsable que de la pr esentation de linterface ` a lutilisateur et de la communication avec le tiers m edian. Elle nest plus responsable de lapplication des r` egles. Son r ole est r eduit ` a la couche pr esentation.

La plate forme J2EE


J2EE est lacronyme de Java 2 Entreprise Edition. Cette edition est d edi ee ` a la r ealisation dapplications pour entreprises. J2EE est bas e sur J2SE (Java 2 Standard Edition) qui contient les API de base de Java. Depuis sa version 5, J2EE est renomm e Java EE (Enterprise Edition).

Notion de J2EE
J2EE est logiquement destin e aux gros syst` emes dentreprise. Les logiciels employ es ` a ce niveau ne fonctionne pas sur un simple PC mais requi` ere une puissance beaucoup plus importante. Pour cette raison, les applications doivent etre constitu ees de plusieurs composants pouvant etre d eploy es sur des plate-formes multiples an de disposer de la puissance de calcul n ecessaire. Cest la raison d etre des applications distribu ees. J2EE est une collection de composants, de conteneurs et de services permettant de cr eer et de d eployer des applications distribu ees au sein dune architecture standardis ee.

44

Les Conteneurs
Les conteneurs sont les el ements fondamentaux de larchitecture J2EE. Les conteneurs fournis par J2EE sont de m eme type. Ils fournissent une interface parfaitement d enie ainsi quun ensemble de services permettant aux d eveloppeurs dapplications de se concentrer sur la logique m etier ` a mettre en oeuvre pour r esoudre le probl` eme quils ont ` a traiter, sans quils aient ` a se pr eocuper de toute linfrastructure interne. Les conteneurs soccupent de toutes les t aches fastidieuses li ees au d emarrage des services sur le serveur, ` a lactivation de la logique applicative, la gestion des protocoles de communication intrins` eque ainsi qu` a la lib eration des ressources utilis ees.

Les Servlets
Une servlet est un programme ecrit en JAVA qui tourne sur la machine du serveur J2EE. Une servlet est charg ee lorsque le serveur est mis en route ou lorsque le premier client fait appel aux services de la servlet.Le serveur Web re coit une demande adress ee ` a une servlet sous la forme dune requ ete HTTP. Il transmet la requ ete ` a la servlet concern ee, puis renvoie la r eponse fournie par celle du client . La servlet re coit egalement les param` etres de la requ ete envoy ee par le client. Elle peut alors eectuer toutes les op erations n ecessaires pour construire la r eponse avant de renvoyer celle-ci sous forme de code HTML. Une fois charg ee, une servlet reste active dans lattente de nouvelles requ etes. Une servlet doit soit impl ementer linterface javax.servlet.Servlet ou etendre soit la classe javax.servlet.GenericServlet soit javax.servlet.http.HttpServlet.

Fig. A.4 Servlet etendant la classe javax.servlet.http.HttpServlet

Les pages Jsp


Cr eer des servlets consiste ` a construire des composants Java capables de produire du code HTML. Dans de nombreux cas, cela fonctionne sans probl` eme. Toutefois, il nest pas facile, pour les personnes charg ees de concevoir laspect visuel des pages Web, de manipuler du code Java, auquel elles nont probablement pas et e form ees. Cest la raison d etre des JavaServer Pages. Les JSP sont des documents de type texte, contenant du code HTML ainsi que des scriptlets (et/ou des expressions), cest-` a-dire des morceaux de code Java.

45

Fig. A.5 Les pages JSP dans une application J2EE.

Les JavaBeans
Selon la sp ecication des Javabeans, une Bean est un composant logiciel r eutilisable pouvant etre manipul e visuellement dans un outil de construction (builder tool). Un composant poss` ede : des propri et es persistantes des ev enements reconnus des m ethodes de traitement des ev enements

Les Serveurs Dapplication


Le serveur dapplication est lenvironnement dex ecution des applications c ot e serveur. Il prend en charge lensemble des fonctionnalit es permettant ` a plusieurs utilisateurs dexploiter une m eme application. Parmi ces fonctionnalit es nous pouvons citer : Gestion de la session utilisateur : cest le fait de conserver pour chaque utilisateur un contexte qui lui est propre, et cela se fait g en eralement en g en erant un identiant unique pour chaque client et en le transmettant lors de chaque echange HTTP. Gestion des mont ees en charge et reprise sur incident : an de g erer toujours plus dutilisateurs, le serveur dapplication doit pouvoir se d eployer sur plusieurs machines et, eventuellement, orir des possibilit es de reprise sur incident. Ouverture sur plusieurs sources de donn ees : pour rendre accessible les donn ees de lapplication, le serveur dapplication doit pouvoir acc eder ` a de nombreuses sources de donn ees.

Le Modele MVC
Le mod` ele MVC (Model View Controler) a et e initialement d evelopp e pour le langage Smalltalk dans le but de mieux structurer une application avec une interface graphique. Ce mod` ele est un concept darchitecture qui propose une s eparation en trois entit es des donn ees, des traitements et de linterface :

46

Fig. A.6 Le mod` ele MVC. Le Mod` ele repr esente les donn ees de lapplication g en eralement stock ees dans une base de donn ees. La Vue correspond ` a lIHM (Interface Homme Machine). Le Contr oleur assure les echanges entre la vue et le mod` ele notamment gr ace ` a des composants m etiers. Lutilisation du mod` ele MVC rend un peu plus compliqu e le d eveloppement de lapplication qui le met en oeuvre mais il permet une meilleure structuration de lapplication. Le principal d efaut du mod` ele MVC est le nombre de servlets ` a d evelopper pour une application. Comme rem` ede ` a ce probl` eme, le mod` ele MVC2 sest impos e. En eet cette version du mod` ele propose de nutiliser quune seule servlet comme contr oleur de tiute lapplication.

47

Vous aimerez peut-être aussi