Ajout de VSCode dans votre conteneur IRIS

L'une des façons les plus simples de mettre en place des environnements de développement reproductibles est de créer des conteneurs pour ces environnements. Je trouve que lors d'itérations rapides, il est très pratique d'héberger une instance de vscode dans mon conteneur de développement. Ainsi, j'ai créé un rapide script de conteneur pour ajouter un vscode basé sur un navigateur dans un conteneur IRIS. Cela devrait fonctionner pour la plupart des conteneurs 2021.1+. Mon référentiel de code est disponible ici

0 0
0 808

Iris-python-template

Projet modèle avec divers codes Python à utiliser pour InterSystems IRIS Community Edition avec conteneur.

Caractéristiques :

  • Notebooks
  • Noyau Python intégré
    • Noyau ObjectScript
    • Noyau Vanilla Python
  • Python intégré
  • Code exemplaire
    • Démonstration de Flask
  • API natives Python d'IRIS
  • Code exemplaire

Diagram

1 0
0 541

Pour parler des différentes bases de données et des différents modèles de données qu'ils existent, on doit premièrement comprendre ce qui est une base de données et comment les utiliser.

Une base de données est une collection organisée de données stockées et accessibles par voie électronique. Elle permet de stocker et de retrouver des données structurées, semi-structurées ou des données brutes souvent en rapport avec un thème ou une activité.

Au cœur de chaque base de données se trouve au moins un modèle utilisé pour décrire ses données. Et selon le modèle sur lequel elle est basée, elle peut avoir des caractéristiques un peu différentes et stocker différents types de données.

Pour inscrire, retrouver, modifier, trier, transformer ou imprimer les informations de la base de données on utilise un logiciel qui s’appelle système de gestion de base de données (SGBD, en anglais DBMS pour Database management system).

La taille, les capacités et les performances des bases de données et de leurs SGBD respectifs ont augmenté de plusieurs ordres de grandeur. Ces augmentations de performances ont été rendues possibles par les progrès technologiques dans différents domaines, tels que les domaines des processeurs, de la mémoire informatique, du stockage informatique et des réseaux informatiques. Le développement ultérieur de la technologie des bases de données peut être divisé en quatre générations basées sur le modèle ou la structure des données : navigation, relationnel, objet et post-relationnel.

5 2
0 122

Introduction

Dans le premier article de cette série, nous examinerons le modèle entité-attribut-valeur (EAV) dans les bases de données relationnelles pour voir comment il est utilisé et à quoi il sert. Ensuite, nous comparerons les concepts du modèle EAV aux globales.

2 0
0 85

Un système de stockage global d'aspect plus industriel

Dans le premier article de cette série, nous avons étudié le modèle entité-attribut-valeur (EAV) dans les bases de données relationnelles, et nous avons examiné les avantages et les inconvénients du stockage de ces entités, attributs et valeurs dans des tables. Nous avons appris que, malgré les avantages de cette approche en termes de flexibilité, elle présente de réels inconvénients, notamment une inadéquation fondamentale entre la structure logique des données et leur stockage physique, qui entraîne diverses difficultés.

Pour résoudre ces problèmes, nous avons décidé de voir si l'utilisation de globales - qui sont optimisées pour le stockage d'informations hiérarchiques - serait efficace pour les tâches que l'approche EAV traite habituellement.

Dans la Partie 1, nous avons créé un catalogue pour une boutique en ligne, d'abord en utilisant des tables, puis en utilisant une seule globale. Maintenant, essayons d'implémenter la même structure pour quelques globales.

Dans la première globale, ^catalog, nous allons stocker la structure du répertoire. Dans la deuxième globale, ^good, nous allons stocker les marchandises. Et dans la globale ^index, nous allons stocker les index. Puisque nos propriétés sont liées à un catalogue hiérarchique, nous ne créerons pas de globale séparée pour elles.

