Vous êtes sur la page 1sur 20

UNIVERSITE CLAUDE BERNARD DE LYON 1 - UFR INFORMATIQUE

Rapport Etude Bibliographique Master 2 SIR

LES SERVEURS D’APPLICATION

Elysée FONTEP & Phuong Anh HOANG

Responsable de la formation : Thierry EXCOFFIER

Décembre 2006

Sommaire

Sommaire

2

Introduction

3

I. Historique

4

II. Qu’est-ce qu’un serveur d'application

4

III. Les besoins d’un serveur d’application

6

III.1. Architecture 1-Tier…………………………………………………………………….6

III.2 Architecture 2-Tier…………………………………………………………………… 7

III.3 Architecture 3-Tier…………………………………………………………………… 8

III.4 Architecture multi-Tier…………………………………………………………………8

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 d’application Java…………………………………………………14

VII.2 D’autres plates forme…………………………………………………………………15

VIII. Les critères de choix d’un serveur d'application

16

X.

Quand n’a-t-on pas besoin de serveur d'application ?

17

X.

Le marché des fournisseurs de serveurs d’application

17

Conclusion

19

Références

20

-------------------------------------------------------------------------------------------------------------------------------------- 2

Rapport Etude Bibliographique : Les serveurs d’application

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 d’activité des entreprises, des applications informatiques appropriées sont développées, pour favoriser et améliorer toutes les étapes du processus métier, allant de la production à comptabilité. Ces applications deviennent elles aussi de plus en plus importantes, nécessitant beaucoup de ressources, et par conséquent, des systèmes plus puissants. Aujourd’hui, ces applications sont centralisées sur de gros systèmes et accessibles à partir des machines clientes. Ces gros systèmes sont appelés Serveur d’application, et peuvent contenir plusieurs applications pour l’entreprise. On peut également avoir plusieurs serveurs d’application au niveau de l’entreprise.

-------------------------------------------------------------------------------------------------------------------------------------- 3

Rapport Etude Bibliographique : Les serveurs d’application

I. Historique

Avant les années 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 réseaux, très simple. Ce qui aurait été un retour à l’ancien modèle du calcul des années 60, avec un puissant ordinateur central, très couteux, accédé par de multiples utilisateurs à partir de simples terminaux non-intelligents. La différence maintenant serait l'utilisation répandue 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 accédé d'une grande variété de clients, y compris des plateformes non-Windows telles que Mac et Unix. Actuellement, la tendance est de fournir des applications par l'intermédiaire d'un navigateur ou de tout autre dispositif d'Internet.

II. Qu’est-ce qu’un serveur d'application

Les serveurs d'application sont des logiciels qui aident des entreprises à développer, déployer et contrôler un grand nombre d'applications qui sont la plupart du temps distribuées. Du point de vue développement, la différence principale apportée par un serveur d'application est la séparation de la logique métier de la logique présentation et de la logique base de données. Essentiellement, les serveurs d'application nous aident à démontrer des applications 3-tiers où la base de données est logiquement séparée (parfois physiquement séparé aussi) de la logique métier.

(parfois physiquement séparé aussi) de la logique métier. Figure 1-Modèle de serveur d'application Développer un

Figure 1-Modèle de serveur d'application

Développer un serveur implique de traiter beaucoup de questions compliquées :

Accès concurrents (simultanéité)

Permission d'accéder à toutes les bases de données possibles de production

Gestion de connexion réseau

-------------------------------------------------------------------------------------------------------------------------------------- 4

Rapport Etude Bibliographique : Les serveurs d’application

connexion à base de données

Interface de gestion

Équilibrage de charge

Tolérance aux pannes

Extensibilité de votre travail et performance

pannes ∑ Extensibilité de votre travail et performance Figure 2- un serveur d'application dans un

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 système de gestion de base de données (SGBD)

Un serveur d'application peut simplifier votre procédé de développement. Les serveurs d'application prennent habituellement soin de la plupart, sinon de toutes les questions techniques impliquées, et permettent aux développeurs de se concentrer sur la raison première du projet. Ceci permet de budgéter pour des systèmes beaucoup plus grands et beaucoup plus utiles.

-------------------------------------------------------------------------------------------------------------------------------------- 5

