Thursday, 18 October 2007

The zen of the Oracle development landscape

Grant Ronald has recently blogged about Modernising your Forms Applications - SOA or bust, which (once again?) revisits the perception (or myth?) that Java is the one and only future of Oracle's development. I'd like to revisit why I think this perception has come about.

I think one of the reasons (and I emphasis the word one here, there are certainly more) Oracle developers look to Java and therefore JDeveloper by default as the Oracle development future is a matter of circumstances that eventuated in the past.

Around 1998 through 2004 Java was the buzz in the development industry and it was pretty important change time for the industry. Languages were revolutionized, the web was coming to the fore, and Java is famous for being the first cab off the ranks so to speak in the Web programming world (thanks to its servlet technology - which it is now partly infamous for).

I believe many Forms programmers came to the conclusion that Forms wasn't the future because of its clunky 2 tier architecture (later hammered into 3 tier) and plain-Jane interfaces. As such they were interested in what else was happening out there way back when. It just happened that Oracle invested in JDeveloper at the time and through Oracle's marketing, coupled with the buzz around Java, it gained popularity and became the perceived future of Oracle development. Forms programmers picked up on this fact and stored it away in their little box of tricks.

Then the world moved on.

Today those same typical Forms programmers are facing the following problems:

1) The majority of Forms systems are now legacy and it has taken them a long time to come around to adopting new technologies for various reasons regardless of their originally interest in other technologies, due to organisational lack of mobility in technology adoption, lack of in-house skills, lack of interest by management to move on and so on - take your pick. So their initial interest in other technologies has been stalled by the slow moving IT corporate world. It's hard to move to a new technology when you have to fix current problems in existing legacy systems.

2) There has been an incredible amount of change in the industry between 2000 and 2007 (as usual in the IT industry). Traditional Forms and PL/SQL Oracle programmers are outside the whole web world, revolution in web scripting languages, scratch their head at the term Ajax (it's something Google does isn't it?), have very little exposure to industry wide frameworks (as separate to inhouse frameworks), and so on. Keeping up with all this change is a full time job, much easier to keep the blinkers on, do what your job demands you to do, and just keep with what you learned way back when.

3) The perception that development of Forms from Oracle has stalled.

4) A potential alternative Oracle Application Express (Apex - formally HTML DB) has only appeared to have become (again a perception thing, not necessarily reality) a viable mature development alternative more relatively recently.

....that because of these issues and perceptions (and I can't emphasis the word perception for this discussion enough - don't start arguing that's what I believe please), because typical Forms programmers haven't kept up with all the changes, because Forms is an old technology, because the marketing has at times focused on Fusion and JDeveloper and not Apex....

....that because of all these perceptions.... and how history eventuated.... and given a reluctance to give up on the potentially false or outdated perception learned way back when, that Java is still the only way to go....

.... that we see Forms programmers coming back again and again to thinking JDeveloper/Java is the future of Oracle development, and then becoming terribly disillusioned when they struggle with Java, JDev and ADF, can't see why the huge frameworks don't fit into their simple problem sets, struggle with the huge learning curve of adopting not one but several new technologies, and see an easier alternative in Apex, or scripting languages, or .Net or take whatever your pick in what you're more familiar with (it's always easier to say technology X is better than Y when you know X, but you don't know Y - that's human psychology for you).

Now given this whole discussion, does this mean I think Java and JDeveloper don't have a viable future for Oracle development? Not at all. For myself I've overcome the JDeveloper learning curve moving from Forms and I'm very excited about the future of the product. The rich AJAX components in JDev 11g ADF Faces Rich Client has me jumping up and down in excitement .... I can't believe I don't have to do hardly any JavaScript programming (don't get me started Apex programmers) at all to get these great AJAX enabled components in my web application .... Web 2.0 here we come.

For you and your organisation, like Grant says in his blog, to paraphrase, there are a number of ways to skin a cat, and what technology you pick should be dependent on your circumstances, or more precisely your organisation's circumstances. Don't invest in one of these technologies before understanding your organisation's circumstances or you will get burnt. For example investing in a huge Java project with just PL/SQL programmers without any Java training or experience will certainly burn you unless you're very lucky. And you should have known that fact before you start. That's the risk of falsely thinking Java is the holly grail of development. The same holds true for investing in an Apex project, a scripting language project and so on, there is no holly grail in development, particularly if you have none of the needed skills or the tool is badly suited to your environment. And for the record (you can quote me) there will never be a holly grail (unless you consider turning all the computers in the world off) – so get over it (the exception being of course Lisp ;).

