What this book covers
Before your organization embarks on building an enterprise application using the Oracle Application Development Framework, you need to prove that ADF will indeed be able to meet the application requirements.
Chapter 1, The ADF Proof of Concept, will take you through building a Proof of Concept application using the normal ADF components: ADF Business Components for the middle tier, ADF Faces, and ADF Task Flows for the user interface. The application will access data stored in relational tables and use both the standard ADF components and an ADF Data Visualization component (a Gantt chart). This chapter contains step-by-step instructions and can be used as a hands-on exercise in basic ADF development.
Once you have proved that ADF is capable of delivering the necessary functionality, you need to figure out which components will be part of your application and estimate the total effort necessary to build it.
Chapter 2, Estimating the Effort, will provide checklists of tasks that you must remember in your estimate as well as some guidelines and estimation techniques that you can use to calculate how much time it will take to build the application.
The next step after having decided to proceed with an ADF enterprise project is to organize the development team.
Chapter 3, Getting Organized, explains the skills you need to build an enterprise application and how to organize your team. It also explains which tools you need in your enterprise project and how you should structure your code using separate workspaces connected through the powerful ADF Library functionality for maximum efficiency.
For the team to work efficiently toward the project goal, each developer needs a development workstation with complete integration of all the necessary tools.
Chapter 4, Productive Teamwork, describes how to set up and use the Oracle Team Productivity Center, which serves as an integration hub, connecting your issue tracking system (for example, Jira) and other tools to JDeveloper. It also explains how to work effectively with Subversion and JDeveloper together for version control.
With your workstation all set up and ready to go, you need one more thing before starting development in earnest: templates and framework extension classes. For a small application it might be OK to just start coding and work out the details as you go along. However, in an enterprise application, the rework cost of such an informal approach can be prohibitive.
Chapter 5, Preparing to Build, explains the task flow and page templates you need to build a uniform user interface in an efficient way. It explains why you need your own ADF framework extension classes and how to build them.
Now that all of the infrastructure and templates are in place and the development workstation has been configured with all necessary connections, it is time to prove the entire development flow.
Chapter 6, Building the Enterprise Application, walks you through creating the same Proof of Concept application as in Chapter 1, The ADF Proof of Concept, but this time, using all of the enterprise support tools configured and prepared in Chapter 4, Productive Teamwork and Chapter 5, Preparing to Build. The application is built in a module manner in separate subsystems and integrated together in a master application to illustrate how a large enterprise application should be structured.
By the end of this chapter, you would have proved that the entire enterprise toolset is functional, and you would have rebuilt the Proof of Concept application using the correct enterprise methodology.
All applications need to be tested, but enterprise applications need testing much more than smaller applications, for the following two reasons:
- The size and complexity of an enterprise application means that there are more interfaces where things can go wrong
- The long life expectancy of an enterprise application makes it almost certain that other developers will be maintaining it in years to come
For both of these reasons, it is important that the application comes with test cases that prove correct functionality. It will not be sufficient to have a collection of test scripts that must be manually executed—these will not be consistently executed and will surely become out of date over the lifetime of the application. Your tests must, therefore, be automated so that they can be executed as part of the build process.
Chapter 7, Testing Your Application, explains how to write code tests in the form of JUnit test cases and how to use Selenium to record and playback user interface tests. It also explains how JMeter can be used to load test your ADF application.
Your organization will, of course, have graphical standards that the application must adhere to. In an ADF application, the look of the application can easily be modified in a process known as skinning. By developing several skins, you can even deploy the same application multiple times with very different visual identities—an invaluable feature for independent software vendors.
Chapter 8, Changing the Appearance, explains how to use the powerful skin editor available in JDeveloper 11g Release 2 and later versions to create Cascading Style Sheets (CSS) to create a new skin, which corresponds to your enterprise visual identity, for your application.
Looking at the requirements for your application, you might identify a number of pages or screens that are almost, but not quite, identical. In many cases, you don't have to develop each of these individually—you might be able to develop one master page and use functional customization to provide different groups of users with different versions of the page.
The ability to easily customize an application's functionality is one of the truly outstanding features of the Oracle ADF framework. Here, you benefit from the fact that Oracle has developed ADF for real life, large enterprise applications like Oracle Fusion Applications. If you are an independent software vendor, producing software for sale, you can use this feature to easily customize a base application for individual customers.
Chapter 9, Customizing Functionality, explains how to set up an application for customization using ADF Meta Data Services, and how to use the special JDeveloper customization role to perform the actual customization.
Your enterprise application needs a robust, role-based security model.
Chapter 10, Securing Your ADF Application, explains how to secure both user interface (task flows and pages) and data access (Entity Objects) using ADF security features, and how ADF security ties in with WebLogic security features.
Once the individual parts of the application have been built and tested, it is time to build a complete deployment package.
Chapter 11, Packaging and Delivery, describes how an enterprise application deployment package is built and how the development team can set up their own standalone WebLogic server to ensure that the deployment package will work when handed over to the operations team.
An enterprise application might have to be made available in several languages.
Appendix, Internationalization, explains how internationalization works in ADF and how to produce a localized application.