Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
boardz:design:technologychoices [2019/01/21 15:36] admin [Le choix de Java (J2SE)] |
boardz:design:technologychoices [2022/10/06 10:34] (Version actuelle) florence |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | | {{ :avignon-universite.jpg?nolink|}} | {{ :blocks:logo-apl.png?nolink&220|}} | | ||
| ===== Options Technologiques ===== | ===== Options Technologiques ===== | ||
| ===== BoardZ : Version 2 ===== | ===== BoardZ : Version 2 ===== | ||
| - | ==== Le choix de Java (J2SE) ==== | + | ==== Le choix de PHP ==== |
| Les fonctions de calcul de données statistiques à partir d'enregistrements de bases de données peuvent aujourd'hui être réalisés selon une grande quantité d'architectures techniques tant les langages et les briques logicielles ont évoluées et maturées. | Les fonctions de calcul de données statistiques à partir d'enregistrements de bases de données peuvent aujourd'hui être réalisés selon une grande quantité d'architectures techniques tant les langages et les briques logicielles ont évoluées et maturées. | ||
| Ligne 39: | Ligne 40: | ||
| La fonction calcul déclenche le premier et le troisième critère de performance : la volumétrie et la complexité. La fonction de calcul reçoit des données sources (événements) et les compile dans des modèles de données statistiques. En général, une fois la donnée consommée et intégrée, le moteur n'y revient pas dessus (sauf dans le cas d'une reprise de données antérieure, mais ceci est un acte de maintenance de données, pas de fonctionnement normal). Cependant, cette fonction de calcul ne produit pas d'interaction utilisateur. Elle doit de plus être particulièrement optimisée pour laisser la puissance de l'infrastructure au service de la restitution et de l'appel des vues et tableaux de bord. | La fonction calcul déclenche le premier et le troisième critère de performance : la volumétrie et la complexité. La fonction de calcul reçoit des données sources (événements) et les compile dans des modèles de données statistiques. En général, une fois la donnée consommée et intégrée, le moteur n'y revient pas dessus (sauf dans le cas d'une reprise de données antérieure, mais ceci est un acte de maintenance de données, pas de fonctionnement normal). Cependant, cette fonction de calcul ne produit pas d'interaction utilisateur. Elle doit de plus être particulièrement optimisée pour laisser la puissance de l'infrastructure au service de la restitution et de l'appel des vues et tableaux de bord. | ||
| + | |||
| + | POINT D'ALERTE : | ||
| L'avantage du langage compilé dans cette phase est évident. | L'avantage du langage compilé dans cette phase est évident. | ||
| Ligne 53: | Ligne 56: | ||
| Dans une architecture où le rendu ne serait qu'une action de remplissage d'un "format" de sortie, cette phase pourrait être confiée à une technologie scriptée. Dans la réalité, il y aura partage probable de l'effort de calcul entre le moteur de calcul et la fonction de rendu. Les technologies compilées sont également gagnantes en général surtout lorsqu'elles s'appuient sur des persistances de données en mémoire. | Dans une architecture où le rendu ne serait qu'une action de remplissage d'un "format" de sortie, cette phase pourrait être confiée à une technologie scriptée. Dans la réalité, il y aura partage probable de l'effort de calcul entre le moteur de calcul et la fonction de rendu. Les technologies compilées sont également gagnantes en général surtout lorsqu'elles s'appuient sur des persistances de données en mémoire. | ||
| + | ==== Conclusion générale ==== | ||
| + | |||
| + | en dépit des qualités intrinsèques des langages compilés pour la performances de fonctions de calcul complexes et de manipulation de structures de données, la décision finale d'orienter le projet vers une technologie "full PHP" a été prise pour les raisons suivantes : | ||
| + | |||
| + | * Des gains en performance significatifs uniquement à très haute charge, dont l'absence peut être compensé par d'autres techniques (augmentation physique des infras support, clusterisation et parallélisation de calcul, etc). | ||
| + | * L'évolution du PHP vers un modèle objet de plus en plus complet, incluant les principes fondamentaux de Réflexion et de MultiThreading (sous certaines conditions). | ||
| + | * Une plus grande disponibilité des compétences de développement sur ces langages | ||
| + | * Le coût moindre des compétences de programmation dans les environnements "bien connus" de scripting web. | ||
| + | ---- | ||
| [[:boardz:design|Revenir au sommaire de la conception]] - [[:start|Revenir au sommaire général]] | [[:boardz:design|Revenir au sommaire de la conception]] - [[:start|Revenir au sommaire général]] | ||