Article Pierre LaFay · Jan 21, 2024 5m read

IRIS 2023.3.0 ASQ

Abstract Set Query, ASQ, est un super ensemble de JSON Path Language (JPL), qui a été introduit pour la première fois par la norme ISO SQL 2016. JPL n'est défini que dans le contexte de SQL. Dans la version 2023.3, nous avons introduit des classes qui implémententent ASQ. Cela fonctionne sur n'importe quelle implémentation de %Library.AbstractSet. La syntaxe complète pour ASQ sera documentée plus tard. Ceci n’est qu’une brève introduction à quelques-unes de ses fonctionnalités. Cette implémentation est également livrée avec un utilitaire intéressant, comme vous le verrez !

0
0 39
Article Pierre LaFay · Jan 20, 2024 8m read

Dans cet article, je passe en revue la classe %JSON.Adaptor.

Cette classe est extrêmement utile pour exporter des données en JSON sérialisé, importer les objets JSON et les enregistrer dans un objet de classe.

Je vais commencer par les paramètres de l'addaptor %JSON. Les paramètres constituent un élément crucial des opérations d’importation et d’exportation JSON.

0
0 104
Article Pierre LaFay · Jan 20, 2024 9m read

Avec l'avènement d'Embedded Python, une myriade de cas d'utilisation sont désormais possibles depuis IRIS, directement en utilisant les librairies Python pour des opérations plus complexes. L'une de ces opérations consiste à utiliser des outils de traitement du langage naturel tels que la comparaison de similarités textuelles.

Configuration de Python intégré pour utiliser la librairie de transformateurs de phrases

0
0 185
Article Guillaume Rongier · Jan 17, 2024 7m read

Bienvenue dans le prochain chapitre de ma série CI/CD, où nous discutons des approches possibles vers le développement de logiciels avec les technologies InterSystems et GitLab. Aujourd'hui, nous reprenons la discussion sur l'interopérabilité, et plus particulièrement sur le suivi de vos déploiements d'interopérabilité. Si vous ne l'avez pas encore fait, configurez Alerte pour toutes vos productions d'interopérabilité afin de recevoir des alertes sur les erreurs et l'état de la production dans son ensemble.

Le paramètre de délais d'inactivité Inactivity Timeout est commun pour tous les hôtes métier d'interopérabilité (Interoperability Business Hosts). Un hôte métier possède le statut Inactif lorsqu'il n'a reçu aucun message pendant le nombre de secondes spécifié dans le champ de délai d'inactivité " Inactivity Timeout ". La fonction de surveillance de la production " Monitor Service " examine périodiquement l'état des services et des opérations métier au sein de la production et marque les éléments comme étant inactifs s'ils n'ont rien fait pendant le délai d'inactivité. La valeur par défaut est 0 (zéro). Si ce paramètre est 0, l'hôte métier ne sera jamais marqué comme Inactif, quelle que soit la durée de son inactivité.

Ce paramètre est extrêmement utile, car il génère des alertes qui, associées aux alertes configurées, permettent de signaler les problèmes de production en temps réel. Le fait que l'élément "Business Host" soit inactif signifie qu'il peut y avoir des problèmes de production, d'intégration ou de connectivité réseau qui nécessitent d'être examinés. Cependant, le Business Host ne peut avoir qu'un seul paramètre constant pour le délai d'inactivité, ce qui peut générer des alertes inutiles pendant les périodes connues de faible trafic : nuits, week-ends, vacances, etc. Dans cet article, je décrirai plusieurs approches pour la mise en œuvre dynamique des délais d'inactivité (Inactivity Timeout). Bien que je fournisse un exemple fonctionnel (qui fonctionne actuellement en production pour l'un de nos clients), cet article est plutôt un guide pour votre propre mise en œuvre dynamique des délais d'inactivité, donc ne considérez pas la solution proposée comme la seule alternative.

0
0 76
Article Iryna Mykhailova · Jan 16, 2024 1m read

Je pense que c'est une façon plutôt intéressante d'installer un webterminal dans un environnement où j'avais accès au Management Portal / VSCode, mais je n'avais pas d'accès au terminal.
zpm était déjà présent. Sinon vous pourriez l'ajouter dans la même classe.

  1. Créez la classe suivante
  2. Compilez. Cela prendra un certain temps, puis vous verrez le résultat de zpm !
  3. Vous pouvez maintenant ouvrir le webterminal en ouvrant http://votre-hôte/terminal/
0
0 98
InterSystems officiel Benjamin De Boe · Jan 15, 2024

