Accueil
 > Rapports de TEC > Blogue de TEC > Architecture Evolution: des grands systèmes vers une arch...

Architecture Evolution: des grands systèmes vers une architecture orientée services

Écrit par : Predrag Jakovljevic
Date de publication : juillet 18 2013

Software l'architecture peut être défini simplement comme le modèle ou le projet d'un progiciel application ou. Ce plan décrit la disposition du déploiement de l'application, y compris le partitionnement sa logique métier entre les serveurs (ordinateurs). L'architecture intègre donc protocoles et interfaces pour interagir avec d'autres logiciels ou d'ordinateurs, et tout cela doit se porter garant pour une flexibilité et une évolutivité future. Inversement, tout un programme autonome, autonome a une certaine logique du programme, ce n'est certainement pas ce que l'architecture du logiciel. Cela ne veut pas dire que les programmes autonomes n'ont pas besoin de conception, mais plutôt que le but de cet article, l'architecture vient quand on parle de «systèmes de systèmes». Au cours des dernières décennies, l'architecture des applications d'entreprise a certainement connu plusieurs vagues d'étapes de l'évolution et des améliorations, de sorte que même notre article du début des années 2000 semble maintenant tout à fait archaïque (voir Essential ERP Sa technologie Reprise en sous ).

la première partie de la série architecture Evolution:. des grands systèmes vers une architecture orientée services

Le rythme rapide du commerce mondial met aujourd'hui un ensemble unique de défis sur toutes les entreprises qui cherchent à améliorer et à automatiser leurs opérations, et dans le même temps, les oblige à demeurer prêts à s'adapter rapidement aux changements. Avec une concurrence accrue, la mondialisation et fusion et d'acquisition activité (M & A), les applications d'entreprise les acheteurs se rendent compte que l'architecture du produit joue un rôle clé dans la rapidité avec laquelle les fournisseurs (et leurs partenaires, et même les utilisateurs eux-mêmes) peuvent mettre en œuvre , maintenir, développer ou adapter et d'intégrer leurs produits. l'architecture du produit va faire beaucoup plus que simplement fournir la fonctionnalité technique, l'interface utilisateur de (UI) et de la présentation, et le support de plate-forme. Il va déterminer si un produit va durer, si elle va évoluer pour un grand nombre d'utilisateurs, et si elle sera en mesure d'intégrer les nouvelles technologies, le tout afin d'accueillir de plus en plus l'évolution des besoins des utilisateurs.

étapes de l'évolution d'applications d'entreprise

architecture   Du point de vue de l'architecture, les premiers paquets d'applications d'entreprise, principalement dans les années 1980, ont été écrits dans une unité centrale ou de l'environnement de l'ordinateur hôte. Mainframe se réfère à un très grand et coûteux ordinateur capable de supporter des centaines, voire des milliers d'utilisateurs simultanément. Dans la hiérarchie qui commence par un microprocesseur simples (comme dans les montres ou des calculatrices, par exemple) au fond et se déplace aux supercalculateurs au sommet, mainframes sont juste en dessous de supercalculateurs. À certains égards, mainframes sont encore plus puissants que les supercalculateurs parce qu'ils soutiennent des programmes plus simultanés, mais supercalculateurs peuvent exécuter un programme unique plus vite qu'un mainframe. La distinction entre les petites mainframes et mini-ordinateurs est vague, en fonction vraiment sur la façon dont le constructeur souhaite commercialiser ses machines.

Dans cette configuration, l'ordinateur central (ou un mini-ordinateur extrêmement puissant) représente le cerveau, tandis que les terminaux dits «muets» permettent à l'utilisateur seulement d'accéder aux données d'entrée. En d'autres termes, depuis un terminal passif est une simple combinaison d'un clavier et d'un terminal, il ne peut pas traiter l'information elle-même. La première ère a donc été caractérisée par le traitement immédiat de l'information par l'ordinateur central, mais les applications ministérielles distinctes, silo serait résider sur des plateformes mainframe séparés. Toute intégration entre, disons achats et des comptes créditeurs applications, signifierait donc longs transferts en lots pour ne pas mentionner que seuls les utilisateurs des systèmes de étaient une technologie de l'information quelques privilégiés (si ce n'est pas courageux) (IT) le personnel ce serait passer des jours ou des semaines pour produire quelque rapport significatif (généralement en retard et après le fait).

Comme les ordinateurs personnels (PC) est devenu assez puissant pour prendre quelques-unes des tâches de traitement qui sert à être réalisé uniquement par ordinateurs centraux ou des mini-ordinateurs, à la fin des années 1980, le client / ère du serveur est né. Lorsque les ordinateurs sont combinées avec des gros ordinateurs-soit mainframes, mini-ordinateurs, ou PC à base de serveurs le système est considéré comme une plate-forme client / serveur, où le surnom de client / serveur signifie que le traitement du travail est divisé entre (au moins) deux ordinateurs. Le client est l'ordinateur sur le bureau (la machine de l'utilisateur), qui contient l'interface utilisateur (UI) et effectue affichage (comme le Microsoft de Windows ou Mac interface utilisateur graphique [GUI]) et certaines fonctions logiques et de traitement des demandes, alors que le serveur est l'ordinateur plus central qui contient les programmes d'application et base de données.