Rapport Etude Bibliographique : Les serveurs d’application

III. Les besoins d’un serveur d’application

Les entreprises décident sur l'application basée sur leurs demandes. Ceci peut, alternativement, décider des facteurs, tels que le type, l'utilisation, et le déploiement de l'application. Le type d'architecture utilisé pour une application particulière dépend également de ces facteurs. Les différents types d'architecture incluent :

Architecture 1-Tier

Architecture 2-Tier

Architecture 3-Tier

Architecture multi-Tier

III.1. Architecture 1-Tier

L’architecture 1-Tier est employée par des applications autonomes pour stocker des données, pour appliquer la logique métier, et pour montrer les résultats. Les applications autonomes fonctionnent sur un ordinateur simple, fournissent une interface utilisateur, manipulent toute entrée, valident des données, et maintiennent la base de données.

La figure 3 montre l'architecture 1-Tier

de données. La figure 3 montre l'architecture 1-Tier Figure 3- Architecture 1-Tier Une application qui met

Figure 3- Architecture 1-Tier

Une application qui met en application l'architecture 1-Tier suivantes :

Un seul point d'échec

Connectivité et interopérabilité limitées

Passage à l’échelle limité

a les limitations

Une application ayant une architecture 1-Tier est difficile à améliorer et à corriger des bugs. Pour les mises à jour et la correction des bugs, l'application entière doit être recompilée et redistribuée. De plus, pour permettre à plusieurs utilisateurs d'employer une application, vous devez installer l'application, et la base de données utilisée par cette application sur chaque ordinateur, car l'application est indépendante de la base de données et les bases de données ne sont pas synchronisées à travers les ordinateurs. Par conséquent, un changement fait à une base de données n'est pas reflété dans d'autres bases de données. On peut ainsi, avoir des données contradictoires dans les bases.

-------------------------------------------------------------------------------------------------------------------------------------- 6

Rapport Etude Bibliographique : Les serveurs d’application

III.2 Architecture 2-Tier

L'architecture à deux niveaux se compose de plusieurs clients et d’un serveur. Les clients se connectent au serveur à travers un réseau en utilisant des protocoles de réseau, tel que le TCP/IP. Ils implémentent l'interface utilisateur et contiennent la logique d'application. Le serveur contient la logique métier et stocke des données. Les processus client et serveur peuvent fonctionner sur un ordinateur simple ou sur les ordinateurs séparés dans un réseau. Le processus client collecte les données de l'utilisateur et les passe au serveur. Le serveur implémente la logique métier et valide les données. Il met également à jour la base de données et envoie les résultats au client. La communication entre le client et le serveur augmente la charge sur le réseau parce qu'un large volume des données est transféré entre le client et le serveur. La charge sur le serveur est également augmentée, parce qu'il doit effectuer la validation de données. Il est possible de diminuer la charge sur le serveur en déplaçant tout ou partie de la logique métier vers le processus de client. On parle alors de client lourd, si la logique métier est mise en application de son côté. Si la logique métier est mise en application dans le côté de serveur, alors le serveur s'appelle gros serveur.

La figure suivante montre l'architecture 2-Tier.

La figure suivante montre l'architecture 2-Tier. Figure 4- Architecture 2-Tier Les avantages de

Figure 4- Architecture 2-Tier

Les avantages de l'architecture à deux niveaux sont :

Partage de données : Car l’ensemble des données sont stocké à un seul endroit, au niveau du serveur, et est accessible à tous utilisateurs.

Passage à l’échelle : L'architecture à deux niveaux augmente le passage à l’échelle par rapport à l'architecture 1-Tier. L'architecture à deux niveaux peut s’adapter à environ100 utilisateurs en permettant à plusieurs clients de se connecter au serveur.

Une mise à jour simplifiée : Si une modification doit être apportée au programme, il est souvent suffisant de la déployer en un point unique : au niveau du serveur.

Les limitations de l'architecture à deux niveaux sont :

Le trafic élevé sur le réseau : De larges volumes de données sont transférés sur le réseau entre le client et le serveur. Le débit élevé augmente la charge sur les ressources de réseau.

Charge sur le serveur : Tous clients dans l'architecture à deux niveaux accèdent au serveur et ce augmente la charge là-dessus. La charge accrue sur le serveur réduit son exécution.

