Article Iryna Mykhailova · Juin 27, 2024 6m read

Introduction

Dans les prochaines semaines, mes collègues prévoient de commencer à utiliser VSCode pour coder avec les produits d'InterSystems. Parmi les nombreux avantages, je soulignerais la possibilité de se connecter facilement à d'autres technologies, telles que GitHub. En outre, VSCode propose également une vaste boutique d'extensions, où vous pouvez trouver de nombreux add-ons gratuits qui rendent le codage plus rapide et plus efficace. Enfin, pour conquérir le cœur de tous les développeurs, c'est open source.

Cela étant dit, commençons le tutoriel.

0
0 215
Article Iryna Mykhailova · Juin 17, 2024 2m read

FAQ InterSystems

Vous pouvez utiliser la classe %IndexBuilder pour effectuer une reconstruction d'index à l'aide de plusieurs processus. L'exemple suivant a pour but de définir l'index standard HomeStateIdx pour la colonne Home_State (informations d'état de l'adresse de contact) de Sample.Person.

Les étapes sont les suivantes:

1. Masquez le nom de l'index à ajouter/reconstruire à partir de l'optimiseur de requêtes.

>write$system

2.

0
0 75
Article Iryna Mykhailova · Juin 5, 2024 3m read

Le stockage en colonnes est l'une des offres les plus récentes proposées par InterSystems IRIS.Contrairement au stockage traditionnel basé sur les lignes, il optimise le traitement des requêtes en stockant les données dans des colonnes plutôt que dans des lignes, permettant ainsi un accès et une récupération plus rapides des informations pertinentes.

Quelques articles ont été rédigés sur les moments il doit être utilisé pour donner le plus grand coup de pouce à un système et sur la façon de créer des tables comme celle-ci à l'aide de SQL.

CREATE TABLE table (column1 type1, column2 type2, column3 type3) WITH STORAGETYPE = COLUMNAR  -- ex 1
CREATE TABLE table (column1 type1, column2 type2, column3 type3 WITH STORAGETYPE = COLUMNAR)  -- ex 2

et même les tests de performances.

Comme nous le savons tous, InterSystems IRIS est un SGBD multimodèle et il donne un accès transparent aux mêmes données en utilisant un accès relationnel et objet. Le premier est donc couvert dans d’autres articles, mais qu’en est-il du dernier?

0
0 89
Article Iryna Mykhailova · Mai 29, 2024 4m read

Lorsque nous utilisons InterSystems IRIS comme moteur d'interopérabilité, nous savons et aimons tous à quel point il est facile d'utiliser le Message Viewer pour examiner les traces des messages et voir exactement ce qui se passe dans votre production. Lorsqu’un système traite des millions de messages par jour, vous ne savez peut-être pas exactement par où commencer votre enquête.

Au cours de mes années de soutien aux productions IRIS, je me retrouve souvent à enquêter sur des choses comme...

  • Quel type de throughput ce flux de travail a-t-il ?
0
0 61
Article Iryna Mykhailova · Mai 13, 2024 1m read

Dans Studio, vous pouviez ouvrir une classe directement par son nom, sans avoir à parcourir l'arborescence du paquetage par de multiples clics jusqu'à ce que vous arriviez à la classe souhaitée.

Vous pouvez faire Ctrl + O ou (File -> Open) et taper simplement le nom de la classe, par exemple :

Appuyez sur la touche "Enter" et la classe est ouverte.

Comment y parvenir en VSCode ?

0
0 227
Article Iryna Mykhailova · Mai 6, 2024 4m read

Salutations à toutes et à tous,

Faut-il connecter votre VSCode à un serveur d'InterSystems ?

Connaissez-vous déjè de cette option ?

Puisque beaucoup de gens commencent à utiliser VSCode comme IDE pour nos produits, j'ai pensé qu'il pourrait être bénéfique de fournir quelques petits trucs et astuces pour les aider à démarrer et à devenir plus productifs. C'est pourquoi je lance cette série de petits articles.

Quelques éclaircissements importants :

1.

0
0 104
Article Iryna Mykhailova · Avr 29, 2024 12m read

Le défi du Lo-Code

Imaginons la scène.  Vous travaillez tranquillement au sein de Widgets Direct, le premier détaillant de Widgets et d'accessoires pour Widgets sur Internet.   Votre patron vous annonce une nouvelle désastreuse : certains clients ne sont peut-être pas satisfaits de leurs widgets et nous avons besoin d'une application d'assistance pour assurer le suivi de ces réclamations.   Pour rendre les choses plus intéressantes, il veut que cette application ait une très faible empreinte de code et vous demande de livrer une application en moins de 150 lignes de code à l'aide d'InterSystems IRIS.  Est-ce possible?

