ADF's Learning Curve

543 views
Skip to first unread message

Juan Manuel Tamayo

unread,
Jan 21, 2009, 1:32:33 PM1/21/09
to adf-met...@googlegroups.com
Hello Everyone,

These are a couple of questions related to the learning of ADF. First, how would you describe ADF's learning curve? I would say, from my own short experience, that it is quite easy to get started and build simple applications, but after that point there are a lot of things to master before one can become proficient in ADF.

Second, according to your experience, how long does it take for a fresh developer who has never worked with ADF or JSF to become productive? How much longer would if take if there is no "teacher" to guide the developer?

Thanks again for your help.

Kind regards,

Juan Manuel Tamayo


Steve Muench

unread,
Jan 21, 2009, 1:50:29 PM1/21/09
to adf-met...@googlegroups.com
Juan, I'll let your peers answer about their experience of the learning curve, but I'd suggest that you also consider whether an Oracle extension like JHeadstart for JDeveloper/ADF might be appropriate for your calculation of "ramp up" time. It generates best-practice ADF/JSF applications that can save you a lot of learning time. A useful resource is the end-to-end tutorial here: Step-by-Step ADF/JHS Tutorial

Ammar™ <ammar.sajdi@gmail.com>

unread,
Jan 23, 2009, 5:48:40 PM1/23/09
to adf-met...@googlegroups.com

hello Juan

 

I think you are right, simple applications are easy to do, like query only applications, and simple CRUD applications.  however, you will soon get into situations that require real knowledge to solve, and most of the times, knowledge that is restricted in the domain of ADF, so don't expect any help from regular J2EE experts.  Additionally, i found Oracle University material of little help and there is very little books around about the subject.  What makes the subject hard to work with, is probably because Oracle wants to move ADF into a declarative development framework, and therefore, most of the example you find show you steps of how you do things, and you sometimes get the job done without really understanding what is going on.  and when you dont understand what is going it, it is not easy to find solutions for tricky situations because you feel that you have no control.   With experience, you will start getting some insight and probably get a better grasp, but this shall take you long. To explain what I mean, I want to ask you a question?

Create a simple master/detail page based on ADF BC/JSF and then describe to me what happens from the moment you launch the URL until the you can see data on the screen and tell me if during page load, you can for example, print a string on the console and on the page itself, the string is on the web page is a mere test <H1> Hello </H1>?

 

 

 

As for how long it requires a new person to become productive, this is not easy to answer.  If there is a good teacher and the guy is smart with the required background, probably 1-3 months.  If unguided, it will take double that.  There is very little well explained end 2 end projects or tutorial around. Mostly, you will find discrete solutions to discrete situation.  Since ADF is something designed by Oracle itself and the documentations and tutorials are scarce, when do develop something, you do not know if you are doing it the right way as there is no clear development methodology or path that beginners can take

 

I am taking a simple .NET course just to see the difference, i am inclined to say that even though most of the concepts are similar, but MICROSOFT has taken a simpler and more intuitive approach for development as if .NET designed for the masses, while ADF is for computer Scientists (even though the declarative approach that oracle seems to be adopting should imply the opposite)

 

Good luck

 

Ammar Sajdi

www.e-ammar.com 

Nathalie Roman

unread,
Jan 26, 2009, 3:06:10 AM1/26/09
to ADF Methodology
Hi Juan, Ammar,

ADF can be compared to other JEE Frameworks such as Spring, Hibernate,
JSF, etc. but ADF offers more to greenfield developers.
ADF has got a declarative environment so a Forms Developer can
'easily' move towards a Java Environment without the hastle of being a
JEE Expert.

As for all frameworks, you need to get acquanted to the framework, the
API's before you can actually extend the framework to your needs.
Steve Muench offers a lot of 'design patterns' to the community, for a
given problem he explains in detail how to solve it and of course you
can follow this google-group and the forum.

Depending on your needs and the application you want to build you can
either use ADF Faces (strictly for UI) or use ADF BC when you're
developing data driven applications. You could also combine ADF Faces
with Hibernate for data driven applications, or combine ADF with
Toplink, depending on your skills, needs, ...

To be able to understand what's going on under the hood, I would refer
to the Developers Guide which explains in more detail the lifecycle of
ADF Faces, the details about BC, Toplink, etc.

I would say, go to the wiki-page: http://wiki.oracle.com/page/Getting+Started+with+ADF?t=anon
where different links and details regarding getting started are put
together. E.g. the step-by-step tutorial is a very good starting point
to learn ADF from a declarative standpoint, to see what you can
accomplish, afterwards you can dive in deeper using the several
developer guides available.

