Stack

The Devprime® Stack provides components with intelligent behaviors, laying a solid foundation for software and accelerating application modernization.

The technology is based on the standard in SOLID, Clean Code, Hexagonal Architecture and Event-Driven Architecture, providing decoupling, testability and reduction of maintenance costs, in addition to a series of features made available through the Adapters.

The 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. The Domain project compiles and works independently of other projects in order to ensure maintainability and testability.

The Devprime® Pipeline is responsible for integrating the developer’s code with the Devprime® platform and related services such as Resilience, Retry, and Circuit break that run in a failure scenario in the application execution flow, automatic logging, error handling, and other Devprime® features.

The adapters offer a set of services for the foundation of the software (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:

Web Adapter
This feature provides the exposure of API’s, Web Views and static files with support for communication by gRPC, HTTP, GraphQL. The API’s follow the OpenAPI Specification (OpenAPI Specification) and are exposed using the Swagger standard and ready for direct integration with API Gateway of preference.

Security Adapter
This feature supports Open ID and OAuth 2 protocols, ensuring security in the exposure of APIs and internal communication between microservices, making integration with identity providers such as Identity Server, Azure AD, Amazon Cognito transparent.

Observability Adapter
This feature automatically supports the three pillars Logs, Tracing and Metrics used by 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 standard, allowing visualization in tools such as Jaeger and others. It is also possible to provide customized metrics to support the business in the format of Prometheus.

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

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

Stream Adapter
This feature supports the main Stream services for issuing and receiving events with the main technologies on the market, such as Kafka, RabbitMQ, Azure Service BUS, AWS SQS, and automatic Retry, Circuit Break, and Reliency mechanisms that kick in if failures occur. No additional deployments are required for use, just change the settings and choose the preferred Stream.

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

Adapter AppCenter
This feature provides an integration with Devprime AppCenter to obtain information from microservices, change real-time distributed configurations, and application statistics.

Last modified April 11, 2024 (cc33f7e6)