Home » Author Archives: Remon Sinnema

Author Archives: Remon Sinnema

How To Develop Software Using Only SaaS

software-development-2-logo

The world is fast moving to Software-as-a-Service (SaaS) and we developers are busy learning how to build SaaS applications. We can now finally do that using nothing but SaaS applications ourselves. The Developer’s Toolbox As developers, we don’t ask for much.     An Integrated Development Environment (IDE) lets us do our main task: writing code. A Source Code Management ...

Read More »

How To Process Java Annotations

java-logo

One of the cool new features of Java 8 is the support for lambda expressions. Lambda expressions lean heavily on the FunctionalInterface annotation. In this post, we’ll look at annotations and how to process them so you can implement your own cool features. Annotations Annotations were added in Java 5. The Java language comes with some predefined annotations, but you ...

Read More »

REST Messages And Data Transfer Objects

software-development-2-logo

In Patterns of Enterprise Application Architecture, Martin Fowler defines a Data Transfer Object (DTO) as: An object that carries data between processes in order to reduce the number of method calls. Note that a Data Transfer Object is not the same as a Data Access Object (DAO), although they have some similarities. A Data Access Object is used to hide ...

Read More »

DevOps Is The New Agile

devops-logo

In The Structure of Scientific Revolutions, Thomas Kuhn argues that science is not a steady accumulation of facts and theories, but rather an sequence of stable periods, interrupted by revolutions. During such revolutions, the dominant paradigm breaks down under the accumulated weight of anomalies it can’t explain until a new paradigm emerges that can. We’ve seen similar paradigm shifts in ...

Read More »

Three Ways To Become a Better Software Professional

career-logo

The other day InfoQ posted an article on software craftsmanship. In my view, software craftsmanship is no more or less than being a good professional. Here are three main ways to become one. 1. See the Big Picture Let’s start with why. Software rules the world and thus we rule the world. And we all know that with great power ...

Read More »

The State of REST

software-development-2-logo

The S in REST stands for State. Unfortunately, state is an overloaded word. In this post I’ll discuss the two different kinds of state that apply to REST APIs. Applications The first type of state is application state, as in Hypermedia As The Engine Of Application State (HATEOAS), the distinguishing feature of the REST architectural style. We must first understand ...

Read More »

How To Return Error Details From REST APIs

json-logo

The HTTP protocol uses status codes to return error information. This facility, while extremely useful, is too limited for many use cases. So how do we return more detailed information? There are basically two approaches we can take:         Use a dedicated media type that contains the error details Include the error details in the used media ...

Read More »

How To Control Access To REST APIs

software-development-2-logo

Exposing your data or application through a REST API is a wonderful way to reach a wide audience. The downside of a wide audience, however, is that it’s not just the good guys who come looking.         Securing REST APIs Security consists of three factors: Confidentiality Integrity Availability In terms of Microsoft’s STRIDE approach, the security compromises ...

Read More »

Behavior-Driven RESTful APIs

software-development-2-logo

In the RESTBucks example, the authors present a useful state diagram that describes the actions a client can perform against the service. Where does such an application state diagram come from? Well, it’s derived from the requirements, of course. Since I like to specify requirements using examples, let’s see how we can derive an application state diagram from BDD-style requirements. ...

Read More »

RESTBucks Evolved

software-development-2-logo

The book REST in Practice: Hypermedia and Systems Architecture uses an imaginary StarBucks-like company as its running example. I think this is a great example, since most people are familiar with the domain. The design is also simple enough to follow, yet complex enough to be interesting.   Problem Domain RESTbucks is about ordering and paying for coffee (or tea) ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.