Aman, regarding your question: Create a simple master/detail page
based on ADF BC/JSF and then describe to
me what happens from the moment you launch the URL until the you can
see
data on the screen and tell me if during page load, you can for
example,
print a string on the console and on the page itself, the string is on
the
web page is a mere test <H1> Hello </H1>?

=> The answer is simple: http://download.oracle.com/docs/cd/E12839_01/web.1111/b31973/af_lifecycle.htm
=> the lifecycle of the UI using ADF Faces (an extension on JSF)
=> How to print a string on the page: using an EL expression for
example to display the name of the logged in user
=> BC: http://www.oracle.com/technology/obe/ADFBC_tutorial_1013/10131/index.htm
=> tutorial describing how BC works

How long does it take for a developer to be productive: this depends
on the background of the developer and what you want him to learn.
I would say you need to start with the basics of Java and JEE before
getting into ADF. You need to understand the basics of interfaces,
inheritance, abstract classes, primitives, design patterns, threads,
what's an instance, ... before getting into ADF.

Kind regards,
Nathalie

On Jan 23, 11:48 pm, Ammar™ <ammar.sa...@gmail.com>

Ammar™ <ammar.sajdi@gmail.com>

unread,
Jan 28, 2009, 11:49:39 AM1/28/09
to adf-met...@googlegroups.com

Nathalie, Nathalie

 

thank you very much for the response, and the important points that you raised, however, please take my points in the context of positive criticisms.

 

While I was writing my views in the previous post, I was writing from the point of view of new developers, and mostly these new developers can be fresh university graduate!

 

Even with the links you gave, i would only say that the JSF lifecycle described, is a high level approach, not enough for people who are going to do serious programming!  I guess it is written diplomatically to sustain a certain level of formality for the people with thorough understanding of the subject matter. Back to the lifecycle, let me simplify my point, when you create a simple form and you run it (consider it your first form), you will find a page with data filled on the page, immediately, the new developer will ask how did that happen,  What triggered a query, how did the jsf page interact with the model layer. Of course, you will find some statement somewhere in the developer guide to address this point (page definition, iterators, refresh conditions etc), and this is exactly what i mean, the developer will have to remember steps and there is no logical, algorithmic pattern.  The new adopters is confronted with a new way of thinking that is not popular is scientific literature, implying of course that the adopters can not go back to text books he/she studied etc ..  There is nothing wrong with steps and declarative approach so long as the logic behind it is clearly documented in something similar to a sequence diagram

 

if this is the case (or incase this is the case) the new adopter seeks means to understand this new approach through available resources. And here what comes to mind

 

ADF in 21 days???

Framework Design Guidelines ????

Enterprise solution with ADF ????  

ADF simplified  (Apress) ???  

ADF for dummies  ????

Head First ADF????  

Beginners Guide to ADF???

Applied ADF programming for the Pro ????   

etc..

 

What to do then? OK, distinguished blogs by  Frank , Steve, Duncan, and others,  which are again discrete solution to discrete problems, and then finally the Oracle ADF for 4GL developer, a huge reference (over 1000 Pages) that needs to be read cover to cover and probably multiple times as you will need to reach chapter 10 before you can start working on your Web interfaces!  Please do not get me wrong, this is only to push the effort forward,,,  The information is over whelming and the new adopters (Especially new team) cannot put things together.   Even then, ask one of your new adopters to design a simple page with dependent combo box depending on his/her understanding of what they read?!! Using encapsulation works well in java development, but does not work well when explaining techniques and technology!  because hiding details does not work well for ppl to get better understanding of things. A simple example:  you know the estimatedRowCount binding! it  is introduced without really explaining it well (ie encapsulating its meaning).  One of my really smart programmers depended on it to do some logic (of course, she does not really know how and when the framework gets the binding value).  A bug appeared in one of our production systems, in which this binding did not seem to be working correctly, only to find out that in a multi-user environment, other people where adding records to the database through other pages or applications, and we found out that the estimatedRowCount is getting its value from the cached view object? and as such does not reflect the newly inserted rows!!! Says Who? says who ever designed the framework and encapsulated how it works only to expose a few self explanatory words!  That was only an example and not an attempt to give an exhaustive list of such situation.

You will find discrete examples that utilizes this binding value used  in situation (normally in a straight forward manner) where clear understand is not needed for it to work properly.  The poor developers try to extend what they learned through such example and generalize (as they are supposed to do ) it to other situation that are mostly and  probably more complex  and end up spending time learning the internals of the framework in a trial and error manner. Again, if one digs more and more and read between the lines, the answer could be there!  However, this will bring back the question that Juan addressed, how much time; experience is required for a team to write an enterprise, reliable ADF application within the normal constraints of a project (mainly, time and budget)?