-------------------------------------------------------------------------------------------------------------------------------------- 7

Rapport Etude Bibliographique : Les serveurs d’application

III.3 Architecture 3-Tier

L'architecture 3-Tier divise chaque application en trois couches logiques séparées :

couche présentation, couche métier, et couche données. La couche présentation contient l'interface utilisateur. La couche métier effectue le contrôle de processus métier, où la logique et les règles fonctionnelles sont exécutées. La couche données se charge du stockage de données et y contrôle les données. Le composant de gestion des données s'assure que les données sont conformes dans tout l'environnement distribué. Employer des données fermant à clef et évitant la réplique des données peut assurer leur uniformité. La figure suivante montre l'architecture de 3-Tier.

La figure suivante montre l'architecture de 3-Tier. Figure 5 –Architecture 3-Tier L'architecture 3-Tier

Figure 5 –Architecture 3-Tier

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 exécution, une flexibilité, un entretien, une réutilisabilité, et un passage à l’échelle accrus, comparée à l'architecture à deux niveaux. Le processus de construction de l'architecture 3-Tier est très complexe. La séparation de la logique d'interface utilisateur, de la logique de contrôle de processus métier, et de la logique de données n'est pas toujours évidente dans la conception 3-Tier.

III.4 Architecture multi-Tier

L'architecture à plusieurs niveaux peut contenir un nombre illimité de couches. Dans le scénario ci-dessous, nous avons quatre tiers :

- tier-client

- la couche présentation

- la couche métier

- la couche donnée

Le tier-client contient les systèmes client, la couche présentation contient le serveur web, la couche métier contient le serveur d'application, et la couche données contient la base de données. La figure suivante montre l'architecture 3-Tier.

-------------------------------------------------------------------------------------------------------------------------------------- 8

Rapport Etude Bibliographique : Les serveurs d’application

Figure 6 - Architecture multi-Tier Le client fournit une interface utilisateur, où vous devez entrer

Figure 6 - Architecture multi-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 déjà. Le server web reçoit 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 données du département respectif. Le serveur d'application envoie également la confirmation de facturation au client.

Les bases de données sont incluses dans le Système d'Information d'Entreprise (en anglais Enterprise Information System). Le Système d'Information d'Entreprise inclut également les unités centrales et les serveurs de socket. Les Système d'Information d'Entreprise sont des magasins de données, tels que des systèmes de planification de ressource d'entreprise, des systèmes de traitement transactionnel d'unité centrale, des systèmes de gestion de base de données relationnelle, et d'autres systèmes d'information repris de l’existant.

IV. Architecture et fonction des serveurs d'application

Les produits de serveur d'application empaquettent typiquement le logiciel personnalisé pour permettre à des applications d'intercommuniquer avec diverses qualités de service (fiabilité, sécurité, et autres). Les serveurs d'application fournissent également un API aux programmeurs, de sorte qu'ils ne doivent pas être concernés par le logiciel d'exploitation ou le choix énorme d'interfaces exigées d'une application Web moderne. La communication se fait par le Web sous forme HTML et XML, comme lien à de diverses bases de données, et, très souvent, comme lien aux systèmes et aux dispositifs s'étendant des applications énormes héritées à de petits dispositifs de l'information, tels qu'une horloge atomique ou un appareil ménager.

-------------------------------------------------------------------------------------------------------------------------------------- 9

Rapport Etude Bibliographique : Les serveurs d’application

Figure 7 - Serveur d'application & Serveur web Il y a chevauchement entre un serveur

Figure 7 - Serveur d'application & Serveur web

Il y a chevauchement entre un serveur d'application et un serveur web, car tous les deux peuvent exécuter des taches. Le serveur web (serveur HTTP) peut appeler des scriptes et des services pour interroger des bases de données et pour exécuter la compilation ; tandis que les serveurs d'application viennent, très 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 modèle de serveur d'application se composent au moins de trois couches principales :

-------------------------------------------------------------------------------------------------------------------------------------- 10

Rapport Etude Bibliographique : Les serveurs d’application

- la couche serveur web

- la couche serveur d’application

- la couche donnée

