Blogg
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på Twitter
Vi är glada och stolta att idag få hälsa Patrik Blommaskog välkommen till Callistas kontor i Göteborg. Patrik är en erfaren mjukvaruarkitekt och utvecklare med ett starkt intresse för att ta fram robusta lösningar som löser rätt problem. Han har arbetat med utveckling av ett flertal affärskritiska tillämpningar där kraven varit högt ställda gällande tillgänglighet, många samtidiga användare, snabba svarstider och flexibel kundanpassning. Patrik har även stor kunskap gällande systemövervakning, CI/CD-pipelines och säkra webbgränssnitt.
Nu har vi släppt programmet för Cadec 2021 - konferensen för utvecklare som vill utvecklas. Cadec äger rum LIVE Online onsdag 27 januari 2021. Vi kan utlova en fullspäckad eftermiddag med både bredd och djup, och som vanligt handlar föredragen om de senaste trenderna inom arkitektur och utveckling.
In part 1 of this two part blog, we developed a simple webcomponent using only plain javascript, css and html. In this second part we will explore how the stencil.js toolchain can help us author components and ease integration in some of today’s popular frameworks.
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.
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:
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.
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.
Ingenting kan stoppa oss - det blir en Cadec även 2021! Denna gång kör vi konferensen LIVE Online och kommer att ha ett fullmatat program med både bredd och djup som vanligt.
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.
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.
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.
In part 1 of this two part blog I introduced a pattern for integration testing a Spring Boot application that publishes events via Kafka.
In part 2 I will discuss what happens when the test suite grows, look in depth at the Kafka Consumer, and offer one solution for how to reduce long execution times.
The source code for the example application can be found by following the link.
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.
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.
In the last part, we implemented the Database-per-tenant pattern, and observed that it has limited scalability. In this part, we will tweak the solution and implement the Schema-per-tenant pattern in much the same way.
This is the second part of a two part series about Testcontainers. In this part I will among other things show you some tricks to get your Testcontainers start much faster.
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 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!
In this part, we’ll implement the Database-per-tenant pattern using Hibernate out-of-the-box support for Multi Tenancy, with Database Migrations using Liquibase and support for dynamically adding new tenants.
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.
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.