The problem is that each team member is subject to fall in the trap and will only learn and avoid it after he/she hits the problem.

 

I firmly believe that ADF is a better framework than .NET, but for some reason, our .NET team in the company does not seem to be facing what we are facing.

 

It remains to mention that the ADF team members are among the brightest you can find with excellent academic record. Additionally, most of them are Sun Java Certified.

 

I wish I have some time to spare only to write a book called something like "An intuitive approach to ADF"  ,  "ADF by your Nanny", or maybe "ADF, a visual approach", or "Programming ADF with insight".  A book that is not intended to be a reference guide, but is the book that will let you understand a reference guide when you read it

Grant Ronald

unread,
Jan 28, 2009, 12:22:50 PM1/28/09
to ADF Methodology
Ammar - there are a number of books out and also in the pipeine which
address some of those early steps in ADF. We also have some focus
pages like http://otn.oracle.com/formsdesignerj2ee which aims at those
coming from a Forms background.

Its also worth mentioning about the Oracle education courses. The 5
day course is the same one taught to our own Apps developers. I'd
hope that a mix of the above with help ease the uptake.

If you want to ping me off line with any of the points you think need
explaining I can collate this for future articles. (first.last at
oracle dot com)

On Jan 28, 4:49 pm, Ammar™ <ammar.sa...@gmail.com>
> On Mon, Jan 26, 2009 at 10:06 AM, Nathalie Roman <liekero...@gmail.com>
> => The answer is simple:http://download.oracle.com/docs/cd/E12839_01/web.1111/b31973/af_lifec...
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -

Steve Muench

unread,
Jan 28, 2009, 12:57:56 PM1/28/09
to adf-met...@googlegroups.com
Ammar, I also think that ADF is a much better framework than .NET. Since .NET automates so little of the common application programming patterns that ADF does for you, I guess one could argue that a .NET developer understands better how things work in their application due to the fact that they had to write the code to make many of those things to work. :-)

Joking aside, let's look at your particular example of the getEstimatedRowCount() method. The JavaDoc for that method explains that the method uses a SELECT COUNT() FROM(...) query to get the "initial count" and then "After that, changes to row count (such as insertion and deletion of rows) is kept up to date". It is effectively marked as in need of recalculation each time the query is (re)executed, and then the next time the getEstimatedRowCount() API is called, if it is marked as in need of recalculation, it will issue the COUNT query once and then adjust the count for rows that are inserted/deleted in the current transaction.

We have begun in JDev 11g to add declarative debugging so that you can debug at the higher-level of abstraction many of the declarative constructs that ADF provides. See David Giammona's blog entry http://blogs.oracle.com/DavidGiammona/2008/11/introducing_the_new_adf_declar_1.html for more on that (it's also covered in the docs, too).

Any supported customer can request the ADF framework source code from Oracle Worldwide Support. I'd highly recommend all of your do that. It can help understand how things work when you're trying to debug problems.

None of this is a substitute for the "visual intro" book ideas for first-time users that you mention, but just wanted to mention the additional resources like JavaDoc and source code that are available to complement the tutorials, developer's guide, and other resources for first-time users.

Even with .NET a first-time user would need to understand ASP.NET basics, data source controls, ADO.Net connection objects, and much much more to get a best-practice CRUD-style application working. Many times Microsoft makes a worst-practice application easy to build (like an ASP.NET page with INSERT, UPDATE, DELETE, and SELECT statements wedged into the ASPX page itself!), but then trying to follow the design patterns laid out in the 400-page Application Architecture Guide 2.0 (http://www.codeplex.com/AppArchGuide) takes a lot of manual work.

fnimphiu

unread,
Jan 30, 2009, 3:26:46 AM1/30/09
to ADF Methodology
Interesting thread ;-)

First, let me say that I agree with most of what is said here. I agree
that it would be good to have more "ADF for dummies" and also a better
documentation of what exactly happens when in ADF. Also lowering the
entry barrier, without scarifying functionality in the product should
be followed up with.

Below are some of my observations from OTN of how users approach ADF

- users look at Oracle to provide documentation and books
- individual - user specific - usecases are expected to be available
as tutorials
- not many like (or are given the time) to read and learn from ground-
up
- many, if not the majority, of users have a project deadline
breathing down their neck when starting with ADF
- a few users "inherit" an ADF application from a peer of them that
left the company. Often they are clueless in refards to ADF and the
application. Those users look for a straight to copy-and-paste
solution to their question.
- the matrix of documentation requests goes from low level to high
level, from web integration to SOA integration and from 3rd party
severs to OracleAs and Oracle RDBMS
- no-one outside of Oracle (as far as I am aware of) considers
promoting himself and his skills by writing a book about ADF (except
Peter and Avrom who joined forces with Duncan).
- External - non Oracle - blogs are available with excellent content
(Chris Muir, John Stegeman, Edwin Biemond, Jakub Pawlowski, Lucas
Jellema ... and I am sure I forgot some.) Though blogs are aggregated
at http://www.connotea.org/user/jdeveloper not many find them. Which
leads to my next observation ...
- ADF experts don't know everything but know where to look it up

