Custom Codecs Introduction

Custom Codecs Introduction

This article gives a brief introduction of custom codecs in Kadeck Desktop and Kadeck Teams and covers the essential steps to get you up and running quickly.
It is recommended to read Structure of Codecs before starting developing your own codec as it covers some characteristics and considerations, especially for Kadeck Teams users.

Definition of Codec

Codecs are a powerful feature in Kadeck as they allow for not only decoding and encoding custom data formats but also the integration of additional (web) services.
A codec consists of a decoding part for data consumption and an optional encoding part for data ingestion. Thus a codec is used in two ways:
  1. Decode the record's byte array into a JSON value, which will be displayed to the user.
  2. Encode a JSON value to a byte array for data ingestion.
Though Kadeck includes various codecs for data consumption and data ingestion purpose, it might be necessary to implement custom codecs for specific data types, especially if third-party services need to be integrated, such as a central data structure storage.

Technical Prerequisites

A custom codec is implemented using Java 8 and a set of interfaces and classes published by Xeotek.
The code must be compiled using Java 8 and packaged as a jar file. Kadeck will look for jars in the custom codec path, which can be configured in the settings, and load every class implementing the RecordCodec interface.
It is essential to use your own (company's) package name when developing your custom codec and leaving the classes and interfaces provided by Xeotek untouched in their package com.xeotek.kadeck.codec.
We recommend using the reverse domain name notation for your package and adding "Custom" in front of your codecs class name. This will not affect the name that is displayed to the user.
Please do not include any logging libraries and libraries that are published by the Apache Kafka project in your jar file.

Maven Example Project

To get up and running quickly, we have published a custom codec example project which you can find in our Xeotek Gitlab repository. Use git to clone the project and build your custom codec.
The demo project contains a codec implementation that prints all server connections of all users that are being made instead of decoding record data to show how a state can be shared across users and instances, which is important for Kadeck Web developers. This can be used for implementing a shared cache.
Kadeck Professional developers do need to focus on the decoding and encoding methods only as there is naturally only one user and one instance of the codec at any given time.
Read our article Custom Codec Maven Project to get started using the custom codec maven project.

    • Related Articles

    • Custom Codec Maven Quickstart Project

      This article will guide you through building a custom codec by using the custom codec project and using it in Kadeck. In the end, you will have a new codec option in your "Codecs" dialog in the data browser of Kadeck. Introduction To make it easy to ...
    • Structure of custom codecs

      This article describes the structure and characteristics of codecs in Kadeck Desktop and Kadeck Teams. It is recommended to read this article carefully before developing a custom codec. The structure of codecs Codecs can be separated into two ...
    • Introduction to Monitoring & Health

      We are excited to introduce Kadeck's new Monitoring Module, which makes monitoring and troubleshooting Apache Kafka infrastructure easier than ever and raises the bar in the industry. The new monitoring module includes four new pages, Monitoring ...
    • Introduction to the Quick Processor

      The Quick Processor allows you to create filters and modify records using JavaScript. In this article, we show how to create a Quick Processor and how to access, filter, and modify records. A Quick Processor is always linked to a view. This means ...
    • Data Protection Policies and Data Masking

      Data protection is a crucial aspect of business operations, especially when dealing with sensitive information. Kadeck Teams Enterprise is equipped with a Data Protection Policy module that helps you define data protection policies through the ...