Showing posts with label Book Review. Show all posts
Showing posts with label Book Review. Show all posts

Wednesday, 24 August 2011

Book Review: Middleware and Cloud Computing: Oracle on Amazon Web Services and Rackspace Cloud

With the explosion of Internet content, especially that for the IT industry, it leaves an interesting question hanging over the worth (if any) of IT textbooks. When you can find an answer on just about anything online, what’s the point of shelling out money, especially for IT texts that have been overpriced for sometime?

Frank Munz’s Middleware and Cloud Computing: Oracle on Amazon Web Services and Rackspace Cloud book is a good reminder of one key fact about text books in context of an internet society, they can save you a lot of research and time on the internet looking for the nitty-gritty details.

The book is clearly aimed at system administrators & architects who are looking for details about moving Oracle Fusion Middleware (FMW) products to the cloud. A healthy dose of system admin knowledge is required of readers, with discussions on operating system (particularly Linux), us of command lines, and a knowledge of networking concepts would greatly assist too. FMW knowledge isn’t assumed, with an introductory chapter included, but knowledge in Oracle’s WebLogic Server (WLS) would be highly beneficial to readers, and a familiarity of Java EE technologies too.

Munz’s book is broken into logical halves. The first is a general introduction into “as a Service” cloud computing concepts. For readers who have heard the terminology but haven’t kept up with all the in’s and out’s of what a cloud service is, this provides an opportunity to learn the lingo and also learn how to critique the cloud offerings, which is (let’s just say) over hyped by IT marketing.

The first part of the book also takes care to look in depth at Amazon Web Services (AWS), including images, instances, storage and even pricing. In this area the book departs from a typical theoretical text encouraging readers to create their own AWS accounts and gives details on how to configure and run your own instance. The text however doesn’t just focus on AWS, and also looks at Rackspace’s equivalent cloud services.

The second half is where Munz’s book shines. Moving on from cloud basics, readers are led through considerations on designing and architecture within the cloud, management, availability and scalability, all in context of FMW and specifically of WLS and its supported JEE technologies. In each area the reader is brought back to specific considerations and limitations of Amazon’s & Rackspace’s platforms. On completing the book it becomes obvious this is a well thought out inclusion, as like enterprise home-baked operating systems and network infrastructure, cloud vendors’ platform are not born equal or include every feature required. The implication being certain FMW features and designs simply won’t work on specific cloud platforms.

The book isn’t without fault. Munz does take a narrative approach that may not be everybody’s cup of tea. In turn there’s a section that takes an unfortunate cop out on not tackling Oracle’s (let’s just say) less than favourable licensing. Yet overall the outcome for FMW professionals, in particular administrators and architects, is a positive one, and a recommended read. In turn it’s the careful research into actually testing what FMW features will really work on each cloud vendor’s platform, all collated into 1 book rather than sprayed across the internet, which will save readers significant time: prewarned is prearmed.

Sunday, 14 August 2011

Book Review: Oracle ADF Enterprise Application Development Made Simple

There are very few pieces of software where a casual approach can be taken to the process of software development. Software development is intrinsically a difficult process, gathering requirements, design, development and testing all taking large effort. In reaction enterprises have setup and adopted strict development processes to build software (or at least the successful enterprises have ;-).

ADF and JDeveloper are sold as productivity boosters for developers. Yet in the end they are just a technology platform. By themselves they don't solve the complexities of software development process as a whole (though they do make parts of it easier).

This leaves IT departments struggling, as they might like the potential of ADF as a platform, but they intrinsically know there's more to software development, there's the process of development to consider. How will the tasks of requirement gathering, design, development & testing be applied to ADF? And more importantly how to shortcut the process of establishing these for ADF within the enterprise? There's a need to bring the two concepts together, the technology & the process, to help the adoption of ADF in the enterprise.

As ADF matures we're slowly seeing more books on Oracle's strategic JSF based web framework. Up to now the books have focused on the holistic understanding of the technical framework, the tricky & expert level implementation, or more recently the speed of development. Sten Vesterli's Oracle ADF Enterprise Application Development - Made Simple is the first to apply the processes and methodologies of design and development to ADF.

Of particular delight Sten's book starts out by suggesting building a proof of concept to skill up teams in ADF, to learn the complexities, & gather empirical evidence of the effort required. From here a focus on estimation and considerations of team structure are raised, all valuable stuff for the enterprise trying to control the tricky process of software development.