So take Grant's point on board. Java and JDeveloper match certain problem sets and backgrounds. As does Apex as does Forms..... let your mind free itself from what you learned before and re-assess the Oracle development landscape today, to what suits your needs.

....and thus the title of this post.

Now, I seem to have broken my soapbox. Until I find another one, I'll keep the blog free of rants for a while. I think it's a time for a humorous post. Maybe I'll pick on DBAs or something fun.

Usual disclaimers to stop the unnecessary flames:

1) Please note I'm not trying to put all Forms programmers in one outdated boat. There is always a bell curve of people and skills; people who are as much as in the box as out, so put yourself in whatever box makes you happy for this discussion. When I say "typical" Forms programmers I'm drawing from my experience as a consultant and I'm referring to a generalisation of the Forms programmers I'm meeting on a day by day basis, not a specific person or group. There are certainly Forms programmers who I meet who know everything outside the Forms sphere too.

2) It's a false perception that Forms development from Oracle has stalled, as thanks to Grant's blog we can see there is still changes occurring in the Forms arena, just more subtle than before.

3) For the readers of one of my original posts A career path for Oracle developers - consider JDeveloper!, you will certainly be able to see a certain maturing in my thoughts about this, thanks to many discussions with Apex specialists, JDeveloper experts and other contemporaries.

8 comments:

Gary Myers said...

I think one of the key items to the 'perception' of the death of Forms was the actual death knell of the C/S version of Forms.
That forced businesses to re-evaluate their Forms commitment. There's a signficant proportion who didn't, don't and haven't moved from Client/Server (and have good reasons for that choice).

For a significant proportion of Forms users, Forms is C/S Forms, and Forms is dead. And that has feeling has echoed throughout the wider Forms community.

Chris Muir said...

Fair point Gary, though I can't say I've encountered a C/S install of Forms in a long time, nor an upgrade project for that matter.

Noons said...

well, it's totally false to claim now that Oracle hasn't "pushed folks out of Forms" , like Grant is pretending.

I spent 5 YEARS telling Oracle marketing that what they were doing was wrong, only to be told to "move to j2ee or else" a great many number of times. Common knowledge, let's not even go there!

Up until last year, it was the mantra of EVERY single AUG meeting that we'd get an injection of j2ee related rubbish, when most of the folks were asking for ALTERNATIVES, after having seen thre disaster that most j2ee projects are.

Attorney General's of NSW anyone? What, 7 YEARS to develop 20 forms is a "good" record? PUH-LEEZE!

It only stopped last year because the UG yearly meeting in NSW was cancelled after TOTAL lack of interest shown by the user community. I wonder why?

Now that it is FINALLY becoming painfully obvious to Oracle marketing that their deranged attitude of the last 5 years has only landed them in hot water with the development community in general, that we are starting to hear how "open" they are to non j2ee development.

It never ceases to perplex me how deranged Oracle marketing has become with their fixation on a technology that is fundamentally WRONG for anyone who just wants a quick and simple application.

Yes, I know about JDeveloper: have known about it in detail since 2002! And NO, it is not the answer to make j22ee easy to use: it will NEVER happen.

The problem is NOT with the tools the problem is the technology itself: it is fundamentally wrong!

And before I hear the usual nonsense about ebay and amazon using it: they most certainly are NOT using j2ee, and I know that for a fact!

So, Oracle is now finally coming to the party on alternatives? Goood. Too late, I'm afraid: been on .net for a while and not going back. If we did, it'd be to Apex or some other simple and efficient technology. Not that impossible to maintain abortion that is j2ee.

Paul said...

Hi Chris, I think a fair view ... if you just look at things from the perspective of an existing Oracle developer (whatever tool).

However, I think there are bigger trends afoot (as I posted: Oracle/SAP Battlelines for the Future enterprise). I'm thinking the impact that Rails, Flex and so on may have in churning the "enterprise developer" landscape of the future. I have a suspicion that the Forms developer arguing pros and cons with the ADF developer may wake up one fine day to find the world has moved on and their debate is moot if they are not careful.

Chris Muir said...

To emphasis, that was my point, just one view and how it eventuated from the trenches of traditional core tech Oracle developers.

