Si vous avez noté des erreurs, des points à approfondir ou plus simplement, si
vous souhaitez participer à la rédaction de cet article :
Contactez moi
Remerciements
Je tiens à remercier: Alacazam
pour avoir traqué les erreurs de cet article. [Modification du 17/05/2004]L'équipe marketing de Borland pour
l'envoie d'une liste d'études de cas de clients francophones utilisant BES.
1. Présentation
Borland s'est lancé dans l'aventure J2EE depuis la première spécification.
Ils ont profité de la maturité de leur serveur visibroker CORBA pour l'utiliser
comme socle du serveur d'applications.
Dépassé dès le début par la puissance marketing des leaders du marché, BES
a trouvé sa place principalement dans les sociétés utilisant déjà les
avantages de l'interopérabilité CORBA.
2. Description
2.1. Certification J2EE
Cértifié J2EE 1.3
2.2. Plateformes supportées
Windows
Linux
Solaris
HP-UX
IBM AIX
2.3. Licence / Prix
Le produit se décompose en trois versions, (Web Edition,
Visibroker Edition et Server Edition). La dernière version qui nous
intéresse est payante : 12 000 (montant indicatif).
2.4. Installation
Le produit est très simple à installer, il utilise l'installateur
graphique d'InstallAnywhere. L'installation est la même sur toutes
les plates-formes. Les installations sur Windows, Linux et Solaris
embarquent leur propre JDK. Dans le cas d'HP et IBM, il faut qu'un
JDK soit déjà installé sur la machine. Dans tous les cas, l'installateur
permet de choisir un JDK déjà existant.
L'installation dure environ 5 minutes. Une fois terminée, pas besoin
de positionner de variable système ou de modifier des fichiers de
configuration, le serveur est tout de suite opérationnel.
2.5. Administration
L'administration de BES est l'un de ses points fort, elle se fait via
une console graphique.
Un autre outil en ligne de commande est accessible, il permet avec moins
de finesse d'administrer le serveur. Ce dernier est rarement utilisé,
sauf pour des besoins d'automatisation.
La première particularité de l'administration de BES, c'est que
l'administration est ell-même sécurisée par l'API J2EE JAAS.
L'administration ne peut donc se faire qu'avec une identification.
La console affiche automatiquement l'ensemble des serveurs accessibles dans
le sous-réseau. Cette recherche se fait automatiquement via broadcast. Il
est également possible de donner une liste de serveurs à administrer ou mixer
ces deux notions. Dans l'exemple ci-dessous, la console a trouvée un serveur :
titan. BES est prévu pour être administré à distance.
Chaque serveur est décomposé en partitions, c'est la seconde particularité
du serveur, que l'on pourrait traduire par serveur virtuel. Un serveur
physique peut héberger plusieurs partitions (ici B: standard et B2: test).
Chacun a sa propre JVM, modules,
serveur web, serveur EJB ...
Chaque partition héberge un certain nombre de modules (jar standard,
jar J2EE, ear, war, rar) (Dans l'exemple : C)
Chaque partition a ses services qui lui sont propres (Dans l'exemple : D) :
EJB Container : Le containeur EJB
JDataStore : base de données full Java de Borland
Naming Service : Service de nommage (JNDI)
Session Service : Service de session (EJB Statefull)
Transaction Service : Service transactionnel
VisiConnect Service : Service CORBA
Web Container : Service Web dynamique (Tomcat)
Et finalement les services globaux au serveur (Dans l'exemple : D)
2PC Transaction Service : Le service de validation à deux phases
Apache 2.0 : Serveur Wev
Smart Agent : (OSAgent) le service CORBA de nommage
Sonic MQ Broker : Le moteur JMS de Sonic Software
L'ensemble des configurations est accessible à distance, y compris pour
les produits intégrés comme Apache, Sonic et Tomcat.
Chaque module ou service est précédé par deux icônes, la première
représente le statut courant, la seconde, celui souhaité. Le
rafraîchissement se fait à intervalle configurable.
Des outils de statistique permettent de suivre l'évolution des objets
J2EE : EJB session, EJB Entity, Web module. Il est également possible
de suivre la mémoire et les processus utilisés
Autre information intéressante accessible via la console, la hiérarchie des
classloader sur le serveur, très pratique pour comprendre ce qui se passe
dans votre application ainsi déployée.
En sélectionnant un module J2EE, nous pouvons voir les dépendances entre
tous les objets.
Comme tous les serveurs, la consultation des logs est un exercice très
vite obligatoire.
Le déploiement des modules se fait également via la console, on peut choisir
le déploiement à chaud ou à froid, la vérification des recommandations J2EE,
la génération des stubs. Il est possible de déployer sur un groupe de serveurs ou
sur un cluster.
La console foisonne d'outils, en voici un qui se révèle très vite
indispensable : L'éditeur de descripteur de déploiement.
Cet outil vous permet, avec une interface graphique, de consulter, modifier
ou créer un descripteur de déploiement. Il permet de manipuler les modules
de type web, EJB, EAR ... Toute la norme J2EE est couverte par l'outil.
Il permet également de vérifier les compatibilités à la norme. Cet outil
est indispensable pour l'exploitation du serveur, dans les cas d'une modification
d'un paramètre d'un EJB par exemple.
Un serveur avec 1,5 Ghz et 512Mo semble être la configuration moyenne.
2.7. Intégration IDE
JBuilder : C'est l'IDE trés fréquement utilisé avec ce serveur
Eclipse / Lomboz : Oui, via XDoclet? A vérifier...
Ant / XDoclet : BES est supporté par XDoclet
2.8. Popularité
Si BES a une bonne réputation technique, personne n'en parle.
Ce gros déficit de communication ne le rend pas très populaire.
[Modification du 17/05/2004] Borland a l'avantage d'être réactif,
ils viennent de nous envoyer des études de cas sur des clients
Francophones utilisant Borland Enterprise Server, de quoi relever le niveau
de communication.
BES est livré avec trois livres papiers (également fournis au format pdf).
Developper's guide : Guide du développeur, 436 pages
Install guide : Guide d'installation, 48 pages
Users guide : Guide de l'utilisateur, 258 pages
Il est également livré avec la documentation CORBA Visibroker
(5 livres, 1500 pages environ). Des javadocs se trouvent dans les répertoires
d'installation.
Des livres blancs sont accessibles sur des sujets comme : le clustering,
performances...
2.10. Particularités
Ce qui caractérise ce serveur, c'est son socle CORBA, BES est complètement
construit sur le coeur de Visibroker. Cette particularité apporte les
avantages suivants :
Tous les EJB sont utilisables en COBRA avec d'autres langages comme le C/C++ ...
Borland propose déjà l'ensemble des outils CORBA (Janeva) pour utiliser les EJB sous .NET
Il est possible d'aller beaucoup plus loin avec CORBA qu'avec RMI/IIOP.
Grâce aux intercepteurs CORBA, il est possible d'ajouter des informations sur les trames de communications, très pratique pour passer le contexte de l'utilisateur.
Des optimisations de type "intra-call" sont utilisées pour accélérer les appels entre les modules de tpye Web et EJB, tout en restant compatible avec la norme.
Tous les services (nommage, transaction, web, EJB...) bénéficient de fail-over de CORBA.
BES permet de faire du cluster homogène ou hétérogène, le clustering
peut se faire à tous les niveaux.
La console de type client lourd permet une très grande souplesse d'administration.
Déploiement à chaud de tous les types de module J2EE
Le système des partitions permet de créer plusieurs serveurs logiques
sur une même machine. Les partitions sont isolées les unes des autres,
très intéressant pour le développement et le fail-over.
Les modules sont isolés les uns des autres par des classloader différents.
Un module CORBA pour Apache est utilisé en standard, il remplace le
traditionnel module peu performant.
BES suit de très près les recomandations J2EE.
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de
l'autorisation de l'auteur.