Avertissement : cet article présente la construction d'une application très basique et omet, par souci de concision, des éléments de détail tels que la Sécurité et la Gestion des erreurs.   Cette application ne doit être utilisée qu'à titre de référence ni pour une application de production.  Cet article utilise IRIS 2023.1 comme plate-forme de données, certaines fonctionnalités décrites ne sont pas disponibles dans les versions antérieures

Étape 1 – Définition d'un modèle de données

Nous commençons par définir un nouvel espace de noms propre - avec une base de données de codes et de données. Bien que tout soit regroupé dans une seule base de données, il est utile de diviser ces bases pour permettre l'actualisation des données.

1
0 124
Article Iryna Mykhailova · Avr 29, 2024 10m read

Salut la Communauté !

Dans cet article, nous présentons un aperçu de SQLAlchemy, alors commençons !

SQLAlchemy est une boîte à outils Python SQL qui sert de pont entre votre code Python et le système de base de données relationnelle de votre choix. Créée par Michael Bayer, elle est actuellement disponible en tant que bibliothèque open-source sous la licence MIT. SQLAlchemy prend en charge un large éventail de systèmes de bases de données, notamment PostgreSQL, MySQL, SQLite, Oracle et Microsoft SQL Server, ce qui la rend polyvalente et adaptable aux différentes exigences des projets.

Les outils SQLAlchemy SQL Toolkit et Object Relational Mapper (mappeur objet-relationnel) constituent un jeu complet d'outils pour travailler avec des bases de données et Python. Il comporte plusieurs domaines distincts de fonctionnalité que vous pouvez utiliser individuellement ou dans des combinaisons diverses. Les principaux composants sont illustrés ci-dessous, les dépendances des composants étant organisées en couches :

_images/sqla_arch_small.png

0
0 403
Article Iryna Mykhailova · Avr 22, 2024 3m read

Dans les versions récentes d'IRIS, une nouvelle commande puissante de chargement de données a été introduite dans SQL : LOAD DATA. Cette fonctionnalité a été hautement optimisée pour importer des données dans IRIS de manière extrêmement rapide, permettant d'insérer des centaines de gigaoctets de données en quelques secondes au lieu d'heures ou de jours.

Il s’agit d’une amélioration très intéressante. Cependant, un gros problème persiste lors du chargement des données.

0
0 75
Article Iryna Mykhailova · Avr 17, 2024 2m read

Bonjour - Récemment, j'ai enquêté sur une situation ennuyeuse lors de l'édition de classes ou de routines ObjectScript dans VSCode.

Ce qui m'arrivait, lorsque je tapais des lignes de code dans ma classe (par exemple, en ajoutant une nouvelle méthode, ou en modifiant la signature de la classe, ou un bloc de code), la syntaxe était rapidement vérifiée, reformatée et compilé - inévitablement (puisque je serais à mi-chemin de ma saisie), cela générerait des erreurs de compilation.

0
0 349
Article Iryna Mykhailova · Avr 15, 2024 7m read

Dans la partie II, vous apprendrez à exécuter n'importe quel fichier de rapport Jasper (fichier jrxml) conçu sur Jasper Studio à partir d'InterSystems IRIS. Nous allons créer une API REST pour renvoyer un rapport traité au format PDF.

Le fichier jrxml

Dans la partie I, nous avons conçu le rapport suivant :

1. Tout d'abord, renommez le rapport de Blank_A4.jrxml en sample.jrxml (onglet Explorateur de projet > Faites un clic droit sur le fichier > Renommer):

Le fichier renommé s'affiche :

2. Faites un clic droit sur le fichier sample.jrxml > Propriétés et visualisez l'emplacement du fichier :

3.

0
1 69
Article Iryna Mykhailova · Avr 8, 2024 3m read

InterSystems IRIS fournit un environnement de développement d'applications complet pour créer des applications sophistiquées à forte intensité de données et d'analyses qui connectent les silos de données et d'applications. Il est conçu pour fonctionner avec toutes les technologies de développement courantes de manière ouverte et basée sur des normes et prend en charge la programmation côté serveur et côté client.

InterSystems IRIS prend en charge le développement d'applications côté serveur avec Python et InterSystems ObjectScript.

0
0 93
Article Iryna Mykhailova · Avr 6, 2024 2m read

Rubrique FAQ InterSystems

La page de gestion de Web/CSP Gateway est généralement configurée de manière à ne pas être accessible à partir des machines clientes.

Pour y accéder depuis n'importe quel client, procédez comme suit :

  1. Lancez un navigateur à partir d'un système ayant accès à la page de gestion de Web/CSP Gateway et accédez au Management Portal.
  2. Sous Management Portal > System Administration > Configuration > cliquez sur CSP Gateway Management.
  3. Cliquez sur Default Parameters qui apparaissent dans le volet gauche de la page qui apparaît.
  4. Entrez *.*.*.
