Välkommen till vår teknikblogg! Håll dig uppdaterad, följ oss på Twitter

Callista medarbetare Björn Beskow

Dynamic Multi Tenancy with Spring Boot, Hibernate and Liquibase Part 1

// Björn Beskow

Multi Tenancy usually plays an important role in the business case for SAAS solutions. Spring Boot and Hibernate provide out-of-the-box support for different Multi-tenancy strategies. Configuration however becomes more complicated, and the available code examples are limited. In the first part of this blog series, we’ll start by exploring the Multi Tenancy concept and three different architectural patterns for multi tenant data isolation. In the forthcoming episodes, we’ll deep dive into the details of implementing the different patterns usign Spring Boot, Spring Data and Liquibase.

Callista medarbetare Martin Holt

Using Metrics To Manage Risk in a CD Environment

// Martin Holt

Working in a continuous delivery environment can feel a little daunting - any changes you make will be rapidly delivered to your production environment. Although the intention is to provide immediate benefit for your customer, without proper risk management there is a real risk of exposing bugs and triggering outages. In this blog post I will look at one strategy that uses metrics to reduce those risks.

Callista medarbetare Björn Genfors

Technical aspects of ontologies, part 2

// Björn Genfors

So, what is an ontology? In the broadest sense, an ontology is knowledge representation, symbolically encoded as to allow for computerized reasoning. Simplified: to use the terminology from the previous post, an ontology describes concepts and their relation to other concepts using a formalized language. This enables powerful computerized “thinking”, but creating a well-formed ontology is a big task.

Callista medarbetare Björn Genfors

Technical aspects of ontologies, part 1

// Björn Genfors

Many are the situations where there’s a need to organize information for subsequent use, and one way to do this is to use a controlled vocabulary. This need may arise in a limited setting, where your requirements can be managed off the cuff, or it could arise in a setting where secondary use of information is foreseen but exactly how is unknown. In these more intricate circumstances, an ontology may serve you well.

Callista medarbetare Pär Wenåker

An introduction to RSocket

// Pär Wenåker

RSocket is a new communication protocol that promises to solve the issues we have with HTTP, and together with that, it might also simplify the way we design and build distributed systems and microservices. I will come back to that last statement in a later blog post.

Callista medarbetare Anna Eriksson

Blog Series - Reactive Programming with Spring

// Anna Eriksson

This blog series will serve as an introduction on how to build reactive web applications using Spring Boot, Project Reactor and WebFlux. It will be a beginners guide to the reactive world, but the reader is assumed to have previous knowledge of Java and Spring Boot.

Part one provides an overview of the different concepts behind reactive programming and its history. Part two serves as an introduction to Project Reactor with a lot of short code examples. The upcoming blog posts will cover WebFlux (Spring’s reactive web framework) and R2DBC (Reactive Relational Database Connectivity).

Callista medarbetare Björn Gylling

Kafka Authorization as a Graph

// Björn Gylling

In this article, we describe an open source tool that makes it possible to visualize access control lists in Kafka to help you get an overview of how access in a Kafka cluster is configured.

Callista medarbetare Johan Zetterström

På upptäcksfärd i microservice-landskapet

// Johan Zetterström

Jag har en bakgrund som javautvecklare, men har i min nuvarande roll som lösningsarkitekt de senaste åren inte ägnat mig åt programmering. Som så många andra som vandrat denna väg kan jag ibland känna ett stygn av saknad, och formulerar då och då tankar kring hur jag ska hitta en ingång tillbaka till programmeringen, och få hands-on-erfarenhet av ny teknik.

Callista medarbetare Björn Beskow

Transactions Revisited

// Björn Beskow

Transactions play an important role in most software systems, as well as in many everyday situations. In recent days however, and especially in the context of highly distributed, internet scale solutions, transactions have gained quite a bad reputation (it’s not uncommon to hear collegues in the profession say “Transaction? Bah, we don’t need that!”). So what’s the deal?

Callista medarbetare Björn Beskow

Serialization, Schema Compositionality and Apache Avro

// Björn Beskow

Apache Avro, a Serialization framework originating from Hadoop, is rapidly becoming a popular choice for general Java Object Serialization in Apache Kafka based solutions, due to its compact binary payloads and stringent schema support. In its simplest form, it however lacks an important feature of a good Schema formalism: The ability to decompose a schema into smaller, reusable schema components. It can be accomplished, but requires some additional work or using an alternative Schema syntax.

Callista medarbetare Jan Västernäs

Spring Data JPA Projections

// Jan Västernäs

Jag älskar spring framework! Redan 2005 bjöd vi in upphovsmannen Rod Johnson till ett CallistaEvent i Göteborg. Han hade året innan skrivit sin genombrottsbok “J2EE Development without EJB”. I början handlade det mycket om att vara ett alternativ till Java EE:s komponentmodell, Rod och Spring var lite rebeller mot etablissemanget och det var ganska kul. Han höll ett antal presentationer för oss under en eftermiddag och tog sedan Ryanair hem till London igen.

Callista medarbetare Erik Lupander

Go Microservices blog series, part 16 - It's 2019, time for a code overhaul!

// Erik Lupander

What was a given three years ago when I started working on the material used in this blog series has in many ways changed or evolved and I’ve also learnt a lot on the way. I’ve come to realize that the Go code and how the microservices are built and deployed were long due a substantial overhaul. Read on for a primer on go modules, go-chi, testify and other Go-related stuff I’ve come to really like and adopt.