Review: Go Programming Blueprints – Solving Development Challenges with Golang

Go Programming Blueprints - Solving Development Challenges with Golang
Go Programming Blueprints – Solving Development Challenges with Golang by Mat Ryer
My rating: 4 of 5 stars

Updated post can be found on my new blog site.

Real world solutions in GO
This book is not a primer on GO Language (here I suggest “The GO Programming Language” by Donovan & Kernighan, Addison-Wesley) but it should be read just after learning the basic concepts of the language and its tool chain.
The author introduces and describes in details several important concepts about the GO way to program, to structure the code and to organize the projects.
The examples are clear and simple to be easily understood but, at the same time, they can be used in our own projects.
The first project is a web based chat application which introduces main web application concepts like HTML templates, requests routing, Websocket and Oauth protocols, JSON, images plus some GO specifics like how to use the channels to handle client server communication.
The second project is a WHOIS client which shows how to interact with a RESTful API and how to create a command line utility in GO.
The third and main project is a multi application system which analyze Twitter data streams to count specific tags, using a MongoDB as storage solution and a messaging system to decouple the applications and exposing a REST API for a web based client. With this project the author shows how to integrate a NoSQL database and a Queue Messaging system and how to create a REST API.
The book includes other projects with cover additional topics like how to interact with the file system.
All projects and their code are well described and, again, it is something we can really use in our projects.
Highly suggested.

View all my reviews


Review: Learning IBM Bluemix

Learning IBM Bluemix
Learning IBM Bluemix by Sreelatha Sankaranarayanan

My rating: 3 of 5 stars

Updated post can be found on my new blog site.

Interesting introduction to the Bluemix world
This book is a showcase, with working examples, of what we can do with IBM Bluemix cloud environment and its integrated IBM and third party services.
The main focus is to show what can be done, not how it works. Most of the technical backgrounds are left to several links to external resources on the web.
First step is how to create an application using Bluemix templates (“boilerplates”).
The following chapters are on how to integrate the application to the available services like security, SQL and NoSQL databases and IBM Watson functions, how to use the Bluemix development environment (git repository, continuous integration and deployment, test..) and how to monitor and tune application performances.
Other chapters are devoted to hybrid (cloud and on-premise) solutions and to mobile applications.
Most of the examples are based on Node.js or Java using IBM Liberty application server.
A couple of warnings:
– Bluemix IaaS (Infrastructure as-a-service) features like Docker and Open Stack virtual machines support are mentioned but not described. The book focus is on PaaS (Platform as-a-service) features, based on Pivotal’s Cloud Foundry solution.
– Bluexmix is a fast evolving environment so book screen shots and features lists can be easily obsoleted after few months
View all my reviews

Review: Groovy in Action

Groovy in Action
Groovy in Action by Dierk König
My rating: 5 of 5 stars

A must have for any serious Groovy developers.

Groovy in Action (Second Edition) is, at the same time, a detailed overview of the language and core libraries characteristics and an in-depth description on how it works.

First part is dedicated to the language, with the usual list of syntax elements descriptions (operators, data structures, control structures..), including Groovy unique features like being together a dynamic and a static typing language or supporting both object oriented and functional programming styles, not mentioning the scripting capabilities.

Second part is devoted to the Groovy core library: the Groovy Design Kit, how to work with databases and web-services and how to handle JSON and XML.

Final part is dedicated to unit testing, concurrency and, of course, the domain specific languages, one of the traditional Groovy applications area.

I have found very interesting chapter 16 on how integrate Groovy in a Java application, using, for example, Groovy as dynamic business rules engine, and chapter 20 on the Groovy ecosystem (Gradle, Grails..) introduction.

Authors show not only a very strong knowledge of the language and its ecosystem but also an understanding of how Groovy fits in the real world applications. Very interesting and useful the adoption of the assertions statements to better explain the code examples.

This book, with 900+ pages, is not targeting occasional Groovy users but I think it is a must have (as introduction at the begin, as reference later) for anybody intended to seriously use Groovy.

View all my reviews

Review: Mockito Cookbook

Mockito Cookbook
Mockito Cookbook by Marcin Grzejszczak
My rating: 5 of 5 stars

Very good. This is a well written and very interesting reading for everybody involved in Java testing. This book is not intended to be a primer on testing in general and on Mockito in particular. Beginners should look for an introduction on automated testing before start with Mockito Cookbook. The author covers everything related to the Mockito library and also on several additional libraries and tools connected to Mockito, like, for example, PowerMock. The book starts with an introductive chapter on Mockito installation and basic usage with both JUnit and TestNG. The core of the book is the chapters from 2 to 7 where the author explain, as recipes, several techniques to test easy and difficult to test code. Final book chapters are on legacy code testing, testing using frameworks like Spring and Mockito compared to other mocking libraries. In all examples, sometimes a bit repetitive due to the recipes approach, the author also explain general testing and object oriented programming approaches and methodologies. This is of course limited in space but there are plenty of references.

View all my reviews

Review: Jboss as 7 Development

Jboss as 7 Development
Jboss as 7 Development by Francesco Marchioni
My rating: 4 of 5 stars

Good introduction and overview of Java EE 6 development using JBoss as application server.

Some chapters are dedicated to the installation, management, clustering and
security configuration of a JBoss application server.

The rest of the book (the greater part) is dedicated to Java EE6 development
topics: EJB, CDI, JMS, Soap and RESTful web-services.

There is also a chapter on unit and integration testing (with Arquillian).

The book is well written and with good explanations, even if some topics are only mentioned.

Suggested to everybody interested in starting to work with Java EE6 and JBoss AS 7.

View all my reviews

Review: PrimeFaces Cookbook

PrimeFaces Cookbook
PrimeFaces Cookbook by Oleg Varaksin
My rating: 4 of 5 stars

Suggested reading for everybody involved in web development using JSF 2.

The book collects tens of recipes to solve real world problems using PrimeFaces library. Version 3.4 of this library is used in the examples but the recipes are also valid for the latest 4.0 (so I did in my current project).

First chapter is a quick start to PrimeFaces: how to install it, which are the library dependencies, how PrimeFaces and JSF work, the link to Ajax and the internationalization configuration.

Second chapter is dedicated to the theming and how to customize PrimeFaces components styles using CSS.

Remaining chapters group PrimeFaces components into specific topics : inputs, menu, tables, charts… Everything is needed for a modern user interface.

Last chapter show how to integrate PrimeFaces with JavaScript.

Link to editor info

View all my reviews

Review: Glassfish Security

Glassfish Security
Glassfish Security by Masoud Kalali
My rating: 2 of 5 stars

Well-written but not very detailed and useful.
On some topics, the author does not enter in the detail of the function or the command he is describing.
For example, GlassFish server security description is at same (too high) level of details as the Oracle GlassFish Security Guide.
It would be nice to have real world examples with some suggestions and tips, for example in the auditing/monitoring data analysis.
Operating system security is limited to Ubuntu/Debian systems.
More interesting, but still not very detailed, are the chapters on how to add authentication and authorizations inside JavaEE applications and on OpenDS and OpenSSO integrations.

View all my reviews