The ADF Architecture
The Business Services Layer
Manages Persistence.
1
Object/Relational Mapping
2
Query/DML
Performs Validation.
1
Data Validation.
2
Business Logic.
Choices Of Implementation
ADF Business Components, JPA Entities , Web Services , Java classes.
ADF Business Components
A framework that simplifies
the developing JAVA EE business services for developers who are familiar with
4GL tools ,declarative development,relational databases.
•Simplify the data access.
•Simplify validation and business logic.
•Uses SQL based data views
•Separate the data view from business logic.
•Implement the best practices.
•Easy customization.
ADF Business Components Characteristics
● Provides
data interaction & business logic execution.
● Maps
to data source.
● Enables
4 GL development.
○
Declarative and Visual Development.
○
Implemented in Metadata.
● Enables
business logic development.
○
Declarative Business Rules
○
Pre-defined java methods for events.
● Can
expose application module as services.
● Based
on Java and XML.
Artifacts of ADF Business Components.
Entity Objects
● Maps
to row in a database tables.
● Handles
insert , delete , update , lock operation.
● Define
behaviour for attributes.
● Can
contain validation and business logic.
Associations
● Define
Relationship between EOs
● Facilitate
Access to data in related entity objects
● May
be based on database constraints.
● May
be independent of database constraints.
● Are
used in defining the validations and LOV
● Composite/Reference
types.
View Objects
● Represent
a query.
● Are
used for joining , filtering , projecting ,
and sorting the business data.
● Enables
you to have a view of data that is specific to one part of your application.
● Can
be constructed from a SQL statement , static values or populated programmatically
.
● Can
also be based on any number of entity objects.
View Links
Relationships between view objects.
Application Modules
● Interface to your application
● Contain an active data model the client uses
to interact with view object instances.
● Control the connection to the database and
keep track of all changes that affect data in the database.
● Can
be nested/shared .