Wednesday, May 09, 2012

APEX - it's only good for CRUD applications?

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Rather than ignore a potentially damaging report about Oracle Application Express and hope no one notices it, I wish to expose it to the light of day.

I read a blog post the other day on the offical Oracle blog site. This blog post referenced a paper from an industry analyst. The majority of the paper is about Oracle Forms, the current offering, the road map and planned longevity of Oracle Forms, and a listing of numerous new features being added to Oracle Forms which customers can use to capitalize upon and further extend their investment in Oracle Forms.

A very small portion of the paper mentions Oracle Application Express - 202 words, to be exact. However, in these 202 words, the author seems to conclude that:

To address both points, all I can offer is empirical evidence. I guess the author was never informed about the Oracle customer who has implemented their entire call-center interface in Oracle Application Express, supporting nearly 700 call center employees. Perhaps they were not made aware of the multi-billion dollar clothing retailer who has their entire ordering, fulfillment and shipping system front-ended by Oracle Application Express. How about the American pharmaceutical company who wrote a custom CRM system for their 600+ member sales force, all in Application Express? Maybe he should have been informed about the multinational chemical corporation which has more than 200 applications in production - one of those APEX applications providing rich functionality on top of an SAP system. Perhaps we can share with him the story of a large cruise-line company that has rewritten their customer embarkation application in APEX and is in production today? Shall I go on?

After reading this paper, though, I'm not sure what I find more bothersome - a) the conclusion by an analyst who was fed incorrect and/or misleading information about Oracle Application Express and believes it to be Oracle WebDB from 1998, or b) an Oracle blog would highlight a white paper that basically says "if you wish to move from Oracle Forms and you're not interested in Oracle Fusion Middleware, then please use .NET." An odd direction, indeed, to suggest to customers who have invested heavily in SQL and PL/SQL.

I will let the successes of our customers be all the evidence that is needed to prove both of them wrong.

I'm sad to see that anyone who does not agree with you is automatically incorrect. I'm going to try to post this again hoping that you will accept my opinion.

1) You could find success stories from someone for every single platform/language/etc in the world. So sure there are success stories for APEX, but there are also a ton of success stories for .NET, Java and PHP. I know the paper is geared toward business applications, but what % of all web sites built are built with Apex? I'd guess less than 10 (I really think it's closer to 5%). So yes you can built something complex with APEX- but the question is should you?

Personally if I'm thinking about finding talented people to build and support this, there is just a larger talent pool with one of the aforementioned languages. A lot of the older Forms developers have moved on or are retiring. Younger kids out of college all learn php or java - they aren't teaching Apex in major universities.

2) You (Oracle Corporation) is shooting itself in the foot. Your biggest success case used to be MetaLink. Now it is written in ADF - that signals to me as a customer the direction Oracle is recommending. So you talk about misinformation - but your own corporation is sending mixed signals. Do you really expect an analyst to go seek out the product managers to get the "real scoop"?

>> I'm sad to see that anyone who does not agree with you is automatically incorrect.

Not a true statement. I didn't appreciate your dripping sarcasm before, so I'm glad to see you cleaned it up this time. Oh - and I'm still awaiting your answer to my earlier question if 675 days ago equates to "all the time". It's nice to be anonymous.

>> So yes you can built something complex with APEX- but the question is should you?

Good question. APEX isn't the answer to all things, and the sweet spot is database-centric applications, but does that mean that it cannot be used to build "complex business applications"?

>> Personally if I'm thinking about finding talented people to build and support this, there is just a larger talent pool with one of the aforementioned languages.

True. But the world is changing too.

>> Younger kids out of college all learn php or java - they aren't teaching Apex in major universities.

Hmmm.....not true. Not only is Application Express being taught at numerous universities, but of the 8,361 people who recently signed up for a workspace on apex.oracle.com and answered the survey, 3,071 identified themselves as students.

>> Your biggest success case used to be MetaLink. Now it is written in ADF. That signals to me as a customer the direction Oracle is recommending.

Well, that was a decision made by the Oracle Support team. So when it was rolled out with Adobe Flex, did you also assume that this was the direction Oracle was recommending?

Also, do you dismiss the Oracle Store, Oracle Partner Store, and even the forthcoming Oracle Database Cloud in APEX, then?

>> Do you really expect an analyst to go seek out the product managers to get the "real scoop"?

I really don't dismiss the things written in APEX. I just think Oracle's strategy is fractured and it is hurting your cause. I know you can't personally do much about it, just an observation from a customer. Talk to any of your salespeople, and you'll get an array of answers - some say Apex, others ADF - others the new flavor of the day. Believe me we have gotten about 4 different suggestions for how to migrate our Apps 11i Forms when we go to R12. Do you stick with Forms, go to Apex/OAF/ADF? I can't tell what direction you guys are going in these days...