So far my observation, and here my conclusion:

To give you an idea of what I think is a good model - and now I am
outing myself as a user - is Adobe Photoshop. The product is huge and
with its options to link into Lightroom and Illustrator, the matrix of
usecases is as big as for ADF. The documentation provided by Adobe is
exactly 792 pages long. And its whole success is based on
contributions by the community. If you go to a bookstore then you find
only a few books explaining the software as a whole, but many that
focus on how-to and best practices. This way you can look for a
specific solution for a problem. As you may have guessed, the books
are mostly not written by Adobe.

To address documentation, time to market and to lower the entry
barrier (and its associated learning curve) I think it is a good first
step to identify the required famous 80/20 (80 % coverage with 20% of
the content) usecases and bring them into a by priority order. The
usecases should be formalized so they provide a sufficient level of
information: the problem to solve, the information that needs to be
explained, the dependencies that are not clear etc.

Once this all exist, the list can be given to Oracle product
management, to community members who signed up for a book project or
blogger. A place where I can imagine to contribute to this effort and
document such usecases is ADF Code Corner. I think that the ADF
methodology group is an ideal place for such a usecase project and it
doesn't require to build and provide a solutions here (after all this
is not a help forum). Just a community brainstorm on the needed
pattern and solutions. Then categorize the pattern into easy,
intermediate, advanced and possibly scientific.

Another option to reduce the learning curve is to improve the product,
but this is the subject of another thread on this forum. One option
that - again I found useful in image editing software like Photoshop,
Painshop Pro, Gimp and Picasa is that some functionality is exposed
there similar how you would guess to find them from your experience
with other software, like Word, Excel, Mozilla etc. So an attempt to
make JDeveloper more useful could be to look at "expected or
experienced" keyboard options and gestures. If you come from a
competing Java IDE, then this also will be a good source of
inspiration.

I close without any suggestion for action.

Frank

