= MaestroAPI 3.x API comparison = Maestro 3.x has fundamental API changes from 2.x. This table outlines the main classes and interfaces in 2.x and their equivalents in 3.x (NOTE: This is not a comprehensive list) ||Maestro 2.x||Maestro 3.x|| ||OSGeo.MapGuide.MaestroAPI.ServerConnectionI||OSGeo.MapGuide.MaestroAPI.IServerConnection|| ||OSGeo.MapGuide.MaestroAPI.HttpServerConnection||OSGeo.MapGuide.MaestroAPI.IServerConnection (created using the Maestro.Http provider name)|| ||OSGeo.MapGuide.MaestroAPI.LocalNativeConnection||OSGeo.MapGuide.MaestroAPI.IServerConnection (created using the Maestro.LocalNative provider name)|| ||OSGeo.MapGuide.MaestroAPI.ApplicationDefinition.ApplicationDefinitionType||OSGeo.MapGuide.ObjectModels.ApplicationDefinition.IApplicationDefinition|| ||OSGeo.MapGuide.MaestroAPI.DrawingSource||OSGeo.MapGuide.ObjectModels.DrawingSource.IDrawingSource|| ||OSGeo.MapGuide.MaestroAPI.FeatureSource||OSGeo.MapGuide.ObjectModels.FeatureSource.IFeatureSource|| ||OSGeo.MapGuide.MaestroAPI.LoadProcedure||OSGeo.MapGuide.ObjectModels.LoadProcedure.ILoadProcedure|| ||OSGeo.MapGuide.MaestroAPI.LayerDefinition||OSGeo.MapGuide.ObjectModels.LayerDefinition.ILayerDefinition|| ||OSGeo.MapGuide.MaestroAPI.MapDefinition||OSGeo.MapGuide.ObjectModels.MapDefinition.IMapDefinition|| ||OSGeo.MapGuide.MaestroAPI.WebLayout||OSGeo.MapGuide.ObjectModels.MapDefinition.IWebLayout|| ||OSGeo.MapGuide.MaestroAPI.FeatureSourceDescription||OSGeo.MapGuide.MaestroAPI.Schema.FeatureSourceDescription|| ||OSGeo.MapGuide.MaestroAPI.RuntimeClasses.RuntimeMap||OSGeo.MapGuide.MaestroAPI.Mapping.RuntimeMap|| ||OSGeo.MapGuide.MaestroAPI.FeatureSetReader||OSGeo.MapGuide.MaestroAPI.Feature.IReader|| ||OSGeo.MapGuide.MaestroAPI.Box2DType||OSGeo.MapGuide.ObjectModels.IEnvelope|| ||OSGeo.MapGuide.MaestroAPI.FdoSpatialContextListSpatialContext||OSGeo.MapGuide.ObjectModels.IFdoSpatialContext|| == ServerConnectionI == In Maestro 3.x, the ServerConnectionI (now called IServerConnection) has been broken up to service-specific interfaces: * IResourceService * IFeatureService * IFusionService * IMappingService * ISiteService * ITileService These services can be accessed via GetService() method of IServerConnection. The IResourceService and IFeatureService can be accessed directly via the ResourceService and FeatureService properties of IServerConnection == Resource Classes == In Maestro 3.x, resource types are modeled on interfaces. Although there are still underlying generated classes implementing these interfaces, these classes are not intended to be used directly. Creation of these resource objects is done via the new ObjectFactory class. IResourceService automatically handles serialization/deserialization. Such classes and interfaces pertaining to resource types reside under the OSGeo.MapGuide.ObjectModels namespace