Thursday, April 3, 2008

Is the news all bad for Oracle Development?

While Oracle ramps up with new versions of JDev and Apex, and secretely suggests that Forms is dead (though never publicly, of course), their development tools have yet to mature to the point where companies are willing to take the leap and join the fray in bashing out code in these new environments.

With the spotlight on mutli-tiered applications that separate business, application and UI logic, Oracle has been keenly concentrating their efforts on the business and application side of things, and is now attempting to catch up to the requirements of the UI layer with their new ADF Faces RC.

From other vendors - Microsoft, Sun, and Adobe - we can also see a state of flux as we are currently in an "in-between" phase where technologies seem to be shifting.
Seeing as Sun is looking to replace Swing with their new FX technology, we will see Swing apps fall by the wayside, but FX will probably take some time to reach the same maturity level before it gets to its full potential.

Meanwhile, Microsoft is introducing Silverlight to be its all-encompassing technology, and with the beast behind it, it will gain ground quickly. And Adobe is refining their Flex development environment along with Flash and AIR.

So, let us set out and discover what glorious lands abound in the outer ranges. The following guidelines have been set out:
1.) Oracle Forms is not going to be around (and supported) forever, so we need to evaluate a replacement tool to ensure any future UI development work is going to be done with as much future-proofing as possible.
2.) Said replacement tool must give as good or better UI design flexibility as Forms.
3.) Bonus points will be given for being "standards-based" and allow us to swap out the UI for another if need be. This will aid in creating multiple UIs for any given application area - Internal application, External (public) or Remote (business users visiting remote clients/locations) - given common back-end logic.
4.) Existing developer skills (PL/SQL) would be advantageous to harness.
5.) Development Tool must provide coding integration with client-side applications (MS Word, Excel, document-management system, cheque readers, barcode scanners, flatbed printers)

Anyone like to hazard an educated guess (or do some crystal ball gazing) as to how things are going to pan out?

17 comments:

tylermuth said...

Here's my 2 cents:

1) Tom Kyte has made comments along the lines that UI tools come and go, but the database remains constant. I think he's dead-on here. Put as much of your logic as possible in the database, then choose your UI.

2) Keep in mind Forms is a client-server tool. Web based tools will never give you the fine-grained control of a client-server tool, though Flash / Air have the potential to come close. Anything delivers HTML is of course at the mercy of the limitations of the web. The benefits of a pure html / CSS / AJAX client are well known, such as no need to install client software, drastic improvements in scalability do to stateless connections, cross-platform (which now extends to phones), etc.

3) Meh, see point #1. That's all I'll say on-the-record for this point.

4) APEX is the clear winner here. Keep in mind my opinion is slightly biased here. Oh, it's also declarative, like Forms.

5) This point is challenging for most of tools out there today, as the very nature of it breaks all of the security paradigms of the web. You can get around it with Java Applets or ActiveX code, but it's still a bolt-on fix.

Noons said...

nope, I won't gaze at the proverbial.

I did, in 2002. And said pretty much the same things. Only to be told I was wrong and "didn't understand development".

So now I just watch and enjoy, while Oracle tries to squirm out of this entire debacle.

Life is fun!

Gary Myers said...

Point 5 requires the application to run on a local machine. Applications running in a browser or other virtual machine (eg JVM) aren't going to move out of that sandbox easily.

At some point, someone will realise that actually there was nothing fundamentally wrong about the client/server model, but just that n-tier models work better in some situations.
I think Microsoft is well positioned for that time with .Net

Larry and the webheads won't bring themselves to develop something tied closely to a client environment (especially MS).

But I think 'applications' will become a lot more modular. There won't be 'the application that the business runs on', in .Net or anything else. I expect lots of little apps, many will be browser based where desktop integration isn't required. Lots of small developments, agile-style, built to meet specific needs and some will be practically disposable. The UI capabilities within a browser will change too fast for it to be worth investing lots of money in development.

