Stack

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

The technology is based on the SOLID, Clean Code, Hexagonal Architecture and Event-Driven Architecture standards, providing decoupling, testability and maintenance cost reduction, 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.

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

Adapters provide 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 by 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, being exposed using the Swagger standard and ready for direct integration with API Gateway of choice.

Adapter de Security
This feature supports the 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.

Adapter de Observability
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 pattern, allowing visualization in tools such as Jaeger and others. It is also possible to provide customized metrics to support the business in the Prometheus format.

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

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

Stream Adapter
This feature supports leading Stream services for issuing and receiving events with leading 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 to use it, just change the settings and choose the Stream of choice.

Adapter de State
This feature supports modern approaches to persistence following the “Polyglot persistence” concept such as 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 microservice information, change distributed real-time configurations, and application statistics.

Last modified August 20, 2024 (2f9802da)