The objective of any business is provide value in any form. The business needs to host a application and process data to accomplish this task. The enterprise world is made up of many programs written in different languages and accessing several data bases. The management of the data is termed as Master Data Management and the Applications are managed by a application server. Enterprise applications are mostly developed based on J2EE and .NET framework/specifications.
The Data Access Object Layer, O/R Mapping Layer and Persistence Domain Object layer are formed for the purpose of processing data. Spring Framework has simplified the DAO layer and abstracted the complexities to a great extent.
Motivations and spring features:
JDBC support abstraction - connection to the database driver
SQL exception handling - more meaningful messages
SQL based wrappers -abstraction
JDBC has its own advantages.
SQL support
Database Cross connections
Java code or the line of business service uses the SQL, O/R mapping for data insertion, update and deletion.
Data model has to be created and mapped to the object model - abstraction accomplished by the MappingSQL class.
Object model has to be converted to the data model for inserting into the database. There is a conversion code for object model to the data model and vice-versa in the line of business service.
The data is processed - data is read from a source as per the requirement / regulation and stored in data base, the process can be captured as following:
Data Quality Management
Data Validation & Cleansing
Profiling
Reconciliation Matching
Cross Reference
Life Cycle Management
Granularity/Authoring
Master Data Schema
Hierarchy
Attributes
Views
Interfaces
Web Services
XML
Import / Export service
Data Standardization
Base Services
Security
Logging
Work Flow
search
Master Data repository
Metadata
Transactional Data
Master Data
Historical data
Master Data Harmonization Integration
Relationship Management
Knowledge and Insight
Event Management
Critical Data Management
Notification Services
The services offered by tools in the form of Master data management services and the SOA based line of business service seem to overlap to a significant extent. the data management services comprising of the data quality management services,life-cycle management services can be used to create quality data.
Also the data model and the object model can be converged to reduce the complexity that comes with the SQL based implementation. There is a lot of scope for XML based implementation to reduce the complexity involved. Data-model and the object model can be converged and replaced with the XML based implementation.
There is huge requirement of different tools to accomplish a few simple but valuable things.Developers are required to have understanding of different tools. The data management is yet to be regulated to the required standards.
There is great scope for transformation to merge the activities of the DAO, O/R mapping and PDO layers and there is scope for convergence between the MDM service with the merged entity.
Scope to free the java code from the SQL O/R mapping complexities, free any line-of-business service from all the requirements related to Data Management, O/R mapping and reduce the complexity,increase the maintainability, efficiency,decrease the cost.
Out source the data management to the cloud??