Vous pouvez ajouter de nouveaux types d'entité, types de propriété et types de contrôle aux fichiers XSD de schéma d'extension tels que wimextension.xsd. Ces fichiers XSD importent les fichiers XSD de schéma intégré de virtual member manager. Vous pouvez alors générer le code de modèle statique à partir des fichiers XSD de schéma d'extension via l'environnement de déploiement RAD ou Eclipse, ou des outils similaires. Le code de modèle généré est compressé dans des fichiers jar (wimmodel.jar et wimmodelext.jar, par exemple) puis placé sous un chemin de classes.
Au démarrage de virtual member manager, le gestionnaire de configuration charge le fichier wimconfig.xml dans le graphique de données de configuration. Le gestionnaire de schémas est alors passé avec le graphique de données de configuration.
Si l'instance du fournisseur de services local ne se trouve pas dans la même machine virtuelle JVM que l'instance de virtual member manager, une instance du fournisseur de services local est créée à distance ; le fournisseur appelle la commande getEPackages de l'API de virtual member manager pour extraire les schémas de tous les espaces de nom en transmettant le paramètre nsURI comme Null.
Le gestionnaire de profil reçoit l'appel de l'API et le transmet au gestionnaire de schémas. Puisque les modèles ECore ne sont pas mis en série et ne peuvent être transmis au client éloigné, le gestionnaire de schéma convertit les modèles ECore au format d'un tableau d'octets et transmet de nouveau les schémas au fournisseur de services local.
Le fournisseur de services local convertit les schémas depuis le tableau d'octets en modèles ECore puis les enregistre dans la machine virtuelle JVM du client.
Si le client et le serveur se trouvent dans la même machine JVM, le client peut forcer le type des objets de données définis dans les modules statiques vers leurs types statiques et utiliser les méthodes statiques. Par exemple, un objet de données d'une entité PersonAccount peut être forcé vers l'objet PersonAccount et vous pouvez utiliser la méthode statique getSn (au lieu de la méthode statique getString(“sn”). Cela ne s'applique pas aux objets de données (ContactPerson, par exemple) définis dans wimxmlextension.xml, qui sont des modules dynamiques.
Si le client et le serveur se trouvent dans des machines JVM différentes, vous ne pouvez pas utiliser les types et les méthodes statiques, même pour les objets de données définis dans les modules statiques car ces derniers sont inaccessibles depuis la machine JVM du client.