Avec l’arrivée sur le Web des applications critiques, la gestion des systèmes et les questions opérationnelles associées au développement du Web sont devenus cruciaux. Le challenge de créer des sites Web avec fiabilité, passage à l’échelle, stabilité, et administration doivent êtres relevés. Les serveurs d'application du Web forment clairement un niveau de séparation entre le serveur Web et la couches d’accès aux données.

Dans ce modèle, la plupart ou toute la logique métier existe dans le niveau intermédiaire, avec des serveurs d'application manipulant toutes les utilisations de données et les créations de page Web. Dans plusieurs cas, les serveurs d'application combinent ou travaillent avec un serveur web et sont appelés serveurs d'application Web.

serveur web et sont appelés serveurs d'application Web. Figure 8 - Modèle de serveur d'application web

Figure 8 - Modèle de serveur d'application web

1. Un utilisateur se connecte par l'intermédiaire 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 vérifie l'information d'ouverture d’accès à une base de données sur une machine séparée.

3. Une page Web est créée par le serveur d'application Web, permettant à l'utilisateur d’envoyer une requête à la base de données Unix.

4. Des requêtes sont envoyées au serveur d'application, qui établit un lien à la machine Unix et recherche les données demandées.

5. Le serveur d'application collecte les données et établit une nouvelle page Web pour l'utilisateur.

6. Des demandes des fichiers HTML statiques sont redirigées par le serveur d'application à une troisième machine, qui emploie un serveur web séparé pour les produire.

-------------------------------------------------------------------------------------------------------------------------------------- 11

Rapport Etude Bibliographique : Les serveurs d’application

Figure 9 - Serveur d'application dans une architecture particulière Les serveurs d'application sont devenus le

Figure 9 - Serveur d'application dans une architecture particulière

Les serveurs d'application sont devenus le logiciel personnalisé pour l'entreprise du fait qu'ils fournissent de plus en plus d’interfaces pour des applications héritées. Ce sont des serveurs d'application J2EE qui tournent uniquement en Java et utilisant JavaBeans pour l'entreprise (EJBs) pour la logique métier.

-------------------------------------------------------------------------------------------------------------------------------------- 12

Rapport Etude Bibliographique : Les serveurs d’application

V. Les services des serveurs d'application

Un serveur d'application met en place un cadre pour fournir des services aux programmes qui tournent sur le serveur. Les services sont des services de sécurité, services de gestion de transaction, et services de gestion de ressource :

Services de sécurité : Fournir les services, tels que l'authentification, l'autorisation, et un transport bloqué, qui crée un environnement bloqué aux ressources déployées. Les concepteurs peuvent accroître les services de sécurité 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 sécurité de bas niveau es APIs afin de mettre en application la sécurité dans leurs applications. Les serveurs d'application permettent également l'intégration des modules de sécurité de tiers, tels que des modules d'authentification ou d'autorisation, et auditent des modules pour mettre en application la sécurité.

Gestion de transaction : Ils permettent d'employer un api simple pour contrôler des transactions. Vous pouvez choisir un api, même si les transactions sont réparties sur les systèmes multiples mettant en application différents mécanismes de transaction.

Gestion de ressource : Améliore l'exécution d'un système et simplifie son codage. Un serveur d'application peut ou exécuter la gestion de ressource, telle que les fils et les pools de gestion de raccordement, ou permettre l'intégration de modules de gestion tiers. Ceci élimine le besoin de créer et de maintenir un code de gestion complexe de ressource dans l'application.

VI. Les avantages des serveurs d'application

Les serveurs d’application possèdent un grands nombre d’avantages :

Client léger : Fournit un client beaucoup plus léger. Même si vous avez des codes source de Java que vous distribuez aux utilisateurs, il est très petit.

Intégrité de données et du code : En centralisant la logique métier 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 d’accès aux données ou manouvrantes d'application d'une façon plus ancienne et incompatible.

Configuration centralisée : Des changements de configuration d'application, telle qu'un mouvement des serveurs de base de données, peuvent être faits de manière centralisé.

-------------------------------------------------------------------------------------------------------------------------------------- 13

Rapport Etude Bibliographique : Les serveurs d’application

Sécurité : Un point central par lequel l'accès aux données ou parties de l'application elle-même peut être contrôlé est considéré comme un avantage de sécurité, plaçant la responsabilité de l'authentification loin de la couche potentiellement peu sûre de client sans exposer la couche de base de données.

