From Ask Tom @ Oracle
A few monthes back i designed an architecture for one of our client. Then the main problem was their centeral database an Oracle 9i has so many problem that it was not possible for them to close it or ask us to redesign the system before we complete another project on the same database. I tried different architecture and java frame works but no vail until i find oracle Times Ten. what i did is i installed oracle Times ten and application server on the same machine and tried to save queries from the main database server. fortunately it work to some extent and i was able to complete the project. My question to you is.
Why oracle did not tried times tens on the middleware. Instead they introduce a new feature of sql resultset. which is pretty cool but not as cool if some lighter verions of Times Ten was used for caching data in the middleware. Why oracle opt to create a new feature while a product can already fulfil that need.
Also while designing this project i saw many possiblities in caching data also with combining different frame works like when i combine it with toplink it gave me a fast response time. May be because of data is availble on the same machine.
My Project Manager considers that in above project i went too extreme in terms of desgin and architect. Do you consider it extreme. because if that extreme then oracle would not have introduce sql resultset cache. what’s your opinion
and we said…
because more than one database is complex. because there are replication and syncronization issues with times ten
and because of people put 1% of the time into DESIGN that they did into slamming code out, we’d probably not need any of this stuff.
With the sql result cache, the plsql function result cache and the client result cache in 11g, the need for extra moving bits and pieces goes away in most all cases.
the client result cache – client issues query once and as long as the database doesn’t change the answer, transparently keeps reusing it.
the server results cache – like a just in time materialized view, every client that connects to oracle takes advantage
the function results cache – see above
if you can do what you need with one thing, then one thing will make life less complicated.
And you are asking the wrong person if a middle tier was over designed or architected. I tend to think they are over engineered (glued together bit by bit) rather than over designed. I wish for over designed sometimes 🙂
From Ask Tom @ Oracle