The following diagram shows the high-level overview architecture of the FDO API and included FDO providers.
FDO Architecture and Providers
FDO is assembled in conceptual packages of similar functionality. This conceptual packaging is reflected in the substructure of the FDO SDK “includes” folder. For more information about the structure, see The Essential FDO.
FDO commands, provider-specific commands, and connections and capabilities provide access to native data stores through each different FDO provider. Schema management (through XML), client services, and filters and expressions are provider-independent packages that tie into the FDO API. Each of these are explained in more detail in subsequent sections.
The FDO API consists of classes grouped within the following packages:
- Commands package. Contains a collection of classes that provide the commands allowing the application to select and update features, define new types of feature classes, lock features, and perform analysis on features. Each Command object executes a specific type of command against the underlying data store. In addition, FDO providers expose one or more Command objects.
- Connections/Capabilities. Contains a collection of classes that establish and manage the connection to the underlying data store. Connection objects implement the FdoIConnection interface. Capabilities API provides the code for retrieving the various FDO provider capability categories, such as connection or schema capabilities. You can use this this API to determine the capabilities of a particular provider.
- Filters and Expression package. Contains a collection of classes that define filters and expression in FDO, which are used to identify a subset of objects of an FDO data store.
- Client Services package. Contains a collection of classes that define the client services in FDO that, for example, enable support for dynamic creation of connection objects given a provider name.
- Schema package and FDO XML. Contains a collection of classes that provides a logical mechanism for specifying how to represent geospatial features. The FDO feature schema is based somewhat on a subset of the OpenGIS and ISO feature models. FDO feature schemas can be written to an XML file. The FdoFeatureSchema and FdoFeatureSchemaCollection classes support the FdoXmlSerializable interface.
In addition, FDO is integrated with the Geometry API, which includes the classes that support specific Autodesk applications and APIs, including FDO.
For more information about each of the FDO packages, see FDO API Reference Help (FDO_API.chm) and subsequent chapters is this guide.
Provider API(s) complete the FDO API configuration. Each provider has a separate API reference Help (for example, SDF_Provider_API.chm).