#InterSystems IRIS

0 Abonnés · 763 Publications

InterSystems IRIS est une plateforme complète de données
InterSystems IRIS vous offre tout le nécessaire pour capturer, partager, comprendre et agir sur la ressource le plus précieuse de votre entreprise : vos données.
En tant que plateforme complète, InterSystems IRIS élimine la nécessité d'intégrer plusieurs technologies de développement. Les applications nécessitent moins de code, moins de ressources système et moins de maintenance.

Article Benjamin De Boe · Nov 22, 2023 3m read

Nous avons récemment publié un nouveau livre blanc sur l'utilisation de nœuds de reporting (« membres miroir de reporting asynchrone ») dans un environnement miroir. De plus en plus de clients considèrent ce mécanisme comme un moyen simple et rapide de configurer une copie de leurs données de production qui reste à jour, tout en pouvant être utilisée pour des requêtes analytiques ou des charges de travail de reporting lourdes sans impact sur le système source. Lisez le livre blanc ici.

Comme toujours, nous sommes curieux de connaître vos propres commentaires sur la manière dont vous avez utilisé cette option de mise en miroir dans votre organisation et si vous avez des idées sur la façon dont nous pouvons la rendre encore plus productive.

0
0 48
InterSystems officiel Sylvain Guilbaud · Nov 21, 2023

Lorsqu'AMD a publié la norme x86-64 en 1999, ils ne savaient pas qu'ils inventaient ce qui allait devenir de facto l'architecture des processeurs de serveur. Mais les processeurs d'aujourd'hui ne sont pas les mêmes que ceux produits il y a 20 ans : ils disposent d'extensions pour tout, depuis les Advanced Vector Extensions (AVX) jusqu'à la Hardware-Assisted Virtualization (VT-d).

InterSystems souhaite mieux profiter de ces nouvelles extensions dans les prochaines versions d'InterSystems IRIS. Bien que nos compilateurs soient suffisamment intelligents pour créer du code optimisé pour de nombreuses situations, certaines optimisations ne peuvent être activées qu'en supprimant explicitement la prise en charge des processeurs qui ne disposent pas de ce jeu d'instructions. De plus, nous avons de plus en plus de mal à conserver les anciens modèles de processeurs sur lesquels effectuer des tests.

0
0 50
Article Guillaume Rongier · Nov 17, 2023 3m read

Rubrique Questions fréquentes (FAQ) d'InterSystems

Pour les routines (*.mac)

Vous pouvez masquer la source en exportant/important uniquement le fichier *.obj généré après la compilation du programme source.

L'exemple d'exécution de la commande spécifie EX1Sample.obj et EX2Sample.obj, qui sont générés par la compilation de EX1Sample.mac et EX2Sample.mac, comme cibles d'exportation et les exporte dans le deuxième fichier argument.

Après avoir changé d'espace de noms, j'utilise le fichier XML exporté pour effectuer l'importation.

