ADF RAM/Performance Problem for enterprise system

674 views
Skip to first unread message

amir hosein khanof

unread,
Dec 18, 2011, 5:30:22 AM12/18/11
to adf-met...@googlegroups.com
Hi,

If we supposed that any systems with more than 400 concurrent users and more than 80 pages + 80(TF) is an Enterprise system then:
I want to get your suggestions for the installation, configuration and deployment of this enterprise system in WLS.
Have do you deployed such an Enterprise scale system with ADF(ADF Faces + ADF BC)?
How Many concurrent user do you have?
How many cluster you have and how much RAM you specified for each cluster?
What is you infrastructure (JVM + WLS version + ADF version + OS version + RAM )?

Last, why I am asking such questions? because I have deployed several enterprise systems with ADF and I see lack of performance in run-time ( I have this problem in SOA/BPM Suite11g also) I am trying to get help from a brainstorming here.

What is the reality? is ADF suitable for such an enterprise level or it is very heavy-weight for Enterprise systems?

we have done several migration from Form Builder to ADF the good-> people are satisfied with functionality, design of page and capability in page component the bad-> in the past they only has database to configure, now they have very huge RAM consumption from WLS.
 
one of company that I knew has 15 clusters (each cluster has around 4 GIG RAM)! to support 10000 concurrent users, is this normal?is it because ADF needs lots of resources compare to other frameworks? or it is because they do not know how to configure the system? but I am sure that they know the basic ADF performance hints (APP Pool, Connection Pool,debug=false,....).
I hope at the end of this brainstorming I found my answer to what is the best configuration for Cluster+WLS+ ADF..

To my experience, for each 150 user we need 3 gig for an Enterprise system in ADF Faces, if it is true, suppose how much RAM needed if the Facebook/Gmail/Oracle Website... was supposed to be written with ADF ;) ...


Thanks
Amir
 

Simon Lessard

unread,
Dec 18, 2011, 6:49:57 AM12/18/11
to adf-met...@googlegroups.com
Hi Amir,

If you already code applications using only 3Gb for 150 concurrent users, which is 20Mb per user, then you're already doing pretty good and I don't think I can come up with many potential optimizations. You could use full client state saving (not token), but there are some potential security risks associated with that and it's going to increase the network load. Dropping the ADF Databinding layer and using POJOs as return values from your application module methods can also yield some interesting RAM gains. Other than that there isn't much really as JSF is a bit memory hungry by design because of the said state saving.

I don't think Facebook could have been coded in ADF, it just not the right framework model for that kind of application, it's really more intranet oriented imho. I did work on some general public applications that ended up pretty well, we still had to twist the framework around every corners to resolve that kind of issues.


Regards,

~ Simon

--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com
 
All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).



