What role does datacontrol abstraction play in this structure?
DataControl is an additional level of abstraction for accessing business services (the actual level of the model).
In ADF, business services support different types, for example
- Based on application module (access to relational database)
- Web services
- URLs to access data via URL
- EJB data service for accessing business data through Java EE EJBs
These various types of data access are encapsulated by the data management layer. The data management layer provides a common interface using Attributes , Collections and Operations for use in the binding layer. In the bind layer, it does not matter when an RDBMS, web service, or something else is available when querying and updating data.
One of the difficulties that I encountered with ADF was that when I implemented a simple application with the RDBMS backend, I could not see any real benefit from this additional layer - in addition, the data controls were immediately available in JDeveloper after defining the data model in the application module, and for them there was not even a configuration file. But this is only true when using the Application Module business service. In this case, all metadata for the data controls is retrieved from the Application Modules data model. The real benefit comes from using other types of business services, such as web services. Then there are also .xml metadata files created to customize these data controls.
What is the role of the bonding layer and how does it interact with the datacontrol level
The level of binding improves data controls, so data can be used in the user interface. A typical binding is an iterator (=> tie layer) that tracks the current record in the collection (=> data management). Without an iterator there would be no concept of “current record”, and moving between records would not be possible.
Another aspect is the development time of JDeveloper: data management provides the necessary metadata to automatically create the necessary bindings when you drag and drop the data control onto the user interface page.
The entries mentioned by @Shay Shmeltzer are certainly worth considering, as they provide a very good idea of the data controls and middleware.
source share