Skip Headers
Oracle® Application Development Framework Developer's Guide For Forms/4GL Developers
10g Release 3 (10.1.3.0)
B25947-01
  Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
 

4.2 What are ADF Business Components and What Can They Do?

ADF Business Components are "building-blocks" that provide the most productive way to create, deploy, and maintain a business service. ADF Business Components dramatically simplifies the development, delivery, and customization of enterprise J2EE business applications by providing you with a set of intelligent software building-blocks that save development time by making many of the most typical development task declarative. They cooperate "out-of-the-box" to manage all of the common facilities required to:

By eliminating the substantial coding and testing work related to common "application plumbing" facilities, ADF Business Components lets application developers focus full-time on implementing business solutions. ADF Business Components provides a foundation of Java classes that your business-tier application components extend to leverage a robust implementation of the numerous design patterns you need in the following areas:

Simplifying Data Access
  • Design a data model for client displays, including only necessary data

  • Include master/detail hierarchies of any complexity as part of the data model

  • Implement end-user query-by-example data filtering without code

  • Automatically coordinate data model changes with business domain object layer

  • Automatically validate and save any changes to the database

Enforcing Business Domain Validation and Business Logic
  • Declaratively enforce required fields, primary key uniqueness, data precision/scale, and foreign key references

  • Easily capture and enforce both simple and complex business rules, programmatically or declaratively, with multi-level validation support

  • Navigate relationships between business domain objects and enforce constraints related to compound components

Supporting Sophisticated UIs with Multi-Page Units of Work
  • Automatically reflect changes made by business service application logic in the user interface,

  • Retrieve reference information from related tables, and automatically maintain the information when user changes foreign-key values

  • Simplify multi-step web-based business transactions with automatic web-tier state management

  • Handle images, video, sound, and documents with no code

  • Synchronize pending data changes across multiple views of data

  • Consistently apply prompts, tooltips, format masks, and error messages in any application

  • Define custom metadata for any business components to support metadata-driven user interface or application functionality.

  • Add dynamic attributes at runtime to simplify per-row state management.

Implementing Best Practice, High-Performance Service-Oriented Architecture
  • Enforce best-practice interface-based programming style

  • Simplify application security with automatic JAAS integration and audit maintenance

  • "Write once, deploy any": use the same business service as plain Java class, EJB session bean, or web service

  • Switch from 2-tier to 3-tier deployment with no client code changes

  • Reduce network traffic for remote clients through efficient batch operations

Streamlining Application Customization
  • Extend component functionality after delivery without modifying source code

  • Globally substitute delivered components with extended ones without modifying the application.

  • Deliver application upgrades without losing or having to reapply downstream customizations manually

All of these features can be summarized by saying that using ADF Business Components for your J2EE business service layer makes your life a lot easier. The key ADF Business Components components that cooperate to provide the business service implementation are:

While the base components handle all the common cases with their sophisticated built-in behavior, taking advantage of their benefits does not compromise your ability to have it your way whenever necessary. Since any automatic behavior provided by the base components can be easily overridden with a few strategic lines of code, you're never locked in to a certain way of doing things for all cases.