Category Archives: Uncategorized

Headless CMS – Directus

Why Headless CMS?

  • Traditional monolith CMS system are coupled together with UI and backend. Headless CMS decouples it and provide APIs which can be connected from any website, IoT devices to manage content

Directus Ecosystem

Directus API

  • provides dynamic API for MySQL database
  • written in PHP and used Zend-DB for database abstraction
  • https://github.com/directus/api

Directus Application

  • For non technical users to manage content
  • Written in vue.js
  • https://github.com/directus/app

Directus Suite

  • Both API + App
  • https://github.com/directus/directus
  • opensource suite of softwares for managing content in databases
  • API – wraps SQL databases with dynamic APIs
  • Admin App – vue.js app for admins to manage content

Resources

Flyway – Database Migration

Database Migration

Flyway

  • Open source database migration tool

Why database migrations?

How Flyway works

Concepts

Migrations

  • With Flyway all changes to the database are called migrations.
  • Migrations can be either versioned or repeatable.
  • Versioned migrations come in 2 forms: regular and undo.

Versioned migrations

  • have version (unique), description and checksum

Repeatable migrations

  • have description and checksum (no version)

Basic Commands

Flyway Migration Tools

Resources

Scalable and Distributed Tracing (Spring Cloud Sleuth)

Spring Cloud Sleuth

Terminology

Span

  • Basic unit of work
  • identified by a unique 64-bit ID for the span and another 64-bit ID for the trace the span is a part of
  • Spans also have other data, such as descriptions, timestamped events, key-value annotations (tags), the ID of the span that caused them, and process IDs (normally IP addresses).

Trace

  • A set of spans forming a tree-like structure

Annotation

 

Resources

Next Generation Access Control (NGAC)

Next Generation Access Control (NGAC)

  • Standard for Attribute-based access control (ABAC)
  • Alternate to XACML

XACML vs NGAC (Similarities)

  • Both standards are different approaches to ABAC
  • Both XACML and NGAC achieve separation of access control functionality of data services from proprietary operating environments, but to different degrees
  • Both offers fine-grained authorization policy creation and management

XACML vs NGAC (Differences)

Performance/Scalability

Resources

XML Schema Definition – XSD Introduction

XML Schema Definition – XSD Introduction

An XML Schema:

  • defines elements that can appear in a document
  • defines attributes that can appear in a document
  • defines which elements are child elements
  • defines the order of child elements
  • defines the number of child elements
  • defines whether an element is empty or can include text
  • defines data types for elements and attributes
  • defines default and fixed values for elements and attributes

XML Schema supports data types. With support for data types:

  • It is easier to describe allowable document content
  • It is easier to validate the correctness of data
  • It is easier to work with data from a database
  • It is easier to define data facets (restrictions on data)
  • It is easier to define data patterns (data formats)
  • It is easier to convert data between different data types

Resources:

W3Schools XML Schema