On Jan 28, 6:57 pm, Steve Muench <steve.mue...@gmail.com> wrote:
> Ammar, I also think that ADF is a much better framework than .NET. Since
> .NET automates so little of the common application programming patterns that
> ADF does for you, I guess one could argue that a .NET developer understands
> better how things work in their application due to the fact that they had to
> write the code to make many of those things to work. :-)
>
> Joking aside, let's look at your particular example of the
> getEstimatedRowCount() method. The JavaDoc for that method explains that the
> method uses a SELECT COUNT() FROM(...) query to get the "initial count" and
> then "After that, changes to row count (such as insertion and deletion of
> rows) is kept up to date". It is effectively marked as in need of
> recalculation each time the query is (re)executed, and then the next time
> the getEstimatedRowCount() API is called, if it is marked as in need of
> recalculation, it will issue the COUNT query once and then adjust the count
> for rows that are inserted/deleted in the current transaction.
>
> We have begun in JDev 11g to add declarative debugging so that you can debug
> at the higher-level of abstraction many of the declarative constructs that
> ADF provides. See David Giammona's blog entryhttp://blogs.oracle.com/DavidGiammona/2008/11/introducing_the_new_adf...
> more on that (it's also covered in the docs, too).
>
> Any supported customer can request the ADF framework source code from Oracle
> Worldwide Support. I'd highly recommend all of your do that. It can help
> understand how things work when you're trying to debug problems.
>
> None of this is a substitute for the "visual intro" book ideas for
> first-time users that you mention, but just wanted to mention the additional
> resources like JavaDoc and source code that are available to complement the
> tutorials, developer's guide, and other resources for first-time users.
>
> Even with .NET a first-time user would need to understand ASP.NET basics,
> data source controls, ADO.Net connection objects, and much much more to get
> a best-practice CRUD-style application working. Many times Microsoft makes a
> worst-practice application easy to build (like an ASP.NET page with INSERT,
> UPDATE, DELETE, and SELECT statements wedged into the ASPX page itself!),
> but then trying to follow the design patterns laid out in the 400-page
> Application Architecture Guide 2.0 (http://www.codeplex.com/AppArchGuide)
> takes a lot of manual work.
>
> On Wed, Jan 28, 2009 at 6:22 PM, Grant Ronald <grant.ron...@oracle.com>wrote:
>
>
>
> > Ammar - there are a number of books out and also in the pipeine which
> > address some of those early steps in ADF.  We also have some focus
> > pages likehttp://otn.oracle.com/formsdesignerj2eewhich aims at those
> ...
>
> read more »

Ammar™ <ammar.sajdi@gmail.com>

unread,
Jan 30, 2009, 4:03:05 PM1/30/09
to adf-met...@googlegroups.com


Hello

 

thank you for your attention to this thread

 

The points i am trying to raise here are for the benefit of other readers and not myself! I really know most of the books, literature, blogs and other stuff available.  Myself and my team, i believe, have reached a level of maturity in handling ADF that i think is unprecedented in our region (Middle East) which also has peculiarity caused by Right To Left and upper ASCII issues.  Anyhow, replacing a team member is really difficult for us. .NET is being thought in colleges,private institutions and is adopted by most companies.  You need a .NET programmer,  you can pick a choose; the supply is overwhelming. You need ADF programmer? Well i think in may case, i have one option,  CREATE ONE.  THEREFORE, what i am trying to do here is actually come up with a roadmap that guides new adopters through a well thought of learning path.  The path should have levels, so the programmer skills can be labeled with levels (like army ranking). The level is earned through certain accomplishment in terms of material read, tests, specific situation solved etc.

 

Of course, if i am capable of doing this alone, i would not have posted the idea here.

In case of what i have in mind is still vague , the following example should clarify

 

 

Pre-requisite    Good Java Knowledge

Level : As good as nothing

 

Topic                                                     Means              Reference              Time

Java Refreshment                                  Self Study        Any                       5 Days

HTML Refreshment                                  Self Study        Head First             2 Days

Java Script                                              Self Study        Head First             2 Days

Understanding HTTP Request, Resp         Self Study        Head First              1 days

Understanding HTTP Session , cookies     Self Study                                     1

My first Servelet , Qry String, Parameter    Instructor                                        1

My First JSP                                           Instructor                                      1

==================================================================

 

14 Days of orientation to web and java concepts

 

Comment: it is rather easy to find a fresh graduate with good knowledge of the above topics, a placement exam should be available to verify that (this will save us 14 days)

 

Level : ADF Sergeant

 

1- Java Servlet with Oralce JDBC connection    without JNDI, and With JNDI , enough to iterate one table

2-  Same with JSP                                                                  (1 day)

3- ADF BC                                     

    list topic and examples that programmer should do, although, Oracle University has good material , however, certain topics should be extracted from the Oracle ADF for 4 GL developer. At this point, i do not think that the new person should be asked to read the material from that reference,

 

(at this point ADF validation should be introduced)

etc ...

 

 

ADF Lieutenant

 

1- Created full CRUD, will multipage , capable of understanding how to control Commit processing, partial rollback, (Reset specific pages),

2- Understanding in great details the Faces phases  (reference .....)

2- Understanding what immediate is  (reference ...)

3- Understanding how and why to override lifecycle  (reference ..)

4- managing and changing error messages etc..

5- Understanding (fully) how ADF lifecycle and JSF lifecycle interact

6- Validation in all of its details and cases, how invalid situation are handled and how to control how this reflects on navigation, message queue (Stack), Clearing data, etc

 

The list will go on and on  and topics are best suggested by people (like me ) who learned the tough way, (many trials and many iterations, and many test cycles)

 

Level  ADF Captain

 

After reading the ADF for 4 GL cover to cover (should demonstrate this , quiz maybe)

 

Level   ADF Brigadier

 list 

 

 

 

This effort, if done, will make ADF a breeze for new adopters, i am sure about it!

 

Ammar Sajdi

www.e-ammar.com  

www.realsoft-me.com                         

   

www.e-ammar.com                           

Chris Muir

unread,
Jan 30, 2009, 11:29:18 PM1/30/09
to adf-met...@googlegroups.com
Excellent idea Ammar. Can we add the rank of Brigadier? Has a certain
ring to it, ADF Brigadier! ;)

Or maybe we could have "Fusion" ranks instead:

ADF In the dark Developer
ADF Tepid cup of tea Developer
ADF Warm scone Developer
ADF Hot lightbulb Developer
ADF Baking oven Developer
ADF Backyard burn off Developer
ADF Oops I burnt the house down Developer
ADF California firebug Developer
ADF Global warming Developer
ADF Fusion Master!

.....dum de dum ;-)

All jokes aside Ammar, your idea is a good one, an ADF Developer
Maturity Model that would really help others understand what they need
to learn, and a ranking system to help them achieve learning goals. I
applaud such an idea.

