Section 7
Architectures d'objets distribués
WebLogic
WebLogic possède une architecture d'objets distribués complexe, appelée WebKona, dont voici
les composantes principales:
- Architecture distribuée de communication par évÈnements.
- Interface de haut niveau aux drivers JDBC.
- Appel de méthodes à distance (en fait une architecture de servlets).
- Génération HTML.
Essentiellement un dictionnaire, l'architecture de WebLogic est basée sur la transmission de " ParamSet ".
Les valeurs du dictionnaire peuvent être des types élémentaires, des objets sérialisés
(selon un processus de sérialisation propre à WebLogic) ou un vecteur de types élémentaires
ou d'objets. Ces ensembles de paramètres sont stockables dans des espaces nommés organisés
de façon hiérarchiques, pouvant être des paramètres d'entrée-sortie pour un appel
à distance (il s'agit d'un appel synchrone à un servlet nommé)et peuvent être utilisés
dans le processus de sérialisation, etc.
Un autre concept fondamental de l'architecture Kona est celui d'écènement distribué: plusieurs
processus Kona peuvent s'envoyer très rapidement des évÈnements de haut niveau au travers
d'un Kona T3 Event Server.
L'architecture en couches de Kona est idéalement adaptée à un système distribué
complexe. Toute cette architecture est profitable à la couche d'accès aux BD de WebLogic, construite
au-dessus de JDBC et est appelée jdbcKona. En effet, outre des abstractions utiles (MetaData, DataSet dont
dérivent autant les tableaux relationnels que les résultats des requêtes, et manipulables comme
des touts, etc.) jdbcKona fournit des notions fortes utiles comme le EventfulTableDataSet, un tableau relationnel
dont les modifications entraînent l'envoi d'un message à un ou des processus Java distribué(s).
(En fait une extension naturelle de la notion de trigger.)
Donc une architecture bien pensée, puissante, mais non dépourvue de lacunes importantes. Par exemple,
la sérialisation semble être une boîte noire, et il n'y a clairement pas moyen de spécifier
des ensembles d'objets par des requêtes. Les requêtes à distance sont nécessairement
synchrones et agissent à l'échelle d'un servlet, pas d'un objet desservi. C'est toutefois un des
quelques systèmes qui soit à la fois proche des technologies Java actuelles qui y ajoute des abstractions
utiles et qui le fasse selon des processus simples et probablement robustes.
WebLogic : Kona
|
Connexion à des données relationnelles |
oui |
Compatibilité avec les RDBMS |
oui |
Modèle de données orienté-objet |
non |
Manipulation d'objets Java |
oui (persistance) |
Manipulation d'objets hétérogènes |
non |
Accès aux objets par plus d'un identificateur |
non |
Communication entre des objets distribués |
oui |
Utilisation d'un langage de requêtes |
non |
Contexte d'utilisation |
Utilisation multi-usager |
oui |
Gestion des transactions |
oui |
Sécurité |
oui |
Données distribuées |
oui (architecture en couches) |
Utilisation différée |
non |
Génération de pages Web |
oui |
Standards |
SQL, JDBC, ODBC |
Données techniques et commerciales |
Plate-forme et contraintes système |
Java, la plupart des bases de données |
Engin en pur Java |
oui |
Modèle de distribution |
$ |
Étape de développement |
disponible |
|