While writing an EJB (deployed on WAS) that connects to a db, i have never needed to use JCA. But apparently JCA is the standard for connection to thrid party EIS (which includes database). So does the WAS implement JCA internally? Under what situation would the app develoepr need to use JCA related classes?
It is possible to connect to a database using JCA only if the database vendor (or a third party) has provided a JCA resource adapter which can talk to the database. This JCA adapter would be deployed on the application server and your application would talk to the database using the standard JCA interfaces.
Having said that, the more common way for database connectivity is JDBC, and that is what you should use unless there's a specific requirement to use JCA only and you have a JCA adapter for the database.