BEA Weblogic est un serveur d'applications reconnu, un des principaux acteurs propriétaires, avec Websphere (IBM), sur le marché des serveurs d'applications J2EE.
JBoss étant le le grand challenger coté open source (quid de Jonas?).
Dés le début, on retrouve des concepts connus, communs à l'ensemble des serveurs d'applications, avec quelques (+) en terme de configuration, puisque c'est un serveur propriétaire.

Coté IDE

Bea Workshop Weblogic, pour sa version 8.1 fournit un serveur d'application, ainsi qu'un environnement de développement intégré (IDE Integrated Development Environment), nommé BEA workshop, qui permet le dévelopement d'application ainsi que le déploiement, le pilotage et l'administration du serveur. A partir de la version 9, BEA a abandonné Workshop et livre un plugin propriétaire pour Eclipse qui permet de bénéficier du "meilleur des deux mondes" ;-)
Donc, dans Workshop, on trouve les fonctionnalités suivantes :

  • complétion automatique : mauvaise et lente par rapport à Eclipse
  • debugger : fonctionne parfaitement, c'est la force de ces environnements "tout intégré"
  • assistant graphique de construction pour la plupart des objets, techniques ou métiers :
    • EJB
    • Web services
    • Portlets
    • JSP
  • vue graphique de l'enchainement des traitements pour les webapps, avec le "PageFlow"
  • intégration cachée de Struts, configuration simplifiée au maximum
  • Javadoc via sélection+F1, simple mais fonctionnel
  • coté gestion du serveur :
    • démarrage et arrêt du serveur Weblogic
    • déploiement/redéploiement, l'ensemble du process recompilation, déploiement sur le serveur est automatisé en mode "development", parfois lourd, mais cependant trés pratique.
    • configuration du serveur
    • gestion des sources de données (Data sources)
    • gestion de la sécurité
    • gestion des caches d'objet

En bref, on a la tout ce qu'il faut pour démarrer rapidement en oubliant la complexité parfois pénible, en particulier sur la configuration, des produits moins "finis" de l'open source. Cependant, Workshop en tant qu'IDE accuse son âge et arrive loin très loin derrière Eclipse, en particulier sur les sujets comme le refactoring, la gestion de des packages, la complétion automatique...bref il est teps de passer à la version 9 !

Coté serveur

Packaging

Comme décrit dans la norme J2EE (jsr) un composant packagé contient deux descripteurs de déploiement : l'un indépendant du serveur, full J2EE (ejb-jar.xml) tel que requis dans la spéc J2EE sur les EJB, le second contenant les infos spécifiques nécessaires pour bénéficier des (+) du serveur Weblogic (weblogic-ejb-jar.xml).

Déploiement

Le processus est strictement similaire à celui utilisé sous JBoss, on déploie par simple copie, soit d'une archive d'entreprise (ear) soit de la totalité du répertoire. Cependant, avec Workshop, tout cela se fait automatiquement, on n'a jamais besoin de construire son ear à la main et de le copier. Cela ne sera nécessaire que lors d'un déploiement en prod par exemple...patience ;-)

Le serveur lui même

Comme toute programme normalement constitué, le serveur Weblogic est une instance d'une classe Java, la classe weblogic.server, rien de magique. Il es possible de lancer le serveur à la main, comme pour JBoss, en spécifiant :

  • le classpath : -classpath
  • la security policy : -Djava.security.policy
  • le nom à donner au serveur : -Dweblogic.Name
  • le "server home" : -Dbea.home
  • enfin le chemin de la classe...
  • options : la quantité de Ram : -Xms200m (200 Megas...)

Le serveur a une quantité de RAM propre au sein de la JVM dans laquelle il tourne (non partagée avec les autres process Java), il est (!) multithread

fonctionnalités cluster

Weblogic fournit une architecture Cluster : plusieurs serveurs peuvent être regroupés en une entité logique fournissant automatiquement les fonctionnalités de "load balancing" et par essence de "fault tolerance". L'architecture cluster apporte une réponse aux problèmes (récurrents...) des systèmes d'information d'entreprise suivants :

  1. scalabilité
  2. tolérance aux pannes
les domaines weblogic

Un domaine est un point unique d'administration d'un groupe de serveurs, en général, un serveur dédié effectue l'administration du groupe.
Allez cours petit padawan.