You can add new entity types, property types and control types into extension schema XSD files such as wimextension.xsd. These XSD files import the virtual member manager built-in schema XSD files. You can then generate the static model code from the extension schema XSD files through Eclipse or RAD development environment or similar tools. The generated mode code is compressed into jar files (for example, wimmodel.jar and wimmodelext.jar) and put under the class path.
When virtual member manager starts, the Configuration Manager loads the wimconfig.xml file into configuration data graph. The Schema Manager is then passed with configuration data graph.
If the instance of the Local Service Provider is not in the same JVM as the virtual member manager instance, an instance of Local Service Provider is created remotely, the Local Service Provider calls the virtual member manager API getEPackges to retrieve the schemas of all namespaces by passing the nsURI parameter as null.
The Profile Manager receives the API call and passes it to Schema Manager. Because the ECore models are not serialized and cannot be passed to the remote client, the Schema Manager converts the ECore models into the form of a byte array and passes the schemas back to the Local Service Provider.
The Local Service Provider converts the schemas from byte array to ECore models and registers them in the client’s JVM.
If client and server are in the same JVM, the client can cast the data objects defined in static packages to their static types and use static methods. For example, a data object of Person can be cast to the Person object and the static method like getSn can be used (instead of the static method like getString(“sn”). These don’t apply to data objects (e.g. ContactPerson) defined in wimxmlextension.xml, which are dynamic packages.
If client and server are in the different JVM, static types and methods cannot be used even for the data objects defined in static packages because the static packages cannot be accessed in the JVM of the client.