Provides full DataSource implementation. Allows to wrap JDBC drivers into a DataSource-compatible classes. Adds features like connection pooling, etc. Can be used as a DataSource implementation with application servers, web containers, etc.