WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Etude et mise en place d'un système informatisé de transfert d'argent inter-agences COMECI

( Télécharger le fichier original )
par Cédric DJEUTCHEU
Université de Dschang-ISMA - Licence Professionnelle 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

2. Etude technique du système à mettre en place

Le choix de la méthode conceptuelle ayant été effectué, nous allons dans cette phase de l'étude faire une comparaison des solutions techniques pour la mise en place du système de transfert. Cela nous conduit à décomposer l'analyse et la comparaison des solutions techniques possibles en termes de :

§ architectures fonctionnelle et matérielle du système ;

§ technologies et outils de développement de l'application de gestion de transferts ;

§ systèmes de gestion de base de données ;

§ plates formes d'exploitation serveur du système ;

§ niveaux de sécurisation du système

i) Etude comparative des architectures fonctionnelles et matérielles

Cette partie présente les performances techniques de solutions envisageables pour le système de transfert à mettre en place.

Deux scénarii d'architectures sont ici étudiés :

v Le premier scénario consiste à voir le système de transfert du point de vue d'une architecture centralisée dans laquelle les postes clients via lesquels les opérateurs d'agence pourront exploiter le serveur du système localisé au site central. Les postes clients sont des terminaux qui se connectent par modem au serveur appelé Mainframe.

v Le deuxième scénario considère l'ensemble du système de transfert comme une architecture fonctionnant selon le principe client-serveur. Des postes clients sont installés dans le réseau local de chaque agence et communiquent avec le serveur de transfert au siège par le réseau global. Dans cette architecture, les postes clients sont autonomes et participent activement à l'établissement de la communication avec le serveur.

Dans les deux cas, l'ensemble du système doit exploiter le réseau global de communications qui existe dans le fonctionnement de l'institution financière. Le détail de chacun des scénarii est présenté dans les sections qui suivent.

Premier scénario

Ø L'Architecture d'un système centralisé

Ce type d'architecture est appelée solution sur site central (Mainframe). Historiquement, les applications sur site central ont été les premières à proposer un accès multiutilisateurs. Dans ce contexte, les utilisateurs se connectent aux applications exécutées par le serveur central à l'aide des terminaux se comportant en esclaves. C'est le serveur central qui prend en charge l'intégralité des traitements y compris l'affichage qui est simplement déporté sur des terminaux.

Figure 2 : Schéma de l'architecture d'un système de Mainframe

Présentation

Traitements ou couche applicative

Données

Mainframe

.

Source: remi.leblond.free.fr/probatoire/node5

Tableau 5 : Descriptif des avantages et inconvénients liés au système de Mainframe

Avantages

Inconvénients

· Une facilité d'administration due au fait que toutes les couches applicatives sont centralisées uniquement sur un seul noeud (le serveur) ;

· L'installation des éléments matériels revient moins chère ;

· Une maintenance centralisée : toutes les ressources logicielles et les données étant mobilisées uniquement sur la machine centrale, un cas de maintenance applicative ne porte que sur elle.

· Une fragilité du serveur : le serveur est le seul élément actif de cette architecture. il est donc le seul à gérer les différents services.

· Des postes non autonomes : les postes clients se comportent en esclave par rapport au serveur. ils ne disposent d'aucun pouvoir de décision.

· Le coût excessif des logiciels sur mainframe.

Source : www.interscansys.com

Cette architecture est techniquement faisable, mais essayons de voir si l'on ne peut utiliser un autre type d'architecture un peu plus évolué dans le temps par rapport au système qui sera déployé dans le futur.

Deuxième scénario

Ø L'architecture d'un système Client-serveur :

Dans cet environnement, des machines clientes contactent un serveur, une machine généralement très puissante en termes de capacités d'entrée-sortie, qui leur fournit des services divers. Ce modèle met en oeuvre une conversation entre deux programmes (un programme serveur et un programme client) que l'on peut opposer à l'échange figé « maître-esclave » de l'architecture centralisée.

Dans cette architecture, les machines clientes gèrent l'interface utilisateur, la machine serveur gère les données, le réseau gère le transport des messages. Nous utilisons pour cette illustration un schéma générique pour représenter cette architecture.

