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.

R2DBC: Reactive Relational Database Connectivity for Java and Spring

As I mentioned in a blog post last week with Reactor and Spring WebFlux reactive programming has come to Java and the Spring platform. R2DBC is relatively new project that aims to "to bring a reactive programming API to relational data stores". While currently still considered experimental, R2DBC endeavours to introduce reactive programming to how we access relational databases (reactive relational, hence the R2 in the name). This means that instead of the traditional way of querying SQL databases imperatively with prepared statements ... Read more

Reactive Programming with Spring Boot and Spring WebFlux

Reactive Programming and its functional incarnation reactive functional programming are declarative programming paradigms that with the advent of reactive extensions for JavaScript such as RxJS have become immensely popular. The JavaScript event loop and the run-to-completion behaviour it entails as well as Node.js's non-blocking I/O calls lend themselves to an event-driven programming style that deals with asynchronous behaviour where both number and frequency of events aren't known beforehand. Reactor is a library that introduces this paradigm to Java. Spring WebFlux is a ... Read more

Modern SQL by Markus Winand

Last year, I attended an event during which SQL trainer and consultant Markus Winand gave an aptly titled talk on Modern SQL: Evolution of a dinosaur (the linked video is not from that event but it shows the same talk given at another event). Markus runs a website called Modern SQL, which provides an impressive range of SQL tips, best practices, descriptions of both highly useful and lesser known SQL features and comparisons between the various relational database management systems (RDBMS) available ... Read more

Manfred Steyer @ AngularConnect 2018: Architectures for huge Angular based enterprise applications

Read more

Cloud Design Pattern Library by Microsoft

Microsoft maintains an extensive library of cloud design patterns. Whether you create applications that run on AWS, Microsoft Azure or Google Cloud Platform, use platforms such as Heroku or you develop enterprise applications which run on on-premise cloud networks within a corporate intranet, cloud computing becomes ever more crucial to providing business value through software. Hence, it's not only expedient to know about the classic relatively low-level GoF design patterns or Martin Fowler's Patterns of Enterprise Application Architecture but about design patterns for ... Read more

State of JavaScript Survey: 2018 Edition – Criticism from an Angular Perspective

Recently, the results of the 2018 edition of the State of JavaScript survey have been published. As usual, the report comes with handy categories such as front-end, data layer, testing or mobile. While I very much support the idea of creating a yearly survey of the JavaScript landscape and this survey in particular, which I have been supporting since its inception, there's a major issue with this year's edition: In contrast to its previous editions the survey results lump together (or at least the ... Read more

Nonsense We Put up With: Complexity, Agile Gone Wrong and Enterprise Decision Making

Recently, I've come across a few articles that - although about ostensibly different subjects - share a common theme: When trying to create business value through software and devising the structures required to do so we all too often put up with wasteful processes, politics and toxic behaviour patterns that not only do not contribute to our goal but are downright detrimental. First, there's this transcript of a talk Martin Fowler gave at Agile Australia this year: The State of Agile Software ... Read more

RxJS: Observables, Observers, Subjects …

When developing web applications - or in fact any kind of application that involves interaction via a user interface - we inevitably have to deal with asynchronous events, perhaps even streams of such events, e.g.: mouse clicks asynchronous HTTP calls and subsequent display of data push notifications Because events are such an essential part of both the feature set and the user experience of many, if not even most, user-facing applications frameworks such as Angular treat them as first-class citizens and provide developers with ... Read more

Things to Consider When Creating a New Business App: A Checklist for Setting up a Java-Based Software Architecture

Software developer Tom Hombergs - a former fellow student of mine - published this useful checklist for setting up Java applications on Reflectoring: A Checklist for setting up a Java-based Software Architecture It covers a wide array of both high and low level aspects of server-side and client-side development as well as architectural concerns. Furthermore, the checklist also has sections on operations, the development process and testing in particular. While some of the details may vary depending on the type of applications you create, ... Read more

JSON Schema to TypeScript declarations: Keeping Client and Server Models in Sync with Spring Data REST and Typescript

With web applications a separation between client and server is commonplace nowadays: While the server (also often called back-end) deals with the underlying model, data storage and the predominant part of the business logic, the user interface and user-facing behaviour in general is realised with JavaScript, HTML and CSS on the client (also referred to as front-end), i.e. the user's browser. Frequently, frameworks such as Angular are used in order to facilitate development and make code easier to read and generally more ... Read more
« Previous PageNext Page »