Polytech'Marseille 1 er Semestre 2013 Département Informatique, Réseaux & Multimédia 4ème année Mohamed Quafafou (mohamed.quafafou@univ-amu.fr) Système d'information C O N C E P T I O N - A R C H I T E C T U R E D E S I G N 1. Conception En général, les couches peuvent être définies comme suit: Présentation : Tout système d information nécessite de communiquer avec des entités externes qui peuvent être des utilisateurs finaux ou d autres ordinateurs. Une grande partie de ces communications impliquent la présentation d informations aux entités externes et l interaction avec elles. Cette tâche est réalisée par la couche de présentation qui peut être implémentée de différentes manières: par une interface utilisateur graphique ou par un module qui met en forme un ensemble de données selon une représentation spécifique. Dans le cas du Web, la couche de présentation peut être implémentée par une servlet Java qui fait la création de pages HTML (HyperText Markup Language). Logique d application : En général, les systèmes d information font le traitement de données avant de délivrer les résultats. Ce traitement utilise un programme qui implémente les opérations demandées par le client à travers la couche de présentation. La couche logique d application est responsable du traitement de données. Ces programmes représentant souvent les services fournis par le système d information. Gestion de ressources : Un système d information accède et gère un ensemble de données. Ces données peuvent résider dans une base de données, un système de fichier, ou tout autre type de dépôt. Une couche de gestion de ressources gère tous les dépôts d un système d information.
Figure La conception d un système d information peut être du type top-down ou bottom-up. La figure cidessus illustre les deux cas et met en évidence les relations entre les étapes et les couches. 2. Architecture 1-tier Les trois couches présentées précédemment sont des constructions conceptuelles qui séparent logiquement les fonctionnalités d un système d information. Sur le plan pratique, ces couches sont concrétisées par les tiers. Quatre types de systèmes d information basés sur la notion de tiers peuvent être distingués : 1-tier, 2-tiers, 3-tiers et 3-tiers thin client. L architecture 1-tier est la
plus ancienne et remonte aux années de gloire des mainframes. Dans ce cas, la gestion de ressources, la logique de l application et la présentation sont faits par un mainframe. La présentation est préparée dans le mainframe et visualisée sur un terminal passif (dumb terminal). 2-tier l architecture 2-tiers est apparue en même temps que les ordinateurs personnels (PC - Personal Computer). En fait, les PC et les stations de travail ont fourni la puissance de traitement nécessaire pour séparer la présentation de la logique de l application et de la gestion de ressources. Ainsi, la couche de présentation peut être traitée par les PC. Le déplacement de la couche de présentation vers le PC a deux avantages importants. D abord, la couche de présentation peut utiliser la puissance de traitement disponible dans les PC et, par conséquent, les ressources qu elle utilisait deviennent disponibles pour les couches de logique de l application et de gestion de ressources. Ensuite, ceci facilite la création de la présentation avec différents objectifs, sans augmenter la complexité du système. L architecture 2-tiers est devenue très populaire, en particulier pour les architectures client/serveur. Dans cette architecture, le client est responsable de la couche de présentation, et le serveur prend en charge la couche de logique de l application et de gestion de ressources. Les systèmes client/serveur ont représenté une évolution significative des systèmes informatiques. Comme les PC et les stations de travail sont devenus plus puissants (par exemple, CPU - Central Processing Unit plus rapides, plus d espace mémoire vive et disque dur, et écrans couleur), la couche de présentation a pu être de plus en plus sophistiquée. En conséquence, ces couches de présentation plus sophistiquées ont exigé plus de puissance de traitement (CPU plus puissantes) et de rapidité de communication (réseau plus rapide). Dans cette évolution, l appel de procédure à distance (RPC Remote Procedure Call) a été aussi un pas en avant.
3-tier Cependant, l architecture 3-tiers a créé des îlots d informations où un ensemble de clients pouvait communiquer avec leur serveur, mais il ne pouvait pas communiquer avec d autres serveurs. Ainsi, l intégration de serveurs est devenu un sujet courant dans l informatique, et une nouvelle architecture pour répondre à ces nouvelles exigences était nécessaire. Dans l architecture 2-tiers, la couche de présentation réside dans le client comme dans l architecture 2-tiers. La logique de l application réside dans le middle tier où se situe l intergiciel (middleware). Un intergiciel facilite et gère les interactions entre applications fonctionnant généralement sur des plates-formes hétérogènes. Nous pouvons citer comme exemple de intergiciels CORBA, Java RMI et DCOM. 3-tier avec client léger Une possibilité d utiliser les systèmes 3-tiers avec l Internet est présentée par la figure ci-dessus. Dans la littérature, cette variante de l architecture 3-tiers est connue sous le nom de 3-tiers thin client, parce que la présentation n est plus créée dans le client, mais par un serveur d application
Web dédié. Celui-ci génère la présentation en utilisant la création dynamique de pages HTML qui sont ensuite affichées par un navigateur Web. Nous pouvons citer comme exemples de technologies pour créer des pages Web dynamiques : Java Servlets, JSP (Java Server Pages), ASP.NET (Active Server Pages dotnet) et PHP (Pesonal Home Page). 2-tiers vs. 3-tiers Dans l architecture 2-tiers, les couches de la logique de l application et de la gestion de ressources sont situées au même niveau o Avantage: communication entre ces deux couches est efficace, o Inconvénient: coût du matériel nécessaire plus élevé car un serveur plus puissant doit être utilisé pour exécuter la logique de l application et de la gestion de ressources, ce qui implique alors un coût du matériel nécessaire plus élevé. Les systèmes 3-tiers ont introduit des concepts importants tels que les interfaces uniformes pour que la logique de l application puisse accéder à la couche de gestion de ressources, comme ODBC (Open DataBase Connectivity) et JDBC (Java DataBase Connectivity). Les architectures 3-tiers sont mieux exploitées quand ils travaillent pour intégrer différentes ressources.