Les Serveurs d’applications


Yves LE MONNIER
Philippe DARTOIS
TTV 2002

Présentation RIO

Janvier 2002

 

5. Synthèse

               Page précédente                                                      Sommaire                                               Page suivante


5.1 Trois grandes catégories de solutions pour le Web


 

 

 

 

 

Les Solutions Portail

 

 

 

 

 

 

 

Les Moteurs d’exécution

 

 

 

 

 

 

 

Les E.A.I.

 

 

En faisant abstraction des solutions techniques telles que le navigateur, le serveur HTTP ou encore la base de données, on peut regrouper les solutions dédiées aux applications web dans trois grandes catégories.

Tout d'abord, côté visualisation, on retrouve les solutions de portail. Fonctionnant sous la forme d'agrégation de contenu, les portails d'entreprise permettent de fédérer un ensemble de sites et d'applications au sein de la même page web d'un internaute. Qu'il s'agisse d'applications web, de solutions WAP ou encore d'applications client-serveur, le portail propose la notion de fenêtre unique permettant à l'utilisateur final de percevoir de manière personnalisée l'ensemble des ressources et applications dont il souhaite disposer. Les principaux acteurs à ce niveau sont Mediapps, IBM, iPlanet et Sybase.

Ensuite, on trouve les moteurs d'exécution des applications web, ceux-ci étant plus ou moins perfectionnés selon les besoins requis. Leur rôle consiste à effectuer les traitements propres aux applications, et à délivrer les pages HTML, WML, XML ou autres aux développeurs. Les moteurs d'exécution, entre autres, vont proposer certains modules applicatifs qui seront récupérés dans les solutions de gestion de portail. De l'autre côté, le serveur d'applications devra s'intégrer avec l'existant, et se reposera pour cela sur la troisième catégorie de produits, les EAI.

Les EAI, pour Enterprise Application Integration, permettent de faire le lien entre les outils issus des nouvelles technologies, tels les serveurs d'applications et les outils plus anciens déjà présents au sein des entreprises. Si les éditeurs de solutions de moteurs d'exécution essaient de s'interfacer au mieux avec l'existant, des solutions dédiées existent parfois, offrant des possibilités plus étendues. Ces produits d'EAI cherchent aujourd'hui à s'appuyer sur des standards, facilitant ainsi le pont entre différents logiciels s'ouvrant eux aussi de leur côté à XML, Java, etc.

 

5.2 Quatre catégories de Moteurs d’exécution.


Les Moteurs d’éxécution

 

 

 

 

 

 

 

 

 

 

 

 

Les moteurs simples

 

 

 

 

 

Les Serveurs d’Applications

 

 

 

 

Les Framenworks

 

 

 

 

 

 

 

Les E.R.P.

 

 

 

 

Il est possible de scinder les moteurs d'exécution en quatre catégories bien distinctes : les moteurs simples, les serveurs d'applications, les frameworks métier et les progiciels intégrés (cf. chapitre 3.2 pour les caractéristiques fortes de chacune de ces solutions).

Parallèlement à cela, l'axe développement constitue une brique indépendante. Si certaines solutions proposent à la fois les éléments permettant de développer et d'exécuter les applications, la majorité des solutions s'orientent pour l'instant vers un seul de ces deux aspects. Pour cette raison, l'intégration de l'atelier de développement constitue une des problématiques majeures de ce type d'environnement. Côté moteur d'exécution, le choix devra se faire en fonction des besoins à couvrir. Ici, il faut bien comprendre que les différentes solutions divergent au niveau des fonctionnalités offertes et bien évidemment au niveau du coût.

Les langages L3G et les moteurs de servlets permettent de réaliser des applications web avec un coût minimal. Le principal handicap de ces offres reste la nécessité de développer, en plus de la logique métier, la majorité des traitements techniques. Par exemple, si l'application doit être disponible 24 heures sur 24, il faudra développer soi-même une solution de reprise sur incident.

Les serveurs d'applications sont justement là pour s'affranchir de ces problèmes. La richesse de leurs API et les fonctionnalités techniques avancées offrent le maximum de possibilités pour se focaliser sur l'aspect métier du développement. Plus onéreux et plus difficiles à appréhender que les solutions d'entrée de gamme, ils se révèlent également plus riches en terme de fonctionnalités.

Sur ces serveurs d'applications, les éditeurs greffent des briques métier dédiées à certaines problématiques. Par exemple, des frameworks de mise en place de catalogues, d'applications d'e-commerce ou de fonctionnalités automatisées de personnalisation permettent de simplifier considérablement la tâche des développeurs dans ces contextes. Le besoin est par contre plus spécifique, et l'investissement accru en terme de coût ne sera compensé que par une utilisation intensive de ces fonctionnalités.

