This would depend on the technologies used and the deployment model. I.e. whether you have OnSite, OnDemand or Cloud installation the tools you would use would be different. While on site you are able to implement customizations with JDeveloper in cloud environment you would be restricted to run-time composer tools accessible through the applications.
See the following blog posts for more information:
<li>[url http://blogs.oracle.com/fadevrel/entry/tailor_customize_extend_personalize_localize]Tailor, Customize, Extend, Personalize, Localize, and Integrate – All Explained
<li>[url https://blogs.oracle.com/fadevrel/entry/tailoring_fusion_applications_in_the]Tailoring Fusion Applications in the Cloud Explained
<li>[url https://blogs.oracle.com/fadevrel/entry/the_four_fusion_application_composers]The Four Fusion Application Composers Explained
For technical information the [url http://docs.oracle.com/cd/E28271_01/fusionapps.1111/e16691/toc.htm]Oracle Fusion Applications Extensibility Guide is a good starting point.
Fusion Applications Developer Relations