Passage à l’échelle : En limitant le trafic de réseau au trafic de couche présentation, le modèle client/server améliore l'exécution de grosses applications dans les environnements d'utilisation intensive.

Coût total de la propriété (TCO) : Les avantages ci-dessus combinés représentent une économie de coût à une compagnie. Dans la pratique, cependant, les défis techniques de développement du logiciel qui se conforme à ce paradigme combinés aux besoins de la distribution de logiciel de distribuer le code de client léger nuancent ces avantages.

Intégration : Intégration avec des points d’intégration de legs, des pratiques qui accroissent les avantages principaux de leurs architectures de serveur d'application.

VII. Les types de serveurs d'application

VII.1Quelques serveurs d’application Java

Après le succès de la plateforme de Java, le terme serveur d'application se rapporte parfois à un serveur d'application J2EE. Les différentes compagnies, telles que IBM, BEA, et Sun Microsystems, offrent de divers serveurs d'application. Vous pouvez choisir entre les serveurs d'application disponibles, selon la condition d'un système. Voici quelques serveurs d'application sont :

Glassfish : Un serveur d'application open source de Sun ; c’est le premier à offrir une exécution robuste, commerciale, compatible avec Java EE 5.

JOnAS : Développé 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 métier est établie dans les entreprises JavaBeans (EJB)

J2EE x : L’édition x de serveur d’application de Sun Microsystems accepte tous les APIs décrits 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 développement et une infrastructure pour les solutions e-commerce. Gestion des données pour une transaction hétérogène ; Ouvert aux standards des entreprises avec Java 2 Enterprise Edition (J2EE), CORBA, WML, and XML ; Instrument de contrôle centralisé pour les

-------------------------------------------------------------------------------------------------------------------------------------- 14

Rapport Etude Bibliographique : Les serveurs d’application

applications. C’est une technologie stable qui traite de gros volumes d’échange de données. Le serveur de BEA Weblogic soutient également l'intégration avec des systèmes repris de l’existant et des services Web.

IBM Websphre : Le serveur d'application Websphere de IBM plate-forme applicative générique couvrant un ensemble de solutions développées par IBM qui permettent de développer, de déployer et d'utiliser des applications d'entreprise, même dans des cas complexes faisant appel à des applications et des matériels hétérogènes. Le serveur d'application Websphere J2EE X aide à améliorer l'intégration avec les clients, les fournisseurs, et les associés avec l'appui complet de services de Web. Websphere couvre une gamme d'outils de

développement basés principalement sur le socle de développement Eclipse et le langage java.

JBoss : Serveur d’application J2EE Libre entièrement écrit en Java, et qui peut donc être utilisé sur tout système d'exploitation fournissant une machine virtuelle Java. Les développeurs de JBoss sont employés par une société de services appelée « JBoss Inc. » racheté par Red Hat en avril 2006. Le projet est sponsorisé par un réseau mondial de partenaires et utilise un business model basé sur le service. JBoss implémente entièrement l'ensemble des services

J2EE.

Oracle 9ias : À l'origine placé sur le marché de serveur de base de données, Oracle concurrence maintenant également sur le marché de serveur d'application grâce à 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 système de cache des

Cette technologie permettrait d'améliorer de

manière significative les performances des applications. Ce serveur d'applications est compatible J2EE.

pages dynamiques (CGI, JSP,

).

VII.2 D’autres plates forme

Le Terme serveur d'application est également appliqué à divers offres non-J2EE et non- Java. Par exemple, avec la popularité croissante de .NET, Microsoft peut prétendre livrer un serveur d'application. Des serveurs d'application open-source et commerciale sont également fournis par d'autres fournisseurs. Les serveurs Base4, Appaserver, et Zope en constituent quelques exemples. Notons que contrairement aux autres produit cites ci-dessus, Windows Communication Foundation de Microsoft n'est pas un serveur d'application, mais plutôt un framework de communication. Windows Serveur 2003 par contre est un serveur d'application robuste qui inclut beaucoup de services tels que le cadre de .NET, le message de Microsoft s'alignant (MSMQ), le COM+, et d'autres options de serveur d'application dépendant de la version du serveur choisi. En fait, un des avantages principaux de la famille de Windows server est la capacité d’adapter ces services à vos besoins en augmentant les fonctions du serveur ou en ajoutant de nouveaux services modulaires à un serveur. Vous pouvez également écrire les applications qui fonctionnent sur chaque membre de la famille de Windows. Par exemple, des applications client lourd (Windows) peuvent être écrites pour s’exécuter aussi bien sur Windows 98 que sur Windows server 2003.