InterSystems a le plaisir d'annoncer la disponibilité générale d'InterSystems IRIS Cloud SQL et d'InterSystems IRIS Cloud IntegratedML, deux services fondamentaux pour le développement de solutions cloud natives optimisées par les performances et la fiabilité éprouvées de classe entreprise de la technologie InterSystems IRIS.

0
0 64
Question Cyril Grosjean · Déc 27, 2023

Bonjour,

Je cherche à pouvoir accéder à mes données contenus dans une RecordMap depuis SQLAlchemy, et même à toute table déjà créée auparavant.

Voici une partie de code :

TestBase:

classTestBase(DeclarativeBase):
    CreatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now())
    UpdatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now(), onupdate=func.current_timestamp())

 

Création de l'engine et binding des entités:

3
0 110
Article Pierre LaFay · Jan 13, 2024 3m read

InterSystems FAQ rubric

Les définitions de classe créées par les utilisateurs sont stockées dans des classes de définition de classe. Ils peuvent être utilisés pour obtenir une liste de définitions de classe à partir d'un programme.

Remarque : Les classes de définition de classe font référence à toutes les classes contenues dans le package %Dictionary.

Dans l'exemple de code ci-dessous, une liste de définitions de classe est obtenue à l'aide de la commande query Summary de la  classe %Dictionary.ClassDefinitionQuery.

0
0 76
Article Pierre LaFay · Jan 13, 2024 3m read

Bienvenue à tous!

Dans ce court article, je voudrais présenter un exemple d'utilisation auquel beaucoup d'entre vous qui travaillent avec IRIS comme backend pour vos applications Web ont sûrement été confrontés à plus d'une occasion : comment envoyer un fichier à votre serveur depuis le frontend. .

0
0 61
Article Pierre LaFay · Jan 13, 2024 6m read

Nous revoilà avec un article lié au Mirroring !

Dans l'article précédent, nous avons vu comment configurer un Miroir entre deux instances IRIS, l'une agissant comme un nœud actif et l'autre comme un nœud passif. Ce système de mise en miroir fonctionne sur le transfert d'un fichier journal qui maintient à jour en permanence l'instance qui fonctionne comme un nœud passif, mais que se passe-t-il si, en raison d'un échec de communication ou d'autorisations du fichier journal, celui-ci n'est pas transféré correctement ?

0
0 71
Question Pierre LaFay · Déc 29, 2023

Bonjour,

Notre application doit créer des utilisateurs du système à partir d'un formulaire de demande.

Pour utiliser les classes Security, il est nécessaire de disposer des droits permettant d'utiliser le namespace %SYS, ce qui n'est pas le cas des utilisateurs qui valident les demandes.

Il n'est pas souhaitable que ces utilisateurs aient ce rôle de manière permanente, j'ai donc procédé de la manière suivante :

J'ai créé une classe façade pour les classes Security.Users, Security.Roles, Security.Resources qui me permet de me loguer avec un utilisateur autorisé sur le NS %SYS

2
0 115
Question Pierre LaFay · Jan 12, 2024

Bonjour a tous,

Dans le cadre d'un projet, j'ai mis en place à l'aide de quelques classes objectscript une solution de tests d'integration.

Son principe est basique, les tests sont rassemblés dans des suites elles mêmes incluses dans un fichier par classe ou ensemble de classes testé.

Mon outil m'affiche à l'écran le bon passage des tests et utilise des séquences d'échappement terminal pour mettre en exergue les échecs (écriture en rouge) .

Mon souci est maintenant que j'aimerai obtenir les résultat dans un fichier tcommunicable à mon client.

4
0 50
Article Iryna Mykhailova · Déc 27, 2023 2m read

Avez-vous déjà modifié des fichiers dans VS Code, mais avez-vous dû vérifier une valeur globale ou exécuter quelques commandes ObjectScript ? C’est désormais possible, sans aucune configuration requise ! Si vous disposez de l'extension vscode-objectscript version 2.10.0 ou ultérieure et que vous êtes connecté à InterSystems IRIS 2023.2 ou version ultérieure, vous pouvez ouvrir maintenant une connexion de terminal à votre serveur, quel que soit l'endroit où il se trouve.

Il existe trois manières d'ouvrir ce nouveau terminal :

3
0 250
Article Pierre LaFay · Jan 12, 2024 1m read

Au hasard d'un post sur le terminal Iris j'ai découvert une syntaxe que je souhaite partager avec la communauté :

Dans le shel de la session Iris il est possible d'exécuter une commande "OS" (shell pour linux & mac, CMD pour windows ) en précédant la commande par !.

Par exemple :

USER> ! ls /tmp -lh

