Articles

Vues PostgreSQL avec paramètres d'exécution

Les vues PostgreSQL sont une fonctionnalité puissante qui permettent aux utilisateurs de créer des vues avec des paramètres d’exécution spécifiques. Découvrez comment les utiliser!

Il y a de nombreuses situations où les applications sont demandées pour être assez agiles et polyvalentes afin qu’elles puissent exécuter des rapports dynamiques dont les entrées sont fournies à l’exécution.

Cet article vise à présenter une façon d’atteindre cet objectif en utilisant les paramètres de configuration temporaires pris en charge par les bases de données PostgreSQL.

The idea is to create a database table that will contain the parameters that will be used by the application. The application will be responsible for populating this table with the required parameters before running the report. The report query can then use the parameters from this table to filter the data.

Il y a de nombreuses situations où des applications doivent être suffisamment agiles et polyvalentes pour pouvoir exécuter des rapports dynamiques dont les entrées sont fournies à l’exécution.

Cet article vise à présenter une façon d’atteindre cet objectif en utilisant les paramètres de configuration temporaires pris en charge par les bases de données PostgreSQL.

L’idée est de créer une table de base de données qui contiendra les paramètres qui seront utilisés par l’application. L’application sera responsable du remplissage de cette table avec les paramètres nécessaires avant de lancer le rapport. La requête du rapport peut alors utiliser les paramètres de cette table pour filtrer les données.

Les bases de données PostgreSQL offrent un moyen pratique de gérer ces paramètres temporaires. La fonctionnalité de configuration temporaire permet aux développeurs d’utiliser des variables pour stocker des valeurs qui peuvent être modifiées à la volée. Ces variables peuvent être utilisées dans les requêtes SQL pour filtrer les données et fournir des résultats dynamiques.

Les variables de configuration temporaire peuvent être définies à l’aide de la commande SET ou de la fonction spéciale SET_CONFIG. Les variables peuvent être récupérées à l’aide de la fonction GET_CONFIG et peuvent être supprimées à l’aide de la commande RESET ou de la fonction spéciale RESET_CONFIG.

Les développeurs peuvent créer une table de base de données qui contiendra les paramètres nécessaires à l’exécution du rapport. L’application peut alors remplir cette table avec les paramètres nécessaires avant l’exécution du rapport. La requête du rapport peut alors utiliser ces paramètres pour filtrer les données et fournir des résultats dynamiques.

La fonctionnalité de configuration temporaire est très utile pour les applications qui doivent générer des rapports dynamiques dont les entrées sont fournies à l’exécution. Elle permet aux développeurs de créer des rapports flexibles et dynamiques sans avoir à modifier le code source. En outre, elle offre une solution simple et efficace pour gérer les paramètres d’une application.

Source de l’article sur DZONE

Déploiement Cloud Native de Flux dans App Connect Enterprise

Le déploiement cloud native de Flux dans App Connect Enterprise offre une solution innovante pour intégrer des applications et des données à travers les environnements cloud et on-premise.

IBM App Connect Enterprise (ACE) : Un outil d’intégration puissant et largement utilisé

Testing is an important part of the development process. ACE provides a number of testing features, such as the ability to run flows in a test mode, and the ability to debug flows. The test mode allows flows to be run with test data, and the results can be inspected to ensure that the flow is producing the expected results. The debug mode allows developers to step through a flow and inspect the variables and messages at each step. This is invaluable for troubleshooting and understanding how a flow works.

IBM App Connect Enterprise (ACE) est un puissant et largement utilisé outil d’intégration. Les développeurs créent des flux d’intégration en définissant un point d’entrée qui reçoit un message, puis en traitant ce message et enfin en envoyant ou en plaçant le message transformé. Les flux se composent d’une série de nœuds et de constructions logiques. ACE est puissant et flexible – il existe de nombreux nœuds spécifiquement conçus pour interagir avec les systèmes à intégrer, mais il existe également des nœuds qui peuvent exécuter un script ou du code Java. En raison de cela, ACE peut presque tout faire et peut donc être considéré (bien que ce ne soit pas son objectif) comme un environnement d’exécution d’application. 