Can I suggest this would make an excellent effort in this forum to
discuss such, and write an Oracle Wiki page as end result for everyone
to share? Maybe you could start a new thread with your idea, and ask
others to join and assist you in writing it, you as lead. I'm sure
Oracle staff would like to help too.

What do you think?

CM.

wael noman

unread,
Jan 31, 2009, 5:48:36 AM1/31/09
to adf-met...@googlegroups.com
As Oracle Developer and ADF beginner (study self) , 
thanks to Frank , he cover most of  problem which  ADF newer may be face  .

Ammar , i am agree about 
 "You need ADF programmer? Well i think in may case, i have one     option,  CREATE ONE.

and  you will need more effort if developer come from Forms background (like me ) .

but i have some question about road map
1- what about Task Flow ? security  ?
2- you talked about  Good Java Knowledge ,Servelt , and JSP , and anothers aspects , Really i need to know all these technologies !!?

Really i found a lot of examples on Blogger,they did alot of works
What about Book or tutorial contain some thing like Ammr' road map  and clear example like what we found in Blogger ???
some thing like :
http://www.javapassion.com/j2ee/
 i think  it will be very good start point especially for beginner
 
 
Regards
Wael Noman

Kai Leung Liu

unread,
Jan 31, 2009, 4:11:12 PM1/31/09
to adf-met...@googlegroups.com

This has been a great thread as an Oracle Developer and ADF Beginner. I applaud everyone that has contributed to this discussion. I do feel ADF success would be greater to bring over Form Developers, which are looking for a path to succeed in the future. I recently was trying to promote a project for migration from Forms to Java. Also, have realized it's like no establish path in a company in a matured Forms development to shift to JDeveloper and ADF. 

I have found that it's like a movement to convinced Management and Developers to go on this journey and vision to Java. Many, have asked why during this economic times do they want to invest in migration to Java.  My answer is a long term vision that we invest in upgrading our system to reduce the cost of the long-term maintenance of the system in legacy technology. 

My focus to is mapping and seeing similarity that Oracle has made in JDeveloper and ADF development to Forms. I have found blogs likes Frank, Steve Muench, Grant Ronald, Chris Muir, etc. Very helpful to Form developers to see the benefits to ADF, but we need more workshops and sessions at Conference. 

I was following Ruby on Rails for awhile and its success was coming for community, podcasting, blogs, workshops, and books.  

Also, I believe a lot of the Bloggers who have Form background have a should continue referencing Forms in their blogs to help Form Developers in their journey to ADF. 

I am coming from a Forms background with strong belief that ADF will have big success by getting Form Developers to come over to JDeveloper and ADF.

Cheers,

Kai Liu

Liran Zelkha

unread,
Feb 1, 2009, 5:25:37 AM2/1/09
to adf-met...@googlegroups.com

Hi

 

I can speak from my experience.

 

Our customers usually have 2 types of developers. Those who do the common work – build screens, use ADF BC and very little business logic. They can learn ADF in a matter of a week or two. They need very basic Java and SQL experience, no need for JSF or JavaEE experience.

Each team (or 2 teams) have one experienced ADF developer – who is a guru level guy. He needs to be very familiar with JavaEE, Java and the ADF framework in general. He assists in solving bugs, doing the complex stuff – security, task flows etc.

 

For the basic developers – the learning curve is very small. For the guru – it takes months until he really knows the material well.

 

 

Thank You,

Best Regards,

 

Liran Zelkha

Founder & Co-CEO

Aluna

Phone: 972-3-7382555

Mobile: 972-54-3010714

E-Mail: liran....@alunasoft.com

http://www.linkedin.com/in/liranz

Sandra Muller

unread,
Feb 2, 2009, 7:09:56 AM2/2/09
to ADF Methodology
Kai Leung Liu,

On Jan 31, 10:11 pm, Kai Leung Liu <kaitech...@gmail.com> wrote:
> ... I do feel ADF
> success would be greater to bring over Form Developers, which are looking
> for a path to succeed in the future. I recently was trying to promote a
> project for migration from Forms to Java. Also, have realized it's like no
> establish path in a company in a matured Forms development to shift to
> JDeveloper and ADF.
> ...
> My focus to is mapping and seeing similarity that Oracle has made in
> JDeveloper and ADF development to Forms. I have found blogs likes Frank,
> Steve Muench, Grant Ronald, Chris Muir, etc. Very helpful to Form developers
> to see the benefits to ADF, but we need more workshops and sessions at
> Conference.
> ...
> Also, I believe a lot of the Bloggers who have Form background have a should
> continue referencing Forms in their blogs to help Form Developers in their
> journey to ADF.
>
> I am coming from a Forms background with strong belief that ADF will have
> big success by getting Form Developers to come over to JDeveloper and ADF.