Enfin, les progiciels d'IRM (gestion de la relation client sur Internet, pour Internet Relationship Management) s'adaptent encore plus à des problématiques spécifiques. A ce niveau, la réalisation d'applications web consiste généralement à paramétrer un moteur de règles, ce qui permet de mettre en place des applications web sans avoir à effectuer de la programmation. Si l'utilisation de ce type d'outil reste principalement destinée à la communauté des développeurs, certains paramétrages peuvent ensuite être effectués par des non informaticiens. Par contre, toute problématique non couverte nativement par le progiciel demandera un effort très conséquent, la finalité de ce type de solution n'étant pas la souplesse ni l'ouverture mais plutôt la spécificité.

 

Solution

 

Au moment du choix final , l'une des solutions pour le moteur d’exécution sera plus adaptée qu'une autre en réponse au coût, à une problématique particulière et un environnement propre, on s’orientera alors vers l'utilisation d'un langage de développement, d'un serveur d'applications enrichi de frameworks ou non, voire d'un progiciel de gestion intégré.

 

 5.3 Synthése.


Perl et les moteurs de servlets

 

Les premières solutions de développement web étaient avant tout des langages de développement. Ainsi, que ce soit en Perl ou en langage C, la réalisation consistait à développer des modules CGI s'interfaçant avec le serveur HTTP. Le C, trop complexe, a disparu, alors que Perl est toujours présent, notamment grâce au serveur HTTP Apache qui propose l'interface mod_perl. La programmation Perl est cependant aujourd'hui principalement dédiée à la réalisation d'applications manipulant fortement les chaînes de caractères, élément qui constitue une des grandes forces de ce langage.

Depuis, d'autres solutions articulées autour de Java, et notamment sur les moteurs de servlets, ont vu le jour. Ces produits, plus complets que de simples L3G, offrent un premier niveau de fonctionnalité en terme d'ouverture, de support des API de J2SE ou encore de fonctionnalités telle que la gestion de contexte, à moindre coût. Des outils d'administration ou encore des fonctionnalités de répartition de charges accompagnent parfois ces moteurs de servlets.

Les serveurs d'applications de scripting et objet

 

Les serveurs d'applications sont présentés de manière plus approfondie dans le présent rapport. De manière synthétique, on peut noter qu'il existe deux grandes catégories d'offres : celles s'appuyant sur l'interface HTML, sur des logiques relationnelles, et sur les solutions de scripting ; et par ailleurs les offres objet, principalement bâties sur Java et J2EE aujourd'hui. Les premiers sont généralement plus simples et moins onéreux, alors que les serveurs objet, plus coûteux, répondent à des problématiques d'entreprise ou à des contextes fortement transactionnels.

Des frameworks métier pour aller plus vite

 

Les éditeurs de serveurs d'applications souhaitent néanmoins aller plus loin en terme de fonctionnalités, se focalisant également sur des problématiques métier réduisant considérablement les temps de développement..

Les progiciels pour des besoins plus spécifiques

 

Enfin, d'autres solutions, historiquement issues d'horizons différents, peuvent également répondre à certains types de besoins. Par exemple, les outils de gestion de la relation client (GRC ou CRM), ouverts vers le monde du web, permettent d'offrir des environnements particulièrement adaptés à certains contextes où des problématiques de personnalisation fortes apparaissent, pour la gestion de contenu ou encore l'élaboration de gestion de catalogues.

 

Les serveurs d'applications arrivent à maturité

 

Le langage JAVA, aujourd'hui au cœur de la plupart des principales offres, présente  deux caractéristiques qui poussent les serveurs d'applications vers le haut. Le premier élément n'est autre que la richesse des API composant ce " plus que langage ". Celles-ci, fournies avec toute version d'un JDK suffisamment évolué, offrent entre autres une gestion de contexte plus que correcte et des capacités d'ouverture et de portabilité avancées. L'autre composante essentielle du langage Java réside dans son orientation objet, pleinement exploitée avec J2EE. Les serveurs d’applications ont alors de meilleurs atouts en terme de répartition de charges, de réutilisation et de disponibilité des applications déployées.

En effet, en se reposant sur une architecture basée sur des objets, la mise en place d'architectures distribuées permettant par exemple la reprise sur incident est grandement simplifiée.

Page précédente
Sommaire
Page suivante