0
0 118
Article Iryna Mykhailova · Avr 3, 2024 2m read

Rubrique FAQ InterSystems

Ici, nous présenterons un exemple de code pour l'enregistrement et le référencement des plannings de tâches.

①Exemple d'enregistrement du calendrier des tâches

*Créez une tâche à exécuter do ^TEST tous les jours à 1h00.

 set task=##class(%SYS.Task).%New()
 set task.Name="MyTask1"
 set taskDescription="Execute ^xxx every day at 1:00 AM" // Optional
 set task.NameSpace="USER"
 set task.TimePeriod=0
 set task.DailyFrequency=0
 set task.DailyFrequencyTime=""
 set task.DailyIncrement=""
 set task.DailyStartTime=$ZTimeh("01:00:00")
 set task.DailyEndTime=""
 set task.TaskClass="%SYS.
0
0 102
Article Iryna Mykhailova · Avr 1, 2024 5m read

Préparez une application d'échantillon (Sample)


1. Pour ce tutoriel, nous utiliserons le modèle iris-rest-api-template: https://openexchange.intersystems.com/package/iris-rest-api-template, en ajoutant du code pour installer un support de JIRISReport. Procédez comme suit :
2. Clonez le projet dans un dossier local :

$ git clonehttps://github.com/intersystems-community/iris-rest-api-template.git

3. Modifiez le fichier Dockerfile avec le contenu suivant :

ARG2020.30.221

USER

RUNechotrueRUN apt-get update && \


0
0 78
Article Iryna Mykhailova · Mars 25, 2024 4m read

Ce que je trouve vraiment utile à propos d'IRIS lorsque j'enseigne mon sujet des bases de données postrelationnelles, c'est le fait qu'il s'agit d'une base de données multi-modèles. Ce qui signifie que je peux aborder l'architecture et la structure et tout cela une seule fois, mais ensuite montrer l'utilisation de différents modèles (comme l'objet, le document, la hiérarchie) en utilisant le même langage et la même approche. Et ce n'est pas un grand pas de passer d'un langage de programmation orienté objet (comme C#, Java, etc.) à une base de données orientée objet.

Cependant, aux avantages (qui sont nombreux) s'ajoutent certains inconvénients quand on passe du modèle orienté objet au modèle relationnel. Lorsque je dis que vous pouvez accéder aux mêmes données en utilisant différents modèles, je dois également expliquer comment il est possible de travailler avec des listes et des arrays à partir d'un modèle objet dans une table relationnelle. Avec les arrays, c'est très simple : par défaut, ils sont représentés sous forme de tableaux séparés et c'est tout. Avec les listes, c'est plus difficile car par défaut c'est une $lb. Mais on veut quand même faire quelque chose sans endommager la structure et sans rendre cette liste illisible dans le modèle objet.

Ainsi, dans cet article, je présenterai quelques prédicats et une fonction qui sont utiles lorsque vous travaillez avec des listes, et pas seulement en tant que champs.

0
0 301
Article Iryna Mykhailova · Mars 19, 2024 3m read

Récemment, la question s'est posée en discutant avec mes étudiants de l'accès aux données stockées dans IRIS depuis différentes langues : s'il était possible d'initier la connexion et d'obtenir les données de la solution Cloud (InterSystems IRIS CloudSQL) à partir de Microsoft Excel, et non l'inverse. Compte tenu des nombreuses façons différentes d'obtenir des données dans Excel (importation de données à partir de sources externes, connexion à des bases de données à l'aide de pilotes ODBC, utilisation de requêtes avancées et de requêtes Web, etc.), le choix évident était d'essayer le pilote ODBC. La seule tâche qui restait était d'essayer de se connecter à la base de données dans le cloud à l'aide du pilote ODBC.

0
0 97
Article Iryna Mykhailova · Mars 12, 2024 6m read

Nous savons tous qu'il est crucial de disposer d'un ensemble de données de test appropriées avant de déployer une application en production pour garantir sa fiabilité et ses performances. Il permet de simuler des scénarios du monde réel et d'identifier les problèmes ou bugs potentiels avant qu'ils n'impactent les utilisateurs finaux. De plus, les tests avec des ensembles de données représentatifs permettent d’optimiser les performances, d’identifier les goulots d’étranglement et d’affiner les algorithmes ou les processus selon les besoins. En fin de compte, disposer d’un ensemble complet de données de test permet de fournir un produit de meilleure qualité, réduisant ainsi le risque de problèmes de post-production et améliorant l’expérience utilisateur globale.

