The best PACKT book ever?
Now don’t get excited!
This is not saying much; most PACKT books are so bad I want to gauge my eyes out with a fork!
And indeed this book is no exception it has many flaws and I honestly think is a bad book which suffers from lack of editing and peer review.
But is is *a very very smart book* and the author has managed to pull something rather difficult off in very nice way. I think with some editing this would have made a truly amazing book.
Enterprise and development
The book is about developing “enterprise” applications with ADF. The word enterprise here is actually not added to make it a bigger title. The word is definitely used with intent and they often refer to the difference between writing normal applications and writing enterprise applications. I am note sure I always agree with them but I can see their point and it is clear they want to diverge from people who wants to build applications and websites targeted at other audiences.
The target audience the book has is, I think, Oracle Forms developers and/or PL/SQL developers, functional consultants, etc. looking for a way to cross over to the Java/ADF/Fusion camp.
Here is where the books really shines. It is almost eerie how ingeniously the author manages to explain the difference between an Oracle Forms development project and a ADF development project. Now this is a difficult subject because if you go all out with Java/git/maven/jenkins/etc you end up scaring the crowd off where as if you just explain the ADF parts you end up with crappy developers. The author manages to balance this with amazing precision. I often feel when I read it “Yes, that is exactly the kind of things Oracle Forms developer don’t understand - but need to”.
So while the book on the one hand does a poor job of describing ADF (though you do get some sense of it from the step by step tutorial and examples) it on the other hand does an amazing job at describing the development workflow changes and the difference in how a modern developer work in comparison to how a developer would have worked (and still do in many Enterprise departments) back in the 90:s. And I think this will probably be a bigger challenge for most people wanting to make that switch.
And as I said I often feel that the level is just right: every single thing you need to understand is covered and the ones you “should know about” is mentioned so you know where to go for more, it is almost eerie.
The problem: Lack of editing and peer review
The main problem with the book is that is suffers from what I think is poor editing. one prominent ting is that the author has a tendency to create rather silly and bad analogies with are often wrong and does not really work.
One such example is when he mentions that a tunnel digger would first drill a tiny tunnel and then dig it out sideways to full width. Now first off I am not a tunnel digger and know nothing about it but I am pretty sure most tunnels today are drilled in the exact shape and form needed. But that is besides the issue the point here is that the analogy makes no sense at all and adds nothing (unless the reader happened to be a tunnel digger). I am sure there are plenty more analogies which would have made more sense to use. I think this is something a good editor could have a helped him with.
The other bad thing is that while much of the content is very good some of it is flat out wrong and you can often tell the author has probably recently done this journey himself which means he does not understand some of the concepts and many of the suggestions lack some options which I think should have been there. I think with a co-writer or some peer review from someone already in the "Java/ADF" camp this book would have been slightly better.
But don’t let that discourage you if you are a PL/SQL or Forms developer looking at fusion (or just looking for a way out): This is definitely the book for you and while it will not make you a master ADF or Fusion developer it will help you understand how the world has change in the past 10 years how this affects you as a developer. And this could very well be the bigger leap!
Looking at the content the book is designed to be read from beginning to end and it is designed to explain how the project will (often) look from beginning to end (and by end we mean the first delivery).
The book starts off describing how you would do *1. The ADF Proof of Concept* and how you should approach that to make it a successful proof of concept.
The we have a chapter (*2. Estimating the Effort*) on estimation which describes how you you would approach estimating a project like this often explaining important minor details such as how the expected effort will shift through the project.
Next up is chapter (*3. Getting Organized*) which explain the various roles involved in a modern ADF development project and what you need in terms of staffing to pull this off.
Then we have a full chapter (*4. Productive Teamwork*) on setting up the project infrastructure things like wiki, ticket systems and version control is all in here. This is when I started to almost like the book there are some missing bits and pieces here as well as some odd ones but all in all it really explains how you can create and work in a modern development environment and even how you can connect this to your IDE and even some bits in how to work in your IDE to become more productive.
Then chapter *5* titled *Prepare to Build* explains how to organize your work. after which finally we return to ADF. But even in “ *6 Building the Enterprise Application* ” they focus more on the non code related things and this is pretty much it about actual ADF development and next up is instead a chapter dedicated to testing which is unsurprisingly named “7 *Testing your application* ”.
The next few chapters return again to ADF and actually contained a lot of interesting bits as chapter 8 and 9 deals with customizing applications. Chapter *8 Look and Fell* provides some basic insight into the world of CSS and modern web development but also the role this plays in ADF. Here the book starts dealing with how to customize an application after it has been written and how to prepare your application for customization which is followed by a chapter dedicated to customizing the logic (and not just the UI) called “ *9. Customizing the Functionality* ”.
Finally the last two chapters deal with security (*10 Securing your ADF application*) as well as how to package the application (*11 Package and deliver*). This chapter surprisingly went so far as to explain how and why you should build the code from subversion an approach I think is excellent as it reduces the human errors often encountered in manual build processes.
*Is the book any good?*
Well the book is by far the best PACKT book I have ever read it does an excellent job at explaining how to live in a modern world of Java and ADF. It actually does it so well I wrote this review just for that reason.
*Is the book any bad?*
It has numerous flaws where the main one I feel is the lack of a good editing but that is to be expected from a PACKT book right?
*Am I satisfied with the book?*
No I was hoping for a more in-depth ADF book myself but alas this is not it (not even close). I would even go so far as to say for me as a Java developer this book did not teach me much I did not already know.
*Am I dissatisfied with the book?*
No, not really, as I said it is a great book for Forms developers and to be honest I bought it during the x-mas sale for $5 and for all it flaws it was worth $5. That said had I bought the book at full retail price I would have been rather dissatisfied (but I doubt I will ever pay full price for a PACKT book).
*The bottom Line?*
If you are a Oracle Forms developer looking for a way out I seriously think this is the book for you!