Fermer

mars 18, 2024

Développement de logique métier sans code pour la base de données MarkLogic

Développement de logique métier sans code pour la base de données MarkLogic


Progress MarkLogic est une base de données d’entreprise robuste et fiable, notamment en tant que backend unique intégré pour plusieurs modèles de données.

Que vous ayez besoin d’exécuter une logique métier sur un ou plusieurs modèles de données, créer, tester et maintenir une logique métier est toujours une tâche difficile. Il y a de nombreuses raisons à cela. Certaines des raisons que nous entendons le plus souvent sont :

  • Les règles métier sont très complexes.
  • Il n’y a pas assez de programmeurs pour prendre en charge le développement et la maintenance.
  • Le turnover s’ajoute au casse-tête car la connaissance de la logique codée existante s’estompe rapidement.
  • Les demandes de changement du côté commercial arrivent plus rapidement qu’avant et doivent être mises en œuvre dans un délai d’exécution très court.
  • Des problèmes de communication entre le côté commercial et le côté implémentation entraînent des implémentations incorrectes, incomplètes et boguées.

Dans ce blog, nous explorerons comment Progress Corticon.js résout ce problème et transforme le développement de logique métier pour des règles complexes. La transformation réside dans la manière dont les règles sont directement développées, testées et maintenues par des spécialistes métier qui n’ont pas besoin d’être des programmeurs. En d’autres termes, les règles appartiennent au groupe d’entreprises lui-même. Lorsque vous utilisez Corticon.js, la logique métier devient de véritables services, et le rôle de l’intégrateur est d’utiliser ces services le plus efficacement possible.

À qui s’adresse ce blog ?

Ce blog s’adresse aux architectes et aux concepteurs d’applications travaillant avec les bases de données MarkLogic et les applications système associées. Il montre comment, en tant que décideur, vous pouvez améliorer considérablement la façon dont la logique métier est développée, testée et déployée. Il est également utile aux intégrateurs de tels systèmes, car ils comprennent comment un service de décision sans code peut être intégré dans le pipeline de traitement MarkLogic.

Explorer via un exemple

Nous explorerons comment les spécialistes commerciaux fournissent ces services de décision avec un exemple simple d’assurance automobile. L’assureur facture à l’utilisateur son utilisation quotidienne. Plus précisément, le cas d’utilisation consiste à calculer le montant à facturer à l’utilisateur en fonction de la distance parcourue aujourd’hui, du niveau de risque des zones parcourues et du coût du véhicule.

Dans Corticon, les analystes commerciaux travaillent avec deux artefacts principaux pour prendre une décision. service, feuilles de règles et flux de règles. De plus, Corticon propose des tests au niveau du service de décision (tests du système) ou au niveau de la feuille de règles (tests unitaires).

Dans la feuille de règles, les analystes expriment les conditions des règles et les actions associées. Dans le flux de règles, ils expriment la manière dont toutes les feuilles de règles sont connectées pour créer un service de décision.

Exemple de flux de règles

Dans cet exemple simple, nous voyons comment un service de décision est décomposé en trois ensembles de règles indépendants (trois feuilles de règles Corticon). Une telle décomposition présente de nombreux avantages. D’une part, cela permet une évolution puisque chaque analyste commercial peut travailler indépendamment sur son domaine spécifique.

De plus, le flux de règles—comme son nom l’indique—spécifie l’ordre d’exécution.

"Une

Des constructions supplémentaires sont disponibles pour les modélisateurs. Bien entendu, un flux de règles peut spécifier différentes branches à exécuter en fonction des données métier. Pour les projets plus complexes, un flux de règles peut être décomposé en sous-flux pour une meilleure organisation et évolutivité.

Exemple de feuille de règles

Le cœur des règles métier est écrit dans une feuille de calcul familière, comme l’interface présentée dans l’image suivante.

"capture

Par exemple, la règle 2 précise qu’un conducteur, âgé de 18 à 25 ans et possédant 2 ans d’expérience de conduite, a parcouru aujourd’hui une distance comprise entre 1 et 29. Tout cela résume le coût pour être 3,98. De plus, pour tous les cas (colonne 0), l’analyste métier enregistre la date de calcul et calcule l’âge du conducteur.

Vocabulaire

Un aspect clé pour permettre aux spécialistes métier de rédiger des règles métier est de fournir une compréhension commune des données disponibles pour le traitement en entrée et en sortie.

Corticon fournit une vue des données de l’entreprise d’une manière simple à utiliser pour le spécialiste métier. Si nécessaire, il fournit un mappage facultatif entre les données réelles et la représentation commerciale. Cela permet aux utilisateurs métier de travailler avec des noms ou des termes qui leur sont plus familiers sans impacter l’intégration du service de décision dans le reste de l’application.