Avec cette approche, pour chaque entité (à l'exception des propriétés), nous avons une globale séparée, ce qui est bon du point de vue de la logique. Voici la structure du catalogue global :

2 0
0 74
Article
Iryna Mykhailova · Mai 5, 2022 13m de lecture
CheatSheet pour travailler avec les globales

Quand on travaille avec les globales, on voit qu’il n’y a pas mantes fonction en ObjectScript (COS) à utiliser. C’est aussi le cas avec Python et Java. Toutefois, toutes ses fonctions sont indispensables quand on travaille directement avec les données sans utilisation des objets, des documents ou des tables.

1 0
0 69
Article
Lorenzo Scalese · Juin 13, 2022 19m de lecture
Quatre API pour les bases de données

Une session concurrente dans IRIS : SQL, Objects, REST, et GraphQL

Kazimir Malevitch, "Athlètes" (1932)

"Mais bien sûr, vous ne comprenez pas ! Comment celui qui a toujours voyagé en calèche peut-il comprendre les sentiments et les impressions du voyageur en express ou du pilote dans les airs ?"

Kazimir Malevich (1916)

Introduction

Nous avons déjà abordé le sujet des raisons pour lesquelles la représentation objet/type est préférable à SQL pour la mise en œuvre des modèles de domaine. Et ces conclusions et ces faits sont aussi vrais aujourd'hui qu'ils l'ont toujours été. Alors pourquoi devrions-nous faire un pas en arrière et discuter des technologies qui ramènent les abstractions au niveau global, où elles se trouvaient à l'ère pré-objet et pré-type ? Et pourquoi devrions-nous encourager l'utilisation d'un code spaghetti, qui donne lieu à des bogues difficiles à repérer et qui ne repose que sur les compétences virtuoses des développeurs ?

Plusieurs arguments sont favorables à la transmission de données via des API basées sur SQL/REST/GraphQL plutôt qu'à leur représentation sous forme de types/objects:

0 0
0 61

Dans cet article, je vais vous montrer comment vous pouvez facilement conteneuriser les passerelles .Net/Java.

Pour notre exemple, nous allons développer une intégration avec Apache Kafka.

Et pour interopérer avec le code Java/.Net, nous utiliserons PEX.

Architecture

Notre solution fonctionnera entièrement dans docker et ressemblera à ceci :

1 0
0 59

Docker 20.10.14 (publié le 23 mars 2022) modifie les capacités Linux accordées aux conteneurs d'une manière incompatible avec le vérificateur de capacités Linux dans les conteneurs InterSystems IRIS 2021.1 (et versions ultérieures).

Les utilisateurs exécutant Docker 20.10.14 sous Linux constateront que les conteneurs IRIS 2021.1+ ne démarreront pas et les journaux signaleront à tort que les fonctionnalités Linux requises sont manquantes. Par example :

3 2
0 57

Lorsque je décris InterSystems IRIS à des personnes plus orientées vers la technique, je commence toujours par dire qu'il s'agit d'un DBMS (système de gestion de base de données) multi-modèle.

À mon avis, c'est son principal avantage (du côté du DBMS). Et les données ne sont stockées qu'une seule fois. Vous choisissez simplement l'API d'accès que vous voulez utiliser.

0 0
0 57
Article
Guillaume Rongier · Mars 16, 2022 21m de lecture
Formation Ensemble / Interoperability

Cette formation s'adresse aux débutants qui souhaitent découvrir le framework IRIS Interoperability. Nous utiliserons Docker et VSCode.

GitHub : https://github.com/grongierisc/formation-template

1. Formation Ensemble / Interoperability

Le but de cette formation est d'apprendre le cadre d'interopérabilité d'InterSystems, et en particulier l'utilisation de :
* Productions
* Messages
* Opérations commerciales
* Adaptateurs
* Processus métier
* Services commerciaux
* Services et opérations REST

2 0
0 52

Une question a été posée dans la communauté des développeurs d'InterSystems concernant la possibilité de créer une interface TWAIN pour une application Caché. Il y a eu plusieurs suggestions intéressantes sur la façon d'obtenir des données d'un périphérique d'acquisition d'images sur un client Web vers un serveur, puis de stocker ces données dans une base de données

Toutefois, pour mettre en œuvre l'une de ces suggestions, vous devez être en mesure de transférer des données d'un client Web vers un serveur de base de données et de stocker les données reçues dans une propriété de classe (ou une cellule de tableau, comme c'était le cas dans la question). Cette technique peut être utile non seulement pour transférer des données d'images provenant d'un périphérique TWAIN, mais aussi pour d'autres tâches telles que l'organisation d'une archive de fichiers, d'un partage d'images, etc.

Ainsi, l'objectif principal de cet article est de montrer comment écrire un service RESTful pour obtenir des données du corps d'une commande HTTP POST, soit à l'état brut, soit enveloppées dans une structure JSON.

1 0
0 50

Comment rechercher une globale contenant un string spécifique ?

Vous pouvez afficher les globales dans le Management Portal et effectuer une recherche avec Ctrl + F, mais les grandes globales peuvent prendre du temps et être difficiles à afficher.

Bien sûr, vous pouvez effectuer une boucle en utilisant les fonctions $ORDER et $QUERY pour trouver la chaîne.

Mais il existe un moyen plus simple et plus pratique.

1 0
0 46

Les globales, ces épées magiques destinées à stocker des données, existent depuis un certain temps, mais peu de gens savent les utiliser efficacement ou connaissent cette super-arme.

Si vous utilisez les globales pour des tâches où ils sont vraiment utiles, les résultats peuvent être étonnants, que ce soit en termes d'amélioration des performances ou de simplification spectaculaire de la solution globale (1, 2).

3 0
0 44

Historique

Version Date Changements
V1 2022-02-08 Version initiale
V1.1 2022-04-06 Génération de certificats avec le fichier sh au lieu de pki-script
Utilisation de variables d'environnement dans des fichiers de configuration

Salut, communauté,

Avez-vous déjà mis en place un environnement miroir ? Dispose-t-il d'un réseau privé, d'une adresse IP virtuelle et d'une configuration SSL ?
Après avoir fait cela plusieurs fois, je me suis rendu compte que c'est long, et qu'il y a beaucoup d'actions manuelles nécessaires pour générer des certificats et configurer chaque instance IRIS.
C'est une vraie casse-tête pour les personnes qui ont souvent à le faire.

Par exemple, une équipe d'assurance qualité peut avoir besoin de créer un nouvel environnement pour chaque nouvelle version d'application à tester. L'équipe de support peut avoir besoin de créer un environnement pour reproduire un problème complex.

1 0
0 43

REMARQUE : Nous avons précédemment détecté un problème avec les versions 2021.1.1.324.0. Les versions de maintenance 2021.1.1 ont été supprimées du WRC et remplacées par les versions 2021.1.2.336.0. Les conteneurs 2021.1.2 seront bientôt disponibles.

Deux nouveaux ensembles de versions de maintenance sont désormais disponibles:

  • Caché 2018.1.6, Ensemble 2018.1.6 et HSAP 2018.1.6
  • InterSystems IRIS 2020.1.2, IRIS for Health 2020.1.2 et HealthShare Health Connect 2020.1.2

Les kits d'installation et les conteneurs peuvent être téléchargés sur le site WRC Software Distribution. Les images de conteneur pour les éditions Enterprise d'InterSystems IRIS et IRIS for Health et tous les éléments correspondants sont disponibles dans InterSystems Container Registry.

1 0
0 41

Le concours annuel pour les développeurs d'InterSystems IRIS approche !

Nous sommes ravis de vous inviter tous à participer au concours Grand Prix pour la création de solutions open source à l'aide de la plate-forme de données InterSystems IRIS !

Les nouveaux développeurs sont bienvenus - créez un compte maintenant.

🏆Concours de programmation Grand Prix InterSystems 🏆

Les prix : plus de 22 000 $

La durée : du 9 au 29 mai 2022

Période de vote : 30 mai - 5 juin 2022


1 0
0 39
Article
Guillaume Rongier · Juil 22, 2022 10m de lecture
IRIS native API pour Python

Introduction

Depuis la version 2019.2, InterSystems IRIS fournit son API native pour Python comme méthode d'accès aux données haute performance. L'API native vous permet d'interagir directement avec la structure de données IRIS native.

Globales

En tant que développeurs InterSystems, vous êtes probablement déjà familiarisés avec les globales. Nous allons passer en revue les bases au cas où vous souhaiteriez un rafraîchissement, mais n'hésitez pas à passer directement à la section suivante.

InterSystems IRIS utilise des globales pour stocker les données. Une globale est un tableau clairsemé qui se compose de nœuds qui peuvent ou non avoir une valeur et de sous-nœuds. Ce qui suit est un exemple abstrait d'une globale :

Représentation arborescente d'une globale

0 0
0 37

Vous avez probablement entendu parler des bases de données NoSQL. Il existe plusieurs définitions, mais pour simplifier, ce terme est couramment utilisé pour désigner les bases de données qui n'utilisent littéralement pas le langage SQL, c'est-à-dire les bases de données autres que les bases de données relationnelles (RDB).

0 0
0 36
Article
Lorenzo Scalese · Déc 7, 2022 9m de lecture
Génération de client SOAP et REST

Salut la communauté,

J’aimerais profiter de notre sujet sur la capture pour les Entrepôts de Données de Santé (EDS) pour vous présenter comment créer rapidement des clients HTTP SOAP et REST. IRIS ainsi que des applications disponibles sur Open Exchange proposent des solutions permettant de les générer à partir d’un WSDL ou d’une spécification swagger.

Client SOAP

Pour créer un client SOAP, rien de plus simple, vous avez juste besoin du WSDL. Un assistant est disponible depuis le Studio IRIS, il permet de générer vos classes pour un client web service, mais également les business services et business operations si vous souhaitez le consommer avec le framework d'interopérabilité.

1 0
0 35

La version 3.3 d'InterSystems Kubernetes Operation (IKO) est désormais disponible via la page de téléchargement WRC et le registre de conteneurs InterSystems.

IKO simplifie le travail avec InterSystems IRIS ou InterSystems IRIS for Health dans Kubernetes en fournissant une définition de ressource irisCluster facile à utiliser. Consultez la documentation pour une liste complète des fonctionnalités, y compris le sharding, le mirroring et la configuration d'ECP.

Faits saillants de l'IKO 3.3 :

  • Le support des éditions 2021.2 et 2022.1 d'InterSystems IRIS et IRIS for Health
  • Le support de Kuberentes 1.21
  • Déployez des configurations communes d'Alerte et de Surveillance du Système (ASS) dans le cadre de votre irisCluster
  • InterSystems API Manager (IAM) peut désormais également être déployé et géré dans le cadre de votre irisCluster
  • Balisage automatique du côté actif de la paire de miroirs, de sorte qu'un service puisse toujours pointer vers le miroir actif.
0 0
0 32