2. ADF
• Is an end-to-end Java EE framework that is extensible
• Abstracts Java EE complexity
• Provides declarative and visual development
• Creates reusable and maintainable code
• Based on the Model-View-Controller (MVC) design pattern
2
3. The Model-View-Controller Design Pattern
• Model layer that handles interaction with data-sources and runs the
business logic
• View layer that handles the application user interface
• Controller that manages the application flow and acts as the interface
between the Model and the View layers
3
4. The Business Services layer manages interaction with a data persistence
layer. It provides such services as data persistence, object/relational
mapping, transaction management
4
5. ADF BC Implementation
• Maps to a data source, such as an Oracle database
• Based on standard Java and XML
• Works with any application server or database
• based on three main building blocks : the entity object, the view object, and the application
module
5
6. Entity Object
• Maps directly to a database table
• Performs the O/R mapping between the application and the database
• Handle database caching, changes to data are cached in the entity object
before being committed to the database
• Handle business rules and validation
• Contain attributes representing the database columns, reflects its
characteristics, like data type, precision,…
6
9. View object
• Reusable Oracle ADF business component
• Represent a query
• Are used for joining, filtering, projecting, and sorting business data
• Can be constructed from a SQL statement, static values
• Can also be based on any number of entity objects
• Can be linked to one or more other view objects to create master–
detail hierarchies
9
10. Two types of view objects that you can use to
retrieve data from the database
• Updatable View through Entity Objects:
• using entity object references enables view object instances to update data
• use validation and other business rules from the entity object definition
• Read-only Access View:
• SQL-only view objects bypass entity cache population
• faster for many applications
• save changes in memory only, and are not persisted in the database
10
12. Oracle ADF Application Module (AM)
• Arrange instances of view objects into a data model for a particular use case
and has one connection to the database
12
13. ADF Business Components consists of entity
objects, view objects, and application modules
13
Notas del editor
Middleware is the software that connects software components or enterprise applications. Middleware is the software layer that lies between the operating system and the applications.
Middleware is the infrastructure which facilitates creation of business applications, and provides core services like concurrency, transactions, threading, messaging, and the SCA framework for service-oriented architecture (SOA) applications. It also provides security and enables high availability functionality to your enterprise.
Oracle Fusion Middleware offers solutions to and support for complex, distributed business software applications. It includes Web servers, application servers, content management systems, and similar tools that support application development and delivery.
It is based on standard Java and XML: Each component’s run-time behavior is configured in an XML file, whereas the Java source code for the framework is extensible
It implements all the popular Java EE design patterns, such as Model/View/Controller, Interface/Implementation Separation, and Session Facade.
For example, a Customers entity object would map to the underlying Customers table in the database. Furthermore, because the entity object is the object in which application data is held and manipulated, it is also the place where business and data validation logic is implemented.
*Entity objects are the foundation of the Business Components technology. Each entity object represents a business object, or business entity, in your application.
Entity.java: This is the entity object class. At run time, one entity object is instantiated for each row of data. This class contains methods to get and set entity attribute values. All entity object classes extend this class. The EntityImpl.javaclass provides methods to insert, update, delete, and lock rows. The ADF Business Components technology uses this class to manage instances of each entity.