En d'autres termes, client / serveur désigne le partage d'une application dans les tâches effectuées sur différents ordinateurs, connectés au réseau, au moins un d'entre eux est un poste de travail programmable comme un PC. Le client est donc un programme de logiciel qui est utilisé pour communiquer et obtenir des données à partir d'un programme de serveur sur un autre ordinateur. Chaque programme client est conçu pour fonctionner avec un ou plusieurs types spécifiques de programmes serveur, et chaque serveur nécessite un type particulier de client. Comme le client est un dispositif informatique de bureau (comme un PC) ou d'un programme "servi" par un autre dispositif de calcul en réseau (en d'autres termes, le «serveur»), un navigateur Web serait un type de client aussi.

Comme pour le serveur, il s'agit d'un progiciel ou d'un logiciel qui fournit un type de service spécifique au logiciel client fonctionnant sur d'autres ordinateurs. Le terme serveur peut se référer à un type particulier de logiciel (une application serveur Web) ou à la machine physique sur lequel le logiciel est en marche. La principale différence entre le client et le serveur est que le serveur répond aux demandes des différents clients, tandis que les clients habituellement initier les demandes d'information à partir d'un seul serveur. Une machine serveur unique peut avoir plusieurs différents logiciels de serveurs fonctionnant sur elle, fournissant ainsi de nombreux serveurs différents (et services) aux clients sur le réseau. Par exemple, les serveurs de fichiers, qui varient en taille de PC aux ordinateurs centraux, de stocker des données et des programmes, et de partager ces fichiers avec les clients, dans ce cas, les fonctions de serveur comme un lecteur de disque à distance pour les clients.

Pour rappel, client / serveur est une architecture dans laquelle le PC de l'utilisateur (le client) est la machine la demande, et le serveur est la machine la fourniture, les deux sont reliés par un locale réseau (LAN) ou réseau étendu (WAN). Tout au long des années 1980 et au début des années 1990, client / serveur était à la mode chaud que les applications ont été migrées de mini-ordinateurs centralisés et gros aux réseaux d'ordinateurs de bureau. Pour être un environnement client / serveur vrai, le client et le serveur doivent partager dans le traitement des affaires. Par exemple, un serveur de base de données traite les demandes en provenance du client pour consulter ou mettre à jour les données dans la base de données, dans ce cas, le serveur effectue une recherche à son extrémité pour répondre à la requête reçue d'un client. Il n'agit pas comme un disque dur à distance, mais est plutôt participe pleinement à l'opération.

Client / serveur architecture class="articleText"> (CPU)-d'œuvre et est impossible à effectuer sur un ordinateur central, et donc il est devenu nécessaire de décharger que le traitement à un PC. Deuxièmement, la vitesse globale du système est augmentée en raison de la possibilité d'utiliser également les bases de données distribuées, alors que les coûts de matériel sont nettement inférieurs par rapport à l'aide d'un système mainframe.

début de l'ère se caractérise aussi par des possibilités de rapports immédiats, étant donné qu'une planification des ressources d'entreprise intégré (ERP) pourrait maintenant être sur une seule base de données et système d'exploitation (OS) plate-forme, et les utilisateurs (qui sont maintenant plus nombreux et peut être trouvé dans certaines fonctions au niveau institutionnel) n'ont donc pas courir pour le département IT pour une production de rapport spécifique, maintes et maintes fois. Le passage de mainframes aux environnements client / serveur s'est produit parce que les mainframes ont été perçues comme des obstacles au processus de réingénierie (BPR), qui était donc en vogue dans les années 1990. Trop cher et difficile à utiliser par une population plus large d'utilisateurs, mainframes semblait être un obstacle pour avoir une entreprise souple et agile, qui la combinaison ERP et BPR vanté à l'époque.

Client / Serveur variantes

Les principales stratégies de mise en œuvre client / serveur ont été à deux vitesses, trois niveaux ou n -tier, et Internet ou intranet -fondé. Le concept de niveaux de fournit un moyen pratique de regrouper les différentes classes de l'architecture.

