Pip.Services Toolkit for Dart

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.

Components

Contains standard component definitions that can be used to build applications and services.

Container

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

Data

Contains generic interfaces for data access components as well as abstract implementations for in-memory and file persistence.

RPC

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

gRPC

This module is used to organize synchronous data exchange using calls through the gRPC protocol. It has implementations of both, the server and client parts.

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.

ElasticSearch

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

MongoDB

A set of components used to implement MongoDB persistence.

MQTT

A set of components for messaging using the Mqtt protocol.

Prometheus

Components for working with meters in the Prometheus service. The PrometheusCounters and PrometheusMetricsService components allow you to work both, in client mode through PushGateway and as a service.

RabbitMQ

A set of components for working with the message queue in RabbitMQ through the AMQP protocol.

Redis

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

Swagger

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