Oracle has an array of products for building a strong middleware. Oracle has done everything it can to provide integration solutions to its customers. But not all are happy with these solutions. You can see some curt replies on forums or ask any oracle developer.
If you complain about deployment and usabilities of Oracle Enterprise software, you just know the tip of an iceberg.
When you are (God forbids) unlucky enough to get hired as a Senior Software Developer for Oracle, you will see the full horrible iceberg.
First of all, their enterprise software architecture is bad, and based on all the principles of “How to write slow and unreliable Java code”. They use EJB, RMI and all distributed technologies unnecessarily, for no particular reason, except to amuse themselves, and torture their customers.
Third of all, they have very bad intergration strategy between Oracle products, so some Oacle products run very well (well here means relatively less bugs) with every other Application Server, except Oracle Application Server 😉
Forth of all, they don’t have good practice about Refactoring, Code review, Test first Development, only have theory, so the quality of Oracle’s code is terrible.
Fifth of all, they have a very funny build process for J2EE application, which involves 10 different tools, from simple javac to Ant to Unix shell sh, m4 interepreter to Cruise Control, perl script, yapp and God know what else. But I swear that one day I really counted them, and there were 10 different things in all. Why the hell they cannot use Ant and Cruise Control, or if they must, use either Perl or Sh script? But they use 10 different things. Thanks God they don’t include C# and Visual Basic into the build process.
Sixth of all, they don’t have incremental build for some enterprise applications, so each time a developer change some thing in one file, he has to build the whole thing, and deploy the whole J2EE app again.
Seventh of all, Oracle Application Server is the second worst J2EE application server in the whole industry. (The worst is IBM Websphere). Even some Oracle enterprise products cannot be deployed reliably on OAS, while they can be deployed fairly easy on Weblogic or any other things. The performance of OAS is terribly bad, although they advertise something else on Oracle Website. And the Management Console is a typical study case about “How to design bad User Interface”.
The last, but not least, that the team spririt in Oracle development team sucks. I don’t even want to go into the details.
Of all other things, Oracle Collaboration Suite, Oracle iProcurement and Oracle HR tools …, I think Oracle produces those kinds of software to take revenge on their customers, make their lives miserable. There is nothing that is more difficult and inconvenient to use than those Oracle hacky wacky products.
So except database which has been developed since Larry Ellison’s time, all other Oracle products suck.