Originally posted by Edy Yu: Can I say javax.sql.DataSource and javax.sql.XADataSource are examples of JCA?
DataSource (or XADataSource) are not "examples of JCA". First of all, JCA is a different set of interfaces: javax.resource.* Second, DataSource is an interface and thus isn't an instance/implementation/example of anything. An example of JCA would be something like a .rar file provided by SAP AG for connecting J2EE applications to their ERP system. Check out this JavaWorld article for a decent introduction to JCA.
Let's put it this way. Say, setting up DataSource/XADataSource mapping to Oracle database is an example of implementing JCA architecture in J2EE. Here, the ressource adapter is impelemented by Oracle through proper JDBC drivers. If we dig deeper into the App servers datasource implementation, we can see clues using JCA features like ManagedConnection, ConnectionFactory, ects. To me, JCA is much like a framework to create pluggable and portable connectors to EIS inside App Servers. The EIS could be an Oracle database or a SAP ERP.