Dans cet article, voyons comment utiliser l'IA générative, par example Gemini de Google, pour générer des données significatives sur les propriétés de plusieurs objets. Pour ce faire, j'utiliserai le service RESTful pour générer des données au format JSON puis j'utiliserai les données reçues pour créer des objets.

0
0 150
Article Iryna Mykhailova · Mars 7, 2024 8m read

Pourquoi connecter Flask à InterSystems IRIS ?

    La première chose qui nous vient à l'esprit lorsque nous envisageons de coupler Flask avec IRIS est un portail permettant d'interagir avec vos clients et partenaires. Un site web où les patients peuvent accéder à leurs examens cliniques en est un bon exemple. Bien entendu, ce cas nécessiterait une toute nouvelle couche de sécurité, que nous n'avons pas abordée dans notre dernier article. Cependant, nous pouvons l'ajouter sans effort avec Werkzeug, par exemple.

0
0 97
Article Iryna Mykhailova · Mars 4, 2024 24m read

Index

Partie 1

  • Présentation de Flask : une revue rapide des documents de Flask (Flask Docs), où vous trouverez toutes les informations dont vous avez besoin pour ce tutoriel;
  • Connexion à InterSystems IRIS : un guide détaillé étape par étape sur l'utilisation de SQLAlchemy pour se connecter à une instance d'IRIS;

Partie 2

  • Discussion sur cette forme de mise en œuvre : pourquoi nous devrions l'utiliser et les situations où elle est applicable.
0
0 515
Article Iryna Mykhailova · Fév 27, 2024 4m read

Salut les gars,

Il y a quelques jours, un client m'a contacté avec le souhait d'améliorer son application existante, qui utilise les services SOAP afin de partager la même autorisation avec sa nouvelle API d'application basée sur REST. Comme leur nouvelle application utilise OAuth2, le défi était clair : comment transmettre le token d'accès avec la requête SOAP au serveur.

Après avoir passé du temps sur Google, il s'est avéré que l'un des moyens possibles d'y parvenir consistait à ajouter un élément d'en-tête supplémentaire à l'enveloppe SOAP, puis à s'assurer que l'implémentation du WebService fait ce qui est nécessaire pour valider le jeton d'accèsю

0
0 181
Annonce Iryna Mykhailova · Fév 26, 2024

J'ai récemment réalisé que cela faisait bien trop longtemps que je n'avais pas parlé des dernières fonctionnalités de l'extension InterSystems ObjectScript pour Visual Studio Code.

J'ai le plaisir d'annoncer la version 2.12.1 de l'extension ObjectScript, contenant un certain nombre d'améliorations qui facilitent la vie des développeurs. Certains points forts sont décrits ci-dessous, y compris la fonctionnalité n°1 demandée par Global Summit : l'importation XML !

0
0 130
Article Iryna Mykhailova · Jan 23, 2024 2m read

Saviez-vous que vous pouvez obtenir des données JSON directement à partir de vos tables SQL ?

Permettez-moi de vous présenter 2 fonctions SQL utiles utilisées pour récupérer des données JSON à partir de requêtes SQL : JSON_ARRAY et JSON_OBJECT.
Vous pouvez utiliser ces fonctions dans l'instruction SELECT avec d'autres types d'éléments de sélection, et elles peuvent être spécifiées à d'autres emplacements où une fonction SQL peut être utilisée, comme dans une clause WHERE.

La fonction JSON_ARRAY prend une liste d'expressions séparées par des virgules et renvoie un array JSON contenant ces valeurs.

0
0 259
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/
ClassExtends%RegisteredObject
0
0 103
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.

3
0 279
Article Iryna Mykhailova · Nov 13, 2023 6m read

Dans l'article précédent, nous avons vu comment récupérer une ressource stockée dans la base de données de notre HIS particulier, nous allons donc voir aujourd'hui comment ajouter de nouveaux dossiers dans notre HIS dont l'origine est une ressource FHIR reçue dans notre système.

Les opérations CRUD avec FHIR

Une des fonctionnalités principales de FHIR est son support pour les opérations CRUD à travers l'API Rest, ce qui implique que tout système qui fonctionne avec FHIR soit capable de supporter les appels HTTP de type GET, POST, PUT et DELETE.

0
0 65
Article Iryna Mykhailova · Nov 6, 2023 11m read

Nous poursuivons notre série d'articles sur l'outil FHIR Adapter (adaptateur FHIR) disponible pour les utilisateurs de HealthShare HealthConnect et d'InterSystems IRIS.

Dans les articles précédents, nous avons présenté la petite application avec laquelle nous avons configuré notre atelier et montré l'architecture déployée dans notre instance IRIS après l'installation de l'adaptateur FHIR Adapter.

0
1 88