Virtual member manager prend en charge deux méthodes de chargement du
modèle DataGraph dans la mémoire : le chargement dynamique et le chargement
statique. Chaque méthode a ses avantages.
chargement dynamique
Le
chargement dynamique signifie que le modèle DataGraph est chargé dans la
mémoire en tant que modèle ECore en phase d'exécution à partir des fichiers XSD
via XSDEcoreBuilder.
Les avantages de cette
méthode sont les suivants :
- Extension simplifiée
- Contrairement
au chargement statique, le chargement dynamique n'a pas besoin de générer un
code de modèle statique. Toutes les définitions de schéma sont définies
et chargées à partir d'un fichier XSD.
- Permet d'effectuer des modifications dans le schéma intégré de virtual member
manager
- Les nouveaux types de
propriété peuvent être ajoutés aux types d'entité intégrés virtual member
manager par le fichier wimxmlextension.xml.
- Prend en charge l'ajout de nouveaux schémas en phase d'exécution
- Les utilisateurs peuvent appeler l'API createSchema en phase d'exécution pour créer des types d'entité et de propriété.
Les inconvénients de cette méthode sont les suivants :
- Chargement plus lent
- Le temps de chargement du fichier XSD est plus long que celui du chargement du
code du modèle statique. Le processus de chargement se produit à chaque
démarrage de virtual member manager.
- Utilisation impossible des types natifs
- Dans cette approche, les clients ne peuvent modifier le type des objets de données en
types natifs (tels que PersonAccount, Group) ni utiliser les méthodes natives sur ces
types. Par exemple, les clients peuvent uniquement utiliser la méthode
setString(“givenname”, “Smith”) de l'objet de données pour définir le prénom, mais ne
peut utiliser la méthode setGivenname(“Smith”) de PersonAccount.
- Performances d'exécution plus lentes
- Les performances SDO avec le chargement dynamique sont plus lentes qu'avec le
modèle statique.
Chargement statique
Le
chargement statique signifie que le code du modèle statique est généré par la
génération de code EMF (Eclipse Modeling Framework) en phase de
déploiement. Le code du modèle est une implémentation EMF de SDO. L'application
SDO utilise le module du code du modèle généré. Cette approche permet
de réduire le temps de chargement du modèle depuis les fichiers XSD en
chargement dynamique. Il permet également à l'utilisateur de modifier le
type des objets de données en types d'objets natifs afin d'améliorer les performances
d'exécution.
Les avantages de cette
méthode sont les suivants :
- Chargement plus rapide
- Comparé au
chargement de modèle à partir de fichiers XSD, le mode de chargement à
partir d'un code de modèle statique est plus rapide. Il permet de lancer
virtual member manager plus rapidement.
- Utilisation possible des types natifs
- L'objet de données peut être modifié en types natifs (tels que PersonAccount, Group)
et utiliser les méthodes natives sur ces types. Par exemple, vous pouvez modifier l'objet
de données en PersonAccount et utiliser la méthode "setGivenname" pour définir la
propriété "givenname".
- Meilleures performances d'exécution
- A
l'aide des méthodes et des types natifs, les performances d'exécution SDO sont
meilleures qu'avec la méthode de chargement dynamique.
Les inconvénients de cette méthode sont les suivants :
- Extension moins facile
- L'extension de schéma requiert lagénération d'un code de modèle statique via Eclipse ou l'environnement de développement RAD.
Les utilisateurs de virtual member manager ont besoin d'un
minimum de connaissances en EMF, SDO et Schéma XML afin d'effectuer une
extension.
- La modification du schéma intégré de virtual member manager est plus compliquée
- Si vous souhaitez ajouter de nouveaux types de propriété aux types d'entité intégrée
de virtual member manager (tels que PersonAccount et Group), vous devez modifier
directement le fichier wimdomain.xsd et générer à nouveau le code de modèle statique de
virtual member manager.
- Ne prend pas en charge l'ajout de nouveaux schémas en phase d'exécution
- Le code de modèle généré étant fixe, vous ne pouvez pas étendre le schéma
de virtual member manager en phase d'exécution.