-------------------------------------------------------------------------------------------------------------------------------------- 15

Rapport Etude Bibliographique : Les serveurs d’application

VIII. Les critères de choix d’un serveur d'application

Un serveur d'application est choisi, selon le coût et la condition de l'application. Pour décider entre les serveurs disponibles, vous devez identifier le besoin du système, et puis comparez les besoins avec les dispositifs disponibles dans les serveurs d'application. Vous devriez inclure tous coûts cachés, tels que l'administration, la formation, la mise à jour.

Vous devriez déterminer la convenance d'un serveur pour une application, et examinez également les caractéristiques, le cadre de service et les options de connectivité fournis par le serveur. Vous devriez également examiner les serveurs disponibles en utilisant la conception de système comme base. Vous pouvez examiner le serveur d'application pour des éléments, tels que le passage à l’échelle, la fiabilité, la rentabilité, l'administration, et la tolérance aux fautes. Vous pouvez choisir un serveur d'application basé sur les critères suivants :

Performance : Vous devez vous assurer que l'exécution du serveur d'application est efficace. Vous devriez vérifier 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 réponse rapide entre la demande de Web et le serveur d'application.

Coût : Vous devriez vérifier les coûts d'entretien par unité centrale de traitement ou par serveur, les coûts d'outil de correction et de développement, s'exerçant coûte pour des administrateurs et des lotisseurs, tout en choisissant le serveur.

Conformité : Vous devriez vérifier si le serveur d'application est conforme aux spécifications de J2EE ou aux spécifications de .NET. Avec les applications J2EE, le serveur d'application devrait être J2EE autorisé et J2EE certifié.

Passage à l’échelle et disponibilité : Le serveur d'application devrait pouvoir effectuer l'équilibrage de charge. Il doit être flexible, de sorte que vous puissiez ajouter des unités centrales de traitement pour fournir une exécution 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 désireux de doter leurs sites marchands d'une infrastructure transactionnelle lourde, au prix de coûteux développements d'EJB Java ou de composants COM+. Des critères qui condamnent l'utilisation d'un serveur d'applications, même dans une PME importante. Or les alternatives existent : un serveur web capable d'exécuter 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 problème, les éditeurs de serveurs d'applications J2EE soucieux d'élargir leur clientèle ont très vite positionné leurs produits comme moteur d'exécution de portails.

-------------------------------------------------------------------------------------------------------------------------------------- 16

Rapport Etude Bibliographique : Les serveurs d’application

IX. Quand n’a-t-on pas besoin de serveur d'application ?

La réponse aux besoins, comme toujours, est devenue, « ça dépend. » d'une perspective de Microsoft, la fonctionnalité incluse dans un serveur d'application appartient vraiment au système d’exploitation. Pouvoir lier étroitement la fonctionnalité comme l'équilibrage de charge ou la connectivité de base de données au système d’exploitation a quelques avantages significatifs d'exécution et de sécurité. Ainsi, si vous travaillez principalement dans un environnement de Microsoft, la réponse est non.

Mais si vous travaillez dans un environnement hétérogène, où vous devez supporter un mélange des applications de J2EE et de Microsoft, ou vous travaillez principalement avec des applications de J2EE, alors optez pour une plateforme de serveur d'application afin d'obtenir les fonctionnalités désirées pour des environnements d'entreprise.

Cependant pour une plus petite mission non critique, aucun besoin d'investir dans un serveur d'application. Utilisez un serveur web avec des extensions qui génèrent des pages dynamiques. Plusieurs solutions existent pour générer une page Web modifiée ou nouvelle à l'utilisateur. Ces approches incluent les Common Gateway Interface (CGI), Microsoft's Active Server Page (ASP), et les Java Server Page (JSP).

X. Le marché des fournisseurs de serveurs d’application

