Stack

DevPrime® Stack is the central component and provides a foundation with features that support the structure of software projects accelerating application modernization.

The technology is based on the standard in SOLID, Clean Code, Hexagonal Architecture and Event-Driven Architecture, providing decoupling, stability and reduction of maintenance costs, as well as a number of features made available through Adapters.

DevPrime Stack

Domain and Application layers focus on business rules and exposure by the application service, providing predictable behavior by using the Domain Driven Design (DDD) approach and transforming it into source code with native DevPrime Foundation classes. Domain’s project compiles and works independently of other projects in order to ensure maintainability and stability.

DevPrime® Middleware is responsible for integrating developer code with DevPrime® Stack and related services such as Resilience, Retry, and Circuit break that run in a crash scenario of application execution flow, automatic logs, error handling, and other DevPrime features®.
Adapters offer a set of services for the foundation of the application (Web, Security, Observability, Heath Check, Services, Stream, State and App Center) and are responsible for the technology aspects offering accelerators with intelligence and autonomous behavior as detailed below:

Adapter de Web
This feature makes api’s exposure, Web Views, and static files supported by gRPC, HTTP, GraphQL open. THE API’s follow the OpenAPI (OpenAPI Specification) specification being exposed using the Swagger standard and ready for direct integration with API Gateway preferably.

Adapter de Security
This feature supports Open ID and OAuth 2 protocols ensuring security in exposing APIs and internal communication between Microservices, making seamless integration with identity providers such as Identity Server, Azure AD, Amazon Cognito.

Adapter de Observability
This feature provides automatic support on the three Logs, Tracing, and Metrics pillars used by the Site Reliability Engineering (SRE) teams. Logs are structured to be easily indexed in tools such as Elk (Elasticsearch, Logstash, and Kibana). Trace follows the distributed tracing/open telemetry pattern, allowing visualization in tools like Jaeger and others. It is also possible to provide customized metrics to support the business in the format of Prometheus.

Adapter de Health Check
This feature checks application availability, allowing container orchestrators such as Kubernetes to monitor container health and restart if necessary.

Adapter de Services
This feature simplifies communication with external services using gRPC, HTTP, or GraphQL standards by facilitating the work of software developers with support for automatic Retry and Circuit Break routines, preventing integration failures from harming the application by aggregating process resiliency, standardization, and better resource usage.

Adapter de Stream
This feature provides support for leading Stream services for issuing and receiving events with key technologies in the market, such as Kafka, RabbitMQ, Azure Service BUS, AWS SQS, and automatic Retry, Circuit Break, and Reliency mechanisms that take action in the event of failures. For use no additional implementations are required, simply change the settings and choose the Preferred Stream.

Adapter de State
This feature supports modern approaches to persistence following the concept of “Polyglot persistence” such as SQLServer, MongoDB, Redis, and others. The software developer can choose to use native database code, Entity Framework (EF), or Dapper. Retry and Circuit Break routines are automatically triggered in case of failures.

Adapter AppCenter
This feature provides an integration with DevPrime AppCenter to get information from Microservices, change real-time distributed settings, and application statistics.

Last modified March 10, 2022 (615ec2b)