Toutes les commandes fonctionnent parfaitement même encapsulées dans un sudo. ci dessous queqlues exemples :

Bien sur si vous êtes sur un serveur distant, les commandes shell s'exécutent sur ce dernier et non en local

2
0 97
Article Pierre LaFay · Jan 10, 2024 5m read

[Introduction]

La famille InterSystems IRIS a un utilitaire intéressant : ^SystemPerformance (aussi connu comme ^pButtons pour Caché et Ensemble) qui génère les informations sur les performances de la base de données dans un fichier HTML lisible. Lorsque vous exécutez ^SystemPerformance sur IRIS pour Windows, un fichier HTML est créé dans lequel notre propre journal de performances mgstat et notre journal de performances Windows sont inclus.

1
0 86
Question Jean-Charles Cano · Jan 5, 2024

Bonjour,

Je fais face à un problème depuis plusieurs mois, j'ai plusieurs flux qui fonctionnent en SFTP avec la classe d'iris EnsLib.FTP.PassthroughService

Le problème est que de temps en temps, j'ai un message d'erreur qui dit : 

"Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée" 

J'ai eu le cas pour un serveur chez nous et nous avons solutionné le problème en rallongeant le paramètre intervalle entre appels à 60 secondes,

7
0 221
Article Pierre LaFay · Jan 7, 2024 1m read

Salut tout le monde,

Quand une publication de la communauté des développeurs n'est pas une publication de la communauté des développeurs ?

Quand il ne s'agit que de quelques phrases enroulées autour d'un lien vers la documentation InterSystems !

Et quelle meilleure façon de terminer 2021 qu’en vous parlant de quelque chose de cool disponible depuis la v2020.3 ? Alors que le ballon tombe à Times Square, détendez-vous avec ceci :

Repeating Previous Commands

Je pense que cela vous apportera de la joie ! Publiez vos alias préférés ci-dessous. Bonne année!

2
0 62
Article Pierre LaFay · Jan 9, 2024 9m read

InterSystems IRIS Document Database (DocDB) offre une approche flexible et dynamique de la gestion des données de base de données. DocDB exploite la puissance de JSON (JavaScript Object Notation), fournissant un environnement sans schéma pour le stockage et la récupération des données.

Il s'agit d'un outil puissant qui permet aux développeurs de contourner une tonne de code standard en interaction avec les applications existantes, la sérialisation, la pagination et l'intégration. le flux transparent de DocDB avec les services et opérations Interoperability Rest constitue un grand pas en avant dans la production et la gestion des API.

pour la documentation complète de DocDB Here. dans le contexte de cet article, je présenterai un cas d'utilisation dans lequel DocDB s'adaptera parfaitement.

0
1 123
Article Pierre LaFay · Jan 9, 2024 3m read

Bonjour la communauté,

Lors de l'utilisation d'un Business Service de type SQL, il peut arriver que nous ayons besoin de rejouer certaines lignes de la table source.

Prenons comme exemple le Service Métier "from customer SQL" utilisant la classe générique

EnsLib.SQL.Service.GenericService

Différents cas se présentent, selon les paramètres utilisés sur ce Business Service

Premier cas :

Si le Business Service utilise uniquement KeyFieldName

0
0 44
Article Pierre LaFay · Jan 9, 2024 2m read

Salut les développeurs !

Comme vous le savez, InterSystems IRIS, outre les modèles de données globaux, objets, documents et XML, prend également en charge le relationnel où SQL est attendu comme langage pour traiter les données.

Et comme dans d'autres SGBD relationnels, InterSystems, IRIS a son propre dialecte.

Je commence cet article pour prendre en charge une aide-mémoire SQL et vous invite à partager vos favoris. Je mettrai à jour le contenu lors des commentaires entrants.

On y va!

0
1 58
Article Pierre LaFay · Jan 9, 2024 1m read

AnalyzeThis est un outil permettant d'obtenir un aperçu personnalisé de vos propres données dans InterSystems BI. Cela vous permet d'acquérir une expérience directe d'InterSystems BI et de comprendre la puissance et la valeur qu'elle peut apporter à votre organisation. En plus d'obtenir un aperçu personnalisé d'InterSystems BI grâce à l'importation d'un fichier CSV avec vos données, les classes et les requêtes SQL sont désormais prises en charge comme sources de données dans la v1.1.0 !

0
0 53
Question Sylvain Guilbaud · Août 23, 2023

Est-il prévu que LOAD DATA prenne en compte plusieurs formats de DATE/DATETIME avec, par exemple un paramètre de indiquant le format utilisé dans les données sources ?

exemple :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
3
0 93