USER>do $system.OBJ.Export("EX1Sample.obj,EX2Sample.obj","D:\routine.
0
0 77
Article Irène Mykhailova · Nov 16, 2023 3m read

Introduction

InterSystems souhaite optimiser IRIS pour tirer parti des extensions modernes du jeu d'instructions du processeur. C'est excellent pour les performances du produit, mais comment savoir si votre processeur sera toujours pris en charge pour les nouvelles versions d'IRIS ? Voici comment connaître la famille de microarchitecture de votre processeur ainsi que comment connaître les extensions de jeu d’instructions spécifiques à votre processeur.

0
0 133
Question Moussa SAMB · Nov 2, 2023

Bonjour, 

Je cherche à me connecter via OAuth2 sur un serveur outlook.office365.com et récupérer les messages avec IMAP.

J'ai un programme qui fonctionne avec la connexion plain, cependant je n'arrive pas à me connecter avec certains e-mails.

Raison pour la quelle je pense que la connexion plain est désactivé pour ces comptes.

Pour faire le client IMAP je me suis inspiré de ce Post : https://community.intersystems.com/post/implementing-imap-client-inters…

Dans  la méthode Connect je passe : le serveur, le username et  l'AccesToken récupérer de Microsoft graph.

4
0 443
Question Jean-Charles Cano · Oct 26, 2023

Bonjour à tous,

je souhaite pouvoir lancer le terminal IRIS sans avoir à saisir de nom d'utilisateur ni de mot de passe.

Pour bien comprendre :

  • IRIS est installé directement sur une machine Windows
  • Lorsque j'utilise mon compte de domaine en me connectant en RDP lorsque je lance le terminal il s'exécute sans me demander de log de connexion. 
    • Je sais que cela fonctionne car le compte est aussi créé dans IRIS avec le même Nom
  • Un utilisateur Windows local a été créé, c'est avec ce compte que je veux ouvrir le terminal.

Le compte Local s'appelle ssh.

20
0 304
Question Augustin MADET · Oct 24, 2023
import os

# Récupérer les variables d'environnement
db_host = os.getenv('DB_HOST')
db_port = os.getenv('DB_PORT')
db_namespace = os.getenv('DB_NAMESPACE')
db_username = os.getenv('DB_USERNAME')
db_password = os.getenv('DB_PASSWORD')

# Créer une connexion à la base de données
conn = irisnative.createConnection(db_host, db_port, db_namespace, db_username, db_password)

# Créer une instance IRIS à partir de cette connexion
iris_native = irisnative.createIris(conn)

status = iris_native.classMethodValue('%SYSTEM.OBJ', 'Load', 'Production.
4
1 125
InterSystems officiel Adeline Icard · Nov 1, 2023

InterSystems mettra fin à la prise en charge de l'utilisation du système de fichiers VxFS avec InterSystems IRIS et le qualifiera de obsolète à compter de la sortie d'InterSystems IRIS 2023.3. InterSystems continuera à prendre en charge tous les clients existants utilisant la technologie, mais elle n'est plus recommandée pour les nouveaux déploiements.

VxFS n'était pris en charge que sur SUSE Linux. Les clients concernés sont encouragés à migrer vers XFS ou un autre système de fichiers pris en charge.

Les clients ayant des questions doivent contacter leur équipe de compte ou contacter @Robert.

0
0 57
Article Guillaume Rongier · Oct 27, 2023 7m read

Récemment, @Anastasia Dyubaylo a publié un article (celui-ci) sur une nouvelle fonctionnalité d'IntegratedML pour les prédictions de séries chronologiques présentée par @Thomas Dyar lors du Global Summit 2023, organisons donc un petit atelier pour la tester !

Introduction

Nous avons choisi comme sujet de cet atelier la prédiction des utilisateurs du métro de Valence, mois par mois, ligne par ligne. Pour ce faire, nous disposons de données mensuelles ventilées par ligne depuis 2022 ainsi que de données annuelles ventilées par ligne depuis 2017 que nous extrapolerons mensuellement.

0
0 81
InterSystems officiel Adeline Icard · Oct 26, 2023

Fin du support pour CentOS

CentOS ne sera plus une plate-forme de développement prise en charge à compter de la sortie d'InterSystems IRIS 2023.3.

CentOS était une plate-forme de développement prise en charge pour offrir aux développeurs un équivalent gratuit à Red Hat Enterprise Linux (RHEL) pour le développement IRIS. Comme vous le savez probablement, Red Hat a apporté des modifications importantes à CentOS, qui est désormais « en amont » de RHEL.

0
0 62
Question Julia Pertin · Oct 24, 2023

Bonjour,

 

J'ai un petit soucis je souhaite renvoyé via une API REST des données IRIS mais j'ai une erreur sur le renvoi de données de type Stream.GlobalBinary, j'essaie de faire un "CopyFrom" via $METHOD mais je récupère un "INVALID OREF" : 

 set obj  = ##class(%ZEN.proxyObject).%New()   
   set update = $CLASSMETHOD(classname,"%OpenId",id)
if class.Properties.GetAt(i).Type = "%Stream.GlobalBinary"{
        set pnewContent = ##class(%Stream.GlobalCharacter).%New()
           do $METHOD($PROPERTY(update,propertyName),"Rewind")
              while '$PROPERTY(update,propertyName).
3
1 103
Article Lorenzo Scalese · Oct 24, 2023 22m read

Notre objectif

Aujourd'hui, nous poursuivons le développement de notre dernier article et présentons des informations sur certaines fonctionnalités que nous avons ajoutées à notre portail. Nous inclurons une petite partie de CSS pour mieux visualiser les données disponibles et les exporter. Enfin, nous examinerons comment ajouter des options de filtrage et de classement. Lorsque vous aurez terminé cet article, vous pourrez afficher une requête simple et complète de manière élégante.

Précédemment, dans "Un portail pour gérer la mémoire réalisé avec Django".

0
0 100
Article Sylvain Guilbaud · Oct 20, 2023 1m read

Quick Tips: Total Productive Maintenance

Les paramètres nommés peuvent être obtenus avec SQLAlchemy :  

from sqlalchemy import create_engine, text,types,engine

_engine = create_engine('iris+emb:///')
with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

ou avec une API native :

from sqlalchemy import create_engine, text,types,engine

# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')

_engine = create_engine(url)

with _engine.
0
2 111
Question Jules Pontois · Oct 19, 2023

Cette question est apparue à l'origine dans les commentaires du post : Surcharge les méthodes SendRequestAsync et SendRequestSync
 

Bonjour,

Effectivement, retirer ForceGenerate des mots clés résout le problème des doublons. Merci !

Une dernière question : Une fois le code généré, il n'est pas directement visible dans les classes crées. Et notamment en utilisant VS Code. Du coup, actuellement, je lance la compilation des sous classe avec $system.OBJ.Compile et le flag subclasses.

1
0 104
Question Moussa SAMB · Oct 17, 2023

Bonjour,

Je cherche à  dézipper un fichier zip que je récupère  via HTTP avec ObjectScript.

Je récupère  de ma requête HTTP un  %Stream.GlobalBinary, et via mon BusinessOperation, je crée le fichier Zip.

J'aimerais savoir s'il y a une méthode pour dézipper directement le  %Stream.GlobalBinary et avoir le dossier dézipper  en sortie ?

Ou sinon quelle méthode permet de dézipper un fichier Zip en ObjectScript ?

Merci d'avance pour votre aide

3
0 89
Question Jules Pontois · Oct 16, 2023

Bonjour,

Je travaille sur l'ajout d'étapes préliminaires avant l'envoi d'un message d'un Business Service à un Business Process.

Pour ce faire, je surcharge les méthodes SendRequestAsync et SendRequestSync, mettant ces étapes préliminaires au début et quittant avec ##super return.

Je veux garder le comportement natif de SendRequestAsync et SendRequestSync. Je veux aussi coller à l'utilisation de ##super, donc si ces méthodes changent dans une mise à jour annuelle d'Iris, je n'aurai rien à changer. À cet égard, la classe personnalisée que j'ai faite doit étendre Ens.BusinessService.

5
0 108
InterSystems officiel Adeline Icard · Oct 17, 2023

InterSystems a pris la décision d'arrêter le développement d'InterSystems Cloud Manager et de le qualifier de obsolète à partir de la version InterSystems IRIS 2023.3. InterSystems continuera à prendre en charge les clients existants utilisant cette technologie, mais elle n'est plus recommandée pour les nouveaux déploiements.

Les clients du cloud qui souhaitent déployer et gérer un déploiement IRIS avec de nombreux systèmes sont encouragés à envisager Kubernetes et InterSystems Kubernetes Operator, qui possède des fonctionnalités très similaires à ICM.

0
0 43
Article Guillaume Rongier · Oct 16, 2023 8m read

Aujourd'hui, il y a beaucoup de bruit autour du LLM, de l'IA, etc. Les bases de données vectorielles en font partie, et il existe déjà de nombreuses réalisations différentes pour le support en dehors d'IRIS. 

Pourquoi Vector?

  • Recherche de similarité : Les vecteurs assurent une recherche de similarité efficace, par exemple en trouvant les éléments ou les documents les plus similaires dans un ensemble de données. Les bases de données relationnelles classiques sont conçues pour des recherches de correspondances exactes, qui ne sont pas adaptées à des tâches telles que la recherche de similitudes d'images ou de textes.
  • Flexibilité : Les représentations vectorielles sont polyvalentes et peuvent être obtenues à partir de différents types de données, tels que du texte (via des embeddings comme Word2Vec, BERT), des images (via des modèles d'apprentissage profond), et autres.
    • Recherches multimodales** : Les vecteurs permettent d'effectuer des recherches dans différentes modalités de données. Par exemple, avec une représentation vectorielle d'une image, on peut rechercher des images similaires ou des textes connexes dans une base de données multimodale.

Et pour bien d'autres raisons encore.

Donc, pour ce concours python, j'ai décidé de mettre en place ce support. Et malheureusement, je n'ai pas réussi à le terminer à temps, je vais vous expliquer pourquoi.

0
0 115
Article Iryna Mykhailova · Oct 13, 2023 12m read

La série d'articles relatifs à l'application QuinielaML se poursuit. Dans cet article, nous verrons comment préparer les données brutes que nous avons capturées à l'aide de la fonctionnalité Embedded Python.

Bienvenue à toutes et à tous !

0
0 103
Article Iryna Mykhailova · Oct 11, 2023 2m read

Nous poursuivons notre série d'articles basés sur l'application QuinielaML.

Dans cet article, je décrirai comment travailler avec la fonctionnalité Embedded Python disponible dans les produits InterSystems.

Embedded Python nous permet d'utiliser Python comme langage de programmation dans nos productions, en profitant de toutes les fonctionnalités qu'offre Python. Ici vous pouvez trouver plus d'informations à ce sujet.

0
0 68
InterSystems officiel Adeline Icard · Oct 10, 2023

Alertes Red Hat Insights désormais disponibles pour InterSystems IRIS

InterSystems et Red Hat travaillent ensemble pour ajouter des alertes spécifiques à IRIS à Red Hat Insights.

Red Hat Insights est un service permettant de prédire et de recommander des mesures correctives pour les risques système dans les environnements Red Hat Enterprise Linux. Insights est gratuit avec presque tous les abonnements RHEL, OpenShift ou Ansible. Vous pouvez savoir plus sur Insights sur le site de Red Hat.

0
0 76
Question Augustin MADET · Oct 10, 2023

Avec l'approche Python, je rencontre l'erreur suivante :

ERREUR <Ens>ErrCanNotAcquireJobRootLock: Impossible d'obtenir un verrouillage pour l'enregistrement de la globale


Ci-dessous le code implémenté :

import pandas as pd
from sqlalchemy import create_engine, types


class FileOperationEmbedded(BusinessOperation):
    tablename = None
    engine = None

    def on_init(self):
        if not hasattr(self, "dsnIris"):
            self.dnsIris = 'iris+emb:///'
        if not hasattr(self, "schema"):
            self.schema = 'Toto'

        self.engine = create_engine(self.
1
0 136
Article Iryna Mykhailova · Oct 9, 2023 5m read

En profitant de l'application Quiniela ML et comme nous l'avons dit dans l'article précédent, nous allons expliquer comment nous pouvons réaliser une authentification JWT entre notre frontend développé en Angular et notre backend développé en InterSystems IRIS.

Je vous rappelle l'architecture de notre projet QuinielaML :

Pour les applications web, le développement de l'administration et de la gestion de l'accès des utilisateurs est généralement un processus compliqué, mais dans notre cas, InterSystems IRIS le simplifie en nous fournissant toute l'infrastructure dont nous avons besoin.

0
0 192
Article Iryna Mykhailova · Oct 6, 2023 5m read

Bienvenue chers membres de la Communauté à la présentation et au premier article d'un petit projet qui présentera les capacités d'InterSystems IRIS à fournir une fonctionnalité de sauvegarde complète pour une application web développée en Angular. Dans cet article, nous nous contenterons de présenter le concept ainsi que les fonctionnalités d'InterSystems IRIS utilisées de manière générale, en allant plus en détail dans les articles suivants.

Bienvenue à QuinielaML !

2
0 207