I dont expect alot of people here to be familiar with Oracle's ADF but Im hoping that theres a couple of other professional bussiness developers around that has experience with it. If you dont have an Interest in ADF best skip this wall of text.
Il start with this. Oracle has an incredibly powerful relational database. They have some other good technologies like Oracle Forms. Oracle Forms is quite powerfull (Its in a sense just an interface on a oracle database). All backend code in an oracle form was written in pl sql. Meaning the database would execute all code in the form directly. I work for a big IT firm that custom creates and maintains all software for a couple of big international retail companies (that are part of one investment holding company). We used to create all our HQ systems using the oracle database and oracle forms + a unix based batch environment. Point of sale systems were created in Delphi (and still is but thats not relevant right now).
We were incredibly efficient. We had in place a deployment system to deploy changes from our develop environment to our QA environment and from our QA envoronment to our production environment instantly pretty much instantly. Our avarage turnaround time on regular system improvemnt tasks was half a day from start to production. production errors (wich was rare) would be fevereshly attacked by developers and be fixed tested and live within 2 hours. typical new Systems would take 2 to 4 months to spec, develop test and go live. Of course our company is not a cheap solution but to big retailers we were well worth it imho.
And then comes ADF. Oracle forms is an aging technology. There is nothing it cannot do functionality wise but it still has that windows 95 look. Then without much investigation or test runs the company decides that its going to switch over to ADF. (How that decision was made so easily I still dont quite comprehend). Anyway my company managed to sell it to our clients who agreed to the idea of rewriting their entire HQ systems in this new web based technology. Not going to go into the details of how this agreement worked for the sake of not typing another wall of text.
This was about 3 years ago. We have spent insane amounts of resources on this framework and weve only implemented a portion of the old systems in ADF (and not to the clients satisfaction).
With our old system we could instantly delpoy changes to QA or production without taking servers down.
with our new System we can only reasonable deploy every two weeks when we can take the servers down (since hot deployments is a nono)
With our old system we could take juniors straight from tech or uni and give them a 2 week training course and theyl be ready to write and maintain oracle forms.
With ADF weve seen it takes developers 1 - 1.5 years to understand the intricute "under the hood" complexities and quirks of ADF to be able to write reasonably complex screens. Note that to make a very basic screen in ADF is simple. however this RAD (rapid application development) toy breaks as soon as you want to create anything that deviates from "simple" and then you had better know its extremely poorly documented messy internal API extremely well so you can hack your way around its limitations.
in our old system deployments took a couple of clikcs on our self written tools.
In our new system deployments is a massive error prone task that will lock up half your day.
in our old system testing a form on your local machine while developing took 15 seconds to run.
on our new system testing a form localy involves a manual deployment process to our local weblogic server wich takes roughly 4-5 minutes in total.
on our old system we never needed someone to help us with Oracle Form Server issues. They hardly ever ocured and if they did they were easliy resolved by the develoeprs themselves.
with our new system we have an entire dedicated team called "App Admin" that manages all the servers (wich constantly crashes) and deployments. In addition to that some of the developer teams now dedicate one of their developers to oversee all deployments from the team since "App Admin" by themselves might struggle keeping up with everything.
our old IDE was stable. our new IDE crashes and malfunctions everyday. Some Developers now make up to 4 hard backups of their workspaces every day in addition to commiting everything to SVN.
Development time has inscreased somewhere between 6-8 times. And in some cases even more. Sometimes the smallest issue in ADF requires a massive workaround hack that can take weeks.
ADF generates bucketloads of XML. its prone to make mistakes in the generated XML. IM SICK of spending entire days to find mistakes in autogenerated XML.
After much pain I finaly realised that the refactor tool in the IDE doesnt actualy work. When you refactor something in ADF it often times doesnt update all references (and adf applications consists of hundreds of config files and xml files all over the place). leaving you with a broken app. I found that if you truly must refactor you should use a decent text editor like ultra edit and use the find and replace in files functionality in it.
Unlike oracle forms when developing in ADF the IDE doesnt always pick up your code changes when it compiles. And no. Not even using the clean build function works. You have to go into the folder structure manualy to delete all generated classes and then compile again.
Critical bugs in the framework that have been reported up to 3 years ago (maybe more) are still not fixed. Yet oracle markets this framework with no limits.
I now realise that I can go on raging about this all night (literaly...). So Il stop here.
I would love to hear your opinion if you have experience with this framework or from anyone else who wishes to comment.