--
Simon Lessard, ADF Architect
CMA CGM SYSTeMS
4, quai d’Arenc, 13235 Marseille cedex 02, France
( +33 6 79 37 39 85 (France)
( +1.418.930.0279 (Canada)

amir hosein khanof

unread,
Dec 18, 2011, 9:02:30 AM12/18/11
to adf-met...@googlegroups.com
Hi Sempon,
 
Thanks for your sympathy, I completely came up with your idea regarding ADF but my problem is that when we say ADF is for Enterprise level applications it is antithesis, during the past 3 years of improving of ADF from Oracle, what I see is that in every version we see new feature and lack of improvement in performance issue. blieve me that even the AM Pooling in high load is not as good as must be.
in OOW I heard that Oracle is going to use ADF for all the future applications that is going to be develope in Oracle, I wonder how it could be with this performance!!!
 
Even the built-in application that Oracle himself has wrote that is not good in performance i.e take a look over Oracle Workspace or Oracle Worklist!!! when you try to login in, you feel that you are loading 1,000,000 records from db!!!
 
what is the future? in case of Oracle Technologies which technology we must really use for Enterprise Level?
 
When Oracle talks about Cloud how it could be possible with lack of performance?
 
I really advocate ADF but the future is vague for me...
 
Thanks,
Amir Khanof
Senior Oracle MiddleWare Developer

09122124673

Message has been deleted

Rajeev Shah

unread,
Dec 19, 2011, 12:09:59 AM12/19/11
to adf-met...@googlegroups.com

What I understand with ADF is, an application that uses all ADF layers, is not to be recommended for more than 500 concurrent users.
Reason: Business will always expect itself to grow in future and ADF is inherently a heavy n/w framework.

But it will be interesting to see a ADF BC and Struts integrated application, if it can support 500+ concurrent users. Gut feeling is yes, b'coz ADF faces (UI part) is what makes it real heavy.




On 19 December 2011 01:56, Anton Gerdessen <a.ger...@gmail.com> wrote:
Well, to be honest.
If you want that many concurrent users, don't go for ADF
ADF is centered on easy of development and reducing the required
knowledge to build enterprise applications.
Performance will never be as good as other JEE framework.

ADF can execute several more queries than required for a lot of
operations.
I have had several SR request with Oracle concerning duplicate or even
triple query firing of queries.
ADF has sacrificed a lot in order to fully support drag and drop and
generic components.

Just create a simple application and start using it. See the memory
usage and CPU goes insane for a single user.
In my opinion Weblogic is the best JEE application server, but it is a
heavy weight server supporting a lot of features.
Features of which ADF uses almost nothing, features intended for JEE
frameworks.

The concurrent users you descibe I have had to deal with in only 1
project.
ADF was never an option there, we quickly moved to EJB 3.0 with a thin
Java layer and WFD (Microsoft) gui in order to support the load.
JEE can scale horizontal and vertical. ADF will not, simple due to the
application module being so heavy and the concept of a statefull
session facade.

If you check other JEE frameworks you see they quickly moved away from
state full session facades, EJB state full beans etc. ADF has not.
This type of programming paradigm just doesn't allow for scalability
under high concurrent.
users. Yet ADF keeps its application module, which is even heavier
then any other state full session facade out there.

ADF works, but the use in my opinion is limited.
ADF works in back end data entry application working mainly directly
on database tables.
It reduces the complexity of JEE application but imposes certain
drawbacks, one of them being performance and scalability.
And yes, I use ADF, but for exactly the type of application I
mentioned above, Back end application working 85% directly on tables,
10% with PL/SQL procedures and 5% with rest/soap services.

-Anton



On Dec 18, 3:02 pm, amir hosein khanof <amir.kha...@gmail.com> wrote:
> Hi Sempon,
>
> Thanks for your sympathy, I completely came up with your idea regarding ADF
> but my problem is that when we say ADF is for Enterprise level
> applications it is antithesis, during the past 3 years of improving of ADF
> from Oracle, what I see is that in every version we see new feature and
> lack of improvement in performance issue. blieve me that even the AM
> Pooling in high load is not as good as must be.
> in OOW I heard that Oracle is going to use ADF for all the
> future applications that is going to be develope in Oracle, I wonder how it
> could be with this performance!!!
>
> Even the built-in application that Oracle himself has wrote that is not
> good in performance i.e take a look over Oracle Workspace or Oracle
> Worklist!!! when you try to login in, you feel that you are loading
> 1,000,000 records from db!!!
>
> what is the future? in case of Oracle Technologies which technology we must
> really use for Enterprise Level?
>
> When Oracle talks about Cloud how it could be possible with lack of
> performance?
>
> I really advocate ADF but the future is vague for me...
>
> Thanks,
>
> On Sun, Dec 18, 2011 at 3:19 PM, Simon Lessard <simon.lessar...@gmail.com>wrote:
>
>
>
>
>
>
>
>
>
> > Hi Amir,
>
> > If you already code applications using only 3Gb for 150 concurrent users,
> > which is 20Mb per user, then you're already doing pretty good and I don't
> > think I can come up with many potential optimizations. You could use full
> > client state saving (not token), but there are some potential security
> > risks associated with that and it's going to increase the network load.
> > Dropping the ADF Databinding layer and using POJOs as return values from
> > your application module methods can also yield some interesting RAM gains.
> > Other than that there isn't much really as JSF is a bit memory hungry by
> > design because of the said state saving.
>
> > I don't think Facebook could have been coded in ADF, it just not the right
> > framework model for that kind of application, it's really more intranet
> > oriented imho. I did work on some general public applications that ended up
> > pretty well, we still had to twist the framework around every corners to
> > resolve that kind of issues.
>
> > Regards,
>
> > ~ Simon
>
> >  On Sun, Dec 18, 2011 at 11:30 AM, amir hosein khanof <
> > *CMA** **CGM SYSTeMS
> > **4, quai d’Arenc, 13235 Marseille cedex 02, France*
> > *( +33 6 79 37 39 85 (France)*
> > *(** **+**1.418.930.0279 (Canada)*
>
> > --
> > You received this message because you are subscribed to the ADF Enterprise
> > Methodology Group (http://groups.google.com/group/adf-methodology). To
> > unsubscribe send email to adf-methodolo...@googlegroups.com
>
> > All content to the ADF EMG lies under the Creative Commons Attribution 3.0
> > Unported License (http://creativecommons.org/licenses/by/3.0/). Any
> > content sourced must be attributed back to the ADF EMG with a link to the
> > Google Group (http://groups.google.com/group/adf-methodology).
>
> --
> Amir Khanof
> Senior Oracle MiddleWare Developer
>
> 09122124673

--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com

All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/).  Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).



--
 
Thanks & Regards,
Rajeev

Amr Gawish

unread,
Dec 19, 2011, 12:40:05 AM12/19/11
to adf-met...@googlegroups.com
Hi Amir,
One thing I'm sure with, is that ADF can be designed for Enterprise and Big Applications, you only need to do one thing to rapidly enhance performance, that one thing is Don't use Data Binding Layer aka Drag and Drop as you get rid of it, you end up not having a big Page Definition file, sometime no page definition at all, you decreasing the loading of reading and parsing XMLs back and forth with the framework, you need to return back to the backing beans and manage beans, this will boost your performance by 200%
That was testes, and trust me its working well, but you will lose most of the cool stuff JDeveloper does for you, and ofcourse increase the time so much, I'd rather also not use so much TF for that matter

Best Regards,
Amr Gawish
Senior Oracle Middleware Consultant
     



> Hi Sempon,
>
> Thanks for your sympathy, I completely came up with your idea regarding ADF
> but my problem is that when we say ADF is for Enterprise level
> applications it is antithesis, during the past 3 years of improving of ADF
> from Oracle, what I see is that in every version we see new feature and
> lack of improvement in performance issue. blieve me that even the AM
> Pooling in high load is not as good as must be.
> in OOW I heard that Oracle is going to use ADF for all the
> future applications that is going to be develope in Oracle, I wonder how it
> could be with this performance!!!
>
> Even the built-in application that Oracle himself has wrote that is not
> good in performance i.e take a look over Oracle Workspace or Oracle
> Worklist!!! when you try to login in, you feel that you are loading
> 1,000,000 records from db!!!
>
> what is the future? in case of Oracle Technologies which technology we must
> really use for Enterprise Level?
>
> When Oracle talks about Cloud how it could be possible with lack of
> performance?
>
> I really advocate ADF but the future is vague for me...
>
> Thanks,
>
> On Sun, Dec 18, 2011 at 3:19 PM, Simon Lessard <simon.lessar...@gmail.com>wrote:
>
>
>
>
>
>
>
>
>
> > Hi Amir,
>
> > If you already code applications using only 3Gb for 150 concurrent users,
> > which is 20Mb per user, then you're already doing pretty good and I don't
> > think I can come up with many potential optimizations. You could use full
> > client state saving (not token), but there are some potential security
> > risks associated with that and it's going to increase the network load.
> > Dropping the ADF Databinding layer and using POJOs as return values from
> > your application module methods can also yield some interesting RAM gains.
> > Other than that there isn't much really as JSF is a bit memory hungry by
> > design because of the said state saving.
>
> > I don't think Facebook could have been coded in ADF, it just not the right
> > framework model for that kind of application, it's really more intranet
> > oriented imho. I did work on some general public applications that ended up
> > pretty well, we still had to twist the framework around every corners to
> > resolve that kind of issues.
>
> > Regards,
>
> > ~ Simon
>
> >  On Sun, Dec 18, 2011 at 11:30 AM, amir hosein khanof <
> > *CMA** **CGM SYSTeMS
> > **4, quai d’Arenc, 13235 Marseille cedex 02, France*
> > *( +33 6 79 37 39 85 (France)*
> > *(** **+**1.418.930.0279 (Canada)*
>
> > --
> > You received this message because you are subscribed to the ADF Enterprise
> > Methodology Group (http://groups.google.com/group/adf-methodology). To
> > unsubscribe send email to adf-methodolo...@googlegroups.com
>
> > All content to the ADF EMG lies under the Creative Commons Attribution 3.0
> > Unported License (http://creativecommons.org/licenses/by/3.0/). Any
> > content sourced must be attributed back to the ADF EMG with a link to the
> > Google Group (http://groups.google.com/group/adf-methodology).
>
> --
> Amir Khanof
> Senior Oracle MiddleWare Developer
>
> 09122124673

Jean-Marc Desvaux

unread,
Dec 19, 2011, 7:39:31 AM12/19/11
to adf-met...@googlegroups.com
Hi All,

I believe the choice of a framework as a long term strategic tool should not be avoided because of a performance issue related to an hardware resource constraint as long as it can be sorted out at an affordable cost.
If I go for a better performing Framework choice (non 100% ADF) how my constraints (translating to less productivity mainly) are going to persist or even increase compared to my current hardware constraint which has many chances to vanish in the future ?

Taking into account that ADF is not meant for Google scale apps but that it is for 10,000 users Enterprises, is it possible or not today to sort out the performance issue with more CPUs & RAM ?

If Amir's figures are good, 15 machines of 3G to support 10,000 users is not bad in term of machine cost per user.
Amr says that a 200% perf boost can be achieved by "avoiding" data binding layer, TFs etc....
The Maths can be : Non 100% ADF with approx 7 machines or 15 machines with 100% ADF for 10,000 users. 1 machine at 3000$ => 24,000$ for 8 => 2.40$/user one-off cost to pay for ADF productivity is a good deal.
Am I wrong ? Or is the performance problem more complex than that ?

Jean-Marc






Jang-Vijay Singh

unread,
Dec 19, 2011, 7:47:08 AM12/19/11
to adf-met...@googlegroups.com
Hi, 

All the concerns raised seem valid. However, before getting to solutions, let's break down the 'performance' issues by addressing the following questions:

1) Does ADF as a framework require relatively more RAM and hardware resources than other frameworks to function at an acceptable level? 

OR

2) Do you observe other serious issues such as memory leaks that are impossible to resolve after adequate tuning and sizing? 

I read some unofficial blog post that suggests the whole Fusion applications suite could need 120 GB of memory. 

As Jean's math suggests, if, after that is just the price one pays to use all the productivity and usability features. Of course, we do recognise that different frameworks/patterns/technology platform suit different problems - 'one size doesn't fit all'
Historically, hardware (RAM, processing power, storage) has only become cheaper and better so it should hardly constrain one from using the framework 'where appropriate' .


Regards, 
JV

Mashrur

unread,
Dec 19, 2011, 8:12:12 AM12/19/11
to ADF Enterprise Methodology Group
Hi Jean,
What about the web logic cost which is most likely to be used with
ADF? As far as I know, Oracle made ADF to sell web logic. And
productivity?
What about some competing frameworks? Or is it productivity with
relatively cheap resources?
I can't understand this equation actually. Oracle made a tool/
framework which will end up selling something expensive [web logic] to
end customer - but that tool is targeted for quick development with
less scalability option - so, who are those end customers who don't
need a scalable app but ready to pay a huge amount for infrastructure
cost [app server, hardware, etc.] ? And why these end customers won't
have better options to choose from? And who are those ISVs who do not
want or can't invest a good amount for skilled developers [who will be
apt at using something productive and scalable] to make something
which will be bought by some rich end clients? I don't see how this
equation is going to work, in the long run..!
Making everything declarative is may be a way to attract some forms
developers, but I don't see why it is not possible to make this
declarations into something compiled in first build..[reducing the
need of xml parsing] just wondering!

Thanks
Mashrur

John Flack

unread,
Dec 19, 2011, 8:21:52 AM12/19/11
to adf-met...@googlegroups.com

Just a few thoughts:

Make sure that your application server is patched to the latest, including patches to the ADF libraries.  We don’t have much experience with JDev 11g and Weblogic, but the memory use on a 10g application on OC4J was significantly reduced when we installed a fairly minor patch to the ADF libraries.

Read up on the performance tuning parameters for your Application Modules – we got a bit of a bump by fine tuning these.

Simon, while the long-time users of Oracle tools (like Forms) in my shop (including me) are using ADF BC, we have two developers who knew Hibernate, so they did the Model for their projects in JPA.  Their applications simply don’t perform as well as mine.  For that reason, and so that any of our developers can maintain them, the next versions of these will be switched to ADF BC.

Simon Lessard

unread,
Dec 19, 2011, 9:37:10 AM12/19/11
to adf-met...@googlegroups.com
Hi John,

Hibernate can also be a costly framework. Also note that I didn't name the BC in my post, only the data bindings and using POJO instead of rows since storing rows in the page flow scope won't work well since the row keeps a reference to its VO which keep a ref to its app module. What we currently use is disconnected app modules and interface contract using simple POJOs. We also use the databinding layer only a little (without any pageDef) simply to declare our data control and retrieve them through a common locator method. This allow us to leverage the task flow transaction sharing management (and auto root AM creation). It does requires more code as well have to manually map the POJO with the row objects, but the speed and memory gain is impressive, not to mention the passivation is no longer an issue, ever. As a side note, a POJO's getter method is about 200 times faster than a Row object's. This many look like a micro optimization, but in one of our very heavy task, using POJO resulted in a 2 second boost for the end user.


Regards,

~ Simon

Jean-Marc Desvaux

unread,
Dec 19, 2011, 10:51:51 AM12/19/11
to adf-met...@googlegroups.com
Mashrur,

What about the web logic cost which is most likely to be used with
ADF?
Of course. But you are missing my main point which was to show the things to consider when making a Framework choice.
RDBMS for example took years to run on cheap hardware it does not mean Cobol was the best choice to take.
With Oracle Forms or Reports you sometimes had to use Pro*C or Pro*Cobol for performance but it was always preferable to avoid when possible.
If you have no choice and need that performance you always have a way to do it. Simon's approach in using POJO instead of Rows is a great example of it.
But I believe there is a cost to it and once need to weight this cost and the cost of adding resources when possible.


Jean-Marc

shay shmeltzer

unread,
Dec 19, 2011, 1:50:34 PM12/19/11
to adf-met...@googlegroups.com
One note - A default ADF application that you just built with the wizards may not be optimized for your usage both in terms of performance and memory consumption.
Luckily ADF has a lot of tuning capabilities in each one of the layers.
I would highly recommend that you invest some time and investigate what exactly is causing your heaviness.
Is it that you are getting too much data onto the middletier in the ADF BC layer? Did you look into the VO tuning parameters?
Is it too much memory per user? did you look into the scope you are using for saving data in your JSF application? (for example too much session scope when a shorter scope will be good enough).
and there are many other tuning parameters that can influence your application performance and memory consumption.
Some good reading is in the ADF section of the Oracle® Fusion Middleware Performance and Tuning Guide:
http://docs.oracle.com/cd/E21764_01/core.1111/e10108/adf.htm#CIHHGADG

And of course there is a bunch of other tunings you can do outside of ADF in your environment.

Chad Thompson

unread,
Dec 19, 2011, 11:53:38 AM12/19/11
to adf-met...@googlegroups.com

On Dec 19, 2011, at 07:12 AM, Mashrur <mas...@mislbd.com> wrote:


I can't understand this equation actually. Oracle made a tool/
framework which will end up selling something expensive [web logic] to
end customer - but that tool is targeted for quick development with
less scalability option - so, who are those end customers who don't
need a scalable app but ready to pay a huge amount for infrastructure
cost [app server, hardware, etc.] ?

When I think of where ADF really 'shines', it's not so much as a massively scalable app (after all, when pursuing 'web scale', you might be jettisoning the notions of JEE, middleware servers and relational databases altogether in the way that Facebook, Evernote, etc. do.) - but it's really in having the tools that allow end users to both manage and analyze large amounts of data.

It's in data management (working with large data sets) where traditional web application development struggles - where dealing with even 5,000 records is easy in 'native' apps (such as Forms, or even Excel), it's difficult to do this with web apps, both from a usability standpoint as well as support for data handling in the browser.

What I reallly, really like about ADF:  it abstracts away the hoops you need to jump through (like AJAX calls, etc.) to make a web app feel more like a native app when it comes to these data-centric types of applications.  (It takes away that need to write those little applets for data handling purposes.)

The tradeoff, of course, is application scalability.  Some of this can be handled with hardware, better clustering, etc. - some can't. 

There are some things coming in the HTML5 spec that I'm curious to see eventually be added to things like ADF - for example, will the AJAX-heavy items in ADF be eventually replaced with WebSocket techniques?

- Chad

Hyangelo Hao

unread,
Dec 19, 2011, 2:56:08 PM12/19/11
to ADF Enterprise Methodology Group
ADF(ADFm, ADFc and ADFv) is clearly a more complex framework compared
to the other more lightweight J2EE frameworks. This complexity is
borne out of the multitudes of abstractions the framework has to do in
order to support a very broad set of use cases. There is not wrong per
se(it is a logical design decision) but as consumers of this framework
we have to be always mindful of this limitation.

For example, we've recently come across a performance problem arising
from the use of the ViewRow's setters when populating programmatic
VOs(half of our applications model stack is composed of programmatic
VOs - long story). The ViewRow's setters ultimately call
setAttributeInternal() which causes events to be fired at the
ViewObject's EntityCache. So in essence, merely setting an attribute
in a row is causing a lot of code to be executed. Advice from Oracle
Support is to find a way to bypass those when possible(e.g. for our
search result screens, we don't really need to fire the EntityCache
events as the ViewObjects are serving only as data holders). This
seems to be possible using populateAttribute(a protected ViewRow
method).

I've been developing using ADF for only about a year but my conclusion
so far is that ADF is not design with performance as a primary
consideration. The cynic in me tells me that this is because oracle
wants us to buy more WebLogic licenses... :D Kidding aside, there are
other frameworks out there that can easily handle 10-100 times more
load than ADF. And if you are bold enough to venture outside of the
J2EE ecosystem, stacks like node.js can easily handle even more
(concurrent) load. Of course those kinds of frameworks have their
drawbacks in lesser ease of development(which IMO is just a euphemism
for losing the ability to hire mediocre developers and still expect
functional software).


Additionally, ADF is only half the equation. WebLogic is also a
problem by itself. I will not argue about its features. Its feature
set is massive(heck I don't even know all of the features). But
features are not free. In comparison to bare Java containers like
Tomcat, WebLogic is a giant, complicated, resource hungry
chainsaw(whereas Tomcat is *just* a good 'old handheld saw). Depending
on the situation, this may be a good or bad thing.

Even the Integrated WebLogic server is a resource hog. Start it up
without any deployed application and it still consumes a good 1GB of
memory. Combine this with Jdeveloper's 1GB and you are easily
consuming more than half of a typical developer's machine(typical in
the developing/third world at least). Put this in contrast to the
lightweight(comparatively) Eclipse/Tomcat combination and you will see
how some developers find the ADF tech stack to be a giant vat of
sticky, heavy molasses.

hasim

unread,
Dec 19, 2011, 5:22:20 PM12/19/11
to adf-met...@googlegroups.com
ADF is more Application Framework ,not realistically Web Application Framework.
It is more web oriented to convert Oracle Forms , Portal application to ADF.

ADF is very good framework for RAD for building custom intranet based
ERP , SCM , Business application. I am sure no other framework can
do faster than ADF.

I would not suggest ADF for half a million user or even few thousands because after
each ADF application deployment with webcenter we have to restart server which
is OK with small number of users using application build on ADF , but not with
24/7 kind of application.

Hope to see some massive changes from Oracle about ADF or i would suggest
oracle to move to light weight EJB which they have bought and recognized in
Market.

Thanks,
Hasim

Mark Robinson

unread,
Dec 19, 2011, 10:07:39 PM12/19/11
to adf-met...@googlegroups.com
I've said this before but I think it bears repeating.

The ADF tool support is lame.  Specifically, it doesn't really reach the needs of the advanced developer.  Maven support is broken, as of today, and JDeveloper is really tooled around helping a single developer work versus helping a team work.

Here's an example of what I'm talking about.  In JDev, I can push out a new deployment to my producation WLS server with a simple right click (ಠ_ಠ).  Great for a single guy to help a business unit, awful idea for more structured group that needs to maintain things like repeatability.  Conversely, there is no Hudson/Jenkins plugin to say "Build and test *this* version.  If it passes label it as ok and push to test".

JDev devs, here is my Christmas wish.  I want a maven plugin which can generate an ADF-enabled EAR file as easily as I can generate a vanilla EAR file.

Mark

Chris Muir

unread,
Dec 19, 2011, 10:13:55 PM12/19/11
to adf-met...@googlegroups.com
Please keep this thread on topic, discussions on tool support is a new thread.

Chris Muir

amir hosein khanof

unread,
Dec 20, 2011, 2:18:39 AM12/20/11
to adf-met...@googlegroups.com
Well,

First of all thanks for all the persons who participate in this topic, second I will write an highlight of the above posts.
To me the main point is what the Mashrur said, he is right.

The problem is not solved if we said that we boost the hardware and in the future the hardware would be more cheaper... it is not a solution( the application is not fast just for reference open the Oracle Worklist or Oracle Workspace with only 1 user and see how it is acting? the application is served in very low speed! we boosts the hardware we gain more users but each user is served in low speed).
If we say that ADF is an Enterprise solution we must be able to build an enterprise system with that.

if we read the Mashrur post, we can conclude that the ADF/Jdeveloper team in Oracle are not very clear in business and marketing and even targeting the customer! to me, they do not have a bright future successful plan.

what is ADF going to be? a fantasy framework that have tons of features that you can mix those feature in fragment of seconds but you can only serve few users in low speed???

or ADF is going to be leader in JEE worlds? of course ADF can be! because it has all the tools in hand(WLS,Ajax,JSF,...) but the reality is that the ADF/Jdeveloper team or the product manager seems that concerns only about features and soon we have to draw a line over "ADF is an Enterprise Framework".

My aim for this post is not to say that ADF is not as fast as more pure technologies, of course it is not supposed to be, if we got ease we lose performance, but my aim is that we need to make the ADF/Jdeveloper team awake! to me they are not plan to boost this framework they only try to embellish this framework with features.

to clarify the issue, we are building a car with hundreds of facility and we totally forgot the engine!!! so in near future we would have a car with lots of feature and make user entertain for hours and then they would ask why this car can not gain speed??? do you think that this car would be successful in market??? of course not!

I think that this kind of posts must be reach to development team of ADF.

Be honest, in the near future the ADF would be a bottleneck for Oracle Fusion, it is clear, because we are integrating everything with ADF if ADF is not performing well so the whole Fusion would be in danger suppose we have Oracle BPM which is very good in performance and can support more than 100,000 concurrent processes but each process has a Human Task developed with ADF(Worklist is also developed with ADF) which is not performing for this huge users...

is it really not feasible to boost the framework of ADF??? I do not believe!
are they really care about it? I do not think...

have you visit the various ADF blogs in internet? or ADF presentations in OOW??? what we saw? only presenting the new features... where is the presentations for boosting the Framework itself?

and also are this kind of lake of performance related to JSF or taskflow I do not think so I think the main bottleneck is the ADF BC ( AM Pooling, VO,Eo,...) just for reference I have wrote an application with ADF Faces without ADF BC and it has not any performance issue until know the concurrent user is around 1500 users.

at last there is an quick overview of this post:
==============================================================

Anton
    • If you want that many concurrent users, don't go for ADF
    • Performance will never be as good as other JEE framework.
    • ADF has sacrificed a lot in order to fully support drag and drop and generic components.
    • memory usage and CPU goes insane for a single user.
    •  Weblogic is the best JEE application server
    • weblogic is heavy weight server supporting a lot of features of which ADF uses almost nothing, features intended for JEE frameworks.
    • JEE can scale horizontal and vertical. ADF will not, simple due to the application module being so heavy and the concept of a statefull session facade.
    • ADF keeps its application module, which is even heavier then any other state full session facade out there
    • It reduces the complexity of JEE application but imposes certain drawbacks, one of them being performance and scalability.
      Rajeev

      • ADF application that uses all ADF layers, is not to be recommended for more than 500 concurrent users.
      • ADF is inherently a heavy n/w framework.
      • ADF faces (UI part) is what makes it real heavy.

        Amr

        • do one thing to rapidly enhance performance by Don't use Data Binding Layer aka Drag and Drop
        • return back to the backing beans and manage beans, this will boost your performance by 200%
        •  not use so much TF

          Jean-Marc
          • performance issue related to an hardware resource constraint is not a problem as long as it can be sorted out at an affordable cost.
          • ADF is not meant for Google scale apps but that it is for 10,000 users Enterprises

            Jang-Vijay Singh

              •  whole Fusion applications suite could need 120 GB of memory.
              • Historically, hardware (RAM, processing power, storage) has only become cheaper and better so it should hardly constrain one from using the framework 'where appropriate' .
                Mashrur

                  • Oracle made ADF to sell web logic.
                  • Oracle made a tool/framework which will end up selling something expensive [web logic]
                  • ADF is targeted for quick development with less scalability option
                  • who are those end customers who don't need a scalable app but ready to pay a huge amount for infrastructure cost [app server, hardware, etc.] ?
                  • why ADF Customers (who pay huge money for WLS infrastructure) won't have better options to choose from?
                  • who are those ISVs who do not want or can't invest a good amount for skilled developers [who will be apt at using something productive and scalable] to make something which will be bought by some rich end clients?
                  • ADF (quick development with less scalability)equation is  not going to work in the long run
                  • Making everything declarative is may be a way to attract some forms developers
                  • why it is not possible to make this declarations into something compiled in first build..[reducing the need of xml parsing] just wondering!

                    John Flack

                    • Make sure that your application server is patched to the latest.
                    •  Hibernate/JPA simply don’t perform as well as ADF

                    Simon

                      • Hibernate can also be a costly framework
                      • Also note that I didn't name the BC in my post, only the data bindings and using POJO instead of rows since storing rows in the page flow scope won't work well since the row keeps a reference to its VO which keep a ref to its app module.
                      • disconnected app modules and interface contract using simple POJOs and using databinding layer only a little would result in good performance.
                      • POJO's getter method is about 200 times faster than a Row object's. 
                      • in one of our very heavy task, using POJO resulted in a 2 second boost for the end user.

                        Shay

                          •  A default ADF application that you just built with the wizards may not be optimized for your usage both in terms of performance and memory consumption.
                          • Luckily ADF has a lot of tuning capabilities in each one of the layers.
                          • there are many other tuning parameters that can influence your application performance and memory consumption.

                            Chad

                              • I think of where ADF really 'shines', it's not so much as a massively scalable app
                              • ADF shines really in having the tools that allow end users to both manage and analyze large amounts of data.
                              • traditional web application  in data management development struggles - where dealing with even 5,000 records is easy in 'native' apps (such as Forms, or even Excel), it's difficult to do this with web apps, both from a usability standpoint as well as support for data handling in the browser.
                              • it abstracts away the hoops you need to jump through (like AJAX calls, etc.) to make a web app feel more like a native app when it comes to these data-centric types of applications.  (It takes away that need to write those little applets for data handling purposes.)
                              • The tradeoff, of course, is application scalability.  Some of this can be handled with hardware, better clustering, etc. - some can't.

                                Hyangelo

                                  •  ADF is not design with performance as a primary consideration.
                                  • oracle wants us to buy more WebLogic licenses :D
                                  •  there are other frameworks out there that can easily handle 10-100 times more load than ADF with lesser ease of development
                                  • WebLogic is also a problem by itself. Its feature set is massive But features are not free.
                                  • Weblogic In comparison to bare Java containers like Tomcat, WebLogic is a giant, complicated, resource hungry
                                  • Even the Integrated WebLogic server is a resource hog.Combine this with Jdeveloper's 1GB.

                                  Hasim
                                         

                                    • ADF is more Application Framework ,not realistically Web Application Framework.
                                    • ADF is very good framework for RAD for building custom intranet based  ERP , SCM , Business application.
                                    • I would not suggest ADF for half a million user or even few thousands
                                    • after each ADF application deployment with webcenter we have to restart server
                                    • Hope to see some massive changes from Oracle about ADF or
                                    • I  suggest oracle to move to light weight EJB which they have bought and recognized in Market.
                                    ==============================================================

                                    Thanks,
                                    Amir

                                    Chris Muir

                                    unread,
                                    Dec 20, 2011, 5:59:23 AM12/20/11
                                    to adf-met...@googlegroups.com
                                    Amir, thank you for taking time out to summarize all the posts, few people take the time to do this.

                                    Chris Muir
                                    ADF EMG Group Moderator
                                    > Amir Khanof
                                    > Senior Oracle MiddleWare Developer
                                    >
                                    > 09122124673
                                    >

                                    Michael Koniotiakis

                                    unread,
                                    Dec 20, 2011, 7:50:34 AM12/20/11
                                    to ADF Enterprise Methodology Group
                                    Hello
                                    We have migrated an Application from Forms to ADF (more than 60 men
                                    years development)
                                    We are deploying to different customers scaled from 10 users to 1500
                                    users.
                                    Pages are heavy, with many view objects each.
                                    We have performed most of the known tuning practices. yet our load
                                    testing cannot exceed 100 users per cpu with 16G ram.
                                    Scaling up is by clustering many servers
                                    It is still cheaper to sell by named user than by cpu.
                                    I think the license cost is the main reason that reducing the amount
                                    of concurrent users is not the main concern of oracle.
                                    if you could load 1000 users in one cpu then the license fees would be
                                    10 times less?
                                    I feel the license fees policy should be more competitive. Then even
                                    if i needed more hardware to support concurrent users the cost would
                                    be acceptable
                                    Even if we need double the time to build an application in another
                                    framework, we would gain more while selling to more users.
                                    This difference is much more with BPM,UCM,WC.
                                    As developers we want to use BPM to complete the application since it
                                    is the most sophisticated and more easy to use. The maintenance cost
                                    for us would be lower .Yet the license cost seems to be 10 times more
                                    than other competitive frameworks and customers measure than more than
                                    the custom maintenance cost.

                                    Regards
                                    MK

                                    Nick Aiva

                                    unread,
                                    Dec 20, 2011, 12:35:51 PM12/20/11
                                    to adf-met...@googlegroups.com
                                    I think what is missing here is a systematic benchmark document, comparing the performance and scalability differences  between the same application, running on the same physical machine and db, developed in:
                                    1.ADF and BC
                                    2.ADF and toplink EJB
                                    3.Plain jsf  and open source model technologies

                                    Is it possible for Oracle to supply their customers with such facts and figures?
                                    Thank you!
                                    NA
                                    http://nickaiva.blogspot.com

                                    Hyangelo Hao

                                    unread,
                                    Dec 20, 2011, 1:05:44 PM12/20/11
                                    to ADF Enterprise Methodology Group
                                    Hi Michael,
                                    By 100 user per cpu do you mean per CPU core or per physical
                                    processor? If it is the latter, what was the processor?

                                    Ramesh K

                                    unread,
                                    Dec 20, 2011, 2:59:26 PM12/20/11
                                    to adf-met...@googlegroups.com
                                    It would be good if Oracle Fussion/Jdeveloper/ADF product managers/Architects can comment on this kind of threads.

                                    I am sure they must have done some performance tests done for the Fussion Apps, if they could share the numbers or experience, that would answer atleast some of the concerns raised.



                                    Chris Muir

                                    unread,
                                    Dec 20, 2011, 7:24:20 PM12/20/11
                                    to adf-met...@googlegroups.com
                                    I agree, I'd like to see a systematic analysis providing empirical
                                    evidence by members of the group to back up the subjective opinions
                                    please.

                                    In turn I'm sure the Oracle staff are listening. However please
                                    remember it is Christmas followed by New Year, and like you they have
                                    family and friends to focus on as a priority.

                                    CM.

                                    Srinidhi Puranik

                                    unread,
                                    Dec 21, 2011, 12:04:32 AM12/21/11
                                    to adf-met...@googlegroups.com
                                    I have had an experience with bad performance in  ADF 11G. We used ADF for an internal facing application targeting 50 concurrent users. The product went live around 1.5 years back only to hit OOM crashes every alternate day. The application was feature rich, however, the performance was bad, thereby making it a bad user experience. What we learnt:

                                    1) If you are using ADF BC, make sure you understand AM pooling and VO tuning concepts thoroughly. This is not a piece of cake for amateur ADF developers. This means good ADF developers dont come cheap.

                                    2) If you are using heavy PL/SQL integration, in order to leverage legacy PL/SQL API's, lot of care needs to be taken. If the API's are time consuming for whatever reasons, we can expect stuckthreads in the server, which can potentially multiply over time.

                                    3) Load test your application on a single node for whatever concurrent users you expect. Based on the response add nodes to your cluster. In our case, we created a cluster, only to realize in the end that we dont need any cluster for a 50 concurrent user scenario.

                                    4) Good application in ADF is really possible, we just need to understand the concepts involved and also follow the best practices. Oracle has invested heavily on Fusion (which uses ADF)  for enterprise scale application suite. I strongly believe that Oracle will eventually make changes to the framework to address any performance issue to make Fusion a success. As Fusion is taken up by more and more customers, we will start getting a clear picture of where ADF is heading. 

                                    5) We made our application really performant and stable in a span of 3 months. Once the application became stable with respect to performance and architecture, future enhancements to the application became very simple. One ADF developer can now single-handedly cover the support and enhancement of this product/application. The maintenance cost, as I see it, can be really low.

                                    regards,
                                    Srinidhi Puranik. 

                                    grant ronald

                                    unread,
                                    Dec 21, 2011, 3:26:42 AM12/21/11
                                    to adf-met...@googlegroups.com
                                    "As far as I know, Oracle made ADF to sell web logic" - not really, our
                                    primary driver was to make our Apps developers more successful...worth
                                    remembering when discussions on developer productivity and performance
                                    come up - we were "eating our own dogfood" and if the tools didn't do
                                    the job for the apps developers then we soon heard about it and had to
                                    fix it.

                                    I'd also make the point that we're not "Making everything declarative".
                                    I don't believe anyone is telling you everything will be drag and drop
                                    - but on the other hand it doesn't make sense for everyone in the
                                    community to be solving the same common problems like security,
                                    persistence etc
                                    regards
                                    Grant

                                    >> the performance issue with more CPUs& RAM ?

                                    Duncan Mills

                                    unread,
                                    Dec 21, 2011, 6:03:04 AM12/21/11
                                    to adf-met...@googlegroups.com
                                    I've just published the performance tuning paper that I presented at the UK Oracle Users Group and a couple of other events. This has what we would consider the "must-do" tuning activities plus info on a bunch of other hints and tips. I hope it will help.

                                    Shay

                                    unread,
                                    Dec 21, 2011, 2:38:43 PM12/21/11
                                    to ADF Enterprise Methodology Group
                                    I'm going to split my answer into two, the other part will have some
                                    numbers that can help advance the discussion.
                                    But first we wanted to address some points that were raised in this
                                    thread.

                                    * Declarative comes at a cost of performance
                                    Maybe this should be phrased as - "Using declarative feature and not
                                    tuning the default settings comes at a cost of performance".
                                    ADF has default settings that don't necessarily match the specific use
                                    case of your application. There are also specific features that aim to
                                    address specific use cases (shared AM for example).
                                    The question is whether after implementing the right tuning and
                                    leveraging the advanced features you get acceptable results - we
                                    believe this is the case.
                                    We document many of these tuning techniques and features in our
                                    documentation for example:
                                    http://docs.oracle.com/cd/E21764_01/core.1111/e10108/adf.htm#CIHHGADG
                                    and
                                    http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e15524/adv_performance.htm#BBADGJHB

                                    * ADF consumes more memory than simpler Java EE framework
                                    Runtime features have costs. For example a Web page that uses
                                    TaskFlows in it will require more memory than a page that doesn't use
                                    them. A page that has the Ajax interaction offered by ADF Faces will
                                    create more network chattiness compared to a page that doesn't offer
                                    this type of dynamic user interaction.
                                    So comparing a static HTML page that fetches data from a POJO and
                                    doesn't save state, to an ADF page that offers a much richer
                                    functionality to the end user accessing the same data is not an apples
                                    to apples comparison.
                                    Richer functionality requires more resources - it's up to the
                                    developers to decide if the functionality is needed and whether it
                                    justifies the cost.

                                    * Oracle doesn't address performance issues in new versions
                                    We are actively adding features that address performance needs with
                                    each new release and patch.
                                    Some of these feature get some exposure (like the ADF Faces Javascript
                                    partioning - http://docs.oracle.com/cd/E24382_01/web.1112/e16181/ap_config.htm#BABGIFBG
                                    , caching support - http://docs.oracle.com/cd/E24382_01/web.1112/e16181/ap_config.htm#CBDHDHEC
                                    or the ADF BC's various tuning settings or Shared AM features) but
                                    many others are more on the back-end engine and usually don't get
                                    exposure (unless you are tracking specific bugs).
                                    In terms of addressing performance in conferences and collateral -
                                    Duncan's session at OOW, UKOUG and next year's ODTUG was aimed
                                    specifically at this. ADF Stress Testing paper and documentation on
                                    tuning are some of the other efforts we are doing to address this.

                                    We are always open to receive feedback on concrete issues that you
                                    find in the framework. If you are running into a specific case where
                                    ADF is doing something wrong please let us know.

                                    Shay

                                    unread,
                                    Dec 21, 2011, 2:46:08 PM12/21/11
                                    to ADF Enterprise Methodology Group
                                    Since people asked for specific testing results I thought I'll share a
                                    bit of what Oracle is doing in this area.

                                    But first I feel obliged to mention the obvious thing - performance of
                                    an application depends on MANY factors - you shouldn't base estimates
                                    for your application on other peoples application - rather you should
                                    be testing your own application to get a real idea of what to expect.
                                    It is also important to note that there is an art to testing and
                                    getting results that reflect a realistic scenario - we have published
                                    a white paper that aims to give your guidelines on this here:
                                    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfloadstresstesting-354067.pdf


                                    Oracle has a dedicated group that is doing stress/scalability testing
                                    of ADF for each release.
                                    The way they test is putting a specific user load on an application
                                    and making sure we meet our KPI.
                                    So a couple of examples from their work:

                                    One test is aimed at checking the ADF Faces layer. It uses a complex
                                    ADF Faces page (with about 100 components including 2 big tables) the
                                    test simulates running 450 users on an Intel Xeon 2 x 3.20GHz CPU, 6GB
                                    RAM - Results for PS4 showed CPU usage at around 70% with response
                                    time at less than half a second and total memory consumption of
                                    ~1700mb.

                                    Another example is the FOD demo you are all familiar with -
                                    FOD was written primarily as a feature demo (and not tuned like a
                                    "real" production application would be), however it goes beyond the
                                    typical CRUD use cases of many demo applications. It consist of
                                    multiple ADFbc application modules, ADF task flows, and ADF Rich
                                    Client component pages and fragments - so a moderately-complex
                                    application.
                                    We run tests of 400 users on a 4 cpu 2.33GHz, 32GB server with two WLS
                                    managed server (to simulate HA which also has a performance cost).
                                    We see total memory for the 400 users at less than 1300mb - given that
                                    there is a fixed memory consumption just for the WLS instance this
                                    will put the memory per user probably somewhere around 3mb.
                                    By the way the CPU was at less than 25% capacity - which means we are
                                    nowhere near the limits of such a server.
                                    We know the FOD application can be further tuned to get much better
                                    results.

                                    Right now I don't have data for Fusion Apps that I can share, but
                                    while searching for it I came across the "Improving Performance"
                                    chapter in the Fusion Apps Developer Guide which has a lot of tips
                                    that apply to any ADF application and it is definitely worth a read:
                                    http://docs.oracle.com/cd/E15586_01/fusionapps.1111/e15524/adv_performance.htm#BBADGJHB:

                                    The one area that is not mentioned there is tuning the Database itself
                                    which can have dramatic influence on your overall performance - but
                                    this discussion probably belongs to the DB EMG.

                                    Ammar™ <ammar.sajdi@gmail.com>

                                    unread,
                                    Dec 21, 2011, 1:47:59 PM12/21/11
                                    to adf-met...@googlegroups.com
                                    Hello

                                    i do not think that it is legitimate to how much memory you need for x number of users. It depends on what what the ADF application is doing, what components you are using, what kind of code you are writing in your beans and model classes

                                    Performance management is not similar to precise science that you can describe in a function or equation. There are usually many variables that are involved which requires through understanding of what do do and the environment your are using.

                                    We have designed an application to be used for the parliamentary elections in Jordan , where around 3.5 Million people would cast their votes in one day.  Four thousands Users running concurrently  between 7 AM and 7 PM.

                                    We designed the system with Performance in mind, and with the proper design of database structure, Tuned SQLs, Adhering to best practices, Well configured and tested BC4J parameters configuration and understanding of how  AM work, the project was successful.  

                                    We utilized 4 Application Servers , running entry level  Intel based (running linux) each with 8GB of RAM and 4 instances of OC4J  (We were using 10.1.3 and jdeveloper 10g because the client did not have a license for Weblogic Server).  Each OC4J instance was configured with 1-2 GB memory (the heap parameters).  You need to monitor logs file for out of memory errors (which can cause a rebounce of OC4J, and during which performance would degrade.

                                    With the proper tuning of AM pooling and activation passivation activities, we were able to server the 4000 users while having of not more than 600 Database sessions.

                                    The database was a 2 node powerful RAC Server (Sun Machine) with a total of 24GB of RAM (which we did not completely used).  In all of your applications do not undermine the database load, the locking issues which can be manifested as bad response for your Web Applications.

                                    With this experience and another experience for another application at a GSM provider, I am confident that you can manage Enterprise ADF application without compromising performance.

                                    I have seen many programming mistakes that killed the application server like coding the creation of Application Modules

                                    Configuration.createRootApplicationModule(String, String)

                                    not only that, but also without Releasing them. In most cases, the usage of the above statement was not justified.

                                    In a nutshell, you need an excellent understanding of the ADF framework ,and a good sense of what performance  is and not undermining database and SQL issues to be able to build a sound enterprise application.
                                    To be fair to everyone, i think that Oracle was not successful in helping the user community to understand the Framework, rather, i felt that Oracle focused to driving the user community towards declarative approach based on HOW-TO scenarios  that cover common areas. While How -To examples help, but relying on this approach really neutralizes our thinking power,  and explains why many of us fall into traps that we would easily avoid.

                                    I am an experienced Engineer with a wide spectrum of skills in Oracle spanning 20 years, but i have to admit that it took me quick a while to get a hold of the framework.  

                                    When i have some time to spare, i am willing to write an insight paper that should help all to understand the framework and how to go around using it, thus, avoiding the learning curve that me and other went through

                                    best Regards

                                    Ammar Sajdi
                                     

                                     


                                    On Sun, Dec 18, 2011 at 12:30 PM, amir hosein khanof <amir....@gmail.com> wrote:
                                    Hi,

                                    If we supposed that any systems with more than 400 concurrent users and more than 80 pages + 80(TF) is an Enterprise system then:
                                    I want to get your suggestions for the installation, configuration and deployment of this enterprise system in WLS.
                                    Have do you deployed such an Enterprise scale system with ADF(ADF Faces + ADF BC)?
                                    How Many concurrent user do you have?
                                    How many cluster you have and how much RAM you specified for each cluster?
                                    What is you infrastructure (JVM + WLS version + ADF version + OS version + RAM )?

                                    Last, why I am asking such questions? because I have deployed several enterprise systems with ADF and I see lack of performance in run-time ( I have this problem in SOA/BPM Suite11g also) I am trying to get help from a brainstorming here.

                                    What is the reality? is ADF suitable for such an enterprise level or it is very heavy-weight for Enterprise systems?

                                    we have done several migration from Form Builder to ADF the good-> people are satisfied with functionality, design of page and capability in page component the bad-> in the past they only has database to configure, now they have very huge RAM consumption from WLS.
                                     
                                    one of company that I knew has 15 clusters (each cluster has around 4 GIG RAM)! to support 10000 concurrent users, is this normal?is it because ADF needs lots of resources compare to other frameworks? or it is because they do not know how to configure the system? but I am sure that they know the basic ADF performance hints (APP Pool, Connection Pool,debug=false,....).
                                    I hope at the end of this brainstorming I found my answer to what is the best configuration for Cluster+WLS+ ADF..

                                    To my experience, for each 150 user we need 3 gig for an Enterprise system in ADF Faces, if it is true, suppose how much RAM needed if the Facebook/Gmail/Oracle Website... was supposed to be written with ADF ;) ...


                                    Thanks
                                    Amir
                                     

                                    --

                                    Chris Muir

                                    unread,
                                    Dec 21, 2011, 7:51:17 PM12/21/11
                                    to adf-met...@googlegroups.com
                                    On Shay's last point "The one area that is not mentioned there is

                                    tuning the Database itself which can have dramatic influence on your
                                    overall performance" ..... Penny Cookson from SAGE Computing Services
                                    in Australia won best paper at the AUSOUG Perth conference entitled
                                    "JDeveloper ADF and the Oracle database - friends not foe", abstract
                                    as follows:

                                    --abstract--
                                    Traditional Oracle developers have learnt to use the techniques which
                                    get the best from the Oracle database. Java developer on the other
                                    hand have a tendency to believe that the database is just a data store
                                    and will take care of itself. There are options you can choose in
                                    JDeveloper that will result in applications which your users will
                                    curse for their poor performance, and others that will behave just
                                    fine. This presentation looks at what happens in the database when you
                                    choose various ADF design options and discusses ways for them to work
                                    happily together
                                    --abstract--

                                    Presentation PPT:
                                    http://www.sagecomputing.com.au/papers_presentations/JDevTune.ppsx

                                    Penny will also be presenting this at Collaborate in 2012.

                                    CM.

                                    fnimphiu

                                    unread,
                                    Dec 22, 2011, 1:11:45 PM12/22/11
                                    to ADF Enterprise Methodology Group
                                    Chris is correct that Christmas usually is a quite time at Oracle
                                    too.

                                    This thread has a lot of good information, but unfortunately also
                                    contains lots of FUD, flames and blames, grief and emotion that I like
                                    to see filtered out. Anything that can be proven I am happy to file a
                                    bug or ER for. So if you have a test case that reproducibly shows that
                                    ADF doesn't scale compared to a different implementation you built
                                    then I am happy to take both test cases and file them. If you have a
                                    strong evidence that BPM e.g. scales for 100.000 users and the
                                    addition of ADF for the Human Work flow brings it down, then I am sure
                                    the SOA team who built this integration loves to hear about this.

                                    Frank

                                    Jean-Marc Desvaux

                                    unread,
                                    Dec 23, 2011, 3:10:53 AM12/23/11
                                    to adf-met...@googlegroups.com

                                    It seems there will be a real world large scale ADF application soon according to a notice just received from Oracle Support about next Gen UI.

                                    Here is an extract:

                                    [..]Built on Oracle’s own Application Development Framework (ADF), benefits of the redesigned UI will include:

                                    • Streamlined, three-step process for initiating new Service Requests (SRs)
                                    • Single, consistent workflow for both hardware and software incidents
                                    • Enhanced personalization and filtering within the user interface
                                    • New accessibility features (enabling screen readers, large fonts, etc.)
                                    The Oracle ADF-based UI will replace the current HTML and Flash versions[..]

                                    It would be nice to know if all ADF layers are involved or just UI.

                                    -Jean-Marc

                                    ugb

                                    unread,
                                    Jan 3, 2012, 1:47:10 AM1/3/12
                                    to ADF Enterprise Methodology Group
                                    Over the years we build some ADF Application with very good
                                    performence and stable memory consuming. You have to learn when you
                                    using ADF BC aka BC4J that is different as Hibernat, JPA or JDO. So my
                                    advise is for performence look at Fusion Developer's Guide for Oracle
                                    Application Development Framework / 43.2.2.3 About State Management
                                    Release Levels

                                    "...Performance Tip: .The default release level is Managed, which
                                    implies that the application module's state is relevant and has to be
                                    preserved to allow the data control to span over several HTTP
                                    requests. Set release level to Unmanaged programmatically at runtime
                                    for particular pages to eliminate passivation and achieve better
                                    performance. A typical example is releasing the application module
                                    after servicing the HTTP request from a logout page. This mode was
                                    called the "Stateless Release Mode" in previous releases of
                                    JDeveloper...." Page 1662

                                    With this functionality of the framework you can decide when ever your
                                    want to have stateful or stateless AM in the context of your
                                    implemented use case. Hope this helps.

                                    regrads,
                                    Ulrich Gerkmannn-Bartels

                                    Andreas Koop

                                    unread,
                                    Jan 4, 2012, 3:53:13 PM1/4/12
                                    to ADF Enterprise Methodology Group
                                    I would like to pick up JMDs post on the mentioned next-gen UI for
                                    MOS .

                                    It would be great to get some more details from Oracle regarding

                                    DESIGN & ARCHITECTURE

                                    - ADF Version: __________
                                    - ADF BC: yes/no
                                    - If ADF BC:
                                    - Number of EOs:
                                    - Number of VOs:
                                    - Number of AMs:
                                    - Avg VO-Instances per AM:
                                    - Number of Root-AM:
                                    - Number of Shared AMs:
                                    - Max AM nested level:
                                    - Number of Nested AMs (Level 1):
                                    - Number of Nested AMs (Level 2):
                                    - Number of Nested AMs (Level 3):
                                    - Number of UTFs:
                                    - Number of BTFs:
                                    - Number of Pages:
                                    - Number of Fragments:
                                    - Number of Page Templates:
                                    - Number of TF Templates:
                                    - Max TF Template inheritences depth:
                                    - Max Page Template inheritence depth:
                                    - Number of Declarative Components:
                                    - Number of Managed Beans in none scope:
                                    - Number of Managed Beans in application scope:
                                    - Number of Managed Beans in session scope:
                                    - Number of Managed Beans in pageflow scope:
                                    - Number of Managed Beans in view scope:
                                    - Number of Managed Beans in backingbean scope:
                                    - Number of Managed Beans in request scope:
                                    - Number of Managed Beans in flash scope:
                                    - Number of JDev-Projects:
                                    - Number of JDev-Applications:
                                    - Number of ADF Libs:
                                    - Max Taskflow Sub Callstack depth:
                                    - How long does the whole build process take:
                                    - Number of Human Developers:
                                    - Web-Service consumption: yes/no
                                    - JPA/EJB consumption: yes/no
                                    - Number of JUnit test classes:
                                    - Number of JUnit test methods:
                                    - Number of JUnit test suites:
                                    - How are UI tests done and how many:
                                    - How long does testing takes per Units/Integration/UI?
                                    - How are Loadtest performed?
                                    ..

                                    DEPLOYMENT TARGET

                                    - WLS Version:
                                    - Number of Machines:
                                    - Number of Clusters:
                                    - Number of Managed Server:
                                    - HeapSize per MS: -xms? -xmX?
                                    - Number of MS per Cluster:
                                    - Number of MS/Cluster per Machine:
                                    - OHS(mod_wl): yes/no
                                    - Number of OHS(mod_wl):
                                    - WebCache: yes/no. If yes, which Caching-Rules applied beyong css/
                                    images/js?
                                    - Number of WebCaches:
                                    - Additional Loadbalancer: yes/no
                                    - Number of Additional Loadbalancers:


                                    PERFORMANCE RESULTS AND RUNTIME STATS (after Launch of new MOS)
                                    - Avg CPU Load:
                                    - Memory consumption per MS:
                                    - How often are MSs restarted (in case of OOM-Exceptions i.e):
                                    - Concurrent User Http-Sessions:
                                    - Concurrent User Http-Sessions per MS:
                                    - Concurrent Http-Requests per MS:
                                    - Number of DB-Session:
                                    - Avg Response Time:
                                    - ...(Oracle surely will have come more metrics)


                                    Any additions are welcomed.
                                    Thanks!

                                    Andreas Koop

                                    Jean-Marc Desvaux

                                    unread,
                                    Jan 27, 2012, 2:06:21 PM1/27/12
                                    to adf-met...@googlegroups.com
                                    An update on new MOS ADF site launched today.
                                    Works fine and quick. UI is 10g :( ... with nice skinning though.

                                    A bit disappointed. Not the best example to backup ADF 11g.

                                    Still don't know about the underlining layers : JPA, BC4J 10g,..?

                                    It was a great opportunity to prove ADF 11g perf & scalability... Missed IMHO.

                                    -Jean-Marc

                                    Amr Gawish

                                    unread,
                                    Jan 28, 2012, 7:44:09 AM1/28/12
                                    to adf-met...@googlegroups.com
                                    I just checkout MOS too, and It's nice to see some Oracle Composer as well, and the speed is really nice...
                                    the skin is based on BLAF -as Jean mentioned-, that's what I don't understand, why not fusion!
                                    Also Task flows is all over the place, nice to see some production ADF project in public

                                    Best Regards,
                                    Amr Gawish
                                    Senior Oracle Middleware Consultant
                                         



                                    Jean-Marc Desvaux

                                    unread,
                                    Jan 30, 2012, 9:11:59 AM1/30/12
                                    to adf-met...@googlegroups.com
                                    A new update on MOS (supporthtml.oracle.com) site: now it's 11.1.1.5 !
                                    And it rocks !!

                                    -Jean-Marc

                                    Reply all
                                    Reply to author
                                    Forward
                                    0 new messages