Chris Muir said...

Geez Marc, some emotive content there huh? What the H3ll, I'm willing to have a nibble ;-)

"[Oracle] is now attempting to catch up to the requirements of the UI layer with their new ADF Faces RC."

Oracle is a world leader in JSF technology and has been for sometime. I'm guessing you're attempting to compare it to current explosion of web-RC technologies rather than vanilla-web. Been dragged in by the marketing huh? Sounds like you might have been on the RoR band wagon too?

Admittedly Oracle's ADF Faces RC, their latest web UI JSF toolket is very new and not yet production, however ADF Faces is built on a solid foundation of standards and Oracle's experience in UIX. In has been used successfully in a number of project. Catch up? I don't think so.

Microsoft's Silverlight and AIR are basically just out of the gates, so obviously Oracle isn't playing catch up there yet. Neither have shown any market penetration to date. Just do a search on "Silverlight" vs ".Net" at your favourite Aussie jobs website.

For the same reasons considering Sun, JavaFX doesn't seem to be going anywhere yet and Swing is still heavily used for many desktop applications.

Adobe is the one Ace in your pack with Flex. Even Metalinks uses Flex and has dropped Apex in some pages. (Ah, finally, the death of the Mickey-Mouse Apex tool - a joke! a joke Apex fans!)

So out of 3 web-RC technologies, only 1 is clearly in front. But as you say we'll be swapping out the web technologies so this race doesn't really matter. If as Tylermuth says we should put everything in the database, why not pick the tool Oracle provides to work closely with their database, and ignore the rest?

"Oracle Forms is not going to be around forever"

At this time Oracle has clearly articulated their extended support for Forms 10.1.2 is to 2011. That may not sound like much, but the 10.2 database currently only has extended support to 2013, and boy, I'd be fretting about that one first if I found anything to fret about their support policies. When we see the 11g Forms release I'm certain we'll see support in an extended time frame. So what's your panic on moving from Forms?

"Said replacement tool must give as good or better UI design flexibility as Forms."

To clarify, basically that's X/Y layout and tabs I'm guessing ... surely you don't want stacked canvases back!?! I can't see any other fancy layouts in Forms. Well that's most web-RC technologies then. For example JDev ADF Faces RC does better than Forms by allowing auto expandable/shrinkable panels (equiv of canvases, or Swing layout controls), accordion controls, slider panels and more.

Oh yes, I'm playing the devils advocate, but my points are still valid:

1) Flex is a true contender. Yet is it database savvy enough?... and written by a company that's known best for Photoshop and PDF files?

2) The fear of Forms dying might be one we just created ourselves

3) Many of the web-RC already surpass Forms for layout

tylermuth said...

"Ah, finally, the death of the Mickey-Mouse Apex tool - a joke! a joke Apex fans!". Chris, why are you so worried about offending the APEX fans? Is it because it's one of the largest, most passionate Oracle communities out there? Hmm, I wonder why that is? We can talk about features and technical merits of a particular technology all we want, but IMHO one of the best indicators of a good technology is the community behind it. I'll try and keep my peeps from coming down on you too hard, but remember, WE KNOW WHERE YOU LIVE (we have an APEX App that captures that)! :)

Marc Thompson said...

Tyler,
Your point about basing as much logic in the database is a key point that a lot of developers are missing out on. Forms is a tool that allowed developers to use the wonders of PL/SQL within it, instead of 'relying' on the database. This is so easily abused that many Forms applications have business logic residing within it, when its proper place should be in the database.

So, that existing pile of code needs to be moved to a more appropriate area (ie the database!) first of all.

Then, if you are coming from a Forms background, and you are clearly wanting some client interaction, but most importantly, your users are probably expecting the front end to look good.


Gary,
I reckon you are spot-on about applications becoming more modular. Hopefully businesses and developers will come to the conclusion that their 'one application to rule them all' is just a big hairy beast that devours children and coders with nary a breath mint to wash them down.
Applications built for specific needs seems like the way to go for me.


Chris,
It's all well and good being a leader in JSF technology, but that is about as good as saying that your typewriter is the best because it has colour ribbons - you are still stuck with the base and lowest-common-denominator layout structure. JSF is still bound to HTML restrictions.
This is not necessarily a bad thing; similarly we can see that XML as a data transfer mechanism has a huge take-up, even though it is nowhere near the most optimal or efficient method. Clearly a standard approach is beneficial, but when you want something more visually appealing, you either have to hack it up or resort to plug-ins.
Yes, I am comparing JSF to web-RC, but users will demand more from the UI as they start seeing better ways to present information. ADF Faces RC is definitely heading in the right direction though - accordions and split panels you say? Sounds good.

Ok, onto the Life of Forms.
Say you have an existing Forms application that consists of maybe 750 Forms. You want that application to stay around for a while since you have heavily invested in the development and enhancement of it. Is it unreasonable to expect that application to stay around for at least 10 years? Under the current support structure, you have 3 years. If you upgrade to Forms 11g, you could expect probably another 5 years on top of that. For large applications, a long distance look into the future is required to ensure you place yourself in the right direction.

In response to your points:
1) Flex doesn't need to be database savvy. Its power lies in not caring one iota where its data comes from. Using Flex forces you to separate your business logic onto its own layer.

2) It's true that we may have created the fear ourselves; maybe I am using it as an excuse to start learning about all the other development tools out there.

3) Again, true, and I am not debating that some web-RC tools surpass Forms. Though Oracle could have put some effort into enhancing Forms with new control components, in a way I guess they have by leaving it in the hands of regular developers who can now add PJCs to their hearts content.

Chris Muir said...

A'ha, to continue the debate Friday arvo knowing full well you'll have knocked off for now.

"JSF is bound to HTML layout restrictions"

....namely tables. That's not a bad thing in itself, because the table facilities allow web apps to grow and shrink dependent on the size of the client/browser. X-Y layouts don't allow this to happen. Swing went the way of HTML tables with its layout controls. It's just a right pain to work with to get right.

"For large applications, a long distance look into the future is required to ensure you place yourself in the right direction."

Sure, I appreciate this. It'd be like buying a car which you know would normally last for 20 years, but the manufacturer says at this stage they only guarantee to build parts for the next 2 years regardless if it'll last 20. You want assurance that they'll continue manufacturing parts for the full 20. Otherwise buy a different car.

To be clear my point is it's not the Forms support period here that's at issue, it's Oracle support policies as a whole and how we perceive them. We seem to be happy with Oracle support policies elsewhere but yet we've created the bug bear about Forms ourselves here. And as you later admit, you agree with this too.

So take this a step further. Why did we create this? Is it simply the support policy, or us as developers who want to move on?.... Really, Forms is so 1980s.

Next step. Questionable if Oracle was to support Forms until the year 3000, would this change our decision about Forms or is their something we think is fundamentally flawed with it? Would most organisations move on anyway?

Regards point 1: That's a good thing? Will it be able to cope with database triggers refreshing data underneath it? Can it optimise with DML returning into clauses? Will it understand database security? Sequences? ..... hmmm, sounds like you're going to have to code your own framework to deal with how you work with the database to use some of those expensive features you pay for. Yeaks! Isn't that why Java gets slammed in the first place ... too many frameworks! Looks like the circle turns.

Point 2: see my point above.

Point 3: and that's probably the greatest problem with Forms, it just looks old. If Oracle created some new rich components rather than mucking around in the background, maybe we'd all get excited again (until JDev 12 ;) My vote is on dancing Larry icon.

Marc Thompson said...

Maybe I can sneak in a few comments before the weekend...

