my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Using Netflix Zuul As a Reverse Proxy / API Gateway

Zuul, which like the service discovery tool Eureka and the fault tolerance library Hystrix is part of Netflix' cloud orchestration stack, is a reverse proxy / API gateway. A reverse proxy conceptually works like this: A reverse proxy allows you to route requests to a single domain to multiple backing services behind that proxy. This can be conducive in situations where you want to break up your application into several loosely-coupled components that externally, that is facing the user, nonetheless act as if ... Read more

Using Swagger to Generate Client SDKs for REST APIs

These days Swagger is a popular, easy-to-use tool for (semi-)automatically documenting REST APIs on-the-fly. For example, in order to document a REST API created with Spring Boot and Jersey literally all you have to do is add these two entries to your Maven pom.xml: [xml] <dependency> <groupid>io.springfox</groupid> <artifactid>springfox-swagger2</artifactid> <version>2.6.1</version> </dependency> <dependency> <groupid>io.springfox</groupid> <artifactid>springfox-swagger-ui</artifactid> <version>2.6.1</version> </dependency> [/xml] You'll then get a ready-made documentation for all your REST API endpoints. An example of how this looks like can be seen here. While this already is very useful in that it helps with properly documenting your software, especially ... Read more

Testing REST Services with REST Assured

RESTful service testing can be unwieldy and difficult to get started with. Providing a REST API implies using a variety of technologies and techniques such as HTTP, JSON, authentication, various payload transfer mechanisms and content types. This is where a tool that abstracts over these technical details and facilitates their application comes in handy. REST Assured is a high-level DSL for testing REST APIs. It draws upon behaviour-driven development (BDD) and hence makes for readable test descriptions. A typical acceptance test with ... Read more

Follow-up on “Accounting in 2016”

Two months ago, I wrote an article on how accounting in 2016 still is a manual and tedious process. What made me write this article in the first place was the problem that I couldn't automatically get the bank account statements for my business account into my accounting software because my bank's online banking service and my accounting software have incompatible import / export file formats and neither exposes a public API for facilitating communication between and automation of accounting software ... Read more

Accounting in 2016 – Still a manual and tedious process

The past few weeks I've been struggling with automating my accounting, invoicing and banking processes to the point I don't really have to think about it anymore. Currently, a lot of my accounting-related processes are still way too manual for my liking. Being both a virtuous, lazy programmer and an entrepreneur I'd like to automate every process that can be automated at reasonable cost, especially if that process doesn't generate any revenue. Now, as far as invoicing and small business accounting is ... Read more

Email as a Personal API

Some time ago I came across a concept by Marc Bevand advocating email as a Decentralized API to Personal Information. In this post he outlines the idea that - email being such a pervasive tool to the extent that nearly everyone uses it - a personal, distributed and decentralized API layer could be built on top of it. The basic idea is this: Email could be used as a protocol for transactions and automatically exchanging information. Take these use cases for example: Automatically ... Read more

Airtable – A true spreadsheet / database hybrid?

Lots of the software of the world is written in Microsoft's Excel. A spreadsheet environment lends itself particularly well to addressing everyday computing problems. Compiling tabular data, creating connections between particular pieces of that data, condensing and aggregating over a dataset's values. These are common tasks a spreadsheet solves very well with no need for complex database or application server software. A spreadsheet is a flexible tool that provides simple, responsive and instant feedback to data input and algorithm changes. However flexible, ... Read more

Topicalizer – an information extraction suite – now open source

Topicalizer is a suite of text analysis and information extraction tools developed by me. It used to be available under http://www.topicalizer.com. However, I unfortunately don't have any time any more to properly maintain it, which is why I'm open-sourcing the code for others to learn from and build upon: https://github.com/BjoernKW/Topicalizer Read more
« Previous Page