Les serveurs d'application représentent une façon de mettre en application les systèmes de haute disponibilité. Les marchés de logiciel de Haute-disponibilité apportent des conditions rigoureuses pour maintenir l'appui et la confiance du marché. Les serveurs d'application permettent aux entreprises de maximiser des occasions d'e- business en accroissant les ressources existantes pour améliorer la productivité et s’adapter aux changements.

IBM et BEA dominent des marchés de serveur d'application. BEA était le leader du marché avec une large marge, mais avec l’adoption de l'architecture J2EE, IBM a gagné du terrain et doublé son concurrent.

La position de leadership de IBM ne semble pas menacée à court terme, car IBM applique une stratégie de fidélisation des clients existants, de formation, et dispose d’une force de vente redoutable. BEA quant à lui fait valoir son avantage en termes de performances.

On s'attend à ce que des marchés de serveur d'application qui valait $1.5 milliards en 2003 atteignent $5.2 milliards d'ici 2009. La croissance du marché accompagne une utilisation d'Internet plus importante. Les consolidations des entreprises participent également a la croissance du marché car des systèmes sont employés pour lier des applications de divisions diverses.

-------------------------------------------------------------------------------------------------------------------------------------- 17

Rapport Etude Bibliographique : Les serveurs d’application

Avec 400 millions de sites Web déjà existants et en croissance, les besoins de serveurs d'application se développent. Pour les compagnies qui ont créé les emplacements réussis, on s'attend à ce que le trafic continu à se développer créant une demande des serveurs d'application.

Les entreprises auront toujours besoin d’outils de développement pour construire des applications spécifiques en internes. Cependant, les compagnies préfèrent souvent acheter des progiciels (ERPs) pour complètement développer leurs systèmes d’information. Dans ce cas, le défi est plus dans EAI (intégration d'applications d'entreprise). L'intégration nouvelle des applications complémentaires avec ERPs est, pour la plupart, un travail pour le département Informatique. Ce sera probablement la tendance dans un temps à venir. Quelques fournisseurs de serveur d'application, ayant compris ceci, ont adopté une stratégie de retour ; c’est l’exemple de HAHT Software avec SAP.

Sun, IBM, Oracle et même Microsoft ont essayé de mettre l’accent sur cet argument, mais aucun d’eux ne propose une solution intégrée de serveur d'application vraiment adaptée. La stratégie 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 développement (acheté à Inprise-Borland), mais l'intégration n’est 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 développement étroitement attachée à son modèle composant DCOM. Cependant, il est certainement conçu pour opérer sur la plateforme de Windows avec des produits de Microsoft.

Ainsi, les parts de marché sont encore disponibles pour les pionniers indépendants de la technologie de serveur d'application, tels que SilverStream et HAHT Software.

Le secteur de prédilection 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

Rapport Etude Bibliographique : Les serveurs d’application

Conclusion

Dans ce rapport, nous avons défini les serveurs d’application. Nous avons présenté ces serveurs d’application, en mettant plus en évidence les serveurs J2EE, ceux-ci étant les plus connus et les plus présents dans les entreprises. Bien que les serveurs d’application présentent aujourd’hui une réelle importance pour les entreprises aujourd’hui, ils ne sont pas toujours la solution idéale, notamment lorsque l’on travaille dans un environnement homogène, un environnement Microsoft par exemple.

Pour les entreprises travaillant dans un environnement hétérogène, et désirant intégrer des serveurs d’application dans leurs systèmes, il va se poser le problème du choix du (ou des) serveur(s) le(s) plus adéquat(s). La multitude de types de serveurs d’application, et de leurs différentes architectures rend difficile ce choix. Un certains nombre critères permettent cependant de faire son choix, mais on peut toujours se poser la question de savoir si les serveurs d’application, vu la complexité des nouveaux, ne seront pas remplacés dans les prochaines années, par une nouvelle technologie.

-------------------------------------------------------------------------------------------------------------------------------------- 19

Rapport Etude Bibliographique : Les serveurs d’application

Références

« 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 différents 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

http://www.wintergreenresearch.com

Server

Market

Opportunities,

Strategies,

and

Forecasts,

2004

to

2009”,

-------------------------------------------------------------------------------------------------------------------------------------- 20

Rapport Etude Bibliographique : Les serveurs d’application