There are other options to consider besides growing and shrinking component size dynamically (anyway, I'm sure that can be done in VB .NET amongst others, so that functionality is not tied to Web Browser based apps). I keep coming back to it, but client machine interaction can be fairly important, even with distributed applications.

The bugbear I have with Oracle Forms support is mainly due to the fact that one of their own flagship products (Oracle Applications) was written in Forms, and is now being re-written using JDeveloper. We saw a great leap in their support role that ensured the Oracle Applications product worked, and to do that they needed to ensure Forms worked to the best of its ability. Now that they will not be using Forms for their own internal use, I can't help but feel that they won't be as interested in supporting something they themselves are not going to be using. I could be wrong - I hope I am.

It's entirely possible, even probable, that organisations are going to move on from Forms. But now it almost seems they have turned the choice of 'moving or staying' to 'you must move, so would you like JDev or Apex'.

1) Yes, there will definitely be some difficulties in using a separated UI layer that has no idea of the workings of the database. So, Oracle, can you give me a few APIs I can use that will help me use your extended database features with a tool that knows nothing about them? Thanks.

2) I saw your point above; it had a lot of question marks... ;)

3) Bring on the dancing Larry! (Hey, isn't that already on the list of requested features for JDev 12? Not likely to get into Forms then)

Marc Thompson said...

Oh, where I said Oracle Applications in the comments above, I meant Oracle eBusiness Suite.

It's Friday. I've got a headache. The sun was in my eyes. The dog ate it. My hard drive crashed.

Gary Myers said...

"We seem to be happy with Oracle support policies elsewhere but yet we've created the bug bear about Forms ourselves here. "
I think some of that is Oracle's fault. Twice they have kept the 'Forms' label, but switched the end-user environment. Forms 4.5 was (I think) the last version that supported a terminal-style (non-GUI) run time. 6i was the last support for client/server.

How do you think it would go down if Oracle decided that in 12g, the DB listener would only accept shared service connections. That's the sort of fundamental change that has been forced on Forms users twice over.

And the support for Oracle SQL enhancements (even old ones like scalar subqueries) has been non-existent, not just in Forms but in Pro*C (and I guess the other Pro* languages too).

There's been an increasing gulf between the database and the dev tools. I suspect that it reflects the Oracle organization, and that the dev tools are focussing on the requirements of Oracle Apps and maybe some other major users.

What I like about Apex is that it stems from the DB side.

Chris Muir said...

JDJ has a yarn about RIAs, including JSF, Flex and friends.

Three RIA Tools Examined: JSF, Flex, and JavaFX

grant ronald said...

'Fraid I need to correct some points which you guys are debating on.

Two quick points
"JSF is still bound to HTML restrictions. " wrong. - JSF components are able to spit out any markup or client side language they choose - so you are not tied to any specific end/client technology.

2) Marc - its soooo easy for people to post rumours and it doesn't half make everyones life difficult!! So lets go with some actual facts
a) Oracle have NEVER announced any plans to desupport Oracle Forms and we are working on release 11, targeted for release next year

b) Yes, Apps are standardising on the Fusion stack but remember, Oracle Apps are no longer just those Forms apps of long ago. They also include PeopleTools, JDE, Seibel etc so it make sense to standardise. Its also a fact that Oracle Applications have lengthy desupport cycles so even IF we were only interested in our own apps community (which is not the case) you would find that supported for longer than most of us will be about.

I'm sure there are some cases where Oracle have not been articulate enough with our strategy or messaging but I also see so much misinformation going around that its no wonder there is confusion and I think the community has to shoulder some of that responsibility.

I've got a blog, I am on the Forms forums every day, I clock up about 100K airmiles each year meeting customers at events etc. If you have "rumours" then please ask!!!. I'll be happy to answer them for you.

Marc Thompson said...

Gary,
Hopefully we will see Oracle keeping pace with their support departments as they acquire and grow.

Chris,
Thanks for the link. The article looks like it will be something interesting to keep an eye on as it expands.