Did you come across JHeadstart's Forms2ADF Generator? That could be a
helpful tool for Forms developers to get started with ADF.
See http://blogs.oracle.com/mte1521/mt-search.cgi?tag=Forms2ADF%20Generator&blog_id=55
.
Also, I can recommend the Oracle JDeveloper handbook for Forms and PL/
SQL Developers (see http://www.amazon.com/exec/obidos/ASIN/0072259604/peterkoletzkorac
). It explains the (10g) ADF concepts in Forms terminology.

Hope this helps,
Sandra

Grant Ronald

unread,
Feb 2, 2009, 7:20:58 AM2/2/09
to ADF Methodology
Kai Liu, I agree that convincing someone to spend money in migration
of a working forms application to any other technology doesn't really
make sense unless the business gains benefits from it. As such -
migration of Forms to ADF is not really a major push for us. (it also
raises difficult questions - such as do you want the migrated
application to be like your Forms applications or do you want it to be
like an HTML/Web application??) Migration of skills is probably more
important and the main project I have is showing the mapping of skills
between the two technologies.
otn.oracle.com/formsdesignerj2ee is our major focus for this.

I'd be happy to hear your suggestions for new content or infact, if
ANYONE would like to write content for OTN.

Regards
Grant
> On Sat, Jan 31, 2009 at 2:48 AM, wael noman <noman.w...@gmail.com> wrote:
> > As Oracle Developer and ADF beginner (study self) ,
> > thanks to Frank , he cover most of problem which ADF newer may be face .
>
> > Ammar , i am agree about
> > "You need ADF programmer? Well i think in may case, i have one
> > option, CREATE ONE."
>
> > and you will need more effort if developer come from Forms background
> > (like me ) .
>
> > but i have some question about road map
> > 1- what about Task Flow ? security ?
> > 2- you talked about Good Java Knowledge ,Servelt , and JSP , and anothers
> > aspects , Really i need to know all these technologies !!?
>
> > Really i found a lot of examples on Blogger,they did alot of works
> > What about Book or tutorial contain some thing like Ammr' road map and
> > clear example like what we found in Blogger ???
> > some thing like :
> >http://www.javapassion.com/j2ee/
> > i think it will be very good start point especially for beginner
>
> > Regards
> > Wael Noman
>

Kai Leung Liu

unread,
Feb 2, 2009, 10:20:46 AM2/2/09
to adf-met...@googlegroups.com
Sandra,

Thanks for your Forms2ADF suggestion. It may help take some of the fear of Form Developers to try to migrate over to JDeveloper and ADF. Is there an evaluation copy to try, since I know JHeadstart is a license fees. It does help to try and see for your self what the possibilities are as well as learn from what it can generate. I think to succeed we need to both generate and customized code for ADF. 

In my previous project I was looking at migrating vendors, rewriting and training staff, OraFormsFaces to address there migration. This gives another option to consider because it just as important for Developer and Management to believe they can succeed in the migration. 

Cheers,
Kai Liu

Kai Leung Liu

unread,
Feb 2, 2009, 10:46:02 AM2/2/09
to adf-met...@googlegroups.com
Grant,

Thanks for link it's helpful. I do agree it's a hard to convince Form application to migrate. But, in my previous project the client was looking into the future. Their application currently has a very legacy look and feel, and with vendors coming in presenting rich UI. The client was considering .Net, so my project was to create a migration project to JDeveloper and ADF because I believe it was a natural path for Form Developers to succeed in a migration.

I do have a suggestion for content on ADF. I am very interested in integration with PL/SQL procedures. Most conversion to Java seem to comment out the PL/SQL and convert in over to Java code. In my development of Forms I had alot of PL/SQL procedure calls to reduced the logic on the UI. So, my thought on migration to Java would be faster on Forms with logic on the database side.

I know that Oracle position to not to push ADF for Form migration, but if Oracle Apps is going. It would make, sense that Oracle is already setting the direction.

Regards,
Kai Liu

Grant Ronald

unread,
Feb 2, 2009, 11:01:02 AM2/2/09
to ADF Methodology
Ok, there is a subtle but HUGELY important point that might have been
over simplified in your reply ;o ) if I may ;o)
Oracle Applications are pretty much REWRITING and REDEVELOPING their
applications. They are not migrating per se - There are many reasons
for this and these reasons are as important to Apps as they are to
vanilla Forms customers - For example, what make a good Forms
application doesn't make a good Java application. While you can map
many of the concepts between Forms and ADF (more so than any other
framework out there) it does not always make sense to build those
applications in the same way. Consider a simple case like where Forms
UI tend to be database table focused - input many lines of data and
commit. Web applications are taking advantage of a who new way of
interacting with business services. A migrated application (for
example, one which automates) can't really make those distinctions.