As you say, there are "bigger games afoot".... I also agree the newer languages are churning the market, though they aren't answers in themselves being mostly over-hyped languages that have not yet penetrated the corporate market I'm a part of.

I'm going to go out on a line, and say I reckon we'll see big changes to the corporate software game when (if?) this whole mashup/web 2.0 innovation penetrates the corporate market (dare I say Enterprise 2.0?) somehow. Otherwise it's going to be more of the same packaged apps from people like Oracle, SAP and so on, and the same sort of development, just different flavours of yellow.

Chris Muir said...

A reply to Noons above.

....I was waiting for your post Noons. Nice to have you back.

Couple points I'd like to make:

1) In the 3 years I was in Victoria with AUSOUG, Oracle Australia never once pushed the J2EE mantra on us. In fact if you were interested in J2EE you had to go to their events, and there was only one event where JDeveloper was in a side room (which I helped organise), and another for a day of BPEL/SOA (which isn't strictly J2EE).

Maybe the problem is you're in Sydney where all the Oracle sales and marketing people are, and you're falling pray to salesmen?

2) I assume you mean AUSOUG rather than AUG? Again in Victoria we only had 1 event on it in 2006, and we held 18 meetings that year. Maybe you need to go talk to your local AUSOUG rep rather than making it appear all AUSOUG branches are doing what you say and bending to Oracle's marketing. My branch didn't while I was President in Victoria, and I don't see the same happening in Perth either.

(go on, I'm begging for a quip against Melbourne and Perth ;)

3) Your experience at the Attorney General's seem bad. Care to elaborate on the details? Otherwise you're throwing up something where there is no ability for the reader to agree or disagree.

4) So you've had experience with JDeveloper? Well then you should know that comparing JDeveloper of 2002 to JDeveloper of 2007 is like comparing apples to oranges. The product has moved on.

5) Please state what's fundamentally wrong with J2EE? Scalability, complexity, vendor lock in, something else? Certainly they're all issues, but what is the fundamental failure you're referring to?

6) And you're right, none of the major websites use Oracle products for that matter. Nor IBM. Nor Micrsoft much for that matter. In fact most use custom built technology as recently blogged by Nati Shalom in his post Why large-scale Web sites are not written in Java. Most are based on LAMP, because it's free.

Before you start arguing the lack of web penetration is indicative of your point, take a step back and wonder why the Oracle database doesn't play a part too. Then understand it's obvious if the database isn't there, then the development tools aren't going to be there either.

7) Apex may be simple (at first), but I've reservations about it as a long-term development tool. But it's a subjective call so I wont bother arguing the point.

8) And claiming .Net is the answer is just plain wrong. Remember my no "holly grail" point? I'll stick by it. In fact if you follow the blogs outside the Oracle arena, you'll find plenty of frustration within the MS camp as well.

Noons, to be honest the problem I have with your posts are you fall under the "he who shouts loudest shouts the longest" category. I'd encourage you to look at specifics, and I'd also encourage you to run a presentation in front of the user group giving your views.

30 degrees in Sydney this weekend. Lovely :)

Noons said...

Chris, to follow on and if you want to continue, feel free to email me directly:

1- Maybe the problem is restricted to Sydney. And yet, I keep hearing the folks from the AUG - as in Australian User Groups - yapping on and on about j2ee. About how everyone should catch-up with fusion technology or else they incur the risk of becoming unemployable. The oldest trick in the book of bad salesmanship: the pending event. I don't know if you folks realized this, but EVERY single time I hear the "up-to-date" argument I'm reminded of bad car salesmanship...

2- Like I said: AUG. See 1) above for what it means. Yes, it's every user group. They do whatever the sponsors tells them to do. In NSW it's Quest, HP and Oracle, in the other states it's whoever sponsors them. And that is the problem: it's all about sponsors, not about users. Perhaps the name of the organisation should be changed to Australian Oracle Sponsors Group? Because it certainly ain't about Users, that's for sure.

3- That's just ONE SINGLE SMALL example. Call it more like 7 years of hearing of disaster upon disaster. Of course: some folks might call a system going up with half a dozen screens, after three years of development with a small army, as a resounding proof of the viability of the technology.
I call it a disaster. So does everyone else with half a brain.

4- I didn't say I only looked at it in 2002. I said: "since". What in that authorizes you to claim I only look at a product once?

