What is this Data Provider in Sun Java Studio Creator anyway?
By winston on Jul 16, 2006
Before defining Sun Java Studio Creator Data provider framework, we need to take a look at the definitions of Data Source and Data Binding.
Data Source can be defined as a piece of software that represents information stored in physical media such as Database.
Data Binding associates underlying data to the User Interface (UI) elements. The data holds the information and UI elements render the information in a user perceivable form. Data binding can be read only - information from the Data Source flows only to the UI elements. Alternatively, Data Binding can be read and write. In read/write mode, data binding facilitates information flow in both direction - from the Data Source to the UI element, as well as from the UI element to the Data Source.
Creator Data Provider is a simplified Data Access architecture for Data Binding, offered with better maintainability in mind. Data provider is an abstraction over Data Source to provide a flexible and uniform data binding mechanism. Traditionally, Data Sources are linked to database connection using via technologies such as JDBC Rowset. However, in real world the source of the data can be in other forms, such Java Collection Objects (List, Map etc) or can be an array of POJOs (Plain Old Java Objects) as supported by technologies such as Hibernate and EJB3. Data Binding to these different sources of data is a hoard of different techniques. When these different Data Sources are wrapped by the Data Provider layer, a uniform binding mechanism can be realized. So effectively Data Provider is a bridge between Data Source and UI element to provide a single mechanism for data binding. UI elements access the data from these Data Sources through specific Data Provider API with out the need to understand the Data Source specific data access format.
Even though Creator directly supports the built in Data Provider Data Binding framework, there are other frameworks that can be potentially used for Data Binding in a Creator Application. To name a few
- Data Binding framework in the Java Desktop Technology
- JSR 227: A Standard Data Binding & Data Access Facility for J2EE
- Beans Binding
In my next blog, I'll try to give more details about the Data Provider framework itself.