>> If you were a paying customer, wouldn't you expect this?No and that's where we probably disagree. The Gartner white paper is an opinion and I find they usually do a very good job of being unbiased and presenting what they find. But at the end of the day, it is this guy's opinion that APEX isn't the best course. Your opinion is that he is misinformed. Mine is maybe a third, different opinion.

As a paying customer, I would do my own research and not limit it to a single person's opinion. If you trusted everything you read, you'd believe smoking is great for you and evolution doesn't exist. I would think a paying customer should do their own research - if they don't, then they are in for whatever they get.

All our BI users are on Apex front-ends. We also use it for interface to the cloud and big data searches using the google, twitter and facebook apis. Rather than talk about the great advantages of .not/php/java, we just went ahead and used the cheapest solution by far. Thereby avoiding the disaster stories of so many other "web implementations".

Anecdotal, one-off? Sure. But true and real, as well.

But I totally agree: the worst enemy of Apex is, and always has been, Oracle's own sales force.

Who are only interested in selling over the top, "cast of thousands" expensive solutions to their client base.

i'm developing Oracle APEX apps since version 1.5. Further i'm developing with Oracle Forms/Designer since 1996. But waht i can say is that Oracle APEX is the best developing tool accordingly reliabilty, stability, efficiency and learn curve i know. I wish the APEX development team that they can withstand the side blows of people the are not able to establish worldwide with their high sophisticated tools and ideas which no customer want to pay.

>Younger kids out of college all learn php or java - they aren't teaching Apex in major universities.

Not true, I know of (and have provided consulting for) 3 major Universities in the UK who are not only using APEX internally but also teaching APEX to students (infact we hired a student full-time out of one of those Universities).

If you had said - "they aren't teaching Apex in as many" I would have agreed, but it's simply not true to say what you said.

The statements made in that original report are ridiculous. Anyone who has any experience with Oracle Forms knows that the best designed applications had all or mostly all of the business logic encapsulated into database PL/SQL packages. Moving from Forms to APEX allows 100% re-use of this logic without changing a line of code, likely.

It's been years since I touched Oracle Forms, and I now use APEX extensively. From what I can tell, APEX can do things Oracle Forms could not (not the other way around). If I was going to migrate off of a Forms application, APEX would certainly be the most obvious option, and best option.

Quite honestly, it seems to me that most of these "non-citizen" developers are very nervous about something like APEX, because it renders them somewhat unnecessary. Businesses want products to market faster and cheaper. I'd challenge any Java developer to start from scratch and build a sample application off some spec in the same time it would take to do it in APEX. Even using ADF -- it can't be done. APEX will win every time.

Hardcore programmer types like to poo poo on something like PL/SQL or APEX, mostly due to ignorance -- but those who actually know something about it are nervous they will be out of a job because of it.

Given that Oracle owns Java and have other technologies/frameworks like ADF they make money from, it's probably in their best interest not to display APEX as great as it is. I'm not quite sure why anyone would suggest APEX can't do anything any other language could do -- PL/SQL is a robust, full featured language. It can pretty much do anything, and do it easier.

Joel, love the post and I always enjoy your team's assertion of APEX capability in the face of such one-sided doubt.

I would suggest that the reviewer be invited to learn more about the Product before making such assumptions as to its capability. His statements are just bad gamesmanship. Personally I hope he got paid well for the blow to his credibility on this topic.

A couple of years ago, we had to fight hard to have ApEx accepted for a large development project. This project has now been successfully deployed, it is a very large multilingual application that replaced three existing core applications for a large United Nations organization. Along with other functionality, it serves international convention texts and other international legal frameworks for labour law.

This was a complex project in both the depth and the complexity of the data being migrated and we are very happy that we insisted on using ApEx, PL/SQL and XML to implement this project.

APEX good for just CRUD applications - Nonsense? Please read this. We as a company have used APEX for numerous highly complex enterprise systems, it is very flexible both in terms of building UI's and complex logic - why? Well UI's because you can design a UI to look "exactly" how you want with APEX and incorporate various web technologies including JQuery and JQuery UI and complex logic because, put simply, it allows you to leverage ALL the power of the Oracle database. I understand that this is not about providing individual success stories, but it is is really about changing these kind of narrow perceptions that seem to occasionally exist out there regarding APEX, this can only be done by the people who have really used the technology speaking out - thankfully, thats one thing the APEX community is good at.