Grant,
Thanks for your input.
Indeed, as I have found recently, JSF can call out to any other technology. We have been investigating ways of making the integration as easy as possible. We had previously been worried that there was no easy way to call out to client-side third-party applications, but have recently run a demo that used JNLP to achieve this.

I understand that Oracle has never announced spoken of plans to desupport Forms, and it would be against their interest to do so. There are a lot of IT shops that will continue to use their Forms apps for many years to come.

There is an array of agendas outside of Oracle that dictates directions, and sometimes we get caught up in them. Many companies think that joining in the J2EE world would be the best for them, even though they have a perfectly good client-server application they use for their internal operations.
At this point in time, there are so many things to chose from, that the world of options needs to be weighed up and a corrected decision chosen that applies to the particular requirements of the application.
This must be tempered with ensuring future directions can be catered for, and now that Oracle is investing in the Fusion integration, it may ease the minds of Oracle customers.

But, at the same time, now is an interesting time to find the best-of-breed between the technologies that are already here and the ones that are advancing to take their place.
Doing so requires a delicate functional balance of interopability between different toolsets and performance gains from using a specific line of technologies.

Grant Ronald said...

Thanks Marc - but you get my point that the constant "when will Forms be dead" "what is replacing forms" are both pointless debates, and in some ways end up becoming self fulfulling prophecies (if everyone bins Forms tomorrow you can bet that will not be good for its long term future)... ;o) .
Its concerning how many of these debates are based on complete misinformation (some of it genuine misunderstanding and some based on those who have an agenda). And the problem is businesses make decisions listening to this stuff.

If I had a "blog wish" it would be that people could separate out fact from opinion on their blogs. So for example, "I don't think Oracle care about the future of Forms" is an opinion. But pointing out that our SOD specifically mentions that there are no plans to desupport and that we are already talking about Forms11 new features and we are doing loads of roadshow etc....is a fact.

Ok, thats my opinion over now ;o)

Marc Thompson said...

Grant,
No, I don't think discussion of Forms' life-time is a pointless debate. Sure, it might make Oracle wince a bit, but it is bound to happen with Forms as with any other topic.
I could, instead, go on for ages discussing how annoying is it to develop using Apex. For example: Why do I have to run the application in order to get a preview of the change I just made, no matter how small?

I guess my concern is that there is no longer the big push for Forms from Oracle. They seem to be re-focusing all of their efforts on JDeveloper (and Apex to a smaller extent), while Forms get buried in the Fusion stack somewhere.
If you do a search for 'Forms' on the Oracle site, the first link sends you to a page where you get a nice little blurb about Forms, but on the right-hand side of the page is a link to download JDeveloper. No mention is made as to how you go about getting your hands on a copy of Forms for development or evaluation purposes.
How about putting some more information on that page, maybe a link to the New Features planned for Forms 11, or presentations from the roadshow?

Grant Ronald said...

I don't see how its so difficult to get a download of Forms.
Google on "Oracle Forms". top hit is the Oracle FOrms home page
Right hand side of the page "download"
Second try googled download oracle forms
Bang - straight away

Regarding new features - we will be posting a webcast of 11 new features at the start of May. Watch the Forms home page for news.
In the meantime if you want to get some news about the new features you can google on "oracle forms 11g"

We've been doing some new features presentations at various user groups and some people have blogged about it.

Finally, if you want to find out where to download Forms or new features in 11 why not post a question on the OTN forums - its probably the most answered forum on OTN with a great community.

Hope this helps
P.s. Given I'm heads down working on Forms and JDev, I don't get to hear much about Apex....does that means Apex is going away? Maybe we could start a rumour! ;o)
Ok, I'm kidding ;o) but we can all gossip and it doesn't make it true.

Thanks
Grant

grant ronald said...

As promised FYI - Oracle Forms 11g New Features webinar now available at http://otn.oracle.com/goto/formsmodernize