I have total 5 years of experience. My Current profile is like little bit of Java with PLSQL.
As i started my career as an Database(Oracle) Developer <i.e> Working on SQL & PLSQL and i am OCA certified. But as i am very much lean towards Development & coding i have gained a lot of interest in Java as Only sticking to PLSQL will restrict my opportunities.
Currently i have around 1.5 years exp in Java and i am planning to give SCJP soon. I have knowledge of MVC architecture JSP, Servlets.
And i also dont want to shift totally into JAVA from PLSQL as a good knowledge in PLSQL for a Java Developer is always beneficial.
So now i want to work as a JAVA + PLSQL developer where i can make use of best of both worlds.
First thing - Does such profiles are in Demand <i.e> people with java + plsql skills.
And are there any good study materials, links or books where scenarios are provided for when to use Java & when to use PLSQL for performance oriented applications <i.e> which logic will be best suited where java or plsql ... suppose my business logic is in java then how to make efficient use of PLSQL, when to make DB call , when to use Stored procedures all such things ..
FWIW, I'm making a similar transition right now. I worked mainly on Oracle applications for over 20 years, but found in recent years that I was getting pigeon-holed in an increasingly limited corner of the market, so I've now started a new job where I will be working primarily with Java and (initially) PostgreSQL. As an ageing member of Generation X I'm calling it recurving to make it sound more positive . But I reckon any serious Oracle-based system will be able to use somebody with good Oracle skills as well as good Java - there is still a real shortage of good Java people who really understand relational data. Well, I hope so!
As for when to use PL/SQL, SQL or another language like Java, here's Tom Kyte's view from "Expert Oracle Database Architecture" (2nd edition), p.3:
Tom Kyte wrote:* You should do it in a single SQL statement if at all possible. And believe it or not, it is almost always possible.
* If you can't do it in a single SQL statement, do it in PL/SQL - as little PL/SQL as possible! Follow the saying that goes "more code = more bugs, less code = less bugs".
* If you can't do it in PL/SQL, try a Java stored procedure. The times this is necessary are extremely rare nowadays with Oracle9i and above.
* If you can't do it in Java, do it in a C external procedure. This is most frequently the approach when raw speed or using a third-party API written in C is needed.
* If you can't do it in a C external routine, you might want to seriously think about why it is you need to do it.
I've never had any need to resort to using a Java stored procedure, and I can't remember the last time I had to work with external C code. Of course, Kyte's comments apply specifically to data-oriented processing, especially when dealing with large volumes of data - querying, sorting, filtering, moving etc. Your web front-end is unlikely to be coded in SQL, after all!