Review of Learning Apache Maven 3

The first chapter of Learning Apache Maven 3 screencast video series of Packt Publishing starts by explaining the installation process on Windows operating system, Linux, and Mac OSX. Also the videos shows the way to configure Maven on Eclipse IDE by downloading the m2eclipse plugin, on IntelliJ IDEA 12.0.4, and NetBeans 7.3. Eclipse is the selected IDE for the author to show all examples. These videos are really quick and they’ll seems like the time goes very fast but they are very well explained.

In the beginning of each section/chapter, the author mentions the agenda listing all that is to be treated. In the second section he shows how to create an application using the Maven Archetype plugin, curiously before going on the implementation of the example, the author claims in the core concepts and terminology after the flow graph which manages to make this creation.

The examples of the usage of the plugin shown creating an application, unit tests integration tests. After that, shows an example for web applications, dependencies management, integration with Struts2, Hibernate, Spring, and Tomcat.

Finally, the videos shows the creation of a multi-module project, to be exact 4 modules: a Multimodule Parent, a WebService, a WebService client, and a WebApplication, and in two ways: using a flat structure and a structure with inheritance; explaining the architecture and core concepts such as Aggregation Project, Build, Inheritance.

In my view, the videos are pretty good for people trying to learn things a little off the beaten path, I found it very interesting to see things such as central repository and the specifying the scopes of all libraries in the modules. Also, at first glance, the videos could not prove to be attractive to professionals who have extensive experience with Maven, because it contains tutorials showing a way how to start and is not a cookbook.


Review of Instant Apache Solr for Indexing Data How-to

This book starts with a good intention that the author defined, I mean he clearly points to what the book is done and the way in which the reader will travel.

One of the first things I liked is that the examples are on GitHub, this gives us the facility to have a feedback to the author. All examples have been carefully categorized according to the level of complexity, from simple to advanced.

It is amazing that Alexandre Rafalovitch (the author) has obviated the Solr installation process in the book, since it is a readily available resource and too trite in every book, not just for Solr, as many authors have dealt largely a chapter on this subject, while Alexandre tries to go straight to the heart of how to use Solr.

The author mentions also many tips and tricks for a quick fix common mistakes that can have as beginners, he has combined nicely presenting examples throughout the book with practical and useful tips.

I must congratulate Alexander for doing a great job, I’m usually very sharp to find errors in the book and in this I have not been able to do. This book has a lot of readability and comprehensibility, this is a key point to consider the book for learning Solr.


My preference for using Solr is not involved in my general appreciation for this book.


Review of Instant Apache ActiveMQ Messaging Application Development How-to

This book begins by describing the basic installation process, then mentions some ActiveMQ usage patterns and ends by considering other useful issues for proofs of concept and unit testing with ActiveMQ. The author has taken great care in drafting and each chapter describes the topic shows the code and explains something additional concerning the topic.

My recommendation to the author is:

  • Consider using GitHub to post the source code for the examples, the code version control are very useful for referencing code and to receive feedback from readers.
  • Give use cases for the patterns, throughout the book are mentioned different patterns and at least should be mentioned a use case for each.

The latter is something I would like to extend, for example mentions a request/response pattern, and, I personally have never heard of this with a message broker, here is a simple example of how to develop it but the best way to explain this would be a use case. It is clearly understood that doing this is not scalable in a single process to wait for the answer “in one thread”, but, what concerns should lead someone to do this?, In fact, always think this (in my opinion) we helps to make everything asynchronously and is what message brokers are made.

I must admit that the author also considered to mention two ActiveMQ aspects that stand out compared to the features of other brokers, I mean Failover transport and Virtual destinations, these are two issues that never would have expected to be included in a book, and however I must congratulate the author for having an excellent idea.

In short, the book is good enough to be an “Instant” edition, just little things to improve.

The author has kindly uploaded the code examples to GitHub:


Review of Instant RabbitMQ Messaging Application Development How-to

The book is truly an “instant book” because it has very practical examples and real use cases for AMQP implementations with Node.js platform. (You could use any language/platform, but it is always good to learn a new one; at least for me, it is perfect!).

In the early chapters, it describes the process of installing RabbitMQ and Node.js, easily and efficiently.

In the following chapters, the author begins by describing a use case where we can use the AMQP protocol, then describes (step by step) the implementation process and finally shows some sample code. Among the cases presented by the author are: an e-commerce & inventory application and a logging application.

Also, the code examples presented in the book are well maintained by the author and can be viewed and edited on GitHub:

Other final notations are mentioned, including: Clustering, connections & reconnections, hosting, architecture & performance.

The book also includes many tips and valuable concepts that can be used by the reader. The book is quite understandable, and certainly, as mentioned in the preface, it is not necessary to have any previous knowledge of AMQP, RabbitMQ and Node.js.

You can find the table of contents on PacktPub website: