Oracle® Application Development Framework Developer's Guide For Forms/4GL Developers
10g Release 3 (10.1.3.0) B25947-01 |
|
Previous |
Next |
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:
Productively author and test business logic in components which automatically integrate with databases,
Flexibly reuse business logic through multiple SQL-based views of data, supporting different application tasks,
Efficiently access and update the views from browser, desktop, mobile, and web service clients
Easily customize application functionality in layers without requiring modification of the delivered application.
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:
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
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
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.
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
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:
Entity Object
An entity object represents a row in a database table and simplifies modifying its data by handling all DML operations for you. It can encapsulate business logic for the row to ensure your business rules are consistently enforced. You associate an entity object with others to reflect relationships in the underlying database schema to create a layer of business domain objects to reuse in multiple applications.
Application Module
An application module is the transactional component that UI clients use to work with application data. It defines an updatable data model and top-level procedures and functions (called service methods) related to a logical unit of work related to an end-user task.
View Object
A view object represents a SQL query and simplifies working with its results. You use the full power of the familiar SQL language to join, project, filter, sort, and aggregate data into exactly the "shape" required by the end-user task at hand. This includes the ability to link a view object with others to create master/detail hierarchies of any complexity. When end users modify data in the user interface, your view objects collaborate with entity objects to consistently validate and save the changes.
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.