Our Tool's Main Objective:
Looking at the Conventional versus XML diagram, our main objective is to reduce
that number of tables (not necessary the fields) and their complexities into two
simple database tables:
• MasterIndex
• Reports
Also, the ability to convert the XML fields into/out Java Beans (DataObjects) without
any database processing or conversion (Normalization and Denormalization).
What is the Catch?
There is no catch or hidden secrets; only the XML field will be the target
field for all the SQL calls to database functionality and that is not new to database
experts. The SQL calls and stored procedures will be directly dealing with the text
in the XML fields.
What about the Master Index Table?
It is the quick and dirty call which will save the calls to the XML field. For example,
looking for client SS number and last name match or any simple call to frequently accessed fields.
What are the concerns?
We will cover the capabilities and limitations of the XML Fields in the XML Fields Section.
The main concern is Java architects will also have to be the database gurus since architect-design
of the Java beans' data types and values (Design Criteria - Business Units) will be directly tied
to the XML tags stored in the XML fields (text). Also Different Business Unites may share the same
database fields and that may result in duplication of values which raises a Big
Red Flag. With the
same talking, this may force Java architects to build a number of basic beans that are shared by
all the business units and that is (in my opinion) the best thing an architect-design would have.
What about Performance?
We can answer this concern as follows:
•
|
All the processes are moved into Java beans in the computer main memory
|
•
|
The elimination of all database processing or conversion (Normalization and Denormalization)
|
•
|
Reflection DOM conversion is fast but needs special care
|
•
|
SAXP Reflection is also fast and needs care
|
•
|
Accessing two database tables is far faster than accessing X number of database tables and may be
the end of "... FROM XyzTable LEFT JOIN ..." and all these complex SQL calls
|
•
|
Sharing data will be nothing more than sending an XML field as a stream of text
|