| |
| |
Foreword | |
| |
| |
Acknowledgments | |
| |
| |
Introduction | |
| |
| |
| |
Technology Overviews | |
| |
| |
| |
J2EE Basics | |
| |
| |
What Do I Need to Know About Database Application Architecture? | |
| |
| |
What Is J2EE? | |
| |
| |
J2EE and Java EE 5 | |
| |
| |
J2EE Parts | |
| |
| |
J2EE Platform | |
| |
| |
What Non-J2EE Web Technologies Are Popular in J2EE Environments? | |
| |
| |
User Interface Technologies | |
| |
| |
Web Services | |
| |
| |
How Do J2EE Architectures Differ from Traditional Architectures? | |
| |
| |
How Do I Choose Between J2EE and Oracle Forms and Reports? | |
| |
| |
Oracle's Direction | |
| |
| |
Oracle Forms or J2EE? | |
| |
| |
Oracle Reports or J2EE? | |
| |
| |
Should I Pay Attention to .NET? | |
| |
| |
How Does Oracle Forms Services Fit into J2EE? | |
| |
| |
| |
Web Communications | |
| |
| |
How Does HTTP Work? | |
| |
| |
HTTP Request | |
| |
| |
HTTP Response | |
| |
| |
Methods | |
| |
| |
Other HTTP Features | |
| |
| |
What Are the Steps in a Web Application Roundtrip? | |
| |
| |
How Does Oracle Forms Services Use HTTP? | |
| |
| |
| |
JDeveloper and ADF as RAD Tools | |
| |
| |
What Do We Mean by RAD? | |
| |
| |
What Is a Framework? | |
| |
| |
The Anatomy of a Framework | |
| |
| |
What Characterizes a Good Framework? | |
| |
| |
Oracle Forms as a Framework | |
| |
| |
What Is Oracle ADF? | |
| |
| |
How Do I Choose Technologies? | |
| |
| |
User Interface Technology | |
| |
| |
Database Integration | |
| |
| |
Why Is JDeveloper an IDE for RAD? | |
| |
| |
A Familiar IDE? | |
| |
| |
Getting Started with JDeveloper | |
| |
| |
Laying Out the IDE | |
| |
| |
Where Are the Wizards? | |
| |
| |
The RAD Is in the Frameworks | |
| |
| |
| |
Required Web Languages and Java Language Basics | |
| |
| |
Which Languages Do I Really Need to Know? | |
| |
| |
How Much Code Will I Need to Write? | |
| |
| |
How Much of Which Languages Do I Need to Know? | |
| |
| |
What Do I Need to Know About XML? | |
| |
| |
Which Java Concepts Are Important? | |
| |
| |
Java Foundations | |
| |
| |
Control Structures | |
| |
| |
Datatypes | |
| |
| |
Operators | |
| |
| |
Resources | |
| |
| |
| |
JavaServer Faces Basics | |
| |
| |
Why Was JSF Developed? | |
| |
| |
What Languages Other than Java Are Important to JSF Work? | |
| |
| |
What JSF Concepts Do I Really Need to Know Now? | |
| |
| |
What Is JSF? | |
| |
| |
Runtime Architecture | |
| |
| |
JSF-Oriented Files | |
| |
| |
Components | |
| |
| |
Designing Cross-Platform Interfaces | |
| |
| |
Where Can I Find Additional Information About JSF? | |
| |
| |
Websites | |
| |
| |
Printed Books | |
| |
| |
| |
Business Services in ADF | |
| |
| |
How Do I Issue a Query to the Database? | |
| |
| |
| |
Set up an Application Workspace and Project for ADF Business Components | |
| |
| |
| |
Create the Query Object | |
| |
| |
| |
Define the Query | |
| |
| |
| |
Expose the Query | |
| |
| |
| |
Test the Query | |
| |
| |
How Can I Update Data? | |
| |
| |
| |
Create an Entity Object | |
| |
| |
| |
Create an Updateable View Object | |
| |
| |
| |
Define the View Object Attributes | |
| |
| |
| |
Refine the View Object Query | |
| |
| |
| |
Test the View Object | |
| |
| |
How Do I Generate a Primary Key Value? | |
| |
| |
Using a Database Trigger to Allocate Sequences | |
| |
| |
Mutating Data | |
| |
| |
How Do I Handle Transactions? | |
| |
| |
How Does Record Locking Work? | |
| |
| |
ADF Business Component Configurations | |
| |
| |
Where Is the Login Dialog? | |
| |
| |
Connection Pooling | |
| |
| |
Security the J2EE Way | |
| |
| |
How Do I Define Business Rules? | |
| |
| |
Database Referential Integrity Constraints | |
| |
| |
Data Content Validations | |
| |
| |
Complex Validations and Rules | |
| |
| |
Evaluation Order of Validations | |
| |
| |
How Can I Dynamically Change a Query? | |
| |
| |
How Can I Interface ADF BC with PL/SQL? | |
| |
| |
Calling a Stored PL/SQL Procedure | |
| |
| |
Returning Data from PL/SQL to ADF BC | |
| |
| |
Basing a Entity Object on PL/SQL | |
| |
| |
| |
The ADF Model Layer | |
| |
| |
How Do I Create Data-Bound Pages? | |
| |
| |
The Data Control Palette | |
| |
| |
Using the Data Control Palette | |
| |
| |
"Drop as" UI Options | |
| |
| |
What Files Are Involved in Data Binding? | |
| |
| |
Defining the Data Control | |
| |
| |
Using the Data Control | |
| |
| |
A Binding File Summary | |
| |
| |
| |
ADF Model Advanced Bindings | |
| |
| |
How Can I Edit Data Bindings? | |
| |
| |
Attribute Bindings | |
| |
| |
Table Bindings | |
| |
| |
Action Bindings | |
| |
| |
Method Bindings | |
| |
| |
List Bindings | |
| |
| |
Navigation List Bindings | |
| |
| |
Boolean Bindings | |
| |
| |
Tree Bindings | |
| |
| |
Cleaning Up Bindings | |
| |
| |
What Is an Iterator? | |
| |
| |
How Can I Control Execution in the ADF Model? | |
| |
| |
Another Look at Executables | |
| |
| |
Overriding and Adding to the ADFm Life Cycle | |
| |
| |
What Are Parameters? | |
| |
| |
Populating Parameters | |
| |
| |
How Do I Write Code Using the ADF Model? | |
| |
| |
Access to Data and Methods | |
| |
| |
Executing Methods and Operations | |
| |
| |
| |
Developing the Application | |
| |
| |
| |
Your First JSF | |
| |
| |
Hands-on Practice: Create a JSF Login and JSF Home Page | |
| |
| |
| |
Create the Application Workspace and Project | |
| |
| |
| |
Diagram the Page Flow | |
| |
| |
| |
Create the Login and Home Pages | |
| |
| |
| |
Add Components to the Login Page | |
| |
| |
| |
Add Components to the Home Page | |
| |
| |
| |
Add Navigation and Validation Logic to the Application | |
| |
| |
Centralizing Messages | |
| |
| |
Hands-on Practice: Create and Call a Message Bundle | |
| |
| |
Hands-on Practice: Access Message Bundle Messages with EL | |
| |
| |
| |
Application Design Principles and Sample Application Overview | |
| |
| |
System Design | |
| |
| |
System Design Tools and the SDLC | |
| |
| |
Application Design Considerations | |
| |
| |
Best Practices | |
| |
| |
Sample Application System Design | |
| |
| |
Database Design | |
| |
| |
Application Design | |
| |
| |
Hands-on Practice: Create the Workspace and Projects | |
| |
| |
| |
Home Page and Menus | |
| |
| |
Hands-on Practice: Create the Home Page and Menus | |
| |
| |
| |
Prepare the Model Project | |
| |
| |
| |
Prepare the ViewController Project | |
| |
| |
| |
Create a Template | |
| |
| |
| |
Copy the Template File and Customize the Copies | |
| |
| |
| |
Complete the Home Pages | |
| |
| |
| |
Search Page | |
| |
| |
Search and Edit Functions | |
| |
| |
Hands-on Practice: Develop the Employee Search Page | |
| |
| |
| |
Prepare the Model Objects | |
| |
| |
| |
Add Components to the Search Page | |
| |
| |
| |
Refine the Search Page Functionality | |
| |
| |
| |
Edit Page | |
| |
| |
Hands-on Practice: Complete the Edit Page | |
| |
| |
| |
Prepare the Model Components | |
| |
| |
| |
Create the Employees Edit Page | |
| |
| |
| |
Finish Navigation from the Search Page | |
| |
| |
| |
Build a Pulldown List and LOVs | |
| |
| |
| |
Adding Security | |
| |
| |
Application Security | |
| |
| |
Security in Oracle Forms and Oracle Reports Applications | |
| |
| |
Security in Web Applications | |
| |
| |
Hands-on Practice: Set Up Security in the Sample Application | |
| |
| |
| |
Configure Container Security | |
| |
| |
| |
Define Application Security Settings | |
| |
| |
| |
Add Security to the User Interface | |
| |
| |
| |
Additional Techniques | |
| |
| |
| |
Sample Application Enhancements | |
| |
| |
Hands-on Practice: Load Audit Columns Using a Database Procedure and Application Context | |
| |
| |
| |
Create the Database Objects | |
| |
| |
| |
Set the Context from the Application | |
| |
| |
Hands-on Practice: Rename an ADF-Oriented JSF JSP File | |
| |
| |
Prevent SQL Injection Attacks | |
| |
| |
Securing Find Mode | |
| |
| |
Invoke Partial Page Rendering | |
| |
| |
Using PPR | |
| |
| |
Hands-on Practice: Use PPR to Disable the Menu Until Outstanding Changes Are Committed | |
| |
| |
Define Global Format Masks | |
| |
| |
Hands-on Practice: Apply Standard Formatting to the Salary Field | |
| |
| |
| |
Oracle JHeadstart | |
| |
| |
What Is JHeadstart? | |
| |
| |
JHeadstart Benefits | |
| |
| |
Using JHeadstart | |
| |
| |
Understanding the Application Definition | |
| |
| |
Creating an Application Definition | |
| |
| |
The Application Definition Editor | |
| |
| |
Contents of the Application Definition | |
| |
| |
Running the JHeadstart Application Generator | |
| |
| |
Generator Templates | |
| |
| |
Generator Outputs | |
| |
| |
Making and Preserving Post-Generation Changes | |
| |
| |
Running the Generated Application | |
| |
| |
Examples of Generated Screens | |
| |
| |
The Role of the JHeadstart Runtime | |
| |
| |
JHeadstart Designer Generator | |
| |
| |
Design-Capturing Oracle Forms in Oracle Designer | |
| |
| |
Migrating Oracle Forms Applications | |
| |
| |
Is the Application Suitable for a Partial Migration? | |
| |
| |
How Do I Select a Migration Tool? | |
| |
| |
Licensing, Support, and Other Resources | |
| |
| |
Index | |