Figure 3 : Schéma de l'architecture d'un système Client-Serveur 

Client

Client

Serveur

Requêtes

Requêtes

Réponses

Réponses

Source : remi.leblond.free.fr/probatoire/node5

Tableau 6 : Tableau descriptif des avantages et des inconvénients liés à ce scénario

Avantages

Inconvénients

· Une bonne sécurité : car le nombre de points d'entrée permettant l'accès aux données est moins important. aucune donnée n'est stockée sur le poste client

· Un réseau évolutif : grâce à cette architecture, on peut supprimer ou rajouter des postes clients sans perturber le fonctionnement du réseau et sans modifications majeures

· Offre une facilité d'intégration des ressources existantes et réduit le coût de déploiement des systèmes.

· Permet de répartir les traitements sur différents processeurs et minimiser le trafic sur les réseaux de communication

· Un maillon faible : le serveur est le seul maillon faible de ces systèmes, étant donné que tout le réseau est architecturé autour de lui.

· Les risques sont croissants dûs au fait que les postes clients du système peuvent être facilement infectés par des virus.

Source: www.interscansys.com

Au regard des avantages et inconvénients des deux scénarii présentés, nous retenons le second scénario (celui d'une architecture client-serveur) pour la mise en oeuvre du système de transfert. Cette solution est techniquement performante et engendre des coûts de déploiement relativement faibles. C'est une solution qui intègre au maximum l'environnement existant (matériels et logiciels) en gardant à vue les aspects liés à la performance technique.

De façon générale , ce choix offre des avantages assez intéressants et nous permettra d'atteindre raisonnablement les objectifs que nous nous sommes fixés dès le début du projet , dont l'élément principal est la centralisation des traitements sur les données autour d'un serveur basé au siège social de la banque au vu du caractère temps réel des tâches du système.

Trois types d'applications client-serveur existent. Ce sont :

Tableau 7 : Tableau des différents types d'application d'une architecture client-serveur

1er Type : Architecture un tiers

Concept

Elle constitue la première variante qui consistait en un client gérant uniquement la couche présentation et un serveur réalisant l'ensemble des traitements applicatifs

Avantages

· Conception et mise en un oeuvre

· Richesse de l'ergonomie des applications mises en oeuvre

· Adapté pour répondre aux besoins d'un utilisateur isolé

Limites

· Plusieurs utilisateurs se partagent des fichiers de données stockés sur un serveur commun ; la gestion des conflits d'accès aux données doit être prise en charge par chaque programme de façon indépendante, ce qui n'est pas toujours évident.

· Lors de l'exécution d'une requête, l'intégralité des données nécessaires doit transiter sur le réseau et on arrive à saturer ce dernier.

· La cohabitation de plusieurs moteurs de base de données indépendants manipulant les mêmes données peut devenir instable. ces conflits peuvent affecter l'intégrité des données.

· Il est difficile d'assurer la confidentialité des données

2nd Type : Architecture client- serveur deux tiers

Concept

Dans une architecture deux tiers, la fonction de présentation (gestion de l'affichage) est à la charge du client exclusivement. le calcul est réparti entre le client et le serveur. l'application cliente est généralement spécifique au serveur. de plus la gestion des données est exclusivement à la charge du serveur.

Avantages

· Elle permet l'utilisation d'une interface utilisateur riche

· Elle permet l'appropriation des applications par l'utilisateur

Limites

· La relation étroite qui existe entre le programme client et l'organisation de la partie serveur complique les évolutions de cette dernière. Cela est un élément significatif à prendre en compte dans le choix d'une architecture 2-tiers.

· On ne peut pas soulager la charge du poste client, qui supporte la grande majorité des traitements applicatifs, une modification de l'application ou de la structure de la base de données nécessite un redéploiement sur les postes clients. Cet aspect fait que le client dans cette variante est dit « lourd ».

· la difficulté d'administrer les postes clients

· le déploiement est coûteux et très difficile à réaliser à grande échelle.

3ème Type : Architecture client-serveur Trois tiers

Concept

Dans un environnement client-serveur trois tiers, on a : le client « dit client léger», un serveur d'application (appelé aussi middleware) et un serveur de données tous distincts.

Cette architecture fonctionne selon trois niveaux :

· Premier niveau : l'affichage et les traitements locaux (contrôles de saisie, mise en forme des données,...) sont pris en charge sur le poste client.

· Deuxième niveau : les traitements applicatifs globaux sont pris en charge par le service applicatif du serveur.

· Troisième niveau : les services de base de données sont prix en charge par un SGBD (voir serveur de base de données).

Avantages

· Les applications serveurs sont délocalisées, c'est-à-dire que chaque serveur est spécialisé dans sa tâche.

· Le poste client ne supporte plus l'ensemble des traitements, il est moins sollicité et peut être moins évolué, donc moins coûteux.

· La fiabilité et les performances de certains traitements se trouvent améliorées par leur centralisation, il est relativement simple de faire face à une forte montée en charge en renforçant le service applicatif

· Une plus grande sécurité : compte tenu du fait que l'on peut définir la sécurité pour chaque service.

· De bonnes performances : due au fait que les tâches sont partagées entre plusieurs serveurs.

Limites

· Le serveur se trouve souvent fortement sollicité et il est difficile de répartir la charge entre client et serveur.

· Les solutions mises en oeuvre sont relativement complexes à maintenir et la gestion des sessions compliquée

· Les contraintes semblent inversées par rapport à celles rencontrées avec les architectures deux tiers : le client est soulagé, mais le serveur est fortement sollicité.

Source: www.interscansys.com

Cette analyse des différentes variantes que peut prendre une architecture client-serveur, nous a permis d'avoir un regard critique en vue de faire un choix objectif et adapté en tenant compte des avantages et des limites étudiés. Notre choix porte sur le Client-serveur trois tiers car elle est techniquement plus performante que les variantes 1-tiers et 2-tiers. De plus, elle dispose d'un nombre assez importants de solutions standards dont la mise en oeuvre est facile.

Notre choix se justifie également, par le fait que cette variante d'architecture est non seulement plus récente mais de plus, elle offre une grande sécurité des services du système.

Rappelons que ce choix nous permettra de mettre en place un système de transfert disposant d'un serveur de base de données d'une part, et d'un serveur d'applications d'autre part, cela garantie une plus grande souplesse dans la disponibilité des composants logiciels du système.

Les postes clients sont pourvus d'un programme client (navigateur) universel et résolvent ainsi les problèmes de déploiement et de gestion de versions des applications clientes sur ces postes. Les architectures client-serveur à 3 niveaux, autorisent une montée en charge du système au fur et à mesure de la croissance du nombre d'utilisateurs par une augmentation du nombre de machines serveurs.

ii) Description des technologies de développement

Nous allons orienter cette analyse en tenant compte de deux approches qui sont : la technologie Web (dont la mise en oeuvre est rapide et moins coûteuse) et la technologie classique avec un langage de quatrième génération (plus complexe, plus lente en réalisation et plus onéreuse en terme de développement et de matériel d'exploitation).

Tableau 8 : La technologie classique (solution avec un langage de quatrième génération ou troisième génération)

Langages de développement

Description

C

Ce langage est bien adapté pour l'écriture des modules de gestion des sockets réseaux et permet des programmes très peu longs. Cependant, le langage C reste un langage assez compliqué

Delphi

Il permet le développement de haute productivité dans la construction d'applications distribuées multi-niveaux

Visual C++

Il permet le développement rapide des interfaces utilisateurs conviviales et la création des modules, DLL, et contrôles ActiveX. Offre des techniques de conception des applications multitâches spécifiques à la plateforme Microsoft

Source : www.developpez.com

L'un des problèmes que l'on rencontre dans le développement d'applications réseaux avec ces langages est celui lié à la distribution des applications clientes. Cela nécessite le développement d'une application cliente par plate-forme. C'est-à-dire que si les postes travail qui devront les héberger ont des plates-formes différentes (Microsoft, Mac ou Linux), l'application cliente devra exister en plusieurs versions (version Microsoft, Mac et Linux).

La Technologie Web

Les technologies Web apportent des solutions aux problèmes posés par les langages de 3ème ou de 4ème génération. Par exemple, l'utilisation d'un navigateur (browser) comme client, fonctionnant sur toutes les plates-formes (Windows, Mac, Unix) et capable de télécharger dynamiquement des documents HTML, simplifie fortement le développement et fait disparaître le problème de distribution des applications clientes (ou du moins le simplifie dans des proportions importantes). Ces clients peuvent interroger une base de données sur un serveur web distant.

Nous rappelons qu'avec une bonne politique sécuritaire à plusieurs niveaux pour le système de transfert, la technologie web est une solution rentable et efficace. Cette technologie est étroitement liée au client-serveur trois tiers.

Tableau 9 : Descriptif de quelques langages et outils adaptés à la technologie Web

Langages /Outils

Description

Java

Java est un langage de développement orienté objet. il permet entre autre de développer de petites applications appelées « Applet », pouvant être intégrées à des pages HTML pour enrichir le contenu.

PHP

c'est avant tout un langage de script qui s'exécute coté serveur. Il reste une solution qui conviendra pour interfacer les pages web avec une base de données.

PHP offre d'énormes avantages qui sont :

- La gratuité et la disponibilité du code source

- La simplicité d'écriture du script

- La possibilité d'inclure les scripts au sein des pages HTML

HTML / DHTML

la présentation des interfaces sous format HTML ou DHTML offre de grands avantages par rapport à la facilité de manipulation de données.

Avec les pages HTML, le système pourra fonctionner sur n'importe qu'elle plate-forme disposant d'un navigateur Internet.

Adobe Dreamweaver

Editeur très poussé de pages Web avec de nombreuses fonctionnalités

Source : www.developpez.com

A l'issue de cette étude, nous retenons une Technologie Web au vu des avantages qu'elle offre, pour le développement du système informatisé de transfert.

iii) Comparaison de quelques systèmes de gestion de base de données

A cette étape de l'analyse comparative des solutions, il est question à ce niveau de faire une étude sur les différents serveurs de base de données pour la gestion des données du système. Derrière toute application informatique appelée à manipuler des informations, il faut un système dédié à la gestion des différentes bases de données. Pour guider objectivement notre choix, nous orientons cette étude sur quelques SGBD qui sont :

Tableau 10 : Descriptif de quelques Systèmes de Gestion de Base de Données

SGBD

Description

MySQL

MySQL est un serveur de base de données SQL multi-utilisateurs et multi-threads fonctionnant sous Linux et Windows.il est simple à mettre en oeuvre et offre des performances du point de vue des temps de réponse et de stockage de données volumineuses. ses principaux atouts sont :

· La rapidité et la robustesse

· La facilité d'utilisation et la gratuité

Informix

· Système de gestion de bases de données relationnelles, Informix est basé sur le principe du multi-threading, parallélisant les traitements d'accès aux données

· Il propose un moteur d'un très haut niveau technologique basé sur une architecture identique quelque soit la plateforme sur laquelle il évolue

PostgreSQL

Il inclut des types graphiques, des vues et dispose de véritables services transactionnels

Oracle

Oracle est l'un des plus puissants SGBD du monde informatique

· Il a cette faculté de gestion d'un gros volume de données

· Il est multi-utilisateurs et multi- plateformes

· Néanmoins, Oracle coûte assez cher

Source : www.developpez.com

Pour la gestion de la base de données du système de transfert, nous retenons « MySQL » car il est assez robuste et offre des performances techniques intéressantes. Il est efficace dans la gestion des bases de données et offre un bon niveau de sécurisation des données. En effet, une bonne configuration du serveur de base de données garantit efficacement la sécurité des données du système.

iv) Etude détaillée des solutions retenues

Nous allons maintenant nous pencher de manière détaillée sur les solutions retenues pour la mise en place du système de transfert d'argent.

La solution globale pour le système de transfert est celle d'une conception orientée objet et d'une technologie de programmation réseau basée sur le principe de l'internet.

Pour cette étude détaillée notons que divers domaines seront explorés à savoir entre autres :

· La conception du modèle global du système à réaliser

· Les aspects techniques du système

· La gestion des problèmes de sécurité

· L'interconnexion réseau

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984