Académique Documents
Professionnel Documents
Culture Documents
Encadré par :
M. Bouzidi Driss
Mme Fadwa lahrach
Dédicace
A toute ma famille.
A tous mes chers amis d’Azrou,
A mes chers amis de l’école,
A mes très chers frères et amis de la ville de Rabat,
Pour tout le soutien que vous m’avez offert, je vous dis MERCI.
Hassani Mohamed
Etudes et développement d’une plateforme pour la téléphonie sur IP
Dédicace
A toute ma famille.
A tous mes chers amis de Berkane,
A mes chers amis de l’école,
A mes très chers frères et amis de la ville de Rabat,
Pour tout le soutien que vous m’avez offert, je vous dis MERCI.
Benyadi Mourad
Etudes et développement d’une plateforme pour la téléphonie sur IP
Remerciements
Il nous est agréable de nous acquitter d’une dette de reconnaissance auprès de toutes
les personnes, dont l’intervention au cours de ce projet, a favorisé son aboutissement.
Ainsi, nous exprimons notre profonde gratitude et tenons à remercier tout le personnel
d’INTELCOM et plus précisément l’équipe d’étude et développement, pour leur soutien et
pour leur générosité considérable quant à l’offre de l’information.
Nous tenons à exprimer nos gratitudes à Mlle Fadwa Lahrach, notre encadrante à
l’entreprise, qui nous a proposé un sujet très intéressant.
Nos remerciements les plus sincères vont à M. Bouzidi Driss, notre encadrant à l’IGA,
pour les conseils qu’elle nous a prodigué, son judicieux encadrement ainsi que son assistance
pour la rédaction du rapport.
Que messieurs les membres de jury trouvent ici l’expression de nos reconnaissances
pour avoir accepté de juger notre travail.
Que tous ceux et celles qui ont contribué de près ou de loin à l’accomplissement de ce
travail trouvent l’expression de nos remerciements les plus chaleureux.
Résumé
Ce rapport est le fruit du travail que nous avons réalisé dans le cadre de notre projet de
fin d’étude au sein de la société Intelcom. Ce projet avait pour objectif d’étudier et développer
une plateforme de taxation pour la téléphonie sur IP.
La réalisation du projet est basée sur les nouvelles technologies du Web. En effet, nous
avons eu recours à plusieurs Frameworks traitant plusieurs aspects du développement sous la
plate-forme J2EE. Nous avons donc utilisé le Framework Struts pour la présentation Web, le
Framework JasperReports pour l’édition des rapports.
Le présent rapport permet de présenter les différentes étapes par lesquelles nous
sommes passés afin de réaliser le travail qui nous a été confié.
Sommaire
INTRODUCTION
La téléphonie sur IP (ou VoIP pour Voix sur IP) est un mode de téléphonie utilisant le
protocole de télécommunications créé pour Internet (IP pour Internet Protocol). La voix est
numérisée puis acheminée sous forme de paquets comme n'importe quelles autres données.
Ainsi, l'évolution à la baisse du prix de la bande passante offre de réelles économies à
l'entreprise. De plus, avec une solution IP-PBX les appels à l'intérieur de l'entreprise sont
gratuits de fait.
En bref, l'augmentation des débits Internet et les économies réalisées sur la facture
télécom suscitent l'engouement des entreprises, donc en attendant sa vulgarisation il faut
penser à des techniques de facturation et mesure de trafic pour réglementer l’accès au réseau,
et garantir aux utilisateurs une qualité de service acceptable.
C’est dans cette optique que s’inscrit ce projet. En effet, Le but est d’étudier et
développer une plateforme de taxation pour la téléphonie sur IP qui collecte les informations
sur les appels à partir d’une base de données, les traite, les analyse, puis les affiche sous des
formats bien présentés à l’administrateur et aux utilisateurs.
Le présent rapport décrira dans le premier chapitre l’organisme au sein duquel nous
avons effectué notre projet de fin d’études ‘Intelcom’, ses services et son organisation. Et
après des généralités de la téléphonie sur IP nous introduisons le cadre général, les objectifs
de notre projet, la démarche que nous avons adoptée et la planification.
Le deuxième chapitre, comporte l’étude fonctionnelle du projet qui se compose de
deux étapes, une étape de capture des besoins fonctionnel et une étape d’analyse. La première
comporte une analyse comparative des solutions ; une étude de l’existant et les services
attendus de la plateforme .La deuxième comporte l’élaboration du diagramme statique ;
dynamique du projet et par la fin une analyse du comportement des entités dégagées.
Le troisième chapitre, présente la technologie J2EE adoptée pour la plateforme de
taxation. De plus, une explication de l’architecture logicielle caractérisant l’application.
Ensuite, une exposition des Frameworks Open Source choisi pour le développement.
Et pour le quatrième chapitre, c’est la partie restante du processus suivi qui se
compose de la conception préliminaire, la conception détaillée et à la fin la mise en œuvre du
projet.
Chapitre 1 :
Contexte général du projet
Introduction
Comme nous l’avons indiqué auparavant, notre projet s’est déroulé au sein d’Intelcom,
dont le fonctionnement est axé autour de plusieurs activités, et se base sur un système
d’information mature.
1 Présentation de l’entreprise
1.1 INTELCOM
Les principes qui régissent ses actions sont les suivants : une base technologique
solide et la haute qualification du personnel, combinées à une gestion experte des
fournisseurs, en veillant constamment à la qualité du produit ou du service, à une innovation
permanente, à une longue expérience dans la mise en place de solutions chez plus d’un millier
de clients et à une relation privilégiée avec ses partenaires technologiques, toujours tournés
vers le client et avec l’engagement ferme d’offrir des solutions et des services innovateurs
adaptés à ses besoins spécifiques.
Groupe SATEC dispose d’une grande gamme de Solutions et de Services TIC qui
couvrent les besoins du Client, recueillent et analysent leurs exigences pour leur
développement, leur mise en place et leur maintenance ultérieures. Cette expérience a
également servi à offrir des solutions et des services spécifiques aux secteurs
d’activité suivants:
Administrations Publiques
Opérateurs de Télécommunications
Santé
Industrie
Banque
Assurances
Les services de Groupe SATEC sont basés sur une architecture modulaire, extensible
et ouverte qui permet de s’adapter aux divers besoins de ses clients.
2 Présentation du projet
1.1 Cadre général du projet
Groupe SATEC possède dans les domaines des réseaux, systèmes, sécurité et
développement, elle se trouve dans des conditions privilégiées pour aborder des solutions de
gestion et OSS. Les principaux domaines développés par la Société sont :
Notre projet de fin d’études, effectué au sein la société Intelcom consiste à étudier et
développer une plateforme de taxation pour la téléphonie sur IP, en termes d’architecture et
application. Les fonctionnalités de cette application sont :
Générer des factures et rapports,
Permettre la réduction des frais de la communication,
Sensibilisation de l’employé.
La facturation sera basée sur les résultats des appels enregistrés par un outil de Cisco
appelé ‘ Call manager’ dans une base de données.
Il s’agit dans un premier temps d’étudier les concepts fondamentaux (aspects, normes
et constructeurs) sur lesquels repose la téléphonie sur IP. Ainsi d’étudier les méthodes de
calcul des coûts des appels par les opérateurs et analyser les tarifs disponibles.
Après cette première étape, on débutera le développement de l’application web suivant
les étapes, les méthodes et processus étudiées dans notre formation en ingénierie logiciel et
Multimédia à l’IGA.
techniques temporelles
techniques paramétriques
techniques par analyse et synthèse.
Beaucoup de logiciel de téléphonie ont été créés, mais c’est l’émergence des serveurs
d’accès entre les réseaux IP et le réseau téléphonique commuté qui a réellement propulsé la
téléphonie sur IP et a attiré l’attention des opérateurs de part et d’autre.
La téléphonie sur IP (ou VoIP pour Voix sur IP) est un mode de téléphonie utilisant le
protocole de télécommunications créé pour Internet (IP pour Internet Protocol). La voix est
numérisée puis acheminée sous forme de paquets comme n'importe quelles autres données.
Pourquoi migrer vers une solution de téléphonie IP ? L'augmentation des débits Internet et les
économies réalisées sur la facture télécom suscitent l'engouement des entreprises. Sécurité,
infrastructure ou coût réel sont des paramètres à prendre en compte avant de bouger.
33 Réseaux en concurrence :
L’utilisation simple et croissante du protocole IP dans les réseaux est devenue question
cruciale pour le monde des télécommunications. L’intégration de la voix et données sur ces
réseaux est aujourd’hui la grande occupation des opérateurs dans ce domaine. Pour cela il faut
tout d’abord savoir les caractéristiques des réseaux qui vont coopérer entre eux pour le projet
de la téléphonie sur IP.
Le réseau public de téléphonie, utilise une paire de cuivre comme support physique et
était historiquement utilisé pour fournir des services de voix analogique. Il essaye aujourd’hui
d’intégrer les technologies numériques autorisant de nouveaux services (Le RNIS).
Le réseau d’accès téléphonique comme le réseau de transport longue distance associé
restent aujourd’hui des réseaux dédiés basés sur la commutation de circuits (TDM). Ils
possèdent de nombreuses interconnexions afin de gérer les communications internationales,
fixe vers mobile ou encore d’un opérateur à un autre pour une même communication.
Pour suivre le développement des télécommunications, plusieurs opérateurs ont
développé des infrastructures pour offrir des services voix à leurs clients. Parallèlement, ces
mêmes opérateurs ont étendu leurs offres de services afin de proposer à leurs clients,
majoritairement des entreprises, le transport de données. Ces offres ont donc amené les
opérateurs du marché (voix/données) à développer des réseaux convergents de type paquets,
afin d’optimiser leur infrastructure.
L’architecture PC to PC est la solution la moins chère mais aussi la plus facile à mettre
en œuvre. Elle est surtout destinée aux utilisateurs occasionnels et ne nécessite pas de matériel
particulier : carte son Full Duplex, un casque et un micro. Les logiciels quant à eux sont très
disponibles. Pour ce qui est du coût, vous ne payez que votre connexion à Internet et ceci
quelle que soit la distance à laquelle vous appelé tout en sachant que les deux correspondants
paient.
Le phone to phone est l’application ultime de la téléphonie IP. En effet, à partir de cet
instant, l’ordinateur est totalement oublié. On utilise un téléphone comme à la maison ou au
bureau et avec la même simplicité. Evidemment, cette solution est d’abord réservée aux
entreprises car celles-ci bénéficient du haut débit et des infrastructures très adaptées.
Pour utiliser cette solution, il faut donc un réseau haut débit d’un opérateur et des
téléphones IP. Une autre solution consiste à sacrifier un peu de qualité et de passer par
Internet via des IAP (Internet Access Provider), qui est un réseau beaucoup plus lent mais
universel dans le sens où on peut pratiquement joindre n’importe quel ordinateur ou téléphone
IP partout dans le monde.
Indépendamment des aspects liés aux tarifs pratiqués tant dans le domaine de la
téléphonie traditionnelle que dans celui de l'utilisation d'Internet, il y a quelques raisons
objectives pour que les communications sur IP soient en principe moins coûteuses que les
communications sur le réseau téléphonique commuté classique.
La première raison est inhérente à la mise en œuvre de la transmission de la voix par
paquets qui, par nature, utilise mieux les liaisons de télécommunications (tout au moins au-
delà des liaisons terminales de raccordement de l'utilisateur) que la technique de commutation
de circuits qui dédie un circuit de bout en bout à chaque communication téléphonique sans
tenir compte des temps morts de la conversation.
De plus, pour la téléphonie sur IP, pour s'accommoder des différents maillons de la
chaîne côté utilisateur (rapidité des modems notamment, dans le cas de l'utilisation de micro-
ordinateurs), on pratique une compression de l'information numérique qui fait passer la voix
numérisée du débit standard de 64 kbit/s à un débit de moins de 10 kbit/s, d'où là encore une
meilleure utilisation des liaisons.
Ces deux raisons sont à nuancer par le phénomène de baisse constante des coûts de
transmission notamment sur fibre optique.
Une troisième raison concerne la nature des équipements mis en œuvre : il s'agit, dans le
cas de la voix sur IP, d'équipements (serveurs, routeurs…) en synergie avec les équipements
du monde de la microinformatique et qui, de ce fait, bénéficient des mêmes évolutions de
coûts que ce domaine. On aboutit ainsi à la mise en œuvre d'équipements moins sophistiqués
(un routeur est beaucoup moins rapide qu'un commutateur de circuits) et moins coûteux (mais
aussi avec des fonctionnalités plus rudimentaires) que les commutateurs qui interviennent
dans les réseaux de télécommunications.
Enfin, en corollaire de cette conception différente des équipements, on est conduit dans le
cas de la téléphonie sur IP à accepter des fonctionnalités différentes de celles de la téléphonie
classique, notamment en termes de qualité de service.
4 Conduite du projet
4.1 Processus de développement
Les aspects critiques, du projet étudié, méritent d’être résolus avec plus de souplesse.
Parmi ces points, la multitude des fonctionnalités exprimées, l’utilisation des plus nouvelles
technologies, le respect du temps réservé à l’élaboration du projet, etc. Pour éviter cette
immensité des risques, nous nous somme concentré sur l’élaboration d’une première version
du projet n’ayant que les fonctionnalités principales. Ensuite, nous ajoutions les fonctions les
plus indispensables au fur et à mesure. Ceci étant établi par une méthode itérative et
incrémentale.
Pour esquiver les risques des nouveautés technologiques, nous explorions les solutions
offertes pour s’y adapter et pour surpasser les surprises qui peuvent en survenir. Le modèle
d’implémentation donc tire de grands profits des solutions offertes par les technologies
étudiées.
cadre complet pour la conduite de projet, mais n’attache pas trop d’importance pour le
développement lui-même. Le cycle en V quant à lui, permet de maîtriser le développement à
travers les vérifications à la fin des phases, mais il n’offre toujours pas de gestion de la
complexité technique.
Il s’avère donc incontestablement que c’est effectivement 2TUP qui est le plus
approprié au projet étudié.
La planification du projet est parmi les phases d'avant-projet. Elle consiste à prévoir le
déroulement du projet tout au long des phases constituant le cycle de développement. Grâce
aux réunions tenues avec notre encadrante au sein de l’organisme d’accueil, nous avons été
éclairés sur les différentes étapes du projet ainsi que leur séquencement.
Ressource :
Diagramme de Gantt :
Conclusion :
Dans ce chapitre, nous avons présenté les services et son organisation d’intelcom
comme première partie.
La présentation du but du projet est la seconde partie de ce chapitre suivie de la
description du processus de développement 2TUP que nous avons adopté pour le
développement de la plateforme de taxation pour la téléphonie sur IP. A base de ce processus
que nous avons établi un planning de travail afin de bien maîtriser les ressources allouées au
projet.
Le chapitre suivant est consacré à l’étude fonctionnelle du projet.
Chapitre 2 :
Étude fonctionnelle du projet
Introduction :
Lors de cette phase nous avons effectué une étude des besoins des utilisateurs du
système à développer. Ces besoins ont été identifiés lors des réunions tenues avec notre
encadrante. Cette première phase du cycle de développement avait comme livrables, le cahier
des charges.
Dans le présent chapitre nous présentons la synthèse de ce livrable.
Le tableau a pour objectif d'étudier différents outils pour la mise en œuvre d'une
solution de taxation, afin de retenir celui qui conviendrait le mieux aux besoins de l’entreprise
Intelcom.
Les possibilités d’utilisation de ce tableau sont nombreuses. Elle permet entre autres
d’avoir une vue de l’ensemble des outils de taxation pour la ToIP présents sur le marché et
donc de rester au fait des dernières avancées technologiques dans ce domaine.
Dans le point qui suit, les solutions de taxation vont être présentées en fonction de
certains critères clés. Cette présentation permettra de connaître rapidement les outils adéquats
en fonctions des attentes, des besoins et des contraintes de l’entreprise.
Le tableau comparatif :
Nom Asterisell Freeside Asterisk2Billing PHONEX ONE
Contrôle de trafic :
contrôler la Non Non Oui Oui
charge de trafic
de chaque
employé
contrôler la Non Non Non Oui
charge de trafic
de chaque ligne
extérieure
Journalisation:
Journalisation Oui Oui Oui Oui
des événements
Journalisation Oui Non Non Oui
pour
l’administration
du système
tarifs
Mise à jour des Oui Oui Oui Oui
tarifs
Bilan :
D’après la comparaison précédente on constate que la solution payante PHONEX ONE
est la solution qui répond aux critères attendue. Donc l’analyse de cette solution sera l’étape
Table 3 : comparatif des solutions de facturation suivante, à fin de mettre en
œuvre une nouvelle solution
de taxation pour la téléphonie sur IP.
PhonEX™ ONE est une solution web conçue pour la gestion comptable et le contrôle
des appels téléphoniques. Elle permet un suivi de tous les appels – qu'il s'agisse de téléphonie
classique ou de téléphonie internet (VoIP) – passés sur le réseau d'entreprise.
Apres une analyse les points forts de PHONEX ONE sont:
Il s’agit ici d’une architecture deux tiers, la machines serveur comporte et les
applications de traitement tels le Call Manager et le système de facturation, et le serveur de
base de données SQL Server.
Le Call Manager Interagit avec la base de données CDR pour y enregistrer les
informations sur les appels.
Le système PhonEX ONE consiste en 3 applicatifs de base:
Un serveur base de données SQL,
Un serveur Applications
Un serveur WEB.
PhonEX ONE peut être installé sur un ou plusieurs serveurs séparés (mode Cluster).
Serveur Unique :
La configuration à Serveur Unique intègre les 3 applicatifs en un seul serveur.
Serveurs Multiples :
Serveur Web
Windows 2003 Server ou Windows 2008 Server
Microsoft Internet Information Server (IIS) 5.0
ASP.NET
Microsoft Internet Explorer
Client PC WEB
PhonEX ONE requiert Microsoft Internet Explorer 6.0 et supérieure, avec une résolution
d’affichage recommandée de 1024x768.
Nous avons fait une étude sur les tarifs fixe qui a pour objectif de trouver la méthode
de calcul du coût de chaque appel téléphonique, pour cela nous avons commencé par l’analyse
du document récapulatif des tarifs de la téléphonie Fixe des opérateurs au Maroc publié par
L'Agence Nationale de Réglementation des Télécommunications, ANRT.
Il existe plusieurs services pour chaque opérateur, et qui sont séparés en services pour
les particuliers et pour les professionnels ou entreprises. Donc on s’intéresse à étudier que les
tarifs des services pour les professionnels et des services des entreprises. Parmi ses services on
cite Pour l’opérateur Itissalat al-Maghreb , IAM :
o Abonnement Classique
o des offres pour Entreprises et professionnels
Abonnement classique :
Description de l’offre :
Description de l’offre :
Tarifs préférentiels pour les communications à destination des mobiles IAM et
Méditel.
Plage horaire unique.
Abonnement mensuel plafonné à 100 lignes, soit 2000 DH HT ;
La facturation s’effectue en tarif unique ;
Tarification à la première minute indivisible, puis paliers de 30 secondes.
Non compatible avec l’offre Famille et Amis.
Compatible mais non cumulable avec l’offre Préférence Groupe.
Bilan de l’étude :
D’après cette étude il existe de différents tarifs donc notre application doit supporter la
variation des tarifs. Pour cela on a ajouté des champs nécessaires dans le module de gestion
des tarifs.
Et concernant le calcul des coûts des appels, nous avons pris en considération une plage
horaire unique parce que d’après la liste des offres professionnelles d’IAM, la plage horaire
est unique.
La formule de calcul s’effectue comme suit :
Coût d’appel = (Le coût de la première minute indivisible) + (la somme des coûts des
paliers de secondes désignés dans le tarif actuel).
Le tarif actuel peut être un tarif réduit ou normal (plein tarif) selon le tarif activé.
4 Analyse
L’analyse a pour objectif l’identification des différentes entités qui interagiront avec
le système. Ces entités seront regroupées par la suite sous forme de rôles dont chacun englobe
un ensemble d’entités. Le résultat de cette analyse sera modélisé en utilisant le formalisme
UML (voir Annexe 2) par les diagrammes suivants : diagramme des cas d’utilisation et
diagramme de séquences.
Dans ce paragraphe, nous allons dégager l’ensemble des cas d’utilisation du système.
Ce seront toutes les manipulations que les différents utilisateurs effectuent en interagissant
avec le système. Afin d’y parachever, nous allons suivre la démarche suivante :
Les acteurs principaux du système sont les personnes qui utilisent les fonctions
principales du système. Dans le cas de Taxation, ce sont les acteurs : Administrateur,
employé et administrateur de base donnée.
Paramétrage de la plateforme :
Le paramétrage de la plateforme se fait par l’administrateur. Et après la confirmation du
paramétrage le système se charge automatiquement de l’enregistrement des paramètres
comme le montre le diagramme suivant :
Cette gestion se fait par l’administrateur seulement. Voici une partie de cette gestion qui
permet juste la consultation des utilisateurs ajoutés précédemment par l’administrateur aussi :
Dans ce paragraphe nous présentons le comportement des entités sous forme de règles
de gestion qui aide à la construction du diagramme de classe en se basant aussi aux étapes
précédentes de l’analyse.
Les règles de gestion sont réparties selon les modules de la plateforme de
taxation comme suit :
Le budget est lié à chaque appareils afin de gérer les dépenses téléphoniques à
tous les niveaux, à la fois par employé et par département.
Tous les budgets (courants et anciens) pour tous les appareils sont enregistrés
pour un seul mois. De plus, chaque ligne contiendra des informations sur les
paramètres du budget (Alarme dépassé le budget, etc.) et le reste du budget.
Chaque utilisation abusive du téléphone est repéré, notamment les appels longs
et coûteux ;
Réduction des dépenses téléphoniques se fait en affichant une alerte après
dépassement du budget total.
Chaque appareil et Identifier par un Identificateur, un numéro est utilisé par un
employé.
Chaque employé a un Identificateur, nom, prénom, titre, adresse, email.
Chaque employé peut avoir plusieurs répertoires personnels du numéro.
Chaque employé a un supérieur.
Chaque employé à une date début et de fin de son affectation à un département.
Chaque département a un Identificateur, code, description, niveau.
Chaque département a au moins un compte.
Chaque département a un site.
Chaque site a un Identificateur, nom, code.
Chaque compte est lié à un enregistrement des détails sur un appel (CDR).
Chaque compte a un Identificateur, nom compte, budget, indice Site.
Chaque CDR a un Identificateur, numéro appareil, num appareil2, cdr date, cdr
heur et min, cdr second, num compose, cout PBX, cout appel, numcdr , compte,
indice site, id appareil, operateur, id appel, code destination.
Chaque CDR a un type destination.
Chaque type destination a un Identificateur, code et sa description.
Chaque CDR et lié à un seul CDRcisco.
Conclusion :
Chapitre 3 :
Etude technique du projet
Introduction:
1 Technologie J2EE
J2EE est composée de plusieurs technologies qui sont regroupées en trois catégories :
composant, service et communication [wwwJAVASUN].
Les technologies de type composant sont utilisées par les développeurs afin de créer des
composants logiciels d’une application d’entreprise notamment l’interface utilisateur et la
logique métier. Elles permettent de développer des modules réutilisables qui peuvent être
intégrés dans d’autres applications. De plus, elles sont supportées par les services
d’infrastructures de la plate-forme J2EE qui simplifie le développement des applications.
Elles permettent, aussi, d’adapter les composants aux besoins des ressources de
l’environnement dans lequel ils sont déployés [wwwJAVASUN].
Etant donné que la plupart des applications d’entreprise ont besoin d’accéder aux
systèmes d’information d’entreprise, la plate-forme J2EE offre un ensemble de services tels
que l’accès aux bases de données (JDBC), le service de désignation (JNDI), les transactions et
les services de Messagerie.
C’est une architecture soutenue par SUN® MICROSYSTEMS qui définit et fournit le
modèle de programmation multi tiers basé sur l’architecture des composants. Avec ce modèle,
des applications légères peuvent interagir facilement avec le système d’information et les
composants implantant la logique d’entreprise sur des serveurs d’applications. L’architecture
J2EE consiste en trois parties :
applets.
servlets (incluant JSP).
Enterprise JavaBeans (EJB).
La figure suivante illustre les trois parties constituant l’architecture J2EE. Le noyau de
serveur «J2EE Server Core » est un environnement de serveur d’application qui fournit les
services de gestion de ressources et de transactions [wwwTHOMAS].
L’idée est de programmer une seule fois de petits composants logiciels, de les utiliser
et les réutiliser n’importe où [wwwREDBOOKIBM]. La spécification des EJB définit deux
types de composants : les Session Beans, qui ne vivent que le temps de leurs activités et qui
sont en permanence en interaction avec l’utilisateur. Par contre, les EntityBeans, sont
persistants être présentent des données issues d’une base de données. Les Session Beans sont
de deux types:
Stateless Session Beans: sont des objets qui se comportent comme des composants
serveurs et exécutent des actions à distance. Ces objets ne gardent aucune notion d’état
entre deux invocations [PATZER00]. Ils reçoivent des requêtes provenant de
différents clients et l’ordre des requêtes n’influe pas sur leur exécution.
Statefull Session Beans: reprennent les fonctionnalités d’invocation à distance des
Stateless Session Beans, mais ajoutent la capacité de conserver un état propre à chaque
client, d’une invocation à une autre.
Servlets
Une Servlet Java est un programme Java qui se branche sur un serveur Web. Il est possible
d’étendre un serveur Web pour qu’il héberge des Servlets par le biais d’un moteur de Servlets.
La technologie des Servlets s’avère en fait plus adaptée à répondre aux requêtes de
l’utilisateur en invoquant des méthodes sur des EJB, puis en redirigeant la requête HTTP vers
des pages HTML ou JSP qui afficheront le résultat de la requête. Les Servlets sont donc
utilisées principalement comme un «centre d’aiguillage» qui interprète et dirige le flot de
requêtes de l’utilisateur vers les composants EJB et renvoie à l’utilisateur les pages Web
adéquates [IBMBOOK].
L’évolutivité
La Plateforme de taxation
Réutilisabilité Disponibilité
Sécurité
Objectif Description
Disponibilité Il doit être en permanence à la
disposition de ses utilisateurs.
Présentation
Application
Domaine
Persistance
Couche Présentation
Cette couche est adoptée principalement pour gérer l’aspect visuel des applications et
pour gérer les interactions avec les utilisateurs. Chargée de dessiner les fenêtres et les autres
composants graphiques, elle intercepte les événements et appelle la couche Application. De
plus, elle vérifie les autorisations des utilisateurs auprès du service de sécurité. Les rôles de la
couche Présentation sont comme suit :
gestion du domaine de l’écran.
affichage des pages Web.
gestion de l’interaction avec l’utilisateur.
validation syntaxique.
La couche Présentation établit deux relations avec la couche Application :
demandes de contenu à la couche Application pour affichage et édition.
ordres de traitement à la couche Application pour création, mise à jour, suppression,
etc.
Couche Application
Son but principal est de fournir des services spécifiques à la couche Présentation. Ces
services correspondent aux règles du métier définies lors de la phase d’analyse. Elle prend en
charge les aspects de contrôle des cas d’utilisation. C’est concrètement dans cette couche que
l’on voit les cas d’utilisation issus de la partie analyse. Les rôles de la couche Application sont
les suivants :
Services spécifiques au domaine.
Services externes.
Contrôle des cas d’utilisation.
Couche Domaine
Cette couche est concentrée sur le métier de l’application, c’est-à-dire les règles
métiers, sémantiques et logiques. C’est l’espace où réside le modèle du domaine. Sa charge
principale consiste à garantir la validation sémantique de l’information métier. Les rôles de la
couche Domaine sont résumés ainsi :
Comportement métier.
Validation sémantique.
Elle échange l’état des composants entités métiers avec la couche Persistance.
Couche Persistance
Cette couche est certainement l’une des plus importantes. C’est ici que l’on trouve les
fonctionnalités de base qui permettent de créer, rechercher et supprimer des entités métier
dans le respect des propriétés transactionnelles. C’est également dans cette couche que les
mécanismes de conversion objet/relationnel peuvent prendre place. Le rôle de la couche
Persistance est défini comme suit :
Assurer les services basiques de création, lecture, mise à jour et suppression.
Permettre la conversion Objet/Relationnel.
Ainsi, l’architecture choisie est basée sur la logique des couches. Chaque couche
fournit aux autres couches des services et utilise les services des autres. Dans ce qui suit, nous
allons présenter les Frameworks utilisés au cours du développement.
6 Les Frameworks :
Un Framework capitalise l’expertise nécessaire en matière de programmation pour
résoudre une certaine classe de problème. Les programmeurs réutilisent les Frameworks pour
profiter de cette expertise sans avoir à résoudre le problème. Un Framework aide les
développeurs à fournir des solutions pour un problème et à mieux les maintenir. Il fournit une
infrastructure bien conçue et bien pensée. Ainsi, lorsque des nouvelles parties sont créées,
elles peuvent être ajoutées avec un impact minimal sur les autres parties du Framework.
Un Framework sert, non seulement, à réaliser une application plus rapidement, mais
permet d’obtenir des applications de structures semblables. Ceci permet de simplifier
considérablement leur maintenance [GHJV95]. Un Framework possède les caractéristiques
suivantes :
Un Framework est composé de multiple classes ou composants chacun d’eux propose
une abstraction d’un concept particulier.
Le Framework définit comment ces abstractions collaborent ensemble pour résoudre
un problème.
Un bon Framework doit fournir un comportement générique qui peut être utilisé par
plusieurs types d’applications. La notion de Framework est généralement liée à l’Open
Source. En effet, c’est un logiciel livré avec son code source et offre un droit d’utilisation, de
copie et de modification. Les produits Open Source sont régis par des licences. La plus
célèbre entre elles est la GPL (General Public License) de la fondation GNU [wwwFSF]. Le
choix d’utiliser les Frameworks Open Source est justifié par plusieurs raisons :
La première est sans doute financière, les Frameworks Open Source sont gratuits. La
deuxième est technique ; le code source des Frameworks et des logiciels Open Source étant
disponible : un développeur peut comprendre le fonctionnement des Frameworks pour
corriger ses bugs ou encore procéder à des évolutions.
Le fait qu’un Framework soit Open Source ne signifie pas qu’il soit de mauvaise
qualité, au contraire beaucoup de meneurs des projets Open Source sont des personnes très
compétentes qui s’investissent par défi technique et pour la reconnaissance de leurs pairs.
D’autres arguments plus marketing laissent entendre que les Frameworks Open Source
sont plus stables et que le respect des standards et la qualité du support sont meilleurs. Ces
avantages ont cependant un prix, la documentation associée aux projets Open Source est
souvent très succincte, donc lors du choix d’une solution Open Source il faut tenir compte des
critères suivants:
niveau d’intégration des standards.
maturité.
facilité d’utilisation.
documentation.
L’utilisation des Frameworks est indispensable pour le développement réussi de la
plateforme de taxation pour la téléphonie sur IP. Par la suite, Nous allons présenter les
différents Frameworks Open Source utilisés.
31 Le Framework SPRING :
Le mode transactionnel
L'appel d'EJBs
La création d'EJBs
La persistance d'objets
La création d'une interface Web
L'appel et la création de WebServices [wwwEgoSpring]
36 Le Framework Struts:
Pour résumer, Struts 2 repose donc sur le modèle de conception de type MVC II comme il
est expliqué dans le schéma suivant. Il permet un développement plus rapide, plus souple et
résout plusieurs problèmes de conception en fournissant les services suivants :
JasperReports (version 1.1.0) est un outil (librairie) Open Source puissant utilisé pour la
génération d'états. Il permet de créer des rapports à partir de fichiers XML. Le résultat peut
être affiché à l'écran, imprimé ou stocké dans des fichiers au format PDF, HTML, XLS, CSV
ou XML.
JasperReports est entièrement développé en Java et peut être intégré dans une gamme
très variée d'applications Java (y compris les applications J2EE). Son objectif principal est de
fournir un moyen simple et flexible pour la génération de documents. [ATOLBOOK]
La création de rapports avec JasperReports se déroule généralement en 4 étapes :
• l'obtention d'un fichier modèle XML (à l'aide d'éditeurs graphiques comme iReport ou
Open Reports Designer)
• la construction du rapport à partir du modèle
• le remplissage des différents champs du rapport avec les données en provenance de
divers sources (bases de données, classes Java, ...)
• l'exportation du résultat dans plusieurs formats possibles (PDF, HTML, ...).
Conclusion :
Chapitre 4 :
Conception et mise en œuvre du projet
Introduction
Après la détermination des besoins fonctionnels et non fonctionnels et la spécification
des besoins de l’application, nous sommes passés, dans ce dernier chapitre à la conception du
projet et sa réalisation. Notre étude se base sur le formalisme UML (voir Annexe 2) en utilisant
la méthode 2TUP, dans un premier temps, nous présenterons la conception préliminaire de la
solution proposée, ensuite, nous passerons à une conception détaillée du projet en tenant
compte des contraintes fonctionnelles et technologiques rencontrées. Et par la fin on passera à
la mise en œuvre du projet.
1 Conception
1.1 Conception préliminaire
La conception préliminaire consiste en la fusion des études fonctionnelle et technique. Il
convient de :
Passer de l’analyse objet à la conception ;
Intégrer les fonctions métier et applicatives du système dans l’architecture
technique ;
Adapter la conception générique aux spécifications fournies par l’analyse.
La conception préliminaire s’appuie sur les points de vue de spécification fonctionnelle
et structurelle de l’analyse, mais également sur les frameworks de la conception technique.
Le choix judicieux de ces frameworks allège le travail et permet de focaliser sur les vues
de l’application.
Tableau de C’est la page d’accueil de la plateforme, permet à l’utilisateur le résumé et rapport sur les
bord dépenses par département, ainsi la navigation rapide vers les autres fonctionnalités de la
plateforme
Rapports L’interface principale du module de gestion des rapports qui permet à l’utilisateur de générer des
rapports soit prédéfinis soit personnalisé sur :
Les appels ;
Les employés ;
Les budgets.
Cette interface facilite aussi la génération des rapports sans créer une nouvelle requête par les
rapports prédéfinis comme:
Seuil dépassés
Hit-parade de poste
Comptes détaillés
Compte synthèse
Facturation L’interface principale du module de gestion des factures qui permet à l’utilisateur de créer des
factures :
Ainsi cette interface présente un accès rapide vers : la liste de factures, la facture avec un total
plus élevé et la facture avec un total plus bas.
Administration Cette interface est dédiée à l’administrateur de la plateforme, elle permet de gérer les profils, les
sites, les départements, les appareils ou les répertoires en donnant les liens vers les pages
suivantes :
Tarifs Cette interface est dédiée à l’administrateur de la plateforme, elle permet de gérer les opérateurs et
ses tarifs.
Modification de tarif
Parti opérateur : permet de désigner l’opérateur par une liste déroulante et déterminer la
date de mise à jour ;
Partie tarif : permet d’ajouter l’information sur le tarif suivante : le type, date de début,
date de fin, l’état de la 1ere minute (indivisible ou divisible),le cout en minute, la duré du
tranche .
Durant cette étape nous avons appliqué le micro-processus de conception logique pour
bâtir une conception objet avec UML et pour transformer un modèle objet en modèle
relationnel. (Voir l’Annexe 4)
2.1.1 Le diagramme des classes :
On a élaboré le diagramme des classes pour chaque module suite à l’étude fonctionnelle
où nous avons décomposé la plateforme de taxation en trois principaux modules comme suit :
2 Mise en œuvre
La mise en place de l’architecture technique et le choix des outils de travail présentés dans
les chapitres précédents, nous ont permis de mettre en place l’architecture applicative de la
plateforme de taxation pour la téléphonie sur IP. L’implémentation de cette architecture est le
fruit de la phase de réalisation.
La phase des tests permet de vérifier la validité du système, avant d’entamer la phase
d’intégration avec les autres modules de la plateforme.
Dans cette partie du rapport, nous présenterons les deux phases suivantes :
Mapping objet / relationnel
Implémentation des IHM
Vu le nombre important des interfaces dans l’application web nous avons choisi de
présenter juste ces interfaces précédents.
Conclusion
Au cours de ce dernier chapitre, nous avons définis l’aspect conceptuel de la plateforme
de taxation. Cela nous a permis par la suite d’entamer les étapes de la réalisation de la branche
conception- réalisation du processus de développement 2Tup afin de finaliser le projet.
Conclusion et Perspectives
Durant toute la période de notre formation en ingénierie logiciel et multimédia au sein
de l’Institut Supérieure du Génie Appliqué on a eu l’opportunité d’acquérir des connaissances
au niveau technique, analytique et relationnel, grâce à une direction qui veille sur la qualité de
l’enseignement au sein de cette grande école et aux professeurs qui nous ont fait partager leurs
connaissances sans modération, ce qui a augmenté nos connaissances et nous a aidé à
comprendre les rouages d’un secteur très exigeant.
Pour compléter notre cursus, on a réalisé un projet de fin d’études au sein d’Inteclom, un
stage plongé au cœur de la réalité du monde professionnel, qui nous a permis de s’initier au
métier, et de préparer activement notre insertion professionnelle.
En effet, ce projet fut une étape très importante pour notre cycle de formation du fait
qu’il a été une opportunité très intéressante et bénéfique pour la mise en pratique des
connaissances théoriques déjà acquises. Ainsi d’avoir plus d’information sur le domaine de la
télécommunication.
Les difficultés majeures que nous avons rencontrées durant ce projet résident
essentiellement dans l’utilisation des nouveaux Frameworks de la génération des rapports.
Bibliographie :
[IBMBOOK] Cours AD65F, WebSphere Application Server – Advanced Edition and EJB, formation
IBM.
[UMLBOOK] UML 2 en actionDe l’analyse des besoins à la conception J2EE .3e édition . Pascal
Roques • Franck Vallée.
Webographie
[wwwASTONA]http://elisa.aston.fr
Jérôme LOUVEL, Guide d’architecture.
[wwwASTONS] http://elisa.aston.fr
Jérôme LOUVEL, Guide des standards.
[wwwEgoSpring] http://ego.developpez.com/spring/
Introduction au framework Spring Par Erik Gollot.
[wwwFSF]http://www.fsf.org/
Définition des différentes licences relatives aux produits Open
Source.
[wwwJAVASUN] http://Java.sun.com/J2EE/white/j2ee_guide.pdf
Simplified Guide to the J2EE, Sun Microsystems.
[wwwJlafosseStruts] http://jlafosse.developpez.com/livres/java/struts2/presentation/
Struts 2 - Le framework de développement d'applications Java EE , Par Jérôme Lafosse
[wwwREDBOOKIBM] http://www.redbooks.ibm.com
Projet de fin d’études 2010 - 2011 66
Annexes 1
[wwwTHOMA]http://www.psgroup.com
A. THOMAS, Java 2 Platforme Entreprise Edition
Annexe 1
Le processus 2TUP :
Le processus 2TUP (TwoTrackUnifiedProcess) est un processus unifié. Il gère la
complexité technologique en donnant part à la technologie dans son processus de
développement.
Le 2TUP propose un cycle de développement qui dissocie les aspects techniques des
aspects fonctionnels et propose une étude parallèle des deux branches : fonctionnelle (étude de
l’application) et la technique (étude de l’implémentation). Illustré sur la figure suivante, le
processus 2TUP s’articule autour de trois phases :
· Une branche technique
· Une branche fonctionnelle
· Et une branche de conception réalisation.
La figure suivante détaille les étapes de développement des trois branches du
processus 2TUP.
Annexe 2
UML
UML (en anglais Unified Modeling Language, « langage de modélisation unifié ») est
un langage graphique de modélisation des données et des traitements. C'est une formalisation
très aboutie et non propriétaire de la modélisation objet utilisée en génie logiciel. L'OMG
travaille actuellement sur la version UML 2.1.
Il est l'accomplissement de la fusion des précédents langages de modélisation objet
Booch, OMT, OOSE. Principalement issu des travaux de Grady Booch, James Rumbaugh et
Ivar Jacobson. UML est un standard défini par l'OMG (Object Management Group).
Le modèle UML est composé de 13 types de diagrammes (9 en UML 1.3). UML
n'étant pas une méthode, leur utilisation est laissée à l'appréciation de chacun, même si le
diagramme de classes est généralement considéré comme l'élément central d'UML. De même,
on peut se contenter de modéliser seulement partiellement un système, par exemple certaines
parties critiques.
UML se décompose en plusieurs sous-ensembles
- Les vues : Les vues sont les observables du système. Elles décrivent le système d'un
point de vue donné, qui peut être organisationnel, dynamique, temporel, architectural,
géographique, logique, etc. En combinant toutes ces vues il est possible de définir (ou
retrouver) le système complet.
- Les diagrammes : Les diagrammes sont des éléments graphiques. Ceux-ci décrivent
le contenu des vues, qui sont des notions abstraites. Les diagrammes peuvent faire partie de
plusieurs vues.
- Les modèles d'élément : Les modèles d'élément sont les briques des diagrammes
UML, ces modèles sont utilisés dans plusieurs types de diagramme. Exemple d'élément : cas
d'utilisation (CU ou cadut'), classe, association, etc.
Annexes 3
Annexe 3 :
Cahier de charges
CAHIER DE CHARGES
1 OBJECTIF DU PROJET
3 On souhaite de mettre en place et déployer une solution web pour la Taxation de la téléphonie
IP de l’entreprise Intelcom.
4 La solution assurera la gestion comptable et le contrôle des appels téléphoniques. Elle permet
un suivi intelligent de tous les appels – qu'il s'agisse de téléphonie classique ou de téléphonie internet (VoIP) –
passés sur le réseau de l'entreprise.
3 Plateforme de taxation
Aspects fonctionnels
Fonctionnalités de La solution:
Annexes 3
La solution web offre une fonctionnalité totale avec tous les navigateurs web, que ce
soit de l'intérieur ou de l'extérieur de l'organisation
Architecture système prend en charge un nombre infini de sites et d'employés
la modularité optimisée pour divers types d'installation pour offrir toute la souplesse
requise pour les réseaux centralisés ou répartis, avec un traitement optimal pour
chaque site.
Prise en charge de la base de données MySQL et utilisation avancée de la technologie
J2EE
Journalisation des événements pour les journaux système de suivi et administration du
système
Moniteur système pour afficher des informations en ligne sur : collecte des
enregistrements de données d'appel (CDR, Call Data Record) à partir de différentes
sources de données, état de traitement des CDR et autres changements survenus dans
le système
Définition du niveau de détail des rapports – affiche les différentes hiérarchies de
l'entreprise dans un rapport unique
Sécurité optimisée pour limiter l'accès à certaines options et commandes en fonction
de l'utilisateur et de l'appartenance à un groupe
Contrôle d'accès, journalisation des attaques système, algorithmes complexes de
génération de mots de passe et pour offrir une protection totale contre les hackers
gérer les dépenses téléphoniques à tous les niveaux, à la fois par employé et par
département ;
générer des rapports faciles à exploiter, ne comportant que les informations requises ;
établir des rapports et des relevés de coûts en plusieurs devises ;
contrôler la charge de trafic de chaque employé et de la ligne extérieure ;
repérer toute utilisation abusive du téléphone, notamment les appels longs et coûteux;
réduire les dépenses téléphoniques en sensibilisant le personnel à une utilisation
efficace du téléphone ;
l'utilisateur peut exporter des informations vers n'importe quel système extérieur,
au format de son choix.
4 LOGICIEL
5 Nous installerons le logiciel de Taxation pour la téléphonie IP sur le serveur ainsi que les
autres logiciels nécessaires. Nous procéderons au paramétrage de ces logiciels. Une personne du Service
Informatique suivra cette installation pour en comprendre l'architecture.
5 SECURITE
Sécurité d'accès et confidentialité
Les droits d'accès au système par les différents utilisateurs concernés sont définis et gérés par un
"Administrateur".
L’accès au paramétrage sera sécurisé avec un mot de passe particulier.
L'Administrateur définit pour chaque utilisateur :
• Son profil,
• Ses droits d'accès (lecture seule, mises à jour, éditions, suppressions, …),
• Son domaine d'intervention (fonctions du logiciel autorisées).
La reconnaissance de l'utilisateur par le système doit être mise en pratique par la saisie d'un code et
d'un mot de passe associé.
Les mots de passe associés aux utilisateurs devront être conformes aux recommandations suivantes :
Ils doivent être de longueur minimale de 6 caractères,
Etre modifiables par les utilisateurs,
Les codes triviaux doivent être interdits,
La durée de vie doit être contrôlée et limitée,
Les anciens mots de passe ne sont pas réutilisables.
Une fois connecté, si l'utilisateur ne fait aucune action sur son poste pendant un laps de temps,
éventuellement paramétrable, le système procédera à une déconnexion automatique.
Sauvegardes
Le serveur utilisera le système de sauvegarde centralisé . L’entreprise rédigera les scripts de sauvegarde et
de restauration ainsi que le paramétrage des sauvegardes quotidiennes.
7 LICENCES
L’entreprise devra remettre l'original de toutes les licences relatives aux logiciels qu'il aura fourni :
• Système d'exploitation du serveur
• SGBD
• Droit de connexion au serveur pour les postes de travail
• Progiciel de Gestion Electronique de Documents
• Autres logiciels utilisés
8 PRESENTATION DE LA SOLUTION
6 La solution comprendra une prestation globale incluant :
• Le logiciel
• Les prestations associées
L’installation et le paramétrage.
Annexe 4 :
Conception détaillée
Objectifs du chapitre
Nous arrivons maintenant à la phase ultime de modélisation avec UML. Après la modélisation
des besoins puis l’organisation de la structure de la solution, la conception détaillée consiste à
construire et à documenter précisément les classes, les interfaces, les tables et les méthodes
qui constituent le codage de la solution. Il s’agit de :
comprendre le rôle d’UML pour la conception détaillée ;
savoir appliquer le micro-processus utilisé pour bâtir une conception objet avec UML ;
apprendre à construire une solution pour : la couche de présentation, la couche
d’application et la couche métier distribuée dont l’EAI ;
savoir transformer un modèle objet en modèle relationnel.
Quand intervient la conception détaillée?
La conception détaillée est une activité qui s’inscrit dans l’organisation définie par la
conception préliminaire. Le modèle logique y est particulièrement important dans la mesure
où c’est en conception détaillée que l’on génère le plus gros volume d’informations. Il est
ainsi possible de confier les catégories à des personnes différentes, qui pourront travailler
indépendamment les unes des autres. La conception détaillée s’appuie donc sur les catégories
de conception organisées à la fois suivant les frameworks techniques et les regroupements
propres au métier. Les concepteurs construisent alors les classes, les vues d’IHM, les
interfaces, les tables et les méthodes qui vont donner une image « prête à coder » de la
solution.
En dernier lieu, il convient de préciser le contenu des sous-systèmes de manière à compléter la
configuration logicielle. Le niveau d’abstraction visé par l’étape de conception détaillée est la
conception des composants. Il s’agit d’avoir une idée la plus précise possible pour la
fabrication et l’assemblage des sous-systèmes de configuration logicielle.
La conception détaillée précède la phase de codage. À ce niveau, toutes les questions relatives
à l’agencement et aux détails de la solution doivent être modélisées. Ainsi, les interrogations
restantes concernent exclusivement la bonne utilisation des langages et des outils de
développement.
Annexes 4
inconnues de Java. Concevoir les classes consiste tout d’abord à expliciter comment ces
concepts devront être traduits dans le code.
Concevoir les classes, c’est aussi en introduire de nouvelles soit pour prendre en charge des
responsabilités purement techniques, soit pour décharger une classe d’analyse de certains de
ces aspects techniques. Les liens qui rattachent ces classes entre elles doivent le plus souvent
correspondre à des designpatterns. On trouvera à terme des classes comme des « fabriques »,
des« archiveurs », des « traceurs », des « vérificateurs de cohérence », etc.
Concevoir les classes, c’est enfin redistribuer les messages et les événements du modèle
dynamique sur les différentes couches de conception – nous verrons notamment comment
réaliser la conception orientée objet des messages identifiés dans les interfaces EAI. Il est
probable en effet que ces concepts vus de manière abstraite par l’analyste ne correspondent
plus aux principes de conception. Pour les systèmes 3-tiers, nous pensons plus
particulièrement à la redistribution des échanges entre les couches métier et application. Ces
échanges s’appuyant sur les capacités d’un réseau physique doivent faire l’objet
d’optimisations. Dans cette optique, il convient que les diagrammes d’états soient retravaillés
au niveau de la conception. [UMLBOOK]
Annexe 5
Schéma Relationnel : Gestion de factures
Annexes 5