In order to make use of reuse, the next few chapters focus on the infrastructure and ADF constructs that need to be setup before a real project commences, including page templates, ADF BC framework classes and more. This is the stuff you wish you'd been told to create first if you forged ahead in building with ADF without any guidance.

Then chapter by chapter the tasks of building, adding security, internalization and other development efforts are covered. There's even a chapter on using JMeter to stress test your ADF app (with a link back to my blog! Thanks Sten).

As can be seen from the topics, there's relatively little consideration of actually implementing ADF Business Components or ADF Faces RC. As such it must be said reading this book won't make you an expert in the technical side of ADF, but rather will address how you can take a sensible approach to the overall development process.

All in all Sten Vesterli's Oracle ADF Enterprise Application Development - Made Simple is another valuable book in my ADF bookshelf and a recommended read for enterprise specialists looking at adopting ADF into their organisation.

Disclaimer: I know Sten personally and in addition Packt Publishing has provided me Sten's book for free to review.

Tuesday, 21 December 2010

Book Review: Oracle SOA Suite 11g Handbook

I knew before I picked up Lucas Jellema's Oracle SOA Suite 11g Handbook it would be a struggle to review it. If you've ever read one of Lucas's huge range of technical blogs, you know he's a prolific technical writer, and if you've ever had the privilege of meeting him you know this comes from his endless energy; I think there's a possibility Lucas is the illegitimate child of the Energizer Bunny. Long story short, I knew when I was asked to review Lucas's book, there was going to be a distinct challenge on how to review everything Lucas will have written.

When reviewing technical books I usually try to think of how I'm going to review the book before I pick it up. There are definitely different approaches to reviewing technical books. Viably you can read a book from front to back and write a summary of each and every chapter. Yet I knew before receiving Lucas's book reviewing every chapter wouldn't be feasible, he will have written to much for me to cover. Couple this with a topic as large and complex as Service Oriented Architecture (SOA) and Oracle's relating products, a comprehensive review would be tiring and as long as the original book defeating the purpose of me writing a review in the first place, I might as well write my own book.

So instead I really wanted to achieve a couple of things in assessing this lofty tomb. Firstly from a professional point of view, how did Lucas's prolific writing style survive the rigours and length of such a lengthy book? For readers looking for a book recommendation this equates to how readable I think the book is.

Secondly, given the vast array of SOA concepts and technologies that would be need to be covered in the book, and given that a book always has high and low points, could I highlight with a choice of a few chapters how much the book varies in quality?

Let's start with the writing style.

Lucas's technical writing style has two main characteristics: 1) in describing any technical problem or solution he'll deliberately take you though the A-B-Cs to ensure you understand the concepts in a logically progressive manner and, 2) such descriptions are coupled with a narrative, usually a story or business case to illuminate what's explained, and sometimes a sharp wit (which I must admit passes me by half the time – it must be a Dutch thing). His writing style has the benefit you'll learn a lot if you take time to read it, but vis-a-vis, you won't learn a lot if you don't give it time as there's a lot to read.

With the A-B-Cs in mind, the nature of the McGraw-Hill "Handbook" series, appears to be a end to end coverage of topics required to know a subject, though not a definitive guide in any specific technology or concept covered by the book. As a Handbook Lucas's text does cover a lot of ground in my opinion (and believe it or not Lucas published extra appendixes online as he couldn't fit all the content in the book), and given his prolific writing style there is definitely more detail than is average in the "Handbook" series, yet readers should not expect complete coverage of each topic. As example the OSB chapter covers the basics of OSB, but not an in-depth look at every feature. This makes the Handbook series great for beginners, and I can't emphasize that enough, but, not in-depth enough for experts looking for specific detail or solutions, such as that provided in a "Cookbook" series. Obviously a book can't be something to everyone.

In addressing the prolific amount of text in the book potential buyers need to ask themselves will they actually read such a lengthy tomb? Yet I can't imagine anyone who was even remotely interested in SOA technologies looking for a quick fix here, so the detail provided in Lucas's book I think I can safely recommend.

Looking at a chapter: Oracle Service Bus

Of the number of chapters I was particularly interested to read, that of the Oracle Service Bus was high on the list. There's a good coverage here, with:

