ViennaNET icon indicating copy to clipboard operation
ViennaNET copied to clipboard

Framework for quickly creating enterprise microservices on .NET https://habr.com/ru/company/raiffeisenbank/blog/494830/

Repo, containing .NET Standard based infrastructure libs

Build&Test

Quality Gate Status Maintainability Rating Security Rating Reliability Rating

Coverage

Table of contents

ArcSight

  • ViennaNET.ArcSight - library with ArcSight connection logic
  • ViennaNET.ArcSight.DefaultConfiguration - assembly integration into the project through SimpleInjector

Mediator (inner bus)

  • ViennaNET.Mediator - implementation of the internal message bus
  • ViennaNET.Mediator.DefaultConfiguration - assembly integration into the project through SimpleInjector

Messaging

  • ViennaNET.Messaging - classes and interfaces providing a common functionality for working with queues
  • ViennaNET.Messaging.DefaultConfiguration - integration through SimpleInjector

ActiveMQ:

  • ViennaNET.Messaging.ActiveMQQueue - work with the ActiveMQ queue
  • ViennaNET.Messaging.ActiveMQQueue.DefaultConfiguration - integration through SimpleInjector

IBM MQ:

  • ViennaNET.Messaging.MQSeriesQueue - work with the IBM MQ Series queue
  • ViennaNET.Messaging.MQSeriesQueue.DefaultConfiguration - integration through SimpleInjector

Kafka:

  • ViennaNET.Messaging.KafkaQueue - work with the Kafka queue
  • ViennaNET.Messaging.KafkaQueue.DefaultConfiguration - integration through SimpleInjector

RabbitMQ:

  • ViennaNET.Messaging.RabbitMQQueue - work with the RabbitMQ queue
  • ViennaNET.Messaging.RabbitMQQueue.DefaultConfiguration - integration through SimpleInjector

ORM

  • ViennaNET.Orm - DAL, wrapper over NHibernate
  • ViennaNET.Orm.DefaultConfiguration - assembly integration into the project through SimpleInjector

DB2:

  • ViennaNET.Orm.DB2.Win - driver for connecting to IBM DB2 under Windows
  • ViennaNET.Orm.DB2.Lnx - driver for connecting to IBM DB2 under Linux

MSSql:

  • ViennaNET.Orm.MSSQL - connection of the MS SQL driver
  • ViennaNET.Orm.MSSQL.DefaultConfiguration - assembly integration into the project through SimpleInjector

Oracle:

  • ViennaNET.Orm.Oracle - connecting the Oracle driver
  • ViennaNET.Orm.Oracle.DefaultConfiguration - assembly integration into the project through SimpleInjector

PostgreSQL:

  • ViennaNET.Orm.PostgreSql - connecting the PostgreSql driver
  • ViennaNET.Orm.PostgreSql.DefaultConfiguration - assembly integration into the project through SimpleInjector

SQLite:

  • ViennaNET.Orm.SQLite - connecting the SQLite driver
  • ViennaNET.Orm.SQLite.DefaultConfiguration - assembly integration into the project through SimpleInjector

Redis

  • ViennaNET.Redis - services for working with Redis
  • ViennaNET.Redis.DefaultConfiguration - assembly integration into the project through SimpleInjector

Security

  • ViennaNET.Security - base security interface abstractions library
  • ViennaNET.Security.Jwt - token factory

Useful Utilities

  • ViennaNET.Utils - contains useful extension methods and attributes
  • ViennaNET.Validation - implementation of validation services
  • ViennaNET.Specifications - library for creating and using specifications
  • ViennaNET.Sagas - basic implementation of the sagas mechanism

WebApi

  • ViennaNET.WebApi - WebApi-service builder with common AspNetCore & Swagger features enabled
  • ViennaNET.HttpClient - Http-client builder, integrated in standard AspNetCore DI-container

Quickstart

Examples

  • Simple empty microservice example
  • Example of microservice with Mediator and SimpleInjector
  • Example of microservice with validation
  • Example of microservice with database
  • Example of microservice with simple saga implementation
  • Example of microservice with messaging

Description

Video materials

Let's contribute