Avertissement▲
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 d'avoir traqué les erreurs de cet article.
[Modification du 17/05/2004] L'équipe marketing de Borland pour l'envoi d'une liste d'études de cas de clients francophones utilisant BES.
I. 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.
II. Description▲
II-A. Certification J2EE▲
Certifié J2EE 1.3
II-B. Plateformes supportées▲
- Windows ;
- Linux ;
- Solaris ;
- HP-UX ;
- IBM AIX.
II-C. 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).
II-D. Installation▲
Le produit est très simple à installer, il utilise l'installateur graphique d'InstallAnywhere. L'installation est la même sur toutes les plateformes. Les installations sur Windows, Linux et Solaris embarquent leur propre JDK. Dans le cas de 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 cinq 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.
II-E. Administration▲
L'administration de BES est l'un de ses points forts, 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 elle-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é 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 conteneur 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.
II-F. Configuration matérielle▲
Recommandation éditeur (minimum) :
- Processeur : PIII 600Mhz, SPARC 440Mhz, PA-RISC 100Mhz, RS/6000 200Mhz ;
- Mémoire : 256Mo ;
- Disque : 1Go.
Un serveur avec 1,5 Ghz et 512 Mo semble être la configuration moyenne.
II-G. Intégration IDE▲
- JBuilder : c'est l'IDE très fréquemment utilisé avec ce serveur ;
- Eclipse / Lomboz : oui, via XDoclet ? À vérifier… ;
- Ant / XDoclet : BES est supporté par Xdoclet.
II-H. 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.
II-I. Documentation▲
BES est livré avec trois livres papier (é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…
II-J. Particularités▲
Ce qui caractérise ce serveur, c'est son socle CORBA, BES est complètement construit sur le cœur 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 type web et EJB, tout en restant compatibles avec la norme ;
- yous 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 modules 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 recommandations J2EE.