The other point - and apologies if we are moving away from ADF
methodology, but I agree that a Forms application can look dated. But
its true to say I can build something equally boring in HTML and
Javascript - the point is you need to exploit the technology to meet
your needs.

In recent days I've blogged about Forms applications integrating with
googlemaps, charts, carousels and more. (ok - not always got the wow
factor like some of the ADF Faces RC stuff but I think it really
serves a purpose). Also check out http://www.oracle.com/technology/products/forms/pdf/capula.pdf
which shows a prime example of a real Forms customer who updated their
UI to address the very issue you mention.

Having said all that, I don't want anyone NOT to start looking at ADF
but I just want them to ensure they are doing so with all the right
information ;o)

Hope this helps

Thanks
Grant



Forms applications and

On Feb 2, 3:46 pm, Kai Leung Liu <kaitech...@gmail.com> wrote:
> Grant,
> Thanks for link it's helpful. I do agree it's a hard to convince Form
> application to migrate. But, in my previous project the client was looking
> into the future. Their application currently has a very legacy look and
> feel, and with vendors coming in presenting rich UI. The client was
> considering .Net, so my project was to create a migration project to
> JDeveloper and ADF because I believe it was a natural path for Form
> Developers to succeed in a migration.
>
> I do have a suggestion for content on ADF. I am very interested in
> integration with PL/SQL procedures. Most conversion to Java seem to comment
> out the PL/SQL and convert in over to Java code. In my development of Forms
> I had alot of PL/SQL procedure calls to reduced the logic on the UI. So, my
> thought on migration to Java would be faster on Forms with logic on the
> database side.
>
> I know that Oracle position to not to push ADF for Form migration, but if
> Oracle Apps is going. It would make, sense that Oracle is already setting
> the direction.
>
> Regards,
> Kai Liu
>
> > > >> CM.- Hide quoted text -

Nathalie Roman

unread,
Feb 2, 2009, 11:22:11 AM2/2/09
to ADF Methodology
Hi Ammar,

This is a great topic you've defined and indead it's necessary to
define a learning curve for different types of developers such as the
'guided learning path' of Oracle.

I would say your outline looks very logical to me, but I would try to
make sure developers have a more fundamental knowledge they need to
know at all times, ...

E.g.

1) Java Basics
2) Servlets & JSP's (request, response)
3) Persistency = Object Relational Mapping (the basics = JDBC, unto
ORM-frameworks such as Hibernate, iBatis, BC, ...)
=> focus on locking, versioning, lazy loading, master-child
relationships, cascading, connection pooling, ...
4) HTML, Javascript, Introduction to tagging (JSP, EL)
5) Stateless versus Statefull
6) MVC (example of Spring Web Flow, Struts, ...) => ability to
differentiate the different behaviors of the frameworks
7) JSF (validation algorithm, page lifecycle, ...)
8) Release Management (deployment with concepts of ears, wars, jars,
classpath issues, dependencies, ...)
9) Security Fundamentals (JAZN, JAAS, LDAP, ...)

And then after all the fundamentals, build an application using the
above knowledge (case study).

After the case study get into ADF/BC:
1) BC / Toplink (ORM => Application Modules, view controllers, ...)
2) ADF Faces
3) ADF Security

And then build the same case using the ADF stack.

You need to have some references to different types of working,
different types of configuration management, etc. to know and
understand the tooling and what differentiates the one from the other.

Maybe we should set-up a new thread to discuss the ADF maturity levels
and guided learning paths that could be meaningfull for each level?

Kind regards,
Nathalie


On Jan 30, 10:03 pm, Ammar™ <ammar.sa...@gmail.com>
> <http://en.wikipedia.org/wiki/Lieutenant>
> > athttp://www.connotea.org/user/jdevelopernot many find them. Which

Kai Leung Liu

unread,
Feb 2, 2009, 4:03:10 PM2/2/09
to adf-met...@googlegroups.com
Thanks for the insight. I agree it's doesn't make sense for clients to migration unless they see a clear business gain with Form Web apps to migrate over to Java. Since, Java applications should designed differently then Forms apps it better to start new development in a new way with JDeveloper and ADF.  So, to not be locked into Forms thinking and consider it developing new business services for our users to interact with on the Web application. 

The path is to still developing the path towards ADF for the future development as standard continue developing in this exciting field. It makes most sense to blend the two worlds and mixed the Java ADF with existing Forms to have the best success in the near future. 

I still would like to see more PL/SQL procedure integration with ADF in How-to's and blogs. 

Cheers,
Kai 
Reply all
Reply to author
Forward
0 new messages