Effacer le filtre
Annonce
Irène Mykhailova · Sept 19, 2022
Bonjour la communauté,
Dans l'annonce précédente, nous avons présenté notre portail de commentaires – InterSystems Ideas! Nous aimerions maintenant vous en dire plus, notamment sur les sujets qui y sont abordés.
Vous pouvez soumettre vos idées dans les catégories suivantes :
💡 InterSystems Products où vous pouvez publier des idées de nouvelles orientations de développement pour nos produits :
InterSystems IRIS data platform
InterSystems IRIS for Health
InterSystems HealthShare
InterSystems TrakCare
💡 InterSystems Services où vous pouvez publier des idées sur la façon dont nous pouvons améliorer nos services encore mieux qu'ils ne le sont actuellement :
Developer Community
Open Exchange app gallery
Global Masters gamification platform
Partner Directory
Documentation
Certification
Learning
InterSystems Ideas Portal
Il existe également la catégorie "Other" pour les commentaires qui ne sont pas directement liés aux produits ou services InterSystems.
Après avoir choisi une catégorie, n'hésitez pas à ajouter également des mots clés/tags :
N'hésitez pas à partager vos suggestions de catégories et de mots-clés à ajouter au portail. Nous serons heureux d'avoir de vos nouvelles!
Rendez-vous sur le portail InterSystems Ideas ✌️
Annonce
Irène Mykhailova · Oct 18, 2022
Salut les Développeurs!
Dans cette vidéo, vous découvrirez InterSystems FHIR Server, la solution de données FHIR clé en main qui permet aux développeurs d'applications FHIR de se concentrer sur la création d'applications de soins de santé qui changent la vie.
Restez à l'écoute et apprenez-en plus sur le FHIR à l'aide de la rentrée en FHIR !
Annonce
Irène Mykhailova · Oct 18, 2022
Bonjur la Communauté!
Le deuxième épisode d'une serie "Les 30' InterSystems" sera aujourd'hui !
📅 Date: mardi 18 octobre 2022
⏱ Heure: 13:00 Heure d'été d'Europe centrale
⌛️ Durée: 30 minutes
Pour le 2e web-épisode de la 3e saison des 30' InterSystems, nous vous proposons une présentation des fonctionnalités du bilan entrées/sorties dans TrakCare lors du suivi clinique du patient.
Intervenant: Christophe Aubaret, Spécialiste Applicatif, InterSystems
>>INSCRIVEZ-VOUS ICI<<
Marquez le calendrier! Nous avons hâte de vous voir là-bas!
Annonce
Irène Mykhailova · Nov 7, 2022
Bonjur la Communauté!
Le troisième épisode d'une serie "Les 30' InterSystems" se passera bientôt !
📅 Date : mardi 29 novembre 2022⏱ Heure : 13:00 Heure d'été d'Europe centrale⌛️ Durée : 30 minutes
Pour le 3e web-épisode de la 3e saison des 30' InterSystems, nous vous présenterons comment organiser, planifier et évaluer des réunions telles que les Réunions de Concertation Pluridisciplinaire (RCP) ou les activités de groupe proposées aux patients de Psychiatrie, d'USLD, ou d'EHPAD. Principales fonctionnalités :
Organisation des sessions
Inscription des patients et liste de patients récurrents
Évaluation
Intervenants :
👨🔬 Dr Olivier Desvernois, Responsable Applicatifs, InterSystems👩💻 Virginie Larroque, Architecte Solutions Santé, InterSystems
>> INSCRIVEZ-VOUS ICI <<
Marquez le calendrier! Nous avons hâte de vous voir là-bas!
Article
Kevin Koloska · Nov 10, 2022
Il a été demandé à plusieurs reprises récemment, comment on peut faire fonctionner Laravel Framework avec InterSystems IRIS Data Platform. Cela fait un moment que cet article sur Laravel et InterSystems Caché n’a pas été publié. Pour le mettre à jour, l’article donne un bref ensemble d’instructions sur la façon d’installer et de configurer un projet Laravel pour une utilisation avec InterSystems IRIS via ODBC.
Qu’est-ce que Laravel?
Laravel est un framework PHP basé sur l’architecture MVC. L’utilisation de Laravel simplifie et accélère le développement backend tout en créant des applications Web sécurisées modernes. Il est très convivial pour les débutants, largement utilisé dans le monde PHP et tend à être le framework backend le plus populaire selon github.com nombre d’étoiles mesuré dans cette vidéo. La combinaison de tout cela avec la flexibilité et les capacités de performance fournies par InterSystems IRIS en tant que base de données est considérée comme bénéfique pour les deux mondes.
Ce post est organisé en 4 étapes qui représentent une séquence d’actions à effectuer pour que la connexion fonctionne. Les façons spécifiques d’effectuer chaque étape peuvent varier en fonction de la plate-forme. Les commandes ici sont affichées pour Ubuntu 22.02 (x64).
Gestionnaire de pilotes d’installation (unixODBC)
Afin de faire fonctionner la connexion, nous devons installer un gestionnaire de pilotes. Les gestionnaires de pilotes les plus couramment utilisés sont 'unixODBC' et 'iODBC'. Ce guide utilise 'unixODBC', qui peut être téléchargé ici http://www.unixodbc.org/ . Veuillez vous référer à la section « Téléchargement » du site Web pour télécharger et construire. Alternativement, les instructions de construction peuvent également être trouvées ici. Nous utiliserons ici les paquets du gestionnaire de paquets 'apt' pour Ubuntu.
Installer des packages
Installez le package unixodbc accompagné de libodbccr2 qui fournit la bibliothèque unixODBC Cursor.
sudo apt mise à jour
sudo apt -y installer unixodbc libodbccr2 odbcinst
Créer un lien pour la bibliothèque de curseursDans certains cas, il peut y avoir des problèmes avec les dépendances d’objets partagés après l’installation d’unixODBC. Ceci est affiché comme l’erreur « Impossible d’ouvrir la bibliothèque du curseur ». Il existe peu de solutions de contournement décrites sur Internet. Afin de résoudre ce problème, nous faisons un lien symbolique vers une bibliothèque souhaitée. Tout d’abord, nous localisons la bibliothèque:
sudo find / -type f -name « libodbccr* »
Et puis nous créons un lien
sudo ln -s / usr / lib / x86_64-linux-gnu / libodbccr.so.2.0.0 /etc / libodbccr.so
Configuration du pilote ODBC pour InterSystems IRIS
Le pilote ODBC pour InterSystems IRIS peut être obtenu de différentes manières. Par exemple, le pilote ODBC est inclus dans tous les kits IRIS InterSystems. L’autre option serait Portail de distributions sur wrc.intersystems.com.
Vous pouvez également trouver des pilotes pour toutes les plates-formes prises en charge ici : https://intersystems-community.github.io/iris-driver-distribution/
Téléchargez, décompressez et installez le pilote ODBC :
sudo mkdir -p / usr / lib / intersystems / odbc
cd /usr/lib/intersystems/odbc/
sudo wget -q https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/ODBC/lnxubuntu2004/ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
sudo tar -xzvf / usr / lib / intersystems / odbc / ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
sudo ./ODBCinstall
sudo rm -f ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
Après cela, le pilote sera situé dans le dossier suivant /usr/lib/intersystems/odbc/bin/.
Des informations supplémentaires sur les pilotes et leur utilisation peuvent être trouvées dans la documentation. Ce guide libirisodbcur6435.so utilise comme bibliothèque de pilotes.
Configurer le projet Laravel
Le moyen traditionnel et pratique d’interagir avec une base de données de Laravel serait d’utiliser son package Eloquent. Eloquent est un cartographe relationnel objet (ORM) inclus par défaut dans le framework Laravel. Seuls quelques fournisseurs de SGBD sont pris en charge prêts à l’emploi. Ainsi, afin d’implémenter les spécificités de connexion et de générateur de requêtes SQL pour InterSystems IRIS (via ODBC), du code PHP supplémentaire doit être écrit. Grâce à @Jean Dormehl, cette lacune a été comblée pour InterSystems Caché. Le même pourrait être utilisé pour InterSystems IRIS.Donc, dans cet article, nous décrivons les étapes de configuration de la connexion pour le projet Laravel existant en utilisant le paquet jeandormehl / laracache, en supposant que l’installation et la configuration de php, composer et Laravel sont effectuées avant cela.
Installer php-odbcAssurez-vous que le module php-odbc est installé. Vous pouvez consulter la liste des modules installés avec la commande suivante :
php -m | Le grep ODBC
Pour installer l’extension php-odbc, utilisez la commande suivante en utilisant une version appropriée de php installée sur votre environnement
sudo apt -y installer php8.1-odbc
Installer le paquet 'jeandormehl/laracache'Allez dans le répertoire de votre projet Laravel, installez le paquet et publiez son fichier de configuration.
Compositeur requis jeandormehl/laracache
php artisan vendor:publish --tag=isc
Configurer la connexion IRIS
Modifiez votre fichier .env pour qu’il contienne les paramètres nécessaires à la connexion à une base de données. Pour les utilisateurs d’Unix, il devrait ressembler à ceci:
DB_CONNECTION=ISC
DB_WIN_DSN=
DB_UNIX_DRIVER=/usr/lib/intersystems/odbc/bin/libirisodbcur6435.so
DB_HOST=127.0.0.1
DB_PORT=1972
DB_DATABASE=UTILISATEUR
DB_USERNAME=_SYSTEM
DB_PASSWORD=sys
Après avoir édité le fichier .env, vous pouvez trouver utile de vider le cache de configuration de l’application:
php artisan config:cache
Usage
Essayons de récupérer quelques données en utilisant notre nouveau package. À titre d’exemple, nous allons créer un modèle hérité de Laracache\Cache\Eloquent\Model . Juste à des fins de test, nous allons compter le nombre de messages envoyés dans l’espace de noms activé pour l’interopérabilité.
nano app/Models/EnsMessageHeader.php
<?php
espace de noms App\Models ;
utiliser Laracache\Cache\Eloquent\Model;
la classe EnsMessageHeader étend le modèle
{
protected $table = 'Ens.MessageHeader';
$fillable protégé = [
'MessageBodyClassName'
];
}
Pour exécuter une requête, nous pouvons créer une commande de console artisanale comme celle-ci:
Nano routes/console.php
<?php
utilisez Illuminate\Foundation\Inspiring;
utiliser Illuminate\Support\Facades\Artisan;
utilisez App\Models\EnsMessageHeader;
Artisan::command('iris:test', function () {
echo EnsMessageHeader::count() . PHP_EOL;
});
Ensuite, l’exécution de la commande suivante devrait récupérer le nombre d’enregistrements
PHP artisan iris:test
Ce scénario devrait fonctionner pour une large gamme de produits IRIS InterSystems.
Annonce
Robert Bira · Jan 6, 2023
Bonjour la communauté,
Je suis heureux de partager avec vous la nouvelle que InterSystems est reconnu comme un leader dans le rapport The Forrester Wave : Translytical Data Platform !
InterSystems IRIS possède des capacités translytiques complètes éprouvées à grande échelle et se démarque par son environnement de développement unifié.
Forrester définit les plateformes de données translytiques comme des plateformes de données de nouvelle génération construites sur un moteur de base de données unique pour prendre en charge plusieurs types et modèles de données. En raison de ces tendances, les clients des plateformes de données translytiques devraient rechercher des fournisseurs qui proposent une offre permettant :
D'accélérez les cas d'utilisation grâce aux outils et solutions de développement.
D'offrir des capacités complètes de gestion de données pour prendre en charge des cas d'utilisation plus larges.
D'offrir une gestion de la charge de travail évolutive afin de faire évoluer et d'optimiser les performances.
The Forrester Wave™: Translytical Data Platforms, Q4 2022 :
InterSystems a une vision forte du produit qui démontre un engagement envers des cas d'utilisation translytiques étendus. Sa feuille de route translytique avancée montre des plans pour étendre les capacités en matière de performance, de mise à l'échelle, de facilité d'utilisation et de gouvernance.
Pour voir le rapport, veuillez suivre le lien.
Annonce
Irène Mykhailova · Fév 9, 2023
Chers membres de la communauté,Les premiers mois de l'année sont le moment de faire le bilan de l'année précédente et de récompenser les participants qui ont le plus contribué au développement de notre communauté. Dans l'annonce original, les utilisateurs avec le plus grand nombre d'articles, le plus des réponses acceptées et le plus d'attention à leur travail ont été marqués. Je suis extrêmement heureux de constater que parmi les meilleurs il y a aussi des membres actifs de notre communauté francophone !
Les voici :
Nom du badge
Badge
Gagnant
Breakthrough of 2022
@Lucas.Enard2487
Silver Best-Selling Author 2022
@Lucas.Enard2487
Best-Selling Author 2022
@Guillaume.Rongier7183
@Lorenzo.Scalese
@Irene.Mikhaylova
DC Expert 2022
@Guillaume.Rongier7183
Bronze Opinion Leader 2022
@Guillaume.Rongier7183
DC Opinion Leader 2022
@Lorenzo.Scalese
@Lucas.Enard2487
Mes plus sincères félicitations à tous les gagnants ! Merci à vous tous pour votre contribution au développement de cette Communauté !
Continuez comme ça cette année aussi ! Félicitations et merci à tous pour vos contributions !! Et pour les tiennes aussi
Annonce
Irène Mykhailova · Mars 7, 2023
Salut la Communauté !
Je suis exaltée à vous annoncer qu'InterSystems va prendre part dans le Hacking Health Camp 2023 - la 10ème édition, le plus grand hackathon santé au monde !
Hacking Health Camp est un événement d’innovation en santé numérique qui permet de transformer les idées pour répondre aux problématiques du quotidien en prototypes fonctionnels en 3 jours.
📅 Dates: vendredi 24 mars à partir de 13h jusqu’au dimanche 26 mars vers 18h
📌 Lieu : Faculté de médecine de Strasbourg (4 rue kirschleger, 67000 Strasbourg)
Un programme de 3 jours avec :
Conférences inspirantes sur le futur de la santé.
Formations et interviews : en format de 25 minutes, dans les domaines : technologique, juridique, médical, design, …
Hackathon : permet de transformer les idées innovantes en prototypes fonctionnels en 50h
Le programme du Hackathon :
VENDREDI
18:00 - LANCEMENT DU HACKATHON
18:40 - PRÉSENTATION DES COACHS
18:45 - PITCHS DES PROJETS : 1min pour présenter votre projet !
19:30 - CONSTITUTION DES ÉQUIPES : Assistance en direct aux porteurs de projets pour lancer les appels à compétences et constituer les équipes.
20:00 - DINER
21:00 - DÉMARRAGE DES PROJETS
SAMEDI
9:00 – 12:00 - RENCONTRE AVEC LES COACHS : Séance de travail en groupe avec les coachs
10:00 – 11:40 - TRAVAIL EN ÉQUIPE
11:40 – 13:40 - DÉJEUNER
13:40 – 16:30 - TRAVAIL EN ÉQUIPE, INTERVIEWS LIVE
16:10 – 16:20 - PAUSE GOÛTER
16:20 – 20:00 - TRAVAIL EN ÉQUIPE
20:00 - DINER
21:00 … - NUIT DE CODE
DIMANCHE
9:00 – 12:00 - TRAVAIL EN ÉQUIPE, DEMO CLINICS : Séances d’entrainement au pitch avec les coachs
12:00 – 13:45 - DÉJEUNER
14:00 – 17:00 - PRÉSENTATION DES PROTOTYPES : 3′ de démo + 2′ de questions réponses
17:00 – 18:00 - DÉLIBÉRATION DU JURY
18:00 - REMISE DES PRIX, CLOTURE
Un petit goût pour vous :
✅ Inscrivez-vous ici ✅
On espère de vous y voir pour cette folie créative de 50 heures pour inventer la santé de demain ! Restez à l'écoute pour plus d'infos.
A bientôt !
------------------------------------------
NB. On a 10 billets gratuits à offrir aux équipes de participants qui envisagent de réaliser des projets basés sur les technologies InterSystems ! Répondez simplement dans les commentaires ou envoyez-moi un message. J'ai hâte de vous y retrouver pour la seconde année consécutive! 3 jours d'une énergie incroyable pour faire bouger les lignes et faire avancer la santé numérique. Rejoignez-nous nombreux 😁🏆😁 Ravie de t'y retrouver Lorenzo ! A très vite 😁 Hi Everyone ! I am sorry for posting in English, we just have a deadline coming so soon : We invite you to attend Hacking Health Camp Conference and Hackathon (or you can visit just the conference) - we have 10 tickets. We will be excited to see you there! If you are up to visiting the event, please let me know by the end of the week (till March 18) Conference Program https://hackinghealth.camp/programme/conferences/Hackathon program https://hackinghealth.camp/programme/hackathon/Lieu https://hackinghealth.camp/contact/#Lieu
Annonce
Irène Mykhailova · Mars 14, 2023
Salut la Communauté !
Vous vivez une problématique récurrente en santé et vous imaginez une solution ? InterSystems soutient le Hacking Health Camp, le plus grand hackathon santé au monde. Rejoignez-nous pour transformer votre idée en prototype en 50h et gagnez le prix InterSystems :
👉 Le Challenge InterSystems pour la meilleure utilisation des technologies InterSystems 👈
Pour être éligible au prix InterSystems, votre solution doit utiliser un ou plusieurs services InterSystems, tels que le FHIR Transformation service, le Repository FHIR, le modèle de données SQL etc
Pour ce hackathon nous vous donnons un accès gratuit à nos dernières offres cloud:
Repository FHIR
Un service FHIR, de niveau entreprise, entièrement géré et hébergé sur AWS, disponible aux États-Unis et en Europe. InterSystems gérera en toute sécurité les données de santé, facilitant ainsi le développement d'applications innovantes utilisant FHIR.
FHIR Transformation Service
Automatisez la transformation des données de santé en ressources FHIR et déposez les ressources dans un référentiel de données basé sur le cloud.
🥇 Prix pour l'équipe gagnante :
Accueil sur le stand InterSystems lors du salon SANTEXPO du 23 au 25 mai 2023, Paris
Pitchez votre projet & Échangez avec l ‘écosystème de la santé en France
Invitation Spéciale de l’équipe au sein l’incubateur healthtech Cealestinus Session 2023.
🥈🥉 Prix bonus pour les 2 meilleures équipes suivantes:
Swag pack pour chacun !
Pour plus d'info, suivez le lien !
Nous avons hâte de vous y rencontrer. Bonne chance ! Le Hackathon a lancé!
Article
Guillaume Rongier · Avr 2
L'API REST avec Swagger dans InterSystems IRIS
Salut
Le protocole HTTP permet de récupérer des ressources, telles que des documents HTML. Il est à la base de tout échange de données sur le Web et constitue un protocole client-serveur, ce qui signifie que les requêtes sont initiées par le destinataire, généralement un navigateur Web.
Les API REST tirent parti de ce protocole pour échanger des messages entre le client et le serveur. Cela rend les API REST rapides, légères et flexibles. Les API REST utilisent les verbes HTTP GET, POST, PUT, DELETE et d'autres pour indiquer les actions qu'elles veulent effectuer.
Lorsque nous appelons une API REST, il s'agit en réalité d'un appel HTTP. L'API reçoit cet appel et, conformément au verbe et au chemin demandés, elle effectue l'action souhaitée. Dans le cas de l'implémentation d'Iris, nous pouvons le voir clairement dans la zone de définition de l'URLMap:
XData UrlMap{<Routes> <Route Url="/cliente" Method="POST" Call="Incluir" Cors="true"/> <Route Url="/cliente/:chave" Method="PUT" Call="Alterar" Cors="true"/> <Route Url="/cliente/:chave" Method="DELETE" Call="Deletar" Cors="true"/> <Route Url="/cliente/:chave" Method="GET" Call="Pesquisar" Cors="true"/> <Route Url="/cliente" Method="GET" Call="Listar" Cors="true"/> <Route Url="/openapi" Method="GET" Call="OpenAPI" Cors="true"/> <Route Url="/test" Method="GET" Call="Test" Cors="true"/> </Routes>}
Notez que nous avons le chemin (Url) et le verbe (Method) définis pour chaque appel (Call). Ainsi, le code qui rencontre l'API sait ce qu'il doit faire.
Cette structure de l'API REST ne sert pas seulement à acheminer les actions qui arrivent à l'API.
Elle sert également de base à la création du fichier Swagger de l'API, comme on peut le voir dans la documentation de la classe %REST.API, méthode GetWebRESTApplication: https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25SYS&CLASSNAME=%25REST.API#GetWebRESTApplication
Examinons maintenant comment générer cette documentation.
Commençons par publier notre API. Utilisons la même API que dans l'article https://community.intersystems.com/post/using-rest-api-flask-and-iam-intersystems-iris-part-1-rest-api
Il suffit de suivre les instructions et d'utiliser le code que l'article fournit pour avoir notre API publiée.
Une fois l'API publiée, nous inclurons un nouvel chemin dans URLMap et une nouvelle méthode dans notre code:
<Route Url="/openapi" Method="GET" Call="OpenAPI" Cors="true"/>
ClassMethod OpenAPI() As %Status{ Do ##class(%REST.Impl).%SetContentType("application/json") Set sc = ##class(%REST.API).GetWebRESTApplication("", "/rest/servico", .swagger) If $$$ISERR(sc) { Quit sc // If an error occurred, exit the method } Write swagger.%ToJSON() Quit $$$OK}
Incluez le nouvel chemin et la méthode qui lui est associée dans votre code API. Passons maintenant au test. Ouvrons Postman et appelons l'endpoint de génération de Swagger, qui est /openapi:
Ci-dessous, nous avons la définition complète du Swagger généré par notre appel:
{
"info": {
"title": "",
"description": "",
"version": "",
"x-ISC_Namespace": "DEMO"
},
"basePath": "/rest/servico",
"paths": {
"/customer": {
"post": {
"parameters": [
{
"name": "payloadBody",
"in": "body",
"description": "Request body contents",
"required": false,
"schema": {
"type": "string"
}
}
],
"operationId": "Include",
"x-ISC_ServiceMethod": "Include",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
},
"get": {
"operationId": "List",
"x-ISC_ServiceMethod": "List",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
}
},
"/customer/{key}": {
"put": {
"parameters": [
{
"name": "key",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "payloadBody",
"in": "body",
"description": "Request body contents",
"required": false,
"schema": {
"type": "string"
}
}
],
"operationId": "Change",
"x-ISC_ServiceMethod": "Change",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
},
"delete": {
"parameters": [
{
"name": "key",
"in": "path",
"required": true,
"type": "string"
}
],
"operationId": "Delete",
"x-ISC_ServiceMethod": "Delete",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
},
"get": {
"parameters": [
{
"name": "key",
"in": "path",
"required": true,
"type": "string"
}
],
"operationId": "Search",
"x-ISC_ServiceMethod": "Search",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
}
},
"/openapi": {
"get": {
"operationId": "OpenAPI",
"x-ISC_ServiceMethod": "OpenAPI",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
}
},
"/test": {
"get": {
"operationId": "Test",
"x-ISC_ServiceMethod": "Test",
"x-ISC_CORS": true,
"responses": {
"default": {
"description": "(Unexpected Error)"
},
"200": {
"description": "(Expected Result)"
}
}
}
}
},
"Swagger": "2.0"
}
Le lien suivant nous permet d'accéder à la documentation d'Iris qui pointe vers un outil qui reçoit le résultat de notre appel API et le transforme en une interface conviviale pour la documentation et le test du service: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GREST_discover_doc#GREST_gendoc
Exécutons cette URL et fournissons le chemin pour récupérer la définition Swagger de notre API: https://swagger.io/tools/swagger-ui/
Remplaçons l'appel de démonstration sur la page (l'appel petstore) par notre appel: http://127.0.0.1/iris_iss/rest/servico/openapi et voyons l'écran avec la documentation Swagger générée:
En haut de l'appel, nous avons les informations de base de notre API:
Nous pouvons également naviguer dans les appels et consulter des informations importantes, comme dans l'appel POST pour inclure un nouvel utilisateur:
Mais, comme nous l'avons vu un peu plus haut, la définition Swagger est en réalité un fichier au format JSON qui nous est disponible sous la forme d'un %DynamicObject (voir la documentation dans https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic.cls?LIBRARY=%25SYS&CLASSNAME=%25Library.DynamicObject) après le ##class(%REST.API).GetWebRESTApplication() que nous effectuons dans notre méthode OpenAPI. De cette façon, en nous basant sur la définition de l'OpenAPI 2.0, nous pouvons inclure ou supprimer des renseignements de notre Swagger. Enrichissons, par exemple, les renseignements de base de l'API. Selon la définition de la version 2.0 (https://swagger.io/specification/v2/ ), les informations suivantes peuvent être mises à disposition:
Complétons alors les informations que nous pouvons rendre disponibles. Pour ce faire, nous allons modifier notre méthode OpenAPI, en incluant les informations de base, le protocole accepté, l'authentification et les données d'accès (hôte et basePath):
ClassMethod OpenAPI() As %Status{ Do ##class(%REST.Impl).%SetContentType("application/json") Set sc = ##class(%REST.API).GetWebRESTApplication("", "/rest/servico", .swagger) If $$$ISERR(sc) { Quit sc // If an error occurred, exit the method } Set info = { "title": "Cliente", "description": "API de Manipulação de Cliente", "version": "1.00" } Do swagger.%Set("info", info) Do swagger.%Set("host", "127.0.0.1") Do swagger.%Set("basePath", "/iris_iss/rest/servico") Set schemes = [] Do schemes.%Push("http") Do swagger.%Set("schemes", schemes) Set security = [{"basicAuth":[]}] Do swagger.%Set("security", security) Set securityDefinitions = {} Do securityDefinitions.%Set("basicAuth", {}) Do securityDefinitions.basicAuth.%Set("type", "basic") Do swagger.%Set("securityDefinitions", securityDefinitions) Write swagger.%ToJSON() Quit $$$OK}
Si nous appelons à nouveau la documentation Swagger sur la page d'aperçu, nous avons maintenant le résultat suivant:
Veillez à ce que notre documentation soit beaucoup plus complète, avec des informations plus détaillées sur l'API, telles que le mécanisme d'authentification (Basic Auth), le protocole accepté (HTTP) et les définitions de version, de description et d'URL.
Nous pouvons désormais enrichir la définition des appels en mettant la structure attendue dans les payloads et les exemples de données pour l'appel. Pour ce faire, superposons les informations dans les chemins pour "/client":
ClassMethod OpenAPI() As %Status{ Do ##class(%REST.Impl).%SetContentType("application/json") Set sc = ##class(%REST.API).GetWebRESTApplication("", "/rest/servico", .swagger) If $$$ISERR(sc) { Quit sc // If an error occurred, exit the method } Set info = { "title": "Cliente", "description": "API de Manipulação de Cliente", "version": "1.00" } Do swagger.%Set("info", info) Do swagger.%Set("host", "127.0.0.1") Do swagger.%Set("basePath", "/iris_iss/rest/servico") Set schemes = [] Do schemes.%Push("http") Do swagger.%Set("schemes", schemes) Set security = [{"basicAuth":[]}] Do swagger.%Set("security", security) Set securityDefinitions = {} Do securityDefinitions.%Set("basicAuth", {}) Do securityDefinitions.basicAuth.%Set("type", "basic") Do swagger.%Set("securityDefinitions", securityDefinitions) Set incluirPesquisar = { "post": { "summary": "Criar um novo cliente", "description": "Recebe os dados de um cliente e cadastra no sistema.", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "nome": { "type": "string", "description": "Nome do cliente" }, "idade": { "type": "integer", "description": "Idade do cliente" } }, "required": ["nome", "idade"], "example": { "nome": "João Silva", "idade": 30 } } } ], "responses": { "default": { "description": "Falha na chamada da API" }, "200": { "description": "Cliente criado com sucesso" }, "406": { "description": "Falha na inclusão do cliente" } } }, "get": { "summary": "Recupera todos os clientes", "description": "Retorna a lista de clientes com suas informações.", "responses": { "default": { "description": "Falha na chamada da API" }, "200": { "description": "Lista de clientes", "schema": { "type": "object", "properties": { "clientes": { "type": "array", "items": { "type": "object", "properties": { "chave": { "type": "string", "description": "Chave única do cliente" }, "nome": { "type": "string", "description": "Nome do cliente" }, "idade": { "type": "integer", "description": "Idade do cliente" } }, "required": ["chave", "nome", "idade"] } } }, "example": { "clientes": [ { "chave": "1", "nome": "Maria", "idade": 35 }, { "chave": "2", "nome": "Julio", "idade": 57 }, { "chave": "4", "nome": "Julia", "idade": 25 }, { "chave": "5", "nome": "Julia", "idade": 22 } ] } } } } } } Do swagger.paths.%Set("/cliente", incluirPesquisar) Write swagger.%ToJSON() Quit $$$OK}
En rappelant la page de documentation, nous pouvons maintenant voir les méthodes POST pour inclure un client, et GET pour récupérer une liste:
Notez que nous avons déjà une explication de chacune des méthodes disponibles pour POST et GET qui ont été remplacées.
Notez que nous n'avons plus non plus les balises "x-ISC_ServiceMethod" and "x-ISC_Namespace" qui n'ont pas été incluses dans notre nouvelle définition.
En cliquant pour développer la méthode POST par exemple, nous disposons maintenant visuellement d'un exemple d'appel (Valeur d'exemple):
Et le format du payload de l'appel (Modèle):
Dans le cas de la récupération pour les utilisateurs, nous avons la définition de la réponse renvoyée avec un exemple:
Ainsi qu'avec le modèle prévu comme réponse:
Nous pouvons également tester les appels API à partir de la page de documentation elle-même. Pour cela, le bouton “Try it out” (Essayez-le) doit être disponible sur la page. Appuyez-le , puis appuyez sur Execute et vous verrez le résultat:
Les possibilités de l'approche Code-first d'une API REST ouvrent de nombreuses possibilités de documentation, nous permettant de contrôler ce qui sera diffusé, en ajoutant ou en supprimant les informations que nous jugeons utiles dans le matériel publié.
La définition de l'OpenAPI est très complète et détaillée. Il existe une variété d'informations que nous pouvons inclure ou retirer, selon nos besoins ou ce que nous voulons y rendre disponible.
À très bientôt!
Annonce
Irène Mykhailova · Avr 11
Bonjour à tous,
Nous sommes heureux d'annoncer que les inscriptions pour l'événement de l'année — InterSystems Ready 2025 — sont désormais ouvertes. C'est le Global Summit que nous connaissons et apprécions tous, mais avec un nouveau nom !
➡️ InterSystems Ready 2025
🗓 Dates : 22-25 juin 2025
📍 Lieu : Signia Hilton Bonnet Creek, Orlando, Floride, États-Unis
InterSystems READY 2025 est un espace convivial et informatif pour la communauté InterSystems, propice aux rencontres, aux échanges et à l'échange de connaissances.
L'événement READY 2025 comprend :
Sessions : 3 jours et demi de sessions adaptées aux besoins des développeurs et des responsables logiciels. Les sessions sont répétées pour que vous puissiez les suivre et planifier votre emploi du temps.
Conférences inspirantes : Des présentations qui remettent en question vos hypothèses et mettent en lumière de nouvelles possibilités.
Prochaines étapes : Lors des conférences et des ateliers, vous découvrirez le programme d'InterSystems et serez prêt à affronter les nouvelles technologies.
Réseautage : Rencontrez les dirigeants d'InterSystems, les membres de nos équipes mondiales produit et innovation, ainsi que vos pairs du monde entier pour discuter de vos priorités.
Ateliers et formations personnalisées : Plongez au cœur de vos besoins avec un expert InterSystems, y compris lors d'entretiens individuels.
Programme pour startups : Présentez votre technologie, entrez en contact avec des acheteurs potentiels et découvrez comment InterSystems peut vous aider à accélérer la croissance de votre entreprise.
Pavillon des partenaires : Vous recherchez un consultant, un intégrateur de systèmes ou des outils pour simplifier votre travail ? Tout est dans le pavillon.
Animations : Démos et boissons, Tech Exchange et autres événements.
Découvrez les tarifs sur le site officiel et n'oubliez pas que la réduction pour les inscriptions anticipées expire le 16 avril !
Nous avons hâte de vous retrouver à InterSystems Ready 2025 !
Annonce
Irène Mykhailova · Avr 17
Bonjour la Communauté !
Nous savons que chaque développeur a de petits projets annexes : des applications qui lui permettent d’expérimenter de nouvelles technologies, de tester des idées avant de les implémenter dans des solutions plus vastes, ou simplement de créer quelque chose d’amusant par curiosité. Et si l’un de ces projets pouvait vous mener jusqu’à l’InterSystems READY 2025 ?
Nous vous proposons une opportunité unique : partagez votre créativité et votre passion pour IRIS et gagnez un pass gratuit pour l’InterSystems READY + hébergement !
Le règlement est simple : publiez votre projet annexe basé sur IRIS sur Open Exchange et enregistrez une courte vidéo inspirante expliquant pourquoi vous devriez être celui qui obtiendra l’entrée pour l’événement de l’année et gagner !
Durée : du 21 avril au 4 mai 2025
Prix : hébergement et entrées gratuites pour l’InterSystems READY 2025 !
🛠 Que devez-vous faire ?
Téléchargez un projet basé sur IRIS sur Open Exchange (Comment publier une application sur Open Exchange). Soyez créatif : il peut être utile, original, amusant ou simplement quelque chose que vous avez toujours voulu essayer.
Enregistrez une courte vidéo inspirante (5 minutes maximum) :
Expliquez-nous comment les technologies InterSystems ou la communauté des développeurs ont influencé votre projet ou votre carrière.
Expliquez pourquoi VOUS devriez obtenir un ticket pour l'InterSystems READY 2025.
Envoyez votre vidéo et le lien vers votre application via ce formulaire.
🧠 Conditions générales pour les candidatures
Une application ou une bibliothèque doit être entièrement fonctionnelle. Il ne doit pas s'agir d'une importation ou d'une interface directe avec une bibliothèque existante dans un autre langage (à l'exception de C++). Il ne doit pas s'agir d'un copier-coller d'une application ou d'une bibliothèque existante.
Applications acceptées : nouvelles sur Open Exchange. Notre équipe examinera toutes les candidatures avant de les approuver.
L'application doit fonctionner sur IRIS, IRIS for Health ou IRIS Cloud SQL.
L'application doit être Open Source et publiée sur GitHub ou GitLab.
Le fichier README de l'application doit être en anglais, contenir les étapes d'installation, ainsi que la vidéo de démonstration et/ou une description du fonctionnement de l'application.
Une application ne peut avoir qu'un seul auteur.
NB : Nos experts auront le dernier mot quant à l'approbation de la candidature pour cette initiative, sur la base de critères de créativité et d'originalité de l'approche. Leur décision est définitive et sans appel.
👨💻 Qui peut participer ?
Tout membre de la communauté des développeurs, à l'exception des employés et sous-traitants d'InterSystems. Créez un compte !
🏆 Prix
🥇 1re place : entrée gratuite pour InterSystems READY 2025 + hébergement
🥈 2e et 3e places : entrée gratuite pour InterSystems READY 2025
❗️Ce prix n'est pas échangeable contre de l'argent ni contre toute autre contrepartie.
✨ Points bonus
Vous pouvez augmenter vos chances de gagner en proposant des activités supplémentaires :
Publiez un article technique sur votre projet
Créez une vidéo de démonstration supplémentaire de votre projet
Partagez votre vidéo inspirante sur les réseaux sociaux avec le hashtag #Ready2025 et mentionnez @InterSystems et @InterSystemsDev
Laissez-vous inspirer. Créez quelque chose d'amusant. Partagez votre histoire.
C'est votre moment de briller - CODEZ pour atteindre InterSystems READY 2025 !
Article
Developer Community Admin · Mai 6
La plateforme de données InterSystems IRIS est à la base de toutes les applications InterSystems, ainsi que de milliers d'applications utilisées par nos clients et partenaires dans des domaines tels que la Santé, les Services financiers, la Chaîne logistique et d'autres écosystèmes. Il s'agit d'une plateforme convergente qui fournit une gestion des données transactionnelles et analytiques, une interopérabilité intégrée, une intégration des données, ainsi que des analyses intégrées et une IA. Elle prend en charge l'approche InterSystems Smart Data Fabric pour la gestion de données diverses et distribuées.
Notre architecture repose sur des installations permettant un traitement de données haute performance, multimodèle et multilingue dans notre moteur de données central, également appelé plan de données commun ou Common Data Plane. Tout cela s'appuie sur une infrastructure remarquable qui permet de traiter des volumes de données extrêmement importants et des taux de transaction élevés pouvant atteindre plus d'un milliard d'opérations de base de données par seconde.
Ensuite, deux sous-systèmes majeurs entrent en jeu : l'un axé sur l'analyse et l'intelligence artificielle (IA), l'autre sur l'interopérabilité et l'intégration des données. Ces sous-systèmes suivent notre philosophie fondamentale qui consiste à tout faire fonctionner à proximité des données afin de fournir des performances élevées avec une empreinte minimale.
Enfin, autour des sous-systèmes, nous avons construit une structure de données intelligentes qui permet aux utilisateurs de résoudre des problèmes complexes dans un seul empilement. Les sections suivantes explorent ces couches et leur interaction afin de mieux comprendre ce qui rend la technologie InterSystems IRIS si particulière.
Réputée pour ses performances, la technologie InterSystems repose sur un mécanisme très efficace de stockage de données, d'indexation et d'accès aux données. Contrairement à d'autres fournisseurs de bases de données, nous ne fournissons pas de base de données nativement relationnelle ou documentaire. Nous utilisons un format de stockage sous-jacent appelé globales. Ils sont modélisés dans un format multidimensionnel hautement optimisé, sous forme de tableau, construit comme un arborescence B+ qui est automatiquement indexée à chaque operation.InterSystems.com Construit à un niveau inférieur aux modèles de données (tels que relationnel, objet ou document), un format de stockage unique est projeté dans différents formats et modèles de données. Ceci est appelé Common Data Plane ou plan de données commun.
Le format global sous-jacent est très efficace et peut être traduit dans de nombreux modèles de données différents:
Les variables globales (précédées du préfixe "^") peuvent avoir plusieurs indices, dont chacun peut être numérique, alphanumérique ou symbolique. Les globales sont puissantes et représentent les données de manière générale, ce qui permet d'utiliser simultanément plusieurs paradigmes de données à partir d'une seule copie des données. Les cas tels que les tableaux associatifs et creux sont faciles à traiter avec cette approche. Nous encodons également dans le format de stockage lui-même, à l'aide d'encodages (désignés par le préfixe "$") qui fournissent un faible empreinte et une faible latence grâce à l'optimisation du disque et des E/S. Le format de ces encodages est le même en mémoire, sur disque ou sur le réseau. Cela minimise les transformations impliquées dans l'ingestion des données et permet d'atteindre les vitesses incroyables attendues d'une base de données en mémoire, tout en conservant la persistance typique d'une base de données sur disque.
Un exemple illustrant comment une seule globale peut prendre en charge plusieurs modèles de données est fourni par le cas où vous utilisez des outils SQL ou BI et souhaitez accéder aux données dans un format relationnel, sous forme de tables avec des lignes et des colonnes. Si vous effectuez un développement orienté objet, cependant, nous projetons automatiquement ces objets dans des globales, puis projetons ces données dans un format relationnel. De même, nous pouvons projeter JSON ou d'autres formats de document dans une forme relationnelle.
Cette fonctionnalité signifie qu'au lieu d'avoir plusieurs magasins de données, l'un relationnel, l'autre objet, l'autre document, et de les assembler, nous avons une seule copie projetée sous toutes ces différentes formes, sans duplication, déplacement ou mappage. Il en résulte également une combinaison pratique de schéma à l'écriture et de schéma à la lecture. Comme avec un lac de données, vous pouvez compter sur un niveau de structure tel qu'un lien de données, après avoir inséré les données et déterminé le meilleur schéma pour ces données en fonction de leur utilisation actuelle. Cette structure globale fonctionne bien pour les données structurées, ainsi que pour les documents et les données semi-structurées ou non structurées.
Quelques encodages, conçus de manière très rigoureuse, sont utilisés pour stocker efficacement les données et les index.
Bien que les listes constituent le codage de stockage par défaut, InterSystems IRIS peut représenter les données et les index dans un ou plusieurs de ces codages en fonction des caractéristiques des données et/ou des spécifications des développeurs. Les vecteurs permettent de stocker efficacement un grand nombre de données du même type et sont utilisés pour le stockage en colonnes dans les analyses, pour la recherche vectorielle, pour les séries temporelles et pour des cas plus spécialisés. Les tableaux de valeurs compactés (connus sous le nom de $pva) sont idéaux pour le stockage orienté document. Les bitmaps sont utilisés pour les données booléennes et pour les index bitmap très efficaces.
Toutes ces structures de données sont automatiquement indexées dans une mise à jour hautement optimisée à chaque opération. De nombreux utilisateurs utilisent l'indexation intégrée pour effectuer des étapes transactionnelles complètes à faible latence, comme les "milliards d'opérations de base de données par seconde" mentionnées précédemment. Cette indexation cohérente, effectuée presque instantanément, nous offre un accès cohérent et à faible latence à toutes les données, quel que soit leur format. 6 Les fonctionnalités multimodèles offertes par le format global sous-jacent sont pratiquement instantanées, car il n'y a qu'une seule copie des données à modifier, ce qui évite tout gain de temps ou d'espace pour la réplication des données. Cela offre également des avantages majeurs en termes de vitesse d'ingestion, de fiabilité et d'évolutivité.
Le système peut combiner plusieurs encodages. The multi-lingual capability that globals provide means that you can work in the programming language of your choice, with effortless access to all needed formats. La capacité multilingue fournie par les globales vous permet de travailler dans le langage de programmation de votre choix, avec un accès facile à tous les formats nécessaires. C'est clairement le cas pour l'accès relationnel via des normes telles que JDBC et ODBC, mais cela vaut également pour la correspondance automatique des objets dans .NET ou Java avec un format sous-jacent. Du point de vue du développement, vous n'avez pas à vous soucier du mappage relationnel des objets; vous travaillez simplement avec un objet et nous nous chargeons du format de stockage.
Autour du moteur de données central se trouve une mémoire cache distribuée offrant des garanties de cohérence intégrées. Ce cache utilise notre protocole Enterprise Cache Protocol, ou ECP, et répond aux garanties théoriques en matière de cohérence dans le cadre d'un système distribué et en cas de défaillance. L'ECP intègre ces règles de cohérence afin de préserver l'intégrité des données au sein d'un système distribué, même en cas de défaillance, en les encapsulant directement.
En d'autres termes, les performances des données distribuées restent élevées, même à grande échelle. Vous pouvez répartir ces nœuds ECP pour une mise à l'échelle horizontale, ce qui vous permet de gérer un débit plus élevé. Vous pouvez également les répartir pour la distribution des données, ce qui signifie que vous pouvez bénéficier de performances en mémoire sans avoir à vous limiter à la mémoire disponible pour chaque nœud.
ECP fonctionne particulièrement bien dans le cloud en raison de son évolutivité. Nous avons intégré cette fonctionnalité à notre InterSystems Kubernetes Operator (IKO) afin de fournir une mise à l'échelle automatique, et nous pouvons ajouter et supprimer de manière transparente des nœuds à l'application à l'aide d'ECP. Cette mise à l'échelle est essentiellement linéaire, et vous pouvez faire évoluer indépendamment l'ingestion, le traitement des données et le stockage des données, et optimiser votre charge de travail. ECP étant robuste face aux changements de topologie, un nœud peut tomber en panne sans affecter le traitement des transactions. Vous pouvez ajouter des nœuds à la volée, et ceux-ci peuvent récupérer la charge. Cela fournit une élasticité transparente, ce qui signifie que vous pouvez dimensionner les éléments de manière dynamique et bénéficier d'un coût net inférieur. ECP est transparent pour l'application; aucune modification n'est nécessaire pour faire évoluer une application. Les utilisateurs ont également la possibilité d'associer des charges de travail spécifiques à des ensembles de nœuds spécifiques dans un cluster InterSystems IRIS. Par exemple, les charges de travail de reporting ou d'analyse peuvent être attribuées à un pod, et les charges de travail à forte intensité transactionnelle à un autre.
La couche suivante de l'architecture built-in interoperability est un sous-système d'interopérabilité intégré. Il intègre les données provenant de messages, de périphériques et d'API différents. Il intègre également les données de masse, selon les modèles ETL ou ELT (extraction-transformation-chargement ou extraction-chargement-transformation). InterSystems IRIS Interoperability utilise le plan de données commun comme référentiel intégré pour tous les éléments de gestion des messages et d'intégration des données. Cela bénéficie ainsi des performances et de la fiabilité des deux premières couches, ainsi que des capacités multimodèles. Par exemple, les données de structure de masse ont tendance à être orientées relationnellement, et de nombreux protocoles de messagerie ont tendance à être orientés document.
Par défaut, l'interopérabilité est persistante, ce qui signifie que les messages de données et les transformations sont stockés dans le système à des fins d'audit, de relecture et d'analyse. Contrairement à de nombreuses autres offres de middleware d'interopérabilité, la livraison peut être garantie, tracée et auditée à tous les niveaux. Vous pouvez confirmer qu'un message a été livré ou savoir qui a envoyé quel message à qui, ce type d'information étant important tant pour l'analyse que pour la recherche. Le paradigme général de l'interopérabilité InterSystems IRIS est orienté objet. Cela facilite la création et la maintenance des adaptateurs: l'héritage d'objets minimise les efforts nécessaires à la création d'adaptateurs personnalisés, y compris les tests. Il aide également à la création et à la maintenance des transformations de données. Comme le montre la figure 8, l'utilisation d'un objet commun peut réduire considérablement le nombre de transformations nécessaires entre différents formats de données ou protocoles. Plutôt que de créer et de maintenir une transformation de données pour chaque paire, une seule transformation pour chaque format de données vers un objet commun fournit une approche plus simple, plus facile à tester et à maintenir.
Au sein du sous-système d'interopérabilité InterSystems IRIS, il existe un large éventail de scénarios d'intégration entre les messages, les périphériques et les API.
Cette interopérabilité comprend la gestion intégrée du cycle de vie complet des API, des fonctionnalités de streaming, l'intégration de l'IoT, la compatibilité avec les services cloud, etc. Nous fournissons également des passerelles dynamiques en plusieurs langues, permettant une intégration hautement performante des applications existantes dans ces flux de données, dans la langue de votre choix.
L'interopérabilité InterSystems IRIS s'accompagne d'un ensemble de fonctionnalités analytiques et d'IA intégrées.
Chacune de ces capacités fonctionne "à proximité des données", ce qui signifie qu'en général, nous traitons les données sur place plutôt que de les transférer vers le lieu de traitement, ce qui entraînerait des coûts et des délais considérables.
Plusieurs fonctionnalités analytiques ont été intégrées à InterSystems IRIS. L'une d'elles est InterSystems IRIS BI, une architecture cubique type MOLAP pour la veille stratégique (BI), optimisée pour la latence. Comme cet ensemble de sous-systèmes est intégré à InterSystems IRIS, nous pouvons déclencher des événements SQL et des événements dans le cube en seulement 10 à 20 millisecondes entre les données et le tableau de bord. Le fait d'avoir une seule copie des données pour toutes les transactions et toutes les analyses permet de maintenir cette latence à un faible niveau. Comme ECP permet à un ensemble de nœuds d'opérer sur les analyses en isolation de la charge de travail transactionnelle, les analyses ne présentent aucun risque pour la réactivité transactionnelle, et il n'est jamais nécessaire d'avoir plus d'une copie des données.
Une autre fonctionnalité est l' l'analyse adaptative ou Adaptive Analytics, qui, contrairement à InterSystems IRIS BI, n'utilise pas de cubes prédéfinis. Elle optimise et construit dynamiquement des cubes virtuels au fur et à mesure, les rendant disponibles à la fois pour la BI et l'analyse adaptative. Il s'agit d'une fonctionnalité d'analyse sans interface utilisateur de type ROLAP qui s'intègre de manière transparente à tous les principaux outils de BI, tels que Tableau, PowerBI, Qlik, Excel et autres.
Outre les fonctionnalités d'analyse, plusieurs fonctionnalités de ML et d'IA sont également disponibles.
Integrated ML vous permet d'écrire des modèles de type apprentissage automatique (ML) à l'aide de SQL. Il vous suffit d'écrire une commande SQL, puis de créer, d'entraîner, de valider et de pronostiquer à l'aide du modèle. Les résultats peuvent être directement utilisés dans SQL. Ainsi, les développeurs familiarisés avec SQL peuvent utiliser les pronostics ML dans leurs applications.
Python est intégré directement dans le noyau de la plate-forme de données, ce qui lui permet de fonctionner directement avec les données et d'offrir des performances optimales. Vous n'avez pas besoin de transférer les modèles créés dans un environnement de développement ou de lab vers un environnement de production où vous les exécutez. Vous pouvez créer et exécuter vos modèles dans le même cluster, ce qui vous garantit que les données utilisées sont identiques et cohérentes. Les projets de science des données sont simples et rapides.
Les fonctionnalités de recherche vectorielle intégrée d'InterSystems IRIS vous permettent d'effectuer des recherches dans des données non structurées et semi-structurées. Les données sont converties en vecteurs (ou intégrations), puis stockées et indexées dans InterSystems IRIS pour la recherche sémantique, la génération augmentée par la récupération (RAG), l'analyse de texte, les moteurs de recommandation et d'autres cas d'utilisation.
Ces couches (le moteur de données central, la couche ECP pour étendre l'interopérabilité et nos fonctionnalités d'analyse) font partie de notre capacité unique à alimenter une architecture de données intelligentes Smart Data Fabric. La structure de données est un modèle architectural qui fournit une gouvernance commune à une grande variété de données et de sources de données. Un modèle courant pour une structure de données consiste à importer des données provenant de plusieurs sources, à les normaliser, à les dédupliquer, à les corréler de manière croisée et à les améliorer, puis à les mettre à la disposition d'une variété d'applications différentes:
La plupart des structures de données offrent plusieurs fonctionnalités, notamment l'ingestion, le pipelining, les métadonnées, etc. L'approche d'InterSystems se distingue par l'intégration de l'analyse et de l'IA au cœur de la structure de données:
L'un des principes clés de la technologie InterSystems est "connecter ou collecter". Certaines fonctionnalités d'InterSystems IRIS, telles que les tables étrangères ou fédérées, vous permettent de travailler ou de "vous connecter" aux données là où elles se trouvent. Vous pouvez également choisir de collecter ces données.
InterSystems IRIS est indépendant des fournisseurs de cloud et fonctionne sur site, dans le cloud de votre choix, dans des scénarios hétérogènes et hybrides, ou dans des environnements multicloud. La partie de nos activités qui connaît la croissance la plus rapide est celle des services cloud, disponibles sur plusieurs clouds. Il est essentiel de pouvoir exécuter les applications où vous le souhaitez. C'est ce qui distingue InterSystems IRIS, par exemple, des installations fournies par les fournisseurs de cloud eux-mêmes ou de nombreuses options actuelles pour les magasins de données. Vous pouvez exécuter InterSystems IRIS et les applications créées avec ce produit où vous le souhaitez. Bien entendu, InterSystems IRIS est également disponible en tant que service géré dans le cloud.
Articles supplémentaires à ce sujet:
Différents modèles de données dans InterSystems IRIS
Quatre API de base de données
ECP et API de gestion de processus
Comment développer en IRIS BI (y compris avec gestion du changement)
Développement d'une solution d'analyse avec IRIS
Utilisation de Python intégré
Recherche vectorielle et modèles RAG (Retrieval Augmented Generation)
Source: Plateforme de données InterSystems IRIS: Guide d'architecture
Article
Sylvain Guilbaud · Mai 19
Bonjour à la communauté,
Exploitez tout le potentiel d'InterSystems IRIS et accompagnez votre équipe dans son intégration grâce à la gamme complète de ressources de formation InterSystems, disponibles en ligne et en présentiel, adaptées à chaque rôle de votre organisation. Les développeurs, administrateurs système, analystes de données et intégrateurs peuvent rapidement se familiariser avec la solution.
Ressources d'intégration pour chaque rôle
Développeurs
Programme d'apprentissage en ligne: Getting Started with InterSystems IRIS for Coders (21h)
Formation en classe: Developing with InterSystems Objects and SQL (5 days)
Administrateurs système
Parcours d'apprentissage: InterSystems IRIS Management Basics (10h)
Formation en classe: Managing InterSystems Servers (5 days)
Analystes de données
Vidéo: Introduction to Analytics with InterSystems (6m)
Parcours d'apprentissage pour chaque outil:
Analyzing Data with InterSystems IRIS BI
Delivering Data Visually with InterSystems Reports (1h 15m)
Build Data Models Using Adaptive Analytics (2h 15m)
Formation en classe: Using InterSystems Embedded Analytics (5 days)
Integrators
Programme d'apprentissage: Getting Started with InterSystems IRIS for Health for Integrators (14h)
Formation en classe: Developing System Integrations et Building and Managing HL7 Integrations (5 days each)
Implementers
Parcours d'apprentissage: Deploying InterSystems IRIS in Containers and the Cloud (3h)
Programme d'apprentissage: Getting Started with InterSystems IRIS for Implementers (26h)
Project managers
Regardez les vidéos de présentation des produits.
Lisez les success stories pour vous inspirer : découvrez comment d’autres utilisent les produits InterSystems !
Autres ressources des services d'apprentissage
💻 Programme d'apprentissage en ligne: Inscrivez-vous gratuitement sur learning.intersystems.com pour accéder à des cours, vidéos et exercices à votre rythme. Vous pouvez également suivre des parcours d'apprentissage axés sur les tâches ou des programmes axés sur les rôles pour faire progresser votre carrière.
👩🏫 Formation en classe: Consultez le programme des formations en présentiel, en présentiel ou en classe virtuelle, ou demandez une formation privée pour votre équipe. Plus d'informations sur classroom.intersystems.com.
📘 documentation InterSystems IRIS : Documents de référence complets, guides et articles pratiques. Explore the documentation.
📧 Support: Pour le support technique, envoyez un e-mail à support@intersystems.com.
Opportunités de certification
Une fois que vous et les membres de votre équipe avez acquis suffisamment de formation et d’expérience, devenez certifié selon votre rôle !
Apprendre de la communauté
💬 Participez à l'apprentissage au sein de la communauté des développeurs : discutez avec d'autres développeurs, posez des questions, lisez des articles et restez informé des dernières annonces. Consultez cet article pour découvrir des conseils sur la façon d'apprendre au sein de la communauté des développeurs..
Grâce à ces ressources d'apprentissage, votre équipe sera parfaitement équipée pour optimiser les fonctionnalités d'InterSystems IRIS et favoriser la croissance et la réussite de votre organisation. Pour toute question, posez-la ici ou contactez votre ingénieur commercial dédié.
Annonce
Irène Mykhailova · Juil 9
Bonjour à tous et a toutes,
Nous sommes heureux d'annoncer le nouveau concours de programmation en ligne InterSystems dédié à la création d'outils utiles pour faciliter la vie de vos collègues développeurs :
🏆 Concours d'outils de développement InterSystems 🏆
Durée : du 14 juillet au 3 août 2025
Prix : 12 000 $
Le sujet
Développez des applications qui améliorent l'expérience des développeurs avec IRIS, accélèrent le développement, contribuent à la qualité du code et facilitent les tests, le déploiement, le support et la surveillance de votre solution avec InterSystems IRIS.
Exigences générales :
Une application ou une bibliothèque doit être entièrement fonctionnelle. Il ne doit pas s'agir d'un import ou d'une interface directe pour une bibliothèque déjà existante dans un autre langage (sauf pour le C++, là il faut vraiment faire beaucoup de travail pour créer une interface pour Iris). Il ne doit pas s'agir d'un copier-coller d'une application ou d'une bibliothèque existante.
Applications acceptées : nouvelles applications sur Open Exchange ou existantes, mais avec une améliorations significatives. Notre équipe examinera toutes les candidatures avant de les approuver pour le concours.
L'application doit fonctionner sur IRIS Community Edition, IRIS for Health Community Edition ou IRIS Cloud SQL. Les deux peuvent être téléchargés en tant que versions hôtes (Mac, Windows) à partir du site d'évaluation, ou peuvent être utilisés sous la forme de conteneurs extraits d'InterSystems Container Registry ou de Community Containers : intersystemsdc/iris-community:latest ou intersystemsdc/irishealth-community:latest .
L'application doit être Open Source et publiée sur GitHub ou GitLab.
Le fichier README de l'application doit être en anglais, contenir les étapes d'installation, et la vidéo de démonstration ou/et une description du fonctionnement de l'application.
Pas plus de 3 soumissions d’un développeur sont autorisées.
N.B. Nos experts auront le dernier mot quant à l'approbation ou non de la candidature au concours en fonction des critères de complexité et d'utilité. Leur décision est définitive et sans appel.
Prix du concours :
1. Nomination des experts – les gagnants seront sélectionnés par l'équipe d'experts d'InterSystems :
🥇 1ère place - $5,000🥈 2e place - $2,500🥉 3e place - $1,000🏅 4e place - $500🏅 5e place - $300🌟 6-10e places - $100
2. Gagnants de la communauté – candidatures qui recevront le plus de votes au total :
🥇 1ère place - $1,000 🥈 2e place - $600🥉 3e place - $300🏅 4e place - $200🏅 5e place - $100
❗ Si plusieurs participants obtiennent le même nombre de votes, ils sont tous considérés comme gagnants et la récompense est partagée entre eux.❗ Les récompenses en espèces sont attribuées uniquement aux personnes pouvant prouver leur identité. En cas de doute, les organisateurs contacteront le ou les participants pour leur demander des informations complémentaires
Qui peut participer ?
Tout membre de la communauté de développeurs, à l'exception des employés d'InterSystems (sous-traitants ISC autorisés). Créer un compte !
Les développeurs peuvent s'associer pour créer une application collaborative. Autorisé de 2 à 5 développeurs dans une équipe.
N'oubliez pas de mettre en évidence les membres de votre équipe dans le README de votre application – profils d'utilisateurs DC.
Délais importants :
🛠 Phase de développement et d'inscription de l'application :
14 juillet 2025 (00:00 EST): le concours commence.
27 juillet 2025 (23:59 EST): la date limite de soumission.
✅ Période de vote:
28 juillet 2025 (00:00 EST): le vote commence.
3 août 2025 (23:59 EST): le vote se termine.
Remarque : Les développeurs peuvent améliorer leurs applications tout au long de la période d'inscription et de vote.
Ressources utiles :
✓ Exemples d'applications et de bibliothèques :
webterminal
git-source-control
iris-rad-studio
cmPurgeBackup
errors-global-analytics
objectscript-openapi-definition
Test Coverage Tool
iris-bi-utils
et plus encore
✓ Modèles à partir desquels nous vous suggérons de commencer :
iris-dev-template
Interoperability-python
rest-api-contest-template
native-api-contest-template
iris-fhir-template
iris-fullstack-template
iris-interoperability-template
iris-analytics-template
✓ Pour les débutants avec IRIS :
Build a Server-Side Application with InterSystems IRIS
Learning Path for beginners
✓ Pour les débutants avec ObjectScript Package Manager (IPM) :
How to Build, Test and Publish IPM Package with REST Application for InterSystems IRIS
Package First Development Approach with InterSystems IRIS and IPM
✓ Comment soumettre votre application au concours :
How to submit an application on Open Exchange
How to apply for the contest
Besoin d'aide ?
Rejoignez la chaîne du concours sur le serveur Discord d'InterSystems ou discutez avec nous dans les commentaires de ce post.
Nous avons hâte de voir vos projets! Bonne chance 👍
En participant à ce concours, vous acceptez les conditions du concours énoncées ici. Veuillez les lire attentivement avant de continuer.