my blog. for you.

Reden wir über Digitales.

Ich bin selbständiger IT Berater und Unternehmer in der Internet und Software Branche. Ich beschäftige mich mit Design, Enterprise Applikationen, Web Apps und SaaS Produkten. Ich entwerfe und entwickle Business Lösungen und Anwendungen. Ich helfe Unternehmen in Sachen Software Qualität und Wissenstransfer, z.B. mit Angular und Spring Boot.

Annotate and validate data structures with JSON Schema

Leider ist der Eintrag nur auf English verfügbar.I'd like to begin my little series of useful tools for developing CRUD applications with JSON Schema: "JSON Schema is a vocabulary that allows you to annotate and validate JSON documents." JSON Schema gives you a straightforward way to provide type information and validation to existing data structures. Say, for example you have a product instance like this (converted from your language's native object or general data structure format using a tool like Jackson for Java): [code ... Read more

Why Do We Still Write CRUD Applications?

Leider ist der Eintrag nur auf English verfügbar.Probably every software developer - since the 1990s at least - has been there once, asking him- or herself: "Why do I have to write tedious, repetitive CRUD code time and time again?" Being good, virtuous programmers some of those developers did what software development in the end mostly is about: They tried to automate a cumbersome, repetitive process that like any repetitive process should be performed by machines rather than humans. Some have succeeded ... Read more

Using Netflix Zuul As a Reverse Proxy / API Gateway

Leider ist der Eintrag nur auf English verfügbar.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 ... Read more

Designing Delivery and Moving Beyond Products

Leider ist der Eintrag nur auf English verfügbar.I'm a frequent attendee at Lean DUS, a regular event organised by the fantastic folks of sipgate. At LEAN DUS #23 earlier this year Jeff Sussna gave a talk on moving beyond products and unifying design and operations. Jeff runs a consulting company called Sussna Associates, which aims to help businesses to establish a comprehensive, continuous service delivery process. He also condensed his expertise in a book called Designing Delivery, which outlines a continuous value creation ... Read more

Using Swagger to Generate Client SDKs for REST APIs

Leider ist der Eintrag nur auf English verfügbar.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 ... Read more

Should Web Apps Behave More Like UNIX Programs?

Leider ist der Eintrag nur auf English verfügbar.Recently, through various discussions about the nature of the web and web applications I came up with an intriguing (to me at least ...) idea: Web apps should behave like UNIX command-line tools. Please hear me out and let me elaborate. Probably the most widespread pattern in modern web app development is that of single-page applications (SPAs). Though that particular term isn't used as abundantly anymore as it used to be a few years ago the ... Read more

Testing REST Services with REST Assured

Leider ist der Eintrag nur auf English verfügbar.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 ... Read more

What Causes Over-engineering and How Can You Prevent It?

Leider ist der Eintrag nur auf English verfügbar.Last year software engineer Fagner Brack wrote an interesting and thoughtful article on "How To Accept Over-Engineering For What It Really Is" The article is very much worth the read in its entirety. There are a few key takeaways though I derived from it personally: I like the definition of over-engineering (quoted from Jeff Sternal) as "Code that solves problems you don’t have.". Fagner's conclusion is that what constitutes over-engineering depends on both context and the people ... Read more

Design Patterns: Event Sourcing and Command and Query Responsibility Segregation (CQRS)

Leider ist der Eintrag nur auf English verfügbar.Event Sourcing and Command and Query Responsibility Segregation (CQRS) are system design patterns that allow you to deal with event streams in a consistent manner. Common line-of-business applications typically are built using the MVC design pattern with the database tables representing the model tier in MVC as the single source of truth for the application state. Event-based systems are different - and inherently more complex - in that their single source of truth is the stream ... Read more

Keeping database schemas up-to-date with Flyway

Leider ist der Eintrag nur auf English verfügbar.At least ever since Ruby on Rails' Active Record Migrations put an emphasis on keeping database schemas consistent with your software's source code both during development and in production database migration tools have become a staple in modern software development. Database migration (or database refactoring as this technique is sometimes called as well) tools allow you to apply data definition language (DDL) statements like "CREATE TABLE ..." or "ALTER ..." to databases in an automated, ... Read more
« Vorherige SeiteNächste Seite »