Plonger plus profondément dans les applications composites

Dans un blog précédentnous avons décrit quelles sont les caractéristiques et avantages de l’application composites. Dans ce blog, nous explorerons plus en détail l’exemple de l’application que nous avons abordé dans le blog initial et comment il a été conçu et mis en œuvre.
Conception d’application
Plutôt que d’avoir un service de décision monolithique et important, nous avons conçu l’application pour être composée de plusieurs services indépendants. Certains de ces services sont internes (services que nous auteurs) et certains sont externes (services hébergés par un tiers).
Nous utilisons des services de repos externes pour des mesures en temps réel afin de calculer un devis aussi courant que possible (par exemple, nous voulons obtenir le prix actuel de l’électricité pour un emplacement spécifique).
Mise en œuvre
Nous avons utilisé un système de règles commerciales sans code pour la création de la logique commerciale comme services de décision. Les utilisateurs professionnels peuvent utiliser un tel outil pour créer et maintenir directement la logique métier sans impliquer des programmeurs supplémentaires.
Nous avons déployé ces services dans des fonctions AWS Step. Les fonctions d’étape coordonnent l’exécution des différents services de décision et appellent deux services de repos différents.
Les fonctions d’étape et les services de décision sont entièrement sans serveur et s’étendent automatiquement vers le haut ou vers le bas en fonction de l’utilisation. En conséquence, la solution ne nécessite pas de gestion des instances ou de faire fonctionner des équilibreurs de charge et d’autres artefacts d’applications hautement disponibles et évolutives.
Aperçu de l’application
L’application passe par le flux de travail suivant:
Dans ce diagramme, tous les services préfixés avec DS_ sont développés en interne tandis que ceux préfixés avec REST_ sont des services externes.
Le workflow est lancé avec les données saisies par l’utilisateur sur le site Web. Ensuite, diverses étapes calculent des données supplémentaires pour faire une offre à l’utilisateur.
Ici, nous avons décomposé le problème en plusieurs services de décision indépendants, comme le calcul d’une remise, les économies que l’utilisateur aurait au fil des ans, le devis de prix et le prêt.
La deuxième étape montre une étape parallèle où deux tâches se produisent en même temps et indépendamment les unes des autres. Sur le côté gauche, nous calculons les rabais à l’aide d’un service de décision interne tandis que sur le côté droit, nous appelons un service de repos pour obtenir le prix actuel de l’électricité pour un emplacement spécifique. L’objectif est d’utiliser le temps nécessaire pour obtenir les données de repos pour faire des calculs.
Comment les services internes sont développés
Les services internes sont développés dans l’outil de développement de la logique commerciale de Progress Corticon.js. Cet outil fournit une interface simple mais puissante pour exprimer la logique métier à l’aide d’un modèle de feuille de calcul. Ceci est très puissant car il permet aux analystes commerciaux de développer, maintenir et tester la logique métier sans avoir à impliquer les programmeurs.
Une image vaut mille mots, alors voici un exemple de service de décision dans l’outil Corticon.js:
Dans ce service de décision ci-dessus, nous calculons une remise qui est composée de deux éléments: une valeur de remise plate et un pourcentage à appliquer au coût d’installation global basé sur diverses conditions comme l’état de résidence et le type d’installation. La logique est exprimée comme un ensemble de conditions et un ensemble d’actions correspondantes lorsque les conditions sont remplies.
Chaque colonne est une règle. Par exemple, dans la première règle (colonne 1), l’analyste d’entreprise a exprimé plusieurs conditions: Lorsque l’état est MA, le type est résidentiel et le coût d’installation est inférieur à 10 000 $, la remise est de 1 000 $ (ligne E des actions panneau). La deuxième règle (colonne 2) est similaire; Lorsque le coût d’installation est supérieur à 10 000 $, le rabais plat vaut 14% du coût d’installation (ligne D) et le demandeur reçoit 5% supplémentaires (ligne C).
Vous pouvez voir à quel point cela est succinct par rapport à ce qui serait autrement des centaines de lignes de code. Aucune instruction complexe ou imbriquée «si» difficile à lire et à entretenir. Pas de «Loop» pour traiter plusieurs entrées. Il est facilement lisible étant donné le nombre de conditions et d’actions à prendre. Cela rend la logique commerciale très facile à entretenir et un analyste commercial peut mettre à jour les règles sans avoir à communiquer des modifications d’un service informatique. Il en résulte d’énormes gains de productivité.
La plate-forme fournit également plusieurs outils sans code sous forme d’analyse de boucle logique, d’exhaustivité des règles et d’analyse des conflits. Pour en savoir plus sur les gains de valeur et de productivité de ces outils, lisez notre blog, «Obtenir votre logique commerciale à faible coût.»
Conclusion
Il est tout à fait remarquable que grâce aux technologies sans serveur et aux systèmes sans code comme le moteur des règles commerciales Corticon.js, une très petite équipe peut développer, tester et déployer une telle application en quelques jours de travail. Historiquement, cela prendrait plusieurs semaines ou mois, et cela aurait obligé des ingénieurs avec de nombreuses compétences différentes pour travailler sur le projet.
De plus, les échelles d’application sont très bien élastiques, ne nécessitent pas de maintien de matériel de serveur au sens traditionnel. Mieux encore, cela ne coûte rien lorsqu’il n’est pas utilisé.
Pour s’inscrire à un essai ou une démo de la plate-forme Corticon, Visitez notre page de démarrage.
Source link