Blogg

Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter

Callista medarbetare Anna Eriksson

Architecting on AWS

// Anna Eriksson

Har du funderat på att gå kursen “Architecting on AWS”? Själv deltog jag i kursen häromveckan och här kommer en liten summering som isåfall kanske kan vara av intresse.

Callista medarbetare Marcus Cedergren

Building Framework Agnostic WebComponents with stencilJS - Part 1

// Marcus Cedergren

The initial W3C Web Components specification draft was introduced way back in 2011. Every now and then over the years I’ve read articles and blog posts about the progress, but it’s only recently that v1 of the spec has been adopted by the major browser vendors. In the meantime, popular frontend libraries and frameworks like React, Vue, and Angular have created their own separate ways of creating components. For me, this raises a few questions:

  • Are Web Components still relevant?
  • How do you create them?
  • What’s their place in today’s ecosystem?

In this two part blog series I will try to answer these questions by creating sample components using different techniques and subsequently integrating them in some popular frameworks. First we will go through a quick rundown of some basic concepts before moving on to explore stencil.js in the second part of the series.

Callista medarbetare Anders Forssell

Ännu en ny medarbetare i Göteborg – välkommen Marcus Cedergren

// Anders Forssell

Vi är glada och stolta att idag få hälsa Marcus Cedergren välkommen till Callistas kontor i Göteborg. Marcus är en arkitekt och fullstackutvecklare med gedigen erfarenhet som konsult. Han har stor kunskap inom Javaplattformen och hög kompetens inom frontend där Marcus under många år arbetat med ett brett spektrum av ramverk och teknologier. Marcus har också en passion för design och att skapa system som sätter användarnas behov i centrum.

Callista medarbetare Anders Forssell

Vår första helt digitala bootcamp genomförd

// Anders Forssell

Kompetensutvecklingen måste fortsätta även om omständigheterna just nu gör att vi inte kan träffas fysiskt i någon större utsträckning. Därför körde vi höstens bootcamp helt digitalt via Zoom och Slack. Det jobbades på ordentligt och vi fick fram så mycket “findings” att vi fick ägna ett helt kompetensmöte åt redovisning för att hinna dela med oss av allt. Men vi saknade naturligtvis litet av det gung-ho och umgänge med kollegorna som en traditionell Callista bootcamp IRL brukar erbjuda.

Callista medarbetare Anders Forssell

Vi växer i Göteborg och välkomnar Henrik Starefors

// Anders Forssell

Vi är glada att få hälsa ytterligare en konsult välkommen till Callistas Göteborgskontor - Henrik Starefors. Henrik är en utvecklare och mjukvaruarkitekt med bred erfarenhet inom Java-plattformen och relaterade teknologier. Han har har de senaste åren arbetat med Microservice-arkitektur, containerteknik och ett flertal molnplattformar.

Callista medarbetare Björn Beskow

Dynamic Multi Tenancy with Spring Boot, Hibernate and Liquibase Part 6: Implementing the Shared Database with Discriminator Column pattern using Postgres Row Level Security

// Björn Beskow

In the last part, we implemented the Shared Database with Discriminator Column pattern usign Hibernate Filters. We observed that it will scale well, but the data isolation guarantee is troublesome due to shortcomings in the Hibernate Filter mechanism.

In this part, we will tweak the solution and redo the critical Filtering part using an advanced database mechanism: Row Level Security.

Callista medarbetare Björn Beskow

Dynamic Multi Tenancy with Spring Boot, Hibernate and Liquibase Part 5: Implementing the Shared Database with Discriminator Column pattern using Hibernate Filters

// Björn Beskow

In the last part, we implemented the Schema-per-tenant pattern, and observed that it will scale better than the Database-per-tenant implementation. There will still most likely be an upper limit on the number of tenants it supports, caused by the Database Migrations that has to be applied to each tenant.

In this part, we will redo the solution and implement the Shared database with Discriminator Column pattern using Hibernate Filters and some AspectJ magic.

Callista medarbetare Martin Holt

Testing A Kafka Event Producer With Spring Boot And JUnit 5 Part 1

// Martin Holt

A successful continuous delivery (CD) pipeline requires a high level of automated testing. It is essential that tests are reliable to ensure that nothing unexpected slips into your production environment. Swift execution is also desirable to provide timely feedback to developers.

Testing asynchronous processes provide a different set of challenges from testing a synchronous request-response scenario. In this 2 part blog post I will investigate how to test an application that publishes events via Kafka. In part 1 I will demonstrate a method for getting started with integration testing and in part 2 I will look at how this can be made faster.

The scenario presented in these blog posts is inspired by a real-life case. The following link will take you to the source code for the example application.

Callista medarbetare Peter Merikan

Getting started with Testcontainers

// Peter Merikan

This is the first part of a two-part series about Testcontainers. In this first part I will explain what it is, what problems it tries to solve, how it works and finally how you can use it in your own projects. In the second part we will see if we can reduce startup time for our Testcontainers.

Callista medarbetare Jan Västernäs

Elektrifieringen går framåt

// Jan Västernäs

Callista satsar på elbilar. Vi har ett stort teknikintresse och är också intresserade av att värna om klimatet. Det har resulterat i att många medarbetare har valt laddhybrider som tjänstebil, men de sista månaderna är det rena elbilar som dominerat!

Callista medarbetare Katarina Askdal

Välkommen Fredrik Larsson!

// Katarina Askdal

Vi har den stora glädjen att få hälsa en ny konsult välkommen till oss på Callistas Stockholmskontor. Fredrik Larsson är en utvecklare inom Java/open source som gillar innovativa lösningar och användbarhet. Fredrik började hos oss i måndags.

Callista medarbetare Björn Beskow

Dynamic Multi Tenancy with Spring Boot, Hibernate and Liquibase Part 2: Outlining an Implementation Strategy for Multi Tenant Data Access

// Björn Beskow

In this part, we will outline an implementation strategy to encapsulate a Multi Tenant Data Access mechanism as a transparent, isolated Cross Cutting Concern with little or no impact on the application code. We will also introduce the notion of Database Schema Migration and explain why it is a critical part of a Multi Tenancy mechanism.

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 Katarina Askdal

En energigivande kickoff i Omberg

// Katarina Askdal

Varje höst har vi en av våra viktigaste aktiviteter på Callista, nämligen höstkickoffen. Då ser vi bl.a. tillbaka på det verksamhetsår som gått och planerar för det nya. Vi brukar även kompetensutveckla oss inom diverse heta ämnen samt brainstorma fram grundidéerna till vår årliga utvecklarkonferens – Cadec. Men framför allt så ses vi, bägge kontoren, tillsammans. Och i år gjorde vi det igen, IRL, men med lite annorlunda stuk.