KSQL Deep Dive – The Open Source Streaming SQL Engine for Apache Kafka

KSQL is the open source, Apache 2.0 licensed streaming SQL engine on top of Apache Kafka. This post shows a deep dive (slides + video recording) including its relation to Kafka Connect and Kafka Streams, concepts, architecture and deployment options.
Read More

Book Review: “Getting Started with NoSQL” by Gaurav Vaish (Packt Publishing)

“Getting Started with NoSQL” is a new book by PACKT PUBLISHING. It gives an introduction to different NoSQL concepts and products. Besides, it explains the differences to SQL databases and when to use which one. With 150 pages, the book is not extensive, but sufficient. It is a good introduction to NoSQL databases for developers, architects and decision makers.
Read More

Rapid Cloud Development with Spring Roo – Part 1: Google App Engine (GAE)

Spring Roo is a tool to offer rapid application development on the Java platform. I already explained when to use it: https://www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo. Spring Roo supports two solutions for Cloud Computing at the moment: Google App Engine (GAE) and VMware Cloud Foundry. Both provide the Platform as a Service (PaaS) concept. This article will discuss the GAE support of Spring Roo. Cloud Foundry will be analyzed in part 2 of this article series.
Read More

MyBatis (formerly called iBatis) – Examples and Hints using @SELECT, @INSERT and @UPDATE Annotations

MyBatis is a lightweight persistence framework for Java and .NET. This blog entry addresses the Java side. MyBatis is an alternative positioned somewhere between plain JDBC and ORM frameworks (e.g. EclipseLink or Hibernate). MyBatis usually uses XML, but it also supports annotations since version 3. The documentation is very detailed for XML, but lacks of annotation examples. Just the Annotations itself are described, but no examples how to use them. I could not find any good and easy examples anywhere, so I will describe some very basic examples for SELECT, INSERT and UPDATE statements by implementing a Data Access Object (DAO) using MyBatis.
Read More