Escolar Documentos
Profissional Documentos
Cultura Documentos
Queries
Transaction handling Data access It does not create a user interface, but is a pure encapsulation of business logic that communicates with a separate client application, which handles user interaction.
Using ADF BC is the simplest way to design data-aware applications with JDeveloper. This chapter presents an overview of ADF BC by describing its components and uses.
2
Advantages of ADF BC
By maintaining a cache of data in memory, ADF BC reduces the number of database trips required by an application resulting in improved performance and scalability. ADF BC allows the business logic to be written in Java, which saves the trouble of integrating a Java GUI or JSP application with business logic written in PL/SQL code. Removing the business logic out of the database keeps the database from handling anything but data, which increases an application's modularity and efficiency.
JClient, an architecture for creating Java GUIs (useful for intensive data-entry applications requiring high interactivity).
Thin JSP clients are useful for web-based applications where a thin client is more important than very high interactivity, such as self-service and e-commerce applications. XSQL clients, which generate XML for either flexible display with a style sheet or loose coupling between applications. UIX, a framework-based architecture for developing web applications.
6
10
11
Entity objects for the above table may have the following entity attributes:
13
14
15
Associations
Like tables, entity objects are often related to one another. The relationships between entity objects are called associations. An association matches one or more attributes of a "source" entity object with one or more attributes of a "destination" entity object. This is like a foreign key constraint that matches one or more columns of a child table with one or more columns of a parent table. Associations are stored in an XML file.
16
Domains
Domains are special java types used by ADF BC as the types for many entity object and view object attributes. In the coverage of entity objects earlier, a class that implements the Departments entity object has some entity attributes of type oracle.jbo.domain.Number. The entity attributes of an entity object Java class are objects, not primitive Java types such as int. Database columns of SQL datatype VARCHAR2 have the Java class java.lang.String. For other SQL types (NUMBER, etc.), ADF BC provides domains to wrap the SQL datatype. Domains like oracle.jbo.domain.Number are basically object wrappers for scalar types. JDeveloper will automatically create a domain if you base an entity object on a table with an Oracle object type column in it. This domain represents the Oracle object type, giving you Java wrappers for each of the object type's fields and methods. You can also create your own domains.
17
19
20
21
22
A view link, DeptEmpFkLink, that associated the DepartmentId attribute of EmployeesView with the DepartmentId attribute of DepartmentsView.
23
View links between view objects can be (but do not have to be) based on associations between underlying entity objects. A view link is represented in an XML file (more on this in later chapters).
24
25
Using this model, the two view usages are tied together by a link representing a masterdetail relationship between them (EmpDeptFkLink). Using this application module, your client application could select a row in AllDepartments, and the ADF BC framework would immediately synchronize DepartmentEmployees so that it would only return employees from the selected department.
26
This module provides usages of the same two view objects, but the view usages are linked. Your client application could select rows in AllDepartments and Allmployees usages independently.
27
With this application module, a client application could select rows in DepartmentEmployees and have them automatically synchronized with AllDepartments and could also select rows in AllEmployees independently.
28
29
The hands-on practice beginning on page 234 examines a default ADF BC layer.
ENJOY!
30