Académique Documents
Professionnel Documents
Culture Documents
Dcembre 2006
Sommaire
Sommaire ................................................................................................................... 2 Introduction................................................................................................................. 3 I. Historique ................................................................................................................ 4 II. Quest-ce quun serveur d'application..................................................................... 4 III. Les besoins dun serveur dapplication.................................................................. 6 III.1. Architecture 1-Tier.6 III.2 Architecture 2-Tier..7 III.3 Architecture 3-Tier..8 III.4 Architecture multi-Tier8 IV. Architecture et fonction des serveurs d'application ............................................... 9 V. Les services des serveurs d'application ............................................................... 13 VI. Les avantages des serveurs d'application........................................................... 13 VII. Les types de serveurs d'application ................................................................... 14 VII.1Quelques serveurs dapplication Java14 VII.2 Dautres plates forme15 VIII. Les critres de choix dun serveur d'application ................................................ 16 X. Quand na-t-on pas besoin de serveur d'application ? ......................................... 17 X. Le march des fournisseurs de serveurs dapplication ........................................ 17 Conclusion................................................................................................................ 19 Rfrences ............................................................................................................... 20
Introduction
Avec l'volution des nouvelles technologies, les entreprises, pour la plus part, utilisent de plus en plus l'outil informatique, devenu presque indispensable. Quelques soit le domaine dactivit des entreprises, des applications informatiques appropries sont dveloppes, pour favoriser et amliorer toutes les tapes du processus mtier, allant de la production comptabilit. Ces applications deviennent elles aussi de plus en plus importantes, ncessitant beaucoup de ressources, et par consquent, des systmes plus puissants. Aujourdhui, ces applications sont centralises sur de gros systmes et accessibles partir des machines clientes. Ces gros systmes sont appels Serveur dapplication, et peuvent contenir plusieurs applications pour lentreprise. On peut galement avoir plusieurs serveurs dapplication au niveau de lentreprise.
I. Historique
Avant les annes 90, on a pens qu'un passage massif aux applications servies depuis une central tait probable, et que le PC d'ordinateur de bureau soit remplac par des ordinateurs rseaux, trs simple. Ce qui aurait t un retour lancien modle du calcul des annes 60, avec un puissant ordinateur central, trs couteux, accd par de multiples utilisateurs partir de simples terminaux non-intelligents. La diffrence maintenant serait l'utilisation rpandue de l'interface utilisateur graphique (GUI). Certains produits, tels que WinFrame de Citrix, sont devenus tout fait populaires, permettant au logiciel standard de Windows de tourner sur un serveur NT, et d'tre accd d'une grande varit de clients, y compris des plateformes non-Windows telles que Mac et Unix. Actuellement, la tendance est de fournir des applications par l'intermdiaire d'un navigateur ou de tout autre dispositif d'Internet.
Dvelopper un serveur implique de traiter beaucoup de questions compliques : Accs concurrents (simultanit) Permission d'accder toutes les bases de donnes possibles de production Gestion de connexion rseau 4
connexion base de donnes Interface de gestion quilibrage de charge Tolrance aux pannes Extensibilit de votre travail et performance
Figure 2- un serveur d'application dans un environnement de client/serveur 3-tiers fournissant un processus de traitement entre la machine de l'utilisateur et le systme de gestion de base de donnes (SGBD)
Un serveur d'application peut simplifier votre procd de dveloppement. Les serveurs d'application prennent habituellement soin de la plupart, sinon de toutes les questions techniques impliques, et permettent aux dveloppeurs de se concentrer sur la raison premire du projet. Ceci permet de budgter pour des systmes beaucoup plus grands et beaucoup plus utiles.
Une application qui met en application l'architecture 1-Tier suivantes : Un seul point d'chec Connectivit et interoprabilit limites Passage lchelle limit
a les limitations
Une application ayant une architecture 1-Tier est difficile amliorer et corriger des bugs. Pour les mises jour et la correction des bugs, l'application entire doit tre recompile et redistribue. De plus, pour permettre plusieurs utilisateurs d'employer une application, vous devez installer l'application, et la base de donnes utilise par cette application sur chaque ordinateur, car l'application est indpendante de la base de donnes et les bases de donnes ne sont pas synchronises travers les ordinateurs. Par consquent, un changement fait une base de donnes n'est pas reflt dans d'autres bases de donnes. On peut ainsi, avoir des donnes contradictoires dans les bases.
Les avantages de l'architecture deux niveaux sont : Partage de donnes : Car lensemble des donnes sont stock un seul endroit, au niveau du serveur, et est accessible tous utilisateurs. Passage lchelle : L'architecture deux niveaux augmente le passage lchelle par rapport l'architecture 1-Tier. L'architecture deux niveaux peut sadapter environ100 utilisateurs en permettant plusieurs clients de se connecter au serveur. Une mise jour simplifie : Si une modification doit tre apporte au programme, il est souvent suffisant de la dployer en un point unique : au niveau du serveur. Les limitations de l'architecture deux niveaux sont : Le trafic lev sur le rseau : De larges volumes de donnes sont transfrs sur le rseau entre le client et le serveur. Le dbit lev augmente la charge sur les ressources de rseau. Charge sur le serveur : Tous clients dans l'architecture deux niveaux accdent au serveur et ce augmente la charge l-dessus. La charge accrue sur le serveur rduit son excution.
L'architecture 3-Tier est utile dans un environnement distribu de serveur/client. La conception architecturale 3-Tier cache la complexit du traitement distribu de l'utilisateur. L'architecture 3-Tier fournit galement une excution, une flexibilit, un entretien, une rutilisabilit, et un passage lchelle accrus, compare l'architecture deux niveaux. Le processus de construction de l'architecture 3-Tier est trs complexe. La sparation de la logique d'interface utilisateur, de la logique de contrle de processus mtier, et de la logique de donnes n'est pas toujours vidente dans la conception 3-Tier.
Le client fournit une interface utilisateur, o vous devez entrer le nom et le mot de passe d'utilisateur l'ouverture. Elle vous permet galement de vous enregistrer, si vous ne l'tes pas dj. Le server web reoit la demande du client et l'envoie au serveur d'application. Le serveur d'application traite la demande et stocke l'information de facturation dans la base de donnes du dpartement respectif. Le serveur d'application envoie galement la confirmation de facturation au client. Les bases de donnes sont incluses dans le Systme d'Information d'Entreprise (en anglais Enterprise Information System). Le Systme d'Information d'Entreprise inclut galement les units centrales et les serveurs de socket. Les Systme d'Information d'Entreprise sont des magasins de donnes, tels que des systmes de planification de ressource d'entreprise, des systmes de traitement transactionnel d'unit centrale, des systmes de gestion de base de donnes relationnelle, et d'autres systmes d'information repris de lexistant.
Il y a chevauchement entre un serveur d'application et un serveur web, car tous les deux peuvent excuter des taches. Le serveur web (serveur HTTP) peut appeler des scriptes et des services pour interroger des bases de donnes et pour excuter la compilation ; tandis que les serveurs d'application viennent, trs souvent avec leur propre serveur de HTTP qui fournit des pages Web au navigateur. Comme le montre la figure 7, les sites Web tablis en utilisant le modle de serveur d'application se composent au moins de trois couches principales :
-------------------------------------------------------------------------------------------------------------------------------------Rapport Etude Bibliographique : Les serveurs dapplication
10
Avec larrive sur le Web des applications critiques, la gestion des systmes et les questions oprationnelles associes au dveloppement du Web sont devenus cruciaux. Le challenge de crer des sites Web avec fiabilit, passage lchelle, stabilit, et administration doivent tres relevs. Les serveurs d'application du Web forment clairement un niveau de sparation entre le serveur Web et la couches daccs aux donnes. Dans ce modle, la plupart ou toute la logique mtier existe dans le niveau intermdiaire, avec des serveurs d'application manipulant toutes les utilisations de donnes et les crations de page Web. Dans plusieurs cas, les serveurs d'application combinent ou travaillent avec un serveur web et sont appels serveurs d'application Web.
Figure 8 - Modle de serveur d'application web 1. Un utilisateur se connecte par l'intermdiaire de son navigateur et du protocole de HTTP au serveur d'application Web 2. Le serveur d'application Web tablit une session d'utilisateur et vrifie l'information d'ouverture daccs une base de donnes sur une machine spare. 3. Une page Web est cre par le serveur d'application Web, permettant l'utilisateur denvoyer une requte la base de donnes Unix. 4. Des requtes sont envoyes au serveur d'application, qui tablit un lien la machine Unix et recherche les donnes demandes. 5. Le serveur d'application collecte les donnes et tablit une nouvelle page Web pour l'utilisateur. 6. Des demandes des fichiers HTML statiques sont rediriges par le serveur d'application une troisime machine, qui emploie un serveur web spar pour les produire.
11
Les serveurs d'application sont devenus le logiciel personnalis pour l'entreprise du fait qu'ils fournissent de plus en plus dinterfaces pour des applications hrites. Ce sont des serveurs d'application J2EE qui tournent uniquement en Java et utilisant JavaBeans pour l'entreprise (EJBs) pour la logique mtier.
12
Services de scurit : Fournir les services, tels que l'authentification, l'autorisation, et un transport bloqu, qui cre un environnement bloqu aux ressources dployes. Les concepteurs peuvent accrotre les services de scurit d'un serveur d'application en les mettant en application par programmation ou par configuration. Ils n'ont pas besoin d'tre au courant de la scurit de bas niveau es APIs afin de mettre en application la scurit dans leurs applications. Les serveurs d'application permettent galement l'intgration des modules de scurit de tiers, tels que des modules d'authentification ou d'autorisation, et auditent des modules pour mettre en application la scurit. Gestion de transaction : Ils permettent d'employer un api simple pour contrler des transactions. Vous pouvez choisir un api, mme si les transactions sont rparties sur les systmes multiples mettant en application diffrents mcanismes de transaction. Gestion de ressource : Amliore l'excution d'un systme et simplifie son codage. Un serveur d'application peut ou excuter la gestion de ressource, telle que les fils et les pools de gestion de raccordement, ou permettre l'intgration de modules de gestion tiers. Ceci limine le besoin de crer et de maintenir un code de gestion complexe de ressource dans l'application.
Client lger : Fournit un client beaucoup plus lger. Mme si vous avez des codes source de Java que vous distribuez aux utilisateurs, il est trs petit. Intgrit de donnes et du code : En centralisant la logique mtier sur un ou sur quelque machines serveur, des mises jour et des mises niveau des applications pour tous les utilisateurs peuvent tre garanties. Il n'y a aucun risque de vieilles versions daccs aux donnes ou manouvrantes d'application d'une faon plus ancienne et incompatible. Configuration centralise : Des changements de configuration d'application, telle qu'un mouvement des serveurs de base de donnes, peuvent tre faits de manire centralis.
13
Scurit : Un point central par lequel l'accs aux donnes ou parties de l'application elle-mme peut tre contrl est considr comme un avantage de scurit, plaant la responsabilit de l'authentification loin de la couche potentiellement peu sre de client sans exposer la couche de base de donnes. Passage lchelle : En limitant le trafic de rseau au trafic de couche prsentation, le modle client/server amliore l'excution de grosses applications dans les environnements d'utilisation intensive. Cot total de la proprit (TCO) : Les avantages ci-dessus combins reprsentent une conomie de cot une compagnie. Dans la pratique, cependant, les dfis techniques de dveloppement du logiciel qui se conforme ce paradigme combins aux besoins de la distribution de logiciel de distribuer le code de client lger nuancent ces avantages. Intgration : Intgration avec des points dintgration de legs, des pratiques qui accroissent les avantages principaux de leurs architectures de serveur d'application.
Glassfish : Un serveur d'application open source de Sun ; cest le premier offrir une excution robuste, commerciale, compatible avec Java EE 5. JOnAS : Dvelopp au sein consortium ObjectWeb, est le premier serveur d'application non-commercial et open source certifi J2EE par Sun Microsystems. Le langage de programmation utilis est Java. Les modules Web sont des servlets et les JSP. La logique mtier est tablie dans les entreprises JavaBeans (EJB) J2EE x : Ldition x de serveur dapplication de Sun Microsystems accepte tous les APIs dcrits par la norme. Le serveur d'application inclut galement diverses technologies et les outils de J2EE qui ne font pas partie de la plateforme J2EE x.. BEA Weblogic : Offre des outils de dveloppement et une infrastructure pour les solutions e-commerce. Gestion des donnes pour une transaction htrogne ; Ouvert aux standards des entreprises avec Java 2 Enterprise Edition (J2EE), CORBA, WML, and XML ; Instrument de contrle centralis pour les 14
applications. Cest une technologie stable qui traite de gros volumes dchange de donnes. Le serveur de BEA Weblogic soutient galement l'intgration avec des systmes repris de lexistant et des services Web. IBM Websphre : Le serveur d'application Websphere de IBM plate-forme applicative gnrique couvrant un ensemble de solutions dveloppes par IBM qui permettent de dvelopper, de dployer et d'utiliser des applications d'entreprise, mme dans des cas complexes faisant appel des applications et des matriels htrognes. Le serveur d'application Websphere J2EE X aide amliorer l'intgration avec les clients, les fournisseurs, et les associs avec l'appui complet de services de Web. Websphere couvre une gamme d'outils de dveloppement bass principalement sur le socle de dveloppement Eclipse et le langage java. JBoss : Serveur dapplication J2EE Libre entirement crit en Java, et qui peut donc tre utilis sur tout systme d'exploitation fournissant une machine virtuelle Java. Les dveloppeurs de JBoss sont employs par une socit de services appele JBoss Inc. rachet par Red Hat en avril 2006. Le projet est sponsoris par un rseau mondial de partenaires et utilise un business model bas sur le service. JBoss implmente entirement l'ensemble des services J2EE. Oracle 9ias : l'origine plac sur le march de serveur de base de donnes, Oracle concurrence maintenant galement sur le march de serveur d'application grce son produit serveur d'application. Avec son moteur et soutien de servlet de session EJBs, l'outil est maintenant immuablement tourn vers Java. Pour cette version Oracle met en avant un systme de cache des pages dynamiques (CGI, JSP,...). Cette technologie permettrait d'amliorer de manire significative les performances des applications. Ce serveur d'applications est compatible J2EE.
15
Performance : Vous devez vous assurer que l'excution du serveur d'application est efficace. Vous devriez vrifier si le serveur d'application met en application la connexion mettant en commun et soutient JDBC, ODBC. Le serveur d'application communique efficacement avec les serveurs Web pour assurer une rponse rapide entre la demande de Web et le serveur d'application. Cot : Vous devriez vrifier les cots d'entretien par unit centrale de traitement ou par serveur, les cots d'outil de correction et de dveloppement, s'exerant cote pour des administrateurs et des lotisseurs, tout en choisissant le serveur. Conformit : Vous devriez vrifier si le serveur d'application est conforme aux spcifications de J2EE ou aux spcifications de .NET. Avec les applications J2EE, le serveur d'application devrait tre J2EE autoris et J2EE certifi. Passage lchelle et disponibilit : Le serveur d'application devrait pouvoir effectuer l'quilibrage de charge. Il doit tre flexible, de sorte que vous puissiez ajouter des units centrales de traitement pour fournir une excution de processus lecture multiple et une autorisation rentable. Appui de J2EE (avec le serveur d'application J2EE) : Le serveur d'application devrait supporter toutes versions de JDK. Il devrait galement tre compatible avec les logiciels d'exploitation disponibles, tels que Linux, MacOS, HP/Unix, Windows, et Solaris.
l'vidence, les remous du march prouvent que les serveurs d'applications sont loin d'avoir convaincu les entreprises. Leur prix prohibitif et leur champ d'application les destinent en priorit aux grands comptes dsireux de doter leurs sites marchands d'une infrastructure transactionnelle lourde, au prix de coteux dveloppements d'EJB Java ou de composants COM+. Des critres qui condamnent l'utilisation d'un serveur d'applications, mme dans une PME importante. Or les alternatives existent : un serveur web capable d'excuter des servlets, des pages JSP ou ASP, suffit la plupart des besoins des sites marchands. Pour les plus petits acteurs, de simples scripts Java ou Visual Basic suffisent. De plus, la plupart des serveurs HTTP du march sont gratuits : c'est le cas du serveur Apache ou de Microsoft IIS, livr en standard avec Windows 2000 Server. Conscients du problme, les diteurs de serveurs d'applications J2EE soucieux d'largir leur clientle ont trs vite positionn leurs produits comme moteur d'excution de portails.
16
17
Avec 400 millions de sites Web dj existants et en croissance, les besoins de serveurs d'application se dveloppent. Pour les compagnies qui ont cr les emplacements russis, on s'attend ce que le trafic continu se dvelopper crant une demande des serveurs d'application. Les entreprises auront toujours besoin doutils de dveloppement pour construire des applications spcifiques en internes. Cependant, les compagnies prfrent souvent acheter des progiciels (ERPs) pour compltement dvelopper leurs systmes dinformation. Dans ce cas, le dfi est plus dans EAI (intgration d'applications d'entreprise). L'intgration nouvelle des applications complmentaires avec ERPs est, pour la plupart, un travail pour le dpartement Informatique. Ce sera probablement la tendance dans un temps venir. Quelques fournisseurs de serveur d'application, ayant compris ceci, ont adopt une stratgie de retour ; cest lexemple de HAHT Software avec SAP. Sun, IBM, Oracle et mme Microsoft ont essay de mettre laccent sur cet argument, mais aucun deux ne propose une solution intgre de serveur d'application vraiment adapte. La stratgie de serveur d'application Sun est loin d'tre clair. Avec trois produits maintenant dans son catalogue (NetDynamics, serveur d'application de Netscape et Fort), il est encore difficile de dire laquelle va durer le plus longtemps. Oracle a une grande infrastructure de serveur qui se transporte avec un grand outil de dveloppement (achet Inprise-Borland), mais l'intgration nest pas aussi forte. Oracle doit galement traiter sa base de client, qui utilise ses vieux outils tels que le Developper 2000 (formes). Microsoft offre avec .NET une importante suite de dveloppement troitement attache son modle composant DCOM. Cependant, il est certainement conu pour oprer sur la plateforme de Windows avec des produits de Microsoft. Ainsi, les parts de march sont encore disponibles pour les pionniers indpendants de la technologie de serveur d'application, tels que SilverStream et HAHT Software. Le secteur de prdilection des fournisseurs de serveur d'application est le commerce lectronique, y compris la plateforme d'e-commerce, la gestion de la relation client, la gestion de contenu et la personnalisation de site web.
18
Conclusion
Dans ce rapport, nous avons dfini les serveurs dapplication. Nous avons prsent ces serveurs dapplication, en mettant plus en vidence les serveurs J2EE, ceux-ci tant les plus connus et les plus prsents dans les entreprises. Bien que les serveurs dapplication prsentent aujourdhui une relle importance pour les entreprises aujourdhui, ils ne sont pas toujours la solution idale, notamment lorsque lon travaille dans un environnement homogne, un environnement Microsoft par exemple. Pour les entreprises travaillant dans un environnement htrogne, et dsirant intgrer des serveurs dapplication dans leurs systmes, il va se poser le problme du choix du (ou des) serveur(s) le(s) plus adquat(s). La multitude de types de serveurs dapplication, et de leurs diffrentes architectures rend difficile ce choix. Un certains nombre critres permettent cependant de faire son choix, mais on peut toujours se poser la question de savoir si les serveurs dapplication, vu la complexit des nouveaux, ne seront pas remplacs dans les prochaines annes, par une nouvelle technologie.
19
Rfrences
Application server , http://en.wikipedia.org what is the future of application server ,Jean-Christophe Cimetiere, CEO of TechMetrix research, http://www.techmetrix.com web server , http://scitec.uwichill.edu.bb Application server , Encyclopedia, www.pcmag.com Catalogue sur les serveurs d'applications , www.theserverside.com Etude comparative entre diffrents serveurs J2EE, http://www.cmis.csiro.au Le march des serveurs d'applications , http://www.techmetrix.com Comment choisir son serveur d'applications ? , http://www.ebizq.net Application Server Market , http://java.sun.com Application Server , http://www.journaldunet.com Do you need an application server? , Tim Landgrave, http://uk.builder.com IDC Reports on J2EE application server market , http://www.theserverside.com/news Sun eyes application server market, Wylie Wong, http://news.com.com/ Application Server Market Opportunities, Strategies, and Forecasts, 2004 to 2009, http://www.wintergreenresearch.com
20