Dans une approche à deux niveaux, la machine cliente se connecte à une machine à un seul serveur, et le serveur contrôle habituellement la base de données centrale (en d'autres termes, les données sont gérées par une base de données dédiée à l'amélioration multi-utilisateur performance), le client contrôle de l'interface utilisateur et la logique de l'application peut être soit le client ou le serveur. Dessins à deux niveaux habituellement trouver la logique métier avec le serveur de données pour centraliser le contrôle et de gestion, alors que le concepteur décide combien de la logique de traitement doit être mis en œuvre au niveau du client et combien sur le serveur. Si l'essentiel du travail se fait sur le PC client, il est appelé un client lourd demande, l'ordinateur d'un utilisateur qui contient ses propres applications exécutées sur la machine. De nouveaux programmes sont installés sur le disque dur local, qui est la manière typique des gens utilisent leurs ordinateurs. Inversement, un client léger demande signifie que la plupart des travaux sont effectués sur le serveur. En d'autres termes, l'ordinateur de l'utilisateur n'effectue pas de traitement de la demande, mais fonctionne comme une entrée / sortie (I / O) terminal, le traitement seul clavier et de la souris et la sortie de l'écran, et tout le traitement est fait dans le serveur. Ce client de traitement mince est généralement réalisée en utilisant des technologies telles que Microsoft Windows Terminal Server , Citrix Presentation Server (anciennement Citrix MetaFrame ), ou open source X Window System . Les clients légers sont logiquement accompagnés par des «serveurs gras» qui effectuent la plupart ou la totalité du traitement de la demande, avec peu ou pas exécuté dans le client.

Un déploiement à trois niveaux ajoute un troisième programme pour le mélange, en plus d'une base de données (dans lequel le serveur stocke ses données), de sorte que la logique métier peut être divisée sur de nombreux ordinateurs pour améliorer la fiabilité et répartir la charge de traitement. Dans une approche à trois niveaux, la machine cliente contrôle de l'interface utilisateur et une logique de traitement, un serveur d'application (une notion plus détaillée de ce sera bientôt expliqué) gère le traitement des demandes de l'entreprise, et un ou plusieurs serveurs de base de la gestion de la base de données d'entreprise . Cette approche d'une interaction à trois voies dans un environnement client / serveur, dans laquelle l'interface utilisateur est stocké dans le client, la majeure partie de la logique d'application de gestion est stocké dans un ou plusieurs serveurs d'application, et les données sont stockées dans un serveur de base de données , la gestion des aides de communiqués de version et les règles métier de l'entreprise. Applications d'entreprise leaders les plus courantes sont construits avec une architecture à trois niveaux.

à trois niveaux est l'architecture n-tier fondamentale qui divise une nouvelle fois la charge de traitement pour les grosses applications en distribuant des morceaux du programme sur plusieurs serveurs. Par définition, n applications rang peuvent être divisées en modules sur plusieurs ordinateurs. Dans le terme n-tier , n implique un certain nombre de niveaux distincts utilisés dans l'architecture de l'utilisateur. Une fois les modules sont mis sur des ordinateurs différents, chaque ordinateur et le module peuvent être optimisés pour une utilisation spécifique, comme base de données, logique métier, ou UI ou de présentation. Les ordinateurs en réseau peuvent alors partager des composants avec d'autres ordinateurs et applications à éliminer la redondance et plus d'optimiser les performances. Dans certains n Les scénarios rang, les modules peuvent être déplacés afin d'améliorer les performances du réseau pour les sites distants sans compromettre l'intégrité de l'application. N architecture de couche Application fournit un modèle pour les développeurs de créer une application souple et réutilisable. En brisant une application en plusieurs niveaux, les développeurs n'ont qu'à modifier ou ajouter une couche spécifique, plutôt que de réécrire toute l'application, si elles décident de changer technologies ou à grande échelle.

N Architecture niveaux permet un nombre pratiquement illimité de programmes afin de fonctionner simultanément, envoyer des informations à un autre, utiliser différents protocoles pour communiquer et interagir simultanément. Cela permet une application beaucoup plus puissante et évolutive, offrant de nombreux services différents pour différents clients. Il contient également un certain nombre de réserves graves qui créent des problèmes de complexité dans la conception, la mise en œuvre, les performances et l'équilibrage de charge. De nombreuses technologies existent qui ajoutent à cette complexité, y compris Request Broker Architecture Common Object (CORBA), (EJB), modèle Enterprise JavaBeans distribué commun objet (DCOM), et distance invocation de méthode / appel de procédure distante (RMI / RPC), qui sont tous des prédécesseurs de l'architecture orientée services (SOA). En règle générale, si l'on utilise une architecture distribuée-objet permet à un client d'écrire des programmes qui sont plus rapides, plus grand, plus puissant et plus robuste, alors il vaut vraiment l'effort malgré le défi inévitable de commande d'un tel environnement dynamique avec de nombreuses pièces mobiles.

Comme les clients ont été de plus en plus conscience que l'architecture joue un rôle clé dans la rapidité avec laquelle les fournisseurs peuvent mettre en œuvre, maintenir, développer ou adapter et à intégrer leurs produits avec les modules d'autres fabricants, de plus en plus d'applications d'entreprise produits développés ou améliorés au cours des dernières années incorporer orientée objet (OO) ou des environnements de développement par composants, ainsi que n niveaux architectures.

 
comments powered by Disqus

Recherches récentes :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Others

©2014 Technology Evaluation Centers Inc. All rights reserved.