WebObjects

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

WebObjects est un outil informatique de développement rapide de sites Web dynamiques. Développé à l'origine par NeXT, il est aujourd'hui commercialisé par Apple, Inc.. Il fonctionne sur Mac OS X v10.2 et + (développement et déploiement), Microsoft Windows 2000 SP3 et + (développement et déploiement) et Sun Solaris 8 et HP-UX (déploiement uniquement). Le déploiement sous Linux est aisé mais non officiellement supporté. La dernière version (5.4) est fournie avec XCode, l'environnement de développement intégré d'Apple.

Tout d'abord utilisant le langage Objective C comme langage de développement, Apple migra petit à petit vers le java à partir de la version 4, pour finalement supprimer la compatibilité Objective C à partir de la version 5.

Détail[modifier | modifier le code]

WebObjects, sorti en 1996, est le premier serveur d'application Web au sens où on l'entend aujourd'hui. Il gère :

  • Le dialogue Web (boucle requête/réponse)
  • Une séparation entre la présentation (les WebObjects) et le code de gestion (en java maintenant)
  • Une couche objet d'abstraction de la base de données : Enterprise Objects Framework (EOF)
  • La distribution de charge

La couche de présentation utilise une technique proche des taglibs de JavaServer Pages. Chaque partie dynamique de la page HTML est représentée par un WebObject. Cet objet est composé d'un fichier de présentation généralement en HTML, d'une API de description des paramètres (.wod) et d'un fichier Java de gestion. L'application Webobjects Builder permet de fabriquer graphiquement des pages HTML à partir de ces objets.

L'accès aux données se fait à travers de la couche objet EOF. Le programme EOModeler permet de décrire la base de données et ses différentes entités. Pour chacune de ces entités on génèrera une classe Java de gestion. Cette classe aura la charge d'effectuer les contrôles et les transformations sur les données. Deux types de relation entre entités sont gérés : les relations du type to one ou du type to many. EOF gère un cache très fin permettant de descendre les relations sans devoir accéder à chaque fois à la base de données. Les données lues sont maintenues dans un contexte qui a la charge de noter les modifications apportées afin de mettre éventuellement à jour la base de données.

Il n'est cependant pas exempt de défauts. il est méconnu et peu poussé par son éditeur actuel : Apple, qui en outre ne supporte plus que le Mac comme plateforme de développement ce qui ne va pas agrandir la communauté des développeurs. Deux projets open source ont pris le relais : le projet woproject permet de développer sous Eclipse (environnement de développement), et le projet Wonder a étendu les capacités du framework.

Liens externes[modifier | modifier le code]