5- The bugs, the lack of any lasting standards, the proprietary software, the complete inability of the technology to scale to any reasonable performance, the complete lack of simple, actual and recent documentation, the constant re-working of " architectures" and "frameworks", the fact that I have yet to see ONE project that was capable of ANY maintenance without a complete re-write, the fact that NOT ONE of the sites promoted ad-nauseum by j2ee advocates as "success stories" is using the technology in its entirety, the fact that the proponents of that technology have NO EXPERIENCE or ANY track record whatsoever of EVER delivering a working system other than an internet shopping cart. Shall I go on?

6- then why persist in the LIE that is claiming large sites are ALL using j2ee technology? And that therefore it must be a "good solution for everyone"?

7- me neither. any devleopment solution from Oracle is wasted time nowadays, quite frankly.

8- Why is it "plain wrong"? Because you say so? Well, I am a user and I say it's right. Now, who wins? See how deranged that line of argument is? Of course it's not perfect! But it's USABLE, SIMPLE and EASY. j2ee will NEVER be any of those.

Also: quite frankly, I don't give a hoot about what you think of my posts. I'm sick and tired of putting up with the silly politically correct grandstanding that has been the hallmark past history of the entire AUG experience in Australia.
It's always been about the participants, NEVER about the users.
I have every right to claim so, being what you folks have NEVER been: a user.
And I'm quite prepared to take this to ANY instance of the OAUG - do I need to explain what that means? - community in Australia.
In fact: as I said, I have certainly DONE so in the past. And the answer was clear: either join the chorus or butt out.
Well, I'm starting my own chorus now.

Chris Muir said...

Take a frigg'n chill-pill Noons, you're going to have a heart-attack. We're not the enemy.

1. Well we'll reserve it to Sydney then, though I'm not willing to comment directly on any other state's activities as it would be unprofessional of me. As I mentioned, neither Melbourne or Perth have pushed this agenda. In fact both these cities have had more Apex presentations than J2EE in the last 2 years.

2. How is that fair? I just did a quick search on the ODTUG and OAUG conferences of 06/07 and all had sponsors. In fact I challenge you to find a large scale IT conference (500+ delegates) that doesn't have sponsors. If we consider the AUSOUG conference of 2006, the papers committee actually kicked out a number of sponsor papers for being unsuitable or passed the deadlines. Instead we made slots available for people like Connor McDonald in preference because we know he is a popular speaker. Please tell me you believe Connor shouldn't be a speaker at the conference?

3. One more example where you still don't go into detail. I concede this one because I've got nothing to argue against.

4. One more example where you still don't go into detail. I concede this one because I've got nothing to argue against. And what authorizes me? It's my blog :P

5. You're in the MS camp and your arguing that J2EE is proprietary? Um, yup.

6. Okay, obviously Microsoft products are the beez kneez then. You win.

7. Read 6.

8. Because it's my blog :P

And if you don't give a hoot, don't bother posting. If you're sick and tired of it, then start your own user group, or post on your blog the specifics and examples of how it fails rather than just broad generalisations where you attack anybody in your way of whatever agenda you have. It's near impossible to have a discussion with you Noons because YOU SHOUT, and that means you must be right BECAUSE YOU SHOUT. It's like having an argument with my deaf father, all 1 sided.

The presentation challenge was there for you to think about standing up in front of your peers and presenting your thoughts. Constantly we see people shouting opinions on the internet or at the user group, but they won't put money where their mouth is. Try standing up in front of a real crowd and letting your peers judge your thoughts. If you have a case to make, I'm sure they'll listen and you'll get your points through. That's your challenge.... oh that's right, you don't give a hoot.

As for AUSOUG committee members not being actual users, let's set the record straight. Let's take the last 2 Presidents of the National group, both current day consultants, 1 a DBA and 1 implementing Web Services. Lets take the 6 State Presidents, in 2006 (I'm not sure the disposition in 2007) 5 were day-to-day Oracle users out of 7. My committee in 2006, of 8 or so, 6 were day-to-day users, be it DBAs and developers. Oh, that's right, you don't give a hoot.

Also if you'd care to join the AUSOUG committees to get your points of view through and drive the agenda, you might be able to set the picture right for all those disillusioned users out there, those disillusioned users that (at least) grew the Victorian membership base by 30% in 2006. Oh, I forgot the hoot comment.

Hoot hoot hoot.