Pip.Services Toolkit for .NET

Modules

Commons

Provides a set of tools used in microservices or backend services, and it is designed to facilitate symmetric implementation accross different programming languages.

Config

The Config module contains configuration component definitions that can be used to build applications and services.

Data

TO DO.

Logic

The Logic module contains standard component definitions to handle complex business transactions.

Observability

The Observability module contains observability component definitions that can be used to build applications and services.

Components

It defines a portable component model interfaces and provides utility classes to handle component lifecycle.

Container

Provides an inversion-of-control (IoC) container used to facilitate the development of services and applications composed of loosely coupled components.

Persistence

The persistence components come in two kinds. The first kind is a basic persistence that can work with any object types and provides only minimal set of operations. The second kind is called “identifieable” persistence and works with “identifable” data objects, i.e. objects that have unique ID field. The identifiable persistence provides a full set or CRUD operations that covers most common cases.

RPC

Provides synchronous communication using local calls or the HTTP(S) protocol. It contains both server and client side implementations.

Messaging

A set of interfaces and classes for working with message queues, as well as an in-memory message queue implementation.

Expressions

Provides syntax and lexical analyzers, and an expression calculator optimized for repeated calculations.

Azure

Contains packages used to create containers and services that do operations via the Azure Function protocol.

DataDog

Contains a DataDog logger and performance counters components.

ElasticSearch

Contains packages used to create Elasticsearch components, including logging components with data storage on the Elasticsearch server.

Kafka

A set of components for messaging using the Kafka protocol.

Memcached

MemcachedLock and MemcachedCache for working with locks and cache on the Memcached server.

MongoDB

A set of components used to implement MongoDB persistence.

MQTT

A set of components for messaging using the Mqtt protocol.

MySQL

Contains components used to implement MySQL persistence.

NATS

A set of components for working with message queues via a NATS server https://nats.io/.

Postgres

A set of components used to implement PostgreSQL persistence.

Redis

Contains packages for working with Redis dataases of type key-value.

SQLServer

A set of components to implement SQLServer persistence.

Swagger

Provides a Swagger UI that can be added into microservices and is seamlessly integrated with existing REST and Commandable HTTP.