The content below is for Apache Syncope <= 1.2 - for later versions the Reference Guide is available.
Syncope uses entities like connectors bundles, connector instances and external resources to synchronize user accounts with and propagate to external systems.
This page clarifies what the responsibility and scope of each of these entities are.
Connector bundles are the components that are able to connect to classes of systems when configured correctly and told to do so. They are not bound to Syncope specifically, as they are part of the separate framework ConnId, but they can be plugged into a deployed Syncope system.
Connectors instances are instance of connector bundles, obtained by assigning values to configuration properties defined in bundles.
For instance, there is only a single "DatabaseTable connector" (the bundle) that can be instantiated many times, for example if there is need to connect to two different databases.
Resources are meant to encapsulate all information about how Syncope will use connector instances for its own purpose (i.e. provisioning). That's why, when defining a Resource, you can define how the data provided by a certain connector are mapped to user attributes, managed by Syncope. The latter is called the schema mapping.
Resources are used both for synchronization and for propagation (i.e. inbound and outbound changes); the two different use cases can be described like this, using the terms of Syncope: