Thank you for visiting! If you liked the site, please add a bookmark, else add a critical comment! Would you like to visit Greece? Traditional Greek flag This real estate site is only available in Greek! The holy mountain

Friday 10 June 2011

Comments on EJB 3.0 Database Persistence with Oracle Fusion Middleware 11g, by Deepak Vohra

On the bright side, the text is well written,  providing a brief synopsis of the ejb 3, (not 3.01 which is the current) background and following a block by block explanation of each snippet of source code used. Apart from using the oracle db, the text presents an example of MySql db server and Eclipse too. The applications are usually tested and deployed to the Weblogic server version 10.1.x.x. g  via ant scripts.
On the dark side the source code consists of orphan files, neither ears, nor whole JDeveloper workspaces; as it is usual in oracle university courses solutions. Moreover, the code seems to be what is printed in the text and has some errors. For example: in chapter 2, on page 33 the  modified ejb-jar.xml deployment descriptor reads like this:

<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM CatalogBean AS a WHERE a.catalogId = ?1
</ejb-ql>

meaning that the <![CDATA[ tag is not closed properly, as it is easily understood when these lines are pasted to the editor window. In chapter 4,in CatalogTestSessionEJBBean the method is not persistEntity(catalog), but persistCatalog(catalog) and so on. After some investigation or debugging, one persistent reader will probably end up with a working application.  A mistake which occurs numerous times is the number 2 missing from any sql statement with a VARCHAR2 datatype.  Therefore, it seems that gathering the source code of the book was maybe only an afterthought.  Furthermore, some screenshots and relevant text instructions, apply only to older versions of JDeveloper, other than the current 11.1.2. More advanced topics such as tuning, are beyond the scope of this book.

All in all, the text could be a valuable introduction to combining ejb 3 and fusion for JDeveloper funs. This is recommended for zealots of ADF business components, in order to compare both model tier technologies, especially performance. As it was written back in 2010, ejb technology has somehow superceded it. Thus, if you are a Netbeans fun, you will probably think that is an obsolete book. However, the current JDeveloper version does not seem to support ejb 3.01, so to loyal JDevepoper fanatics, it won't make any difference at all!

Monday 30 May 2011

Comments on Oracle Performance Survival Guide: A Systematic Approach to Database Optimization, by Guy Harrison

On the bright side, this is one of the easiest review for me to write, since there are so many readers of the several editions of the book, that I shall mainly copy and paste  some lines of reviews I agree to. Thus, I quote: " This book is an encyclopedic overview of all aspects of Oracle performance. Mr. Harrison takes a layered approach, starting at the top with application and data model design where the focus is minimizing the demand for database resources. He then moves down into database code internals, where the focus is maximizing concurrency through reduction of lock, latch, and mutex contention. The next step is to optimize memory usage to minimize the need for physical IO. Finally, he moves to the bottom layer, where the focus is on optimizing physical IO at the disk layer.

Each of these layers is worthy of its own book, so to combine all these topics in a single book is an ambitious goal. Indeed, experienced readers will often want a bit more detail, or wonder why their favorite optimization was not mentioned. However, Mr. Harrison strikes a very good balance between depth and coverage. He also provides a very useful bibliography, including the Oracle documentation, books, and Internet sites and blogs.


For each chapter, Mr. Harrison provides extraordinarily clear, concise, and helpful introductions and summaries. He also uses boxed borders to highlights particularly important points within the text. One can learn a great deal by simply reading these summaries and boxed items, and these can also be used to help the reader find relevant sections, which is especially valuable in a book of this length.


This book is not the last word on SQL tuning, optimizer internals, Oracle troubleshooting, the SGA, nor latch contention. However, its coherent approach, useful summaries and highlights, and efficient organization, make it a valuable and essential guide to anyone wishing to expand their Oracle performance skill set.


The target audience includes both application developers and DBAs. It covers 10g, 11g, 11gR2, with context from 8i and 9i ."
The latter is true for the newest edition of course! Furthermore, the full source code is available, as well as an errata page on the author's site.

On the dark side, there are extensive sections of the text promoting the products Mr. Harrison and his company create, which although humorously introduced ("Full disclosure..."), are a waste of time to read, for open source funs or anyone who is not interested in buying the software.

All in all, the book is highly recommended and I am looking forward to reading each new edition. Congratulations to the author. Well done, indeed!

Friday 27 May 2011

Comments on Oracle PL/SQL by Example (4th Edition) by Benjamin Rosenzweig, Elena Silvestrova Rakhimov

On the bright side, the text is easy to follow and understand with only a few spelling errors. It follows a structured approach with worked out examples to teach the basics to the beginner, offering many clarifications and new methods also useful to the intermediate developer in the same time. For example, the method for timing the execution of pl sql code block for performance comparison is original, not mentioned in the oracle university classes notes. The db schema is small and simple, about instructors and students  attending the classes taught. In addition, there are solutions at the back of the book for the unsolved lab exercises and projects.
On the dark side, there is little for 11g db version, less than a handful of pages. Furthermore, some scripts about using the RESTRICT_REFERENCES pragma instruction in your pl sql code did not run in the current 11g db version. Obtaining the errors page and the source code scripts was something of an adventure,  since there was nothing on the publisher's, but  everything on the informIT site. The companion Web site is located at: http://www.informit.com/title/9780137144228
The last chapters of the book about web development via pl sql is mostly targeted to forms developers, discussing about the currently obsolete Oracle Application Server.
All in all, the book is suitable for those who would like to learn pl sql, or old developers who need brushing up their memory, but find that the fees for the oracle university classes are exorbitant, i.e. more than 1080 € for less than 40 hours; in a country where a mean hourly rate for a programmer is 10 € gross!