a) A general discussion on the role of the enterprise service bus. Having read a few texts on service buses including David Chappell's Enterprise Service Bus - Theory in Practice, I was pleased to find nuggets beyond just the expected descriptions. In particular the OSB chapter introduces the VET(R)O pattern that an ESB should implement. This is one of the delights in Lucas's book, you may think you're going to get a slow feature by feature explanation on Oracle's SOA offerings, but here's an example where he brings in outside ideas to further explain concepts, and gives the reader an opportunity with a bit of Googling to discover new areas of computing.

b) An example in context of the overall story told in the book, that of St Matthews Hospital in the Netherlands in their adoption of SOA. The ongoing example is an important crutch to the book in order to assist readers to understand the relevance of the SOA technologies described in context of a real business case.

c) A history of Oracle's OSB technologies. I must admit having done some research for a customer some years back keeping track of Oracle's service bus products, acquisitions and rebranding is a hard task, of which the book tackles well.

d) A look at implementing OSB's proxies and business services in context of the St Matthews story, introducing the main OSB concepts and their implementation.

e) And importantly in context of Oracle's OSB examples of using an email adapter and REST web services. These are particularly smart additions to the overall chapter in that they address a common bias that OSBs are very limited in appeal, essentially only SOAP routing engines. With the email interface it shows OSB's flexibility, and with REST capabilities a modern take on web service design.

Looking at another chapter: Tactical Management and Governance

Another chapter of personal interest was that covering governance. To me (remembering I'm not a SOA expert) governance is the discipline and expertise a senior developer or architect can bring to a project regardless of the technology at hand. This chapter does indeed introduce SOA governance, but then shows why it's a book on Oracle's SOA Suite 11g rather than SOA in general, as it then investigates Oracle's MetaData Services as a technical solution to some of the issues addressed by governance. As I opened earlier in this review, this shows the book possibly at its lowest point, as it covers (what I believe to be) the important topic of governance too briefly, and dwells on the Oracle solution more than the problem at hand. To be fair, when I say lowest point, the overall average is quite high so there's still much to learn from the chapter, but as a SOA beginner I feel left short in this chapter. Also to be fair, while Lucas does a great effort in covering SOA outside of the context of Oracle's SOA Suite, the book is indeed the SOA Suite 11g Handbook, not a theoretical book on SOA, so this chapter fits well.

Other take-aways

I mentioned in the OSB chapter that the book takes time out to discuss the history of OSB. In a similar vein the 3rd chapter of the book is a worthy read in its own right, discussing:

a) A history of standardisation in the web service arena and how this lead to service oriented architecture, including a long list of standards and when they were published, to show you the amount of work in this area and what has been achieved.

b) A history of Oracle Corporation, and how it moved from being a database company to in addition a middleware company. This includes an indepth look of Oracle and its acquisitions. This is probably the best summary I've read on the issue and really puts in context of what Oracle is today and why they make many decisions that they do

c) The emergence of Oracle's "Fusion", including Fusion Applications and Fusion Middleware as a platform.

From here there's a great description of the parts of SOA. I must admit even though I've been working in the FMW area for sometime, before reading this book I didn't know my BAMs from my BPMs. Having read this key chapter I'm now full bottle, well, at least enough so I don't sound like a complete newbie discussing SOA in front of other experts. This is kind of the launching pad that I needed many years ago to jump from PL/SQL to Java in understanding the hundreds of terms, acronyms, products and more – well worth the read in getting your head around the SOA space.

Conclusion

The Oracle SOA Suite 11g Handbook covers a lot of ground, because by necessity SOA is a large topic, SOA Suite has a large array of technical solutions, and Lucas is a prolific writer. This book will be a good choice for any beginner wanting breadth of coverage of all SOA topics, and offers excellent value for money because so much is covered. For experts looking for a more in-depth coverage of each individual topic this book is not for you, but would provide a good reference for specialists who need to revisit the basics after sometime away from the SOA arena.

Phew, now to review something a little shorter, say something under 600 pages!

Tuesday, 2 June 2009

Book review - Processing XML Documents with JDeveloper 11g

I was recently asked to write a book review on Processing XML Documents with JDeveloper 11g by Deepak Vohra, among several other bloggers here, here, here and here.

The thing about book reviews, like movie reviews, is the interpretation by the reviewer is subjective. The trick is for you the review reader to work out does the reviewer have the same tastes and likes as you. If yes that should mean that the book review will be relevant to you potentially giving a recommendation that suits your needs. If no you might miss a really good book or waste a couple of those hard earned squid.

