Write a JCA resource adaptor ideally, otherwise an mbean to bind it into jndi to make it available globally.
NO. This is not even a JCA issue.
If you are doing your own connection pooling you are not using JCA's pooling
and connection management, i.e. security and transaction injection/management.
You are on your own.