Posts

Modeling a chat application message structure with Kotlin and Cassandra

7 minute read Published:

A little implementation for cassandra backed messages, users, and app metadata
This Application Needs Data This sort of application will provide data seek and storage access by implementing the chat messages and chat services interfaces in order to compoase a Cassandra-based data-backend to our application. We will use Reactive extensions to make maximum flexability of program flow-control and threading behaviour among other concerns.. Thinking of Data Shape This part of the tutorial will focus on chat topicMessage data shaping, and access/retrieve operations that espouse the Cassandra design techniques.

Testing Reactive Apps with SpringBoot

13 minute read Published:

Use Spring-boot 2.x to verify test stages of your WebFlux and Reactive Data Apps
The Producer Environment In the world of testing critical business funcationality, we dont need much inspiration to get the job done. However, when it comes to what to use, you may be left wandering whether you’ll hit all of the right frameworks and tools to validate your business code. Also likely, you’ll also need to figure out how to cross validate a producer app with a consumer app(s) that you may not even own!

Testing Reactive Apps with SpringBoot - The Consumer

7 minute read Published:

Use Spring-boot 2.x to verify test stages of your WebFlux and Reactive Data Apps
The Producer/Consumer exchange In the producer side, we setup a service that will let us query a database of teams. This article will focus on the consumer side of the communication chain - namely how to extract tests out of situations where the comunication chain is asymetrical. We will then dive into Spring Cloud Contract to aleviate this issue and produce a working producer/consumer contract. To start, we’ll need a data object for client state.

Service Modularity in the Finagle Framework

5 minute read Published:

Using Modules to compose services.
Motivation Typical examples of dependency Injection DI show that the decoupling gained from removing glue code provides better testability, separation of concerns, and readability. Building applications by glueing resources together the manual way is OK, but not preferred when services need to be adapted in many ways. Dependency Injection (DI) can make your application more resilient to changes, and bring additional configurability to your project. Finagle, uses the Guice library as it’s foundation for building modules.

Server Flags with Twitter Finagle

3 minute read Published:

Program Switches (Flags) in Finagle Applications with Scala
This Example In this example, we setup and run an HTTP Service with Scala and SBT. We’ll cover the configuration of our services with the FinagleFlags API. If this is your first time seeing Finagle, then I would suggest you take a look at the Finagle intro document which describes how to code and run a simple HTTP service. Build with SBT This example, and others like it will rely on a quick and simple build tool.

Getting started with Filters in Finagle

4 minute read Published:

Finagle lets you develop and deploy services easily.
What is Finagle In this example, we will go through the steps to deploy a Filtered HTTP Service with Scala and SBT. Finagle is an extensible RPC system for the JVM, that lets developers write non-blocking, high-concurrency services with ease. Much of what Finagle will let us do is summarized in the doc. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency.

Intro to Finagle services with Scala and SBT.

4 minute read Published:

Finagle lets you develop and deploy services easily.
What is Finagle Finagle is an extensible RPC system for the JVM, that lets developers write non-blocking, high-concurrency services with ease. Much of what Finagle will let us do is explained in the doc. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency. Most of Finagle’s code is protocol agnostic, simplifying the implementation of new protocols. In this example, we will go through the steps to deploy a basic Finagle HTTP Service with Scala and SBT.

Setup and Customize a Login Page With Reactive Spring Security.

7 minute read Published:

Spring Security provides a intuitive and concise API for managing Authentication aspects within your app.
Customized WebFlux Form Authentication This demonstration examines Spring Security WebFlux’s Authentication mechanisms. We will look at authentication with HTML forms using Mustache, User Authentication, and customized form-based login / logout configurations. The ServerHttpSecurity Configuration SecurityWebFilterChain is the governing chain of [WebFilter]’s that allows us to lock down reactive WebFlux applications. With @EnableWebFluxSecurity turned on, we can build this object by issuing commands to the ServerHttpSecurity DSL object. SecurityConfiguration.java: @EnableWebFluxSecurity @Slf4j @Configuration public class SecurityConfiguration { @Bean public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) { return http .

Setup and customize Authentication against a WebFlux Application

4 minute read Published:

Spring Security provides a intuitive and concise API for managing Authentication aspects within your app.
Configuring Authentication against a WebFlux app This demonstration examines Spring Security WebFlux’s Authentication mechanisms. We will look at Authentication request escalation, as well as user-domain customizations. Authentication flow-control How do we determine when a request must provide an authentication context? Spring does this with help from an AuthenticationEntryPoint that identifies un-authenticated requests and returns with a response to the user to perform some authentication action. Configure ServerHttpSecurity to use HTTP-BASIC by calling it’s httpBasic() method.

Configuring Authorization with Reactive Spring Security 5

3 minute read Published:

It takes just a few minutes to bring a compromised system to it's knees. Help fight this by securing your application with Spring Security
Configuring Authorization against a Webflux App Effective security can insulate our applications from ill effects of malicious, and accidental intent in many aspects of programming. Things like network security can only go so far in isolating harm to distributed computing applications. Prevent malicious hackers from gaining access to your systems by ensuring the tools meet the standards for your appcation. Spring Security WebFlux is the framework that lets us declare security constructs to our ordinary WebFluxapplications.