So where do I come from to help you assess if I'm "your" type of reviewer? I'm a both a consultant *and* a trainer. I'm interested in how the story is told as much as what is told. I'm looking for clear examples, a logical A-B-C progression path, and like everyone else something to keep me interested, especially important in the often dreary world of computing. In addition I use XML and JDeveloper in my day to day job, so I should be a prime candidate for this book.

In considering the book's title and what I'd expect to find between the book's covers, I'd want to see a discussion around the XML facilities in JDev 11g vs earlier versions, a comparison of JDev's XML facilities against the other IDEs, then a road-show through the XML features vs the common XML tasks in Java of creating/parsing XML, XML schemas & validation etc. Let's see how the book fairs.

Firstly the Who-is-this-book-for section somewhat incorrectly states readers need to know just XML basics: "what an XML document is, what XSLT is, what XPath is, and what an XML schema is." In the very first chapter it introduces the DOM and SAX parsing methods without any explanation of how they work or the differences, so it actually assumes more knowledge than stated. Anybody with a limited knowledge of XML should definitely look at a book tailor fitted to explaining XML alone before reaching for this book.

The book does receive bonus points for including the latest version of JDeveloper 11g. On average, computing books have short half-lives because the technology they're based on is updated or replaced regularly. As a book purchaser you want your investment to last long as possible without becoming instantly redundant. The fact this book is written against the latest JDev 11g release should help extend that investment, until Oracle does another rewrite of the IDE.

Yet on considering my expectations for the book, it doesn't take the opportunity to discuss JDeveloper in general, nor its XML feature support. This is a shame as it doesn't help to "sell" JDeveloper and its benefits in any direct manner.

But in addressing my expectations again the book takes you through typical stuff you want to do with XML via Java, such as creating and parsing XML, working with XML schemas, XML validation, XPath and so on very much in a cookbook like fashion – here's a recipe now you follow it. I somewhat don't understand the inclusion of chapters on XML to PDF, XML to Excel, and XML Publisher, as the book's title is about processing XML in JDeveloper, those chapters relate to specific XML use cases not a generalised XML requirement. Their exclusion could have made this a concise JDev-XML guide.

If I consider the writing style used, personally from reading around a zillion technical books I tend to lump technical books into 3 styles:

a) the "Head First" series which takes an extreme narrative style
b) the other end which is just reams of code and specifications which isn't a book but rather a printed manual, it typically gives no narrative, just cold hard "this is how you do it" facts
c) and the books that lie in between

For me a good book is one that lies in that nice gray area "c". I want the writer to keep me interested with a narrative style while reading the boring technical bits, information about the pros and cons, some background information, but not bury me in opinions and jokes (and crosswords and word puzzles for that matter).

For me this book falls closer to "b", you can tell it's written by a programmer by its dry clinical dry style. For instance chapter 1 introduces the fact that Oracle XDK 11g provides an API that extends JAXP, but then doesn't discuss what the Oracle XDK 11g is, why Oracle chose to override JAXP, and what benefits you'll get over using the non-standard libraries. So you get a "this is how you do it" style rather than any discussion on the "why", which I think is important for learning. Some readers might be smart enough (I know I'm not ;-) to conclude the "why" without any explicit description, so this book might suit you directly.

If we take the fact the book includes a large amount of code, in particular XML, care by the author and the publisher needs to be taken to present code in a concise way, well laid out code that is documented clearly, because code is central to the book's value. There are numerous examples in the book where code stretches across several pages without explanation, code layout is messy in areas, and given the quantity of code at times it's hard to work out which bit I should be focusing on (a problem that is often magnified by the "over-wordiness" of XML). I've no doubt given the amount of code in the book achieving this consistency is a very hard task, but again it detracts from the quality of the book.

Finally I mentioned that it's important for technical books to present a logical A-B-C progression path in assisting the reader to learn. Given this book's clinical style, where in each chapter it discusses the JDev environment setup, then a bullet point section walk through of the code, and how to run and see the results in the end, it does achieve this goal. Again the "why" is often missing in this book, but you do see the A-B-C progression path which is important.

In summary would I recommend this book? If you're simply looking for a cookbook like style technical book the answer is yes, but (and there is always a but).... for myself I miss the "why" in this book, the part that helps me learn the peripheral issues, so the answer is no.