En règle générale, en tant qu’architecte ou concepteur d’applications, vous devrez peut-être fournir ce vocabulaire aux spécialistes métier.

Voici un exemple de vue :

"Capture

Notez qu’il s’agit d’un vocabulaire trop simplifié pour illustrer des concepts. En pratique, Corticon prend en charge un vocabulaire très complexe avec des relations très profondes (1 à 1, 1 à n ou plusieurs à plusieurs). Il est courant de voir un vocabulaire contenant des milliers d’éléments ; c’est pourquoi nous disposons d’une capacité de filtrage qui permet à l’utilisateur de restreindre le vocabulaire complexe au domaine d’intérêt.

Déploiement

Comme vous l’avez vu dans l’exemple, les spécialistes métier se concentrent sur les règles métier d’une manière indépendante de la technologie. Autrement dit, ils n’ont pas besoin d’être formés ni même de comprendre le(s) langage(s) de programmation de la solution avec laquelle les services de décision s’intègrent.

Pour fournir un point d’intégration, Corticon permet d’exporter les règles métier vers des plateformes cibles spécifiques. Corticon prend en charge Java, .Net et JavaScript.

Le processus d’exportation est généralement effectué dans un pipeline CI/CD, mais peut également être effectué de manière interactive avec Progress Corticon Studio. Voici un exemple de boîte de dialogue Corticon pour empaqueter les règles d’exécution :

"Capture

Le service de décision «Calculer l’assurance quotidienne» est exporté pour être intégré à MarkLogic et peut également être exporté vers diverses fonctions cloud sans serveur ou même exporté pour être exécuté directement dans un navigateur. Corticon propose de nombreux choix architecturaux pour pérenniser votre solution.

Lors de l’exportation vers MarkLogic, vous obtiendrez un service de décision qui peut s’exécuter directement dans MarkLogic en tant que JavaScript côté serveur offrant des performances élevées et une simplicité de déploiement.

Conclusion

L’utilisation d’une solution sans code pour développer une partie de votre logique métier MarkLogic offre une valeur considérable :

  1. Le traitement des règles métier est découplé de l’un des autres types de traitement. Du point de vue de l’architecture du système, les règles constituent un service avec une ligne de démarcation claire.
  2. Vous pouvez donner aux spécialistes métier les moyens de créer et de gérer des règles métier. Les clients déclarent qu’ils obtiennent jusqu’à 90 % de gains en matière de développement et de déploiement de logique métier.
  3. Vous gagnerez en agilité car le même utilisateur professionnel sera en mesure d’ajuster les règles très rapidement à mesure que l’entreprise évolue, sans les allers-retours coûteux et longs qui sont typiques entre les utilisateurs professionnels et les programmeurs.
  4. Vous pouvez libérer vos précieuses ressources de programmation et vous concentrer sur les aspects essentiels de la solution.
  5. Vous gagnez en agilité et en productivité car les règles métier peuvent être développées en parallèle avec le reste du système. Et ils peuvent être testés par un spécialiste métier, indépendamment du reste du système.
  6. Les règles peuvent être vérifiées directement par des spécialistes métier : Corticon fournit une analyse logique afin que la logique métier soit complète et sans conflits. Pour en savoir plus sur ce sujet, lisez notre blog, Réaliser votre logique métier à faible coût.
  7. Les règles sont documentées. Comme les règles sont exprimées davantage en langage naturel qu’en codage, la logique métier est documentée. Trop souvent, la documentation de la logique métier se trouve uniquement dans la tête des programmeurs et lorsque la solution vieillit, ces connaissances commencent à s’estomper ou parfois sont complètement perdues en raison du turnover.
  8. Vous gagnez encore plus d’agilité car l’utilisateur métier n’a pas besoin d’être formé à aucune des technologies impliquées dans votre pile d’applications. Vous pouvez donc démarrer plus rapidement et sans frais supplémentaires.
  9. Préparez votre logique métier pour l’avenir : Corticon.js offre une flexibilité dans la manière dont vous pouvez déployer les services de décision : de l’intégration dans un serveur MarkLogic aux services distants exécutés dans n’importe quel cloud (GCP, AWS et Azure). Le déploiement direct est également possible dans les applications frontales telles que les navigateurs ou les applications mobiles. Vous pouvez en savoir plus à ce sujet sur notre blog, Choix lors de l’architecture et de la conception des services de décision.

Dans un prochain blog, nous explorerons deux modèles de conception pour les services de décision dans le JavaScript côté serveur MarkLogic. Restez à l’écoute.

Si vous souhaitez en savoir plus et obtenir une démo de ce que nous avons couvert dans ce blog, n’hésitez pas à vous inscrire au Événement communautaire MarkLogic, édition d’avril. Vous pouvez également inscrivez-vous à une formation gratuite pour Corticon.js.

EN SAVOIR PLUS SUR CORTICON




Source link