Un flux ACE est une unité déployable intrinsèquement sans état, bien qu’il puisse gérer son propre état. Dans un environnement de serveur traditionnel, de nombreux flux sont déployés sur un serveur d’intégration et leur exécution peut être gérée et échelle à l’aide des fonctionnalités de gestion de charge. Cela rend ACE un ajustement naturel pour un environnement Kubernetes.

Le test est une partie importante du processus de développement. ACE fournit un certain nombre de fonctionnalités de test, telles que la possibilité d’exécuter des flux en mode test et la possibilité de déboguer des flux. Le mode test permet aux flux d’être exécutés avec des données de test et les résultats peuvent être inspectés pour s’assurer que le flux produit les résultats attendus. Le mode debug permet aux développeurs de passer en revue un flux et d’inspecter les variables et les messages à chaque étape. Cela est inestimable pour le dépannage et la compréhension du fonctionnement d’un flux.

Source de l’article sur DZONE

Enregistrer des Convertisseurs Spring en étendant son Interface.

En étendant l’interface, vous pouvez enregistrer des convertisseurs Spring pour faciliter la conversion des données entre différents formats.

Cet article est un guide étape par étape visant à démontrer une approche basée sur l’interface pour utiliser le système de conversion de type Spring.

The system is designed to be extensible, allowing developers to add their own custom type converters. In this article, we will demonstrate how to use the type conversion system in an interface-based approach.

Paragraph 1

Le système de conversion de type de Spring 3 introduit un package core.convert qui fournit un système de conversion de type général. Le système définit une SPI pour implémenter la logique de conversion de type et une API pour effectuer des conversions de type à l’exécution. Le système est conçu pour être extensible, ce qui permet aux développeurs d’ajouter leurs propres convertisseurs de type personnalisés. Dans cet article, nous allons démontrer comment utiliser le système de conversion de type dans une approche basée sur l’interface.

Paragraph 2

Le système de conversion de type Spring est basé sur l’interface ConversionService. Cette interface définit les méthodes pour convertir un objet d’un type à un autre. Le système fournit également une implémentation par défaut, DefaultConversionService, qui peut être utilisée pour effectuer des conversions simples. Cependant, si vous avez besoin de plus de contrôle sur la conversion, vous pouvez créer votre propre implémentation de ConversionService.

Paragraph 3

Une fois que vous avez créé votre implémentation de ConversionService, vous pouvez l’utiliser pour effectuer des conversions. Pour cela, vous devez créer une instance de ConversionService et l’utiliser pour convertir des objets d’un type à un autre. Vous pouvez également utiliser le système pour effectuer des tests unitaires sur votre code de conversion. Pour ce faire, vous pouvez créer une instance de ConversionService et l’utiliser pour tester le comportement de votre code de conversion. Vous pouvez également utiliser le système pour tester la précision des conversions effectuées par votre code.

Source de l’article sur DZONE

Partie 2: Microservices avec Apache Camel et Quarkus

Dans cette partie, nous allons apprendre à créer des microservices avec Apache Camel et Quarkus. Nous verrons comment les deux outils peuvent être utilisés ensemble pour créer des applications modernes et performantes.

Exécution locale d’une application microservices basée sur Apache Camel et AWS SDK

Dans la première partie de cette série, nous avons vu une application de transfert d’argent simplifiée basée sur les microservices, mise en œuvre à l’aide des outils de développement Java Apache Camel et AWS SDK (Software Development Kit) et de Quarkus comme plate-forme d’exécution. Comme indiqué, il existe de nombreux scénarios de déploiement qui pourraient être envisagés pour exécuter la production d’une telle application; le premier et le plus simple consiste à l’exécuter localement de manière autonome. C’est le scénario que nous examinerons dans ce nouveau post.

