You can in fact use the spec described @DataSourceDefinition (data-source in xml) to do this. However this uses JDBC directly, since it directly references JDBC classes, and bypasses the JCA layer. So the disadvantage here is that it is an "unmanaged" data source. Anything in the standalone.xml/domain.xml is "managed" and can be added/removed on the fly, monitored, etc.