next up previous contents
suivant: Conception en UML et monter: Intranet en architecture trois-tiers précédent: Choix d'une architecture trois-tiers   Table des matières

Sous-sections

Réalisation technique de l'architecture

Nous avons donc vu ce qu'est une architecture trois-tiers ainsi que ses avantages. Nous allons maintenant présenter les choix techniques effectués pour la réalisation de cette architecture. En fait, il existe actuellement plusieurs solutions permettant ce type d'architecture. Ces technologies possèdent chacune leurs avantages et leurs inconvénients. On peut ainsi construire un système multi-tiers basé uniquement sur des technologies Microsoft comme ODBC, ASP, SQL Server... Ces technologies sont relativement efficaces mais ont pour principal inconvénient de n'être pas du tout portables. Kallisto utilise également des technologies spécifiques à Oracle basées sur Oracle Application Server, le serveur applicatif d'Oracle. Cette technologie est particulièrement efficace car elle permet de n'utiliser que des API natives à Oracle. Toutefois les systèmes développés avec ces outils ne pourront pas fonctionner avec autre chose. Cet inconvénient n'est pas obligatoirement important puisqu' Oracle fonctionne tout de même sur un grand nombre de systèmes (la plupart des UNIX et Windows). La solution choisie ici est basée sur le langage JAVA. Elle utilise une base de données Oracle, un serveur applicatif compatible J2EE nommé WebLogic, et un navigateur web comme client. Le JAVA étant un langage 100% portable, le développement du système ne dépendra absolument pas de la machine sur laquelle il fonctionnera. De plus WebLogic suivant les dernières spécifications de J2EE, les développements réalisés pourront fonctionner sur de nombreux autres serveurs applicatifs.

Oracle

Afin de stocker les données il fallait également une base de données. La société Kallisto étant spécialisée dans les bases Oracle, ce choix s'imposait. J'ai d'ailleurs pu profiter d'une formation interne dispensée la semaine de mon arrivée par un expert Oracle (10 ans d'expérience). Oracle est un système de gestion de base de données relationnelle très connu. Il est réputé pour être performant, fiable,... Oracle est en fait la référence en matière de base de données relationnelle. Les possibilités d'administration sont importantes et permettent de gérer des bases de tailles importantes (ce qui n'est pas primordial dans notre cas).


Java 2 Enterprise Edition (J2EE)

Le langage JAVA est un langage objet qui présente de nombreux avantages. Le premier d'entre eux est de supporter les notions de la programmation orienté-objet (encapsulation, héritage, classe, objet). Il permet une programmation relativement simple sans se préocuper de notions complexes présentes en C++ (indirection de pointeurs, fonctions virtuelles,...). Mais ces intérêts sont relativement mineurs comparés à l'apport que représente les interfaces de programmation standardisés proposées par Sun. Ces interfaces, couplées à la compilation en un ByteCode éxecutable sur une machine virtuelle, donnent aux applications un niveau de portabilité maximale. Dans notre cas nous sommes intéressés par le développement d'une application Intranet utilisant des accès à une base de données. Il existe en JAVA un grand nombre d'API destinées à réaliser ce type de programmation et regroupées sous le terme J2EE (Java 2 Enterprise Edition). Ces API forment ce qu'on nomme un Framework. Il s'agit de proposer des interfaces guidant le développeur vers une architecture prédéterminée. On profite donc à la fois d'un ensemble d'outils indispensables au développement mais aussi d'un guide pour l'élaboration d'une méthode de développement. Ce guide reste suffisamment flexible pour nous permettre d'adapter la structure de notre application à nos besoins. L'objectif majeur de J2EE est la réalisation d'applications en architecture distribuée. Les technologies JAVA intégrées dans cette plate-forme sont:


BEA WebLogic Server

Afin de supporter les différentes technologies JAVA utilisées, il était nécessaire d'utiliser un serveur spécifique. En effet le SDK J2EE fournit par SUN ne permet pas une utilisation commerciale mais uniquement d'effectuer le prototypage du système. Il convient donc d'utiliser un serveur d'application commercial de notre choix. Plusieurs serveurs sont disponibles sur le marché gérant tout ou partie de l'interface J2EE (ils gèrent tous au minimum les servlets et les JSP): Orion (Evermind Data), JRun (Allaire), tomcat (Apache), WebLogic(BEA), WebSphere (IBM),... Dans le cadre d'un partenariat avec BEA le serveur WebLogic a été naturellement choisi. Ce serveur gère intégralement l'interface Java 2 Entreprise Edition (J2EE). Il dispose d'une interface d'administration par HTTP (applet JAVA + pages DHTML). Il permet un déploiement à chaud des différents éléments de l'application (pages JSP, fichiers .class). Il suffit donc de déposer au bon endroit les fichiers en question pour que le serveur prenne en compte les modifications et les répercutent sur les demande des clients. Cette possibilité facilite énormément le développement. En effet sans cette possibilité il serait nécessaire d'arrêter le serveur après chaque modification et donc pour chaque test du code.

Le navigateur web comme client universel

L'avènement de l'Internet a permis ces dernières années la diffusion massive de navigateurs supportant les technologies qui forment le fondement de l'Internet. Il s'agit tout d'abord du protocole http pour la partie réseau. Ce protocole fonctionne par l'utilisation de requêtes auxquelles le serveur répond par l'envoi d'une page qui classiquement est une page HTML. Le langage HTML est donc la deuxième pierre de la programmation coté client. Ce langage permet de gérer la présentation sur le client. Il donne également à l'utilisateur la possibilité de transmettre des informations au serveur à utilisant des formulaires. Ce langage est toutefois insuffisant car il ne permet aucune vérification sur la validité des données transmises par l'utilisateur. Pour gérer ce problème, deux langages sont à notre disposition: le JavaScript et le VBScript. Nous utilisons le JavaScript afin de rester cohérent avec le développement java effectué coté serveur. Ce langage nous permettra par exemple de vérifier la syntaxe d'une date entrée dans un champ texte. Ces trois technologies sont suffisantes pour permettre l'élaboration du système coté client. Le code nécessaire au système client est diffusé par le serveur web à chaque requête du client. Il n'est alors plus nécessaire de déployer d'applications sur le poste client. Le navigateur web fait donc office de client universel grâce à sa capacité à traiter le HTML, le Java script et le protocole http.
next up previous contents
suivant: Conception en UML et monter: Intranet en architecture trois-tiers précédent: Choix d'une architecture trois-tiers   Table des matières
cedric Babault 2002-01-20