Quarkus est capable d’exécuter vos applications de deux manières: en mode JVM (Java Virtual Machine) et en mode natif. Le mode JVM est la manière classique standard d’exécuter des applications Java. Ici, l’application en cours d’exécution n’est pas exécutée directement sur le système d’exploitation, mais dans un certain milieu d’exécution où des bibliothèques et des API Java sont intégrées et enveloppées. Ces bibliothèques et API peuvent être très volumineuses et elles occupent une partie spécifique de la mémoire appelée Resident Set Size (RSS). Pour en savoir plus sur le RSS et Quarkus (par opposition à la façon dont Spring Boot le gère), voir ici.

Lorsque vous exécutez votre application avec Quarkus en mode JVM, vous pouvez utiliser un outil appelé GraalVM pour compiler votre application en code natif. GraalVM est un outil open source qui permet de compiler des applications Java en code natif. Il prend en charge plusieurs langages, dont Java, JavaScript, Ruby, Python et R. GraalVM est capable de compiler votre application Java en code natif très rapidement, ce qui permet à votre application de s’exécuter plus rapidement et avec moins de consommation de mémoire. Il est également possible d’utiliser GraalVM pour compiler votre application en code natif et l’exécuter directement sur le système d’exploitation, sans passer par le mode JVM. Cela permet à votre application de fonctionner plus rapidement et avec une consommation de mémoire minimale.

Ainsi, grâce à l’utilisation du logiciel Quarkus et de GraalVM, vous pouvez facilement déployer votre application microservices-based money transfer sur votre système local. Vous pouvez également utiliser GraalVM pour compiler votre application en code natif et l’exécuter directement sur le système d’exploitation, ce qui permet à votre application de fonctionner plus rapidement et avec une consommation de mémoire minimale. Cela peut être très utile pour les applications qui nécessitent une exécution rapide et une consommation minimale de mémoire. De plus, vous pouvez également déployer votre application sur des plates-formes cloud telles que AWS ou Azure afin de bénéficier des avantages supplémentaires offerts par ces plates-formes.

Source de l’article sur DZONE

Fargate vs Lambda : Qui sera le vainqueur ?

Fargate et Lambda sont deux technologies très populaires parmi les développeurs cloud. Quel est le meilleur pour votre projet ? Découvrons qui sera le vainqueur !

## Comparaison Fargate vs Lambda dans l’espace sans serveur

Quelles sont les différences entre Fargate et Lambda ?

Fargate et Lambda sont deux options de calcul sans serveur populaires disponibles dans l’écosystème AWS. Bien que les deux outils offrent un calcul sans serveur, ils diffèrent en ce qui concerne les cas d’utilisation, les limites opérationnelles, les allocations de ressources d’exécution, le prix et les performances. Fargate est une moteur de calcul sans serveur proposé par Amazon qui vous permet de gérer efficacement les conteneurs sans les tracas de la mise en provision des serveurs et de l’infrastructure sous-jacente. Lambda, quant à lui, est une plateforme de calcul sans serveur qui vous permet d’exécuter du code sans avoir à gérer des serveurs. Lambda est conçu pour prendre en charge des charges de travail à courtes durées et à faible consommation de ressources.

Quelle est la meilleure option pour l’architecture ?

Lorsqu’il s’agit de choisir entre Fargate et Lambda, il est important de comprendre leurs différences et leurs avantages. Pour les applications à longue durée et à haute consommation de ressources, Fargate est la meilleure option car il offre une gestion des conteneurs plus efficace et une meilleure performance. Cependant, pour les applications à courtes durées et à faible consommation de ressources, Lambda est la meilleure option car il offre une exécution plus rapide et une meilleure utilisation des ressources. En fin de compte, le choix entre Fargate et Lambda dépend des exigences spécifiques de votre application et de votre architecture. Il est important de prendre en compte le coût, la performance et les fonctionnalités avant de prendre une décision finale.

Quelle que soit l’application ou l’architecture que vous souhaitez mettre en place, Fargate et Lambda sont tous deux des outils puissants qui peuvent vous aider à atteindre vos objectifs. En tant qu’informaticien enthousiaste, je trouve que ces outils sont très utiles pour créer des applications modernes et évolutives. Fargate et Lambda offrent tous les deux des fonctionnalités avancées qui peuvent être utilisées pour créer des architectures robustes et flexibles. Les deux outils sont faciles à utiliser et peuvent être intégrés à d’autres services AWS pour offrir une expérience utilisateur optimale. En fin de compte, le choix entre Fargate et Lambda dépendra des exigences spécifiques de votre application et de votre architecture.

Source de l’article sur DZONE


Dart is a client-optimized language for developing fast apps on any platform. Its goal is to offer the most productive programming language for multi-platform development, paired with a flexible execution runtime platform for app frameworks.

MQTT is a lightweight IoT messaging protocol based on publish/subscribe model, which can provide real-time and reliable messaging services for connected devices with minimal code and bandwidth. It is widely used in industries, such as IoT, mobile Internet, smart hardware, Internet of vehicles, and power and energy.

Source de l’article sur DZONE

Kubernetes is an open-source container orchestration tool developed by Google and is also known as K8s. It is used in managing the complete lifecycle of containerized applications. Kubernetes provides high availability, scalability, and predictability to the containerized application. It automates the deployment, management, and scaling of containerized applications. Kubernetes also supports automated rollout and rollbacks,  service discovery, storage orchestration, scaling, batch execution, and more. Kubernetes provides the cluster where containerized applications can be deployed. Kubernetes is not the only container orchestration tool, but various “Kubernetes Alternatives” are available in the market.

Before we talk about the “Alternatives to Kubernetes,” let’s explore the key components of Kubernetes. The Kubernetes cluster consists of at least one worker node where containerized applications are deployed and one master node or control plane which manages the worker nodes. The Control plane or master node consists of Kube-API server, etcd, Kube-scheduler, and Kube-controller-manager, whereas the worker node consists of Kubelet, Kube-Proxy, and Container Runtime. 

Source de l’article sur DZONE


This is an article from DZone’s 2021 Kubernetes and the Enterprise Trend Report.

For more:

Read the Report

As more organizations have begun to embrace cloud-native technologies, Kubernetes adoption has become the industry standard for container orchestration. This shift toward Kubernetes has largely automated and simplified the deployment, scaling, and management of containerized applications, providing numerous benefits over legacy management protocols for traditional monolithic systems. However, securely managing Kubernetes at scale comes with a unique set of challenges, including hardening the cluster, securing the supply chain, and detecting threats at runtime. 

Source de l’article sur DZONE

In this blog, we will be discussing about implementing persistent object store using MYSQL with Anypoint Clustering. We will going to see that how we can use MYSQL database to persist the object store data. One of the advantages of using persistent object store is that we will be not loosing data in case Mule Runtime or Mule Application get restarted or shutdown or crashes. In such cases, your object store data will persisted in Database. 

Enabling Persistent Object Store Using MySQL With Anypoint Clustering

To enable, Persistent object store using MySQL required few steps and there are few prerequisites.

Source de l’article sur DZONE

Is your organization ready to move containerized workloads into production or yet struggling with these challenges? Adopting complex stateful workloads with many dependencies, deploying containerization tooling without well-framed DevOps practices, and becoming gripped into vendor lock-in faster may be a few of such challenges. Having the right DevOps team in place and finding out how Kubernetes integrates with your company’s technological infrastructure to undergo effective legacy application modernization should be the way out. As an organization, you should consider if you have the requisite roles and skillsets before adopting new technologies. You must decide on runtime and orchestration engines in technical terms while selecting containerization workloads with utmost care and attention.

With more than 70% of organizations running containerized applications in production, Kubernetes has emerged to be one of the most sought-after methods to organize containers. Here are a few of the Kubernetes best practices that ensure its adoption truly advancing container deployment.

Source de l’article sur DZONE