Defining datasources in Application Pros Avoid configuring client's application server Useful in development stage to just change the parameters and build and deploy Cons Cannot use same build for Dev, QA, UAT and Pro. that may leads to minor problems Defining datasources in App server Pros More secure by having it in app server configuration builder will not have the credentials to the clients DB Can make war file smaller having DB modules in app server Can use same war file in multiple places (Test, Production and different clients) Can use same build for staging and make sure that application works perfectly Easy deployment Cons Based on the different clients having different application servers would take some time to configure