JCA is developed to integrate the enterprise systems with J2EE architecture. Basic idea is to involve the entriprise transaction with in the transaction boundaries of J2EE and so you are suppossed to use a J2EE server. I am not sure about the direct calling of API, need to find out about that. I would love to hear more from people.
Originally posted by Sanjay Bahal:
All documents indicate that one needs a J2EE server to use JCA. Why is that the case. Can't one use the API's directly?
The question is why would you like to use JCA API directly? To use an API, you need an implementation that supports it. J2EE application server is such implementation. As Ram mentioned, JCA is there for integration of J2EE with EIS systems.
Originally posted by Doug Wang:
Regarding integration solutions, you have given many choices, in which JCA is the last choice.
Then what is the case we should choose JCA as the only appropriate integration solution.
JCA provides a standardized method for accessing EIS systems from J2EE and Java applications (from managed and non-managed environment). Clients access EIS systems through JCA through CCI (Common Client Interface). However, we need a Resource Adapter for the EIS system. For commercial EIS systems, such as ERP, CRM and other systems Resource Adapters are (or will be) provided by vendors.
If we have to develop a Resource Adapter ourselves this is not a trivial task. Therefore for simple legacy systems, where we do not need transaction, security, connection management and other contracts, simpler solutions can be easier to develop.
This is somehow comparable to JDBC. To access a certain database you need a JBDC driver. For accessing a legacy database, sometimes it is easier to access the file directly than to write a JDBC driver.
JDBC. I doubt that there even is a resource adapter for Oracle database... The legacy databases Matjaz referred to would be flatfile based, homegrown databases. I would say that if the database provides a JDBC driver, using it is a no-brainer.
Originally posted by sarah Marsh:
To access oracle DB, is using JCA better than using JDBC? Why or why not?