L'IDE du runtime

Workbench

Construisez, déboguez et optimisez vos applications depuis le système en cours d'exécution, dans un IDE web offrant un accès direct aux données temps réel, aux composants et à la logique.

Rôle dans le maillage

Construire et déboguer au cœur du système en cours d'exécution

Les IDE externes conviennent aux projets structurés et à la gestion de versions. Mais une grande partie du travail commence au plus près du système en cours d'exécution :

  • Inspecter un flux ou explorer un schéma
  • Tester une requête ou vérifier une transformation
  • Comprendre pourquoi un événement n'a pas produit le résultat attendu

Le Workbench est l'IDE web intégré à AmiCore précisément pour ce travail, avec un accès direct aux données temps réel, aux composants et à la logique de l'environnement courant, dans la limite des droits d'accès de chaque utilisateur.

Il révèle ce qu'aucun éditeur externe ne peut montrer : l'état en direct, l'exécution au moment où elle se produit, et la manière dont chaque procédure interagit avec l'application qui l'entoure.

Le Workbench, l'IDE web d'AmiCore, réunissant AmiScript, collaboration et dépannage dans une seule fenêtre
Exploration des données, AmiScript et objets propres à l'application, dans la fenêtre même où l'application s'exécute.

Capacités

Une boîte à outils complète, dans le navigateur

Data Modeler

Concevez visuellement la manière dont les données sont consultées, transformées et livrées à une application.

  • Connectez bases de données, fichiers et flux temps réel
  • Filtrez, joignez, agrégez et combinez avec SQL et AmiScript pour obtenir des datamodels réutilisables
  • Modifiez les données derrière chaque composant de tableau de bord, datamodels temps réel compris

Bien plus qu'une représentation de la base : il définit le traitement en direct qui transforme les données sources en chacun des tableaux, graphiques et formulaires présentés aux utilisateurs.

Le Data Modeler, une interface de type assistant pour les datamodels derrière chaque composant de tableau de bord
Le Data Modeler, où les données sources deviennent les datamodels que lit une application.

Debugger

Déboguez votre code AmiScript là où vous l'écrivez.

  • Points d'arrêt sur n'importe quelle ligne, avec variables et pile d'appels à chaque arrêt
  • Callbacks testés sur une instance connectée, avec des données réelles ou de test plutôt qu'une reproduction
  • Les modifications exploratoires restent temporaires jusqu'à leur enregistrement explicite
Le débogueur intégré en pause sur un point d'arrêt dans AmiScript, avec le panneau Debugger affichant les variables
Le débogueur intégré, avec des points d'arrêt sur des lignes AmiScript.

Database Shell

Commandes de base de données et du système d'exploitation dans un même shell, dans le navigateur.

  • Interrogez, configurez et administrez le Center en AMI SQL, un dialecte familier proche de MySQL
  • SHOW liste les objets en cours d'exécution, DESCRIBE renvoie le SQL permettant de recréer chacun d'eux, DIAGNOSE fournit des détails opérationnels comme la mémoire des tables
  • Commandes shell via SSH, avec capture de stdout, stderr et du code de sortie
Le Database Shell et l'interface de commandes SSH, dans la même fenêtre de navigateur que l'application
Commandes de base de données et shell, depuis la fenêtre de navigateur où s'exécute l'application.

Merge Tool

Fusionnez en toute sécurité les modifications de layout de plusieurs développeurs.

  • Des modifications lues dans le contexte de la structure de l'application
  • Présentées sous forme d'arborescence navigable
  • Des conflits localisés sur l'élément précis modifié deux fois
Modifications de layout de plusieurs développeurs fusionnées dans le Merge Tool
Le Merge Tool, qui réconcilie les modifications de plusieurs développeurs sur un même layout.

F1 Console

Administrez et diagnostiquez une instance AMI Web en cours d'exécution.

  • Utilisateurs, sessions et layouts actifs, et ce que chacun consomme
  • Fermez des sessions et gérez les sessions headless
  • Exécutez de l'AmiScript dans la session de votre choix
La F1 Console, affichant les utilisateurs, sessions et layouts d'une instance AMI Web en cours d'exécution

Là où cela compte

Aux côtés du processus d'ingénierie, pas à sa place

Le Workbench complète la gestion de versions et votre cycle de développement logiciel sans les remplacer. Il couvre directement la plateforme, tandis que des éditeurs comme Visual Studio Code s'y connectent via des plugins dédiés. Pour cette approche, voir AmiScript et le 3forge Plugin.

  • Une intégration continue qui s'inscrit dans vos workflows DevOps existants
  • Identique dans tous les navigateurs modernes, avec les mêmes fonctionnalités et le même rendu
  • Indépendant du terminal : ce que vous construisez s'adapte pleinement aux ordinateurs, tablettes et mobiles

Conçu pour passer à l'échelle

Custom Methods

Définissez une logique une seule fois et appelez-la depuis n'importe quel point d'un layout : callbacks, boutons, formulaires, datamodels, composants visuels et gestionnaires d'événements.

  • Une seule définition pour chaque règle métier, format, validation ou contrôle de droits d'accès
  • Un seul endroit où la modifier, au lieu de chaque panneau et script qui en dépend
  • Un AmiScript plus lisible, et des layouts qui se comportent comme des applications bien structurées
Exemple de déclaration de Custom Methods
Trois méthodes dans un même bloc : sum() pour deux entiers, une surcharge de sum() pour deux doubles, et flatten() pour une liste.

Aide intégrée

Une aide contextuelle intégrée au flux de développement

L'aide apparaît au fil de la saisie, et non dans une référence séparée, pour Java, Python, SQL et les constructions propres à la finance de 3forge, dans la même session.

  • Paramètres, types, valeurs de retour et modes d'emploi, affichés sur place
  • Alimentée par le modèle même qui exécute la logique, elle correspond donc toujours exactement à l'environnement
  • Nul besoin de s'interrompre pour chercher dans la documentation
Aide contextuelle intégrée dans le Workbench de 3forge
Gestion des performances

Gestion des performances à grande échelle

Observez l'exécution en temps réel, repérez vite les goulets d'étranglement et corrigez-les avant que les utilisateurs ou les workflows aval ne s'en ressentent. La visibilité sur les performances est une capacité de premier plan, en conditions réelles d'exploitation.

Instrumentation d'exécution approfondie

Exécution, accès aux données, latence et débit sont instrumentés de bout en bout. L'analyse des threads en flame graph montre précisément où passe le temps, pour repérer et corriger les chemins lents avec précision.

Visualiseur de journaux avancé

Des visualisations dédiées transforment les journaux applicatifs en une image claire de l'allocation, de la consommation et de la marge mémoire de la JVM, avec des observations générées pour guider l'analyse.

Analyse de latence de bout en bout

Une latence corrélée depuis l'horodatage des événements jusqu'à chaque étape de traitement, dans des layouts en direct qui font ressortir tendances, valeurs aberrantes et dérives.

Attribution des ressources par session

L'utilisation des ressources au sein d'une même JVM, attribuée à chaque utilisateur et application : repérez les déséquilibres, protégez les utilisateurs critiques et identifiez ce qui génère la charge à mesure que vous passez à l'échelle.

Suivez pratiquement tous les aspects du moteur, des messages de journal et des threads aux déclencheurs, à l'équilibrage de charge et à la mémoire. Ci-dessous : LogViewer.

Flux de messages de journal

Flux de messages de journal

Activité des threads

Activité des threads

Chronologie des événements déclencheurs

Chronologie des événements déclencheurs

Équilibrage de charge

Équilibrage de charge

Allocation mémoire JVM

Allocation mémoire JVM

Métriques de traitement des files d'attente

Métriques de traitement des files d'attente

Poursuivre la lecture

Le Workbench, c'est là que le travail se fait. AmiScript, c'est ce qui s'y écrit.

Un seul langage pour les données, la logique, les workflows et la présentation.