Recherche

Effacer le filtre
Annonce
Irène Mykhailova · Août 5, 2022

Faites-nous part de vos commentaires pour notre concours d'articles techniques : édition Python

Salut, Vous avez des idées pour améliorer encore le concours d'articles techniques ? Nous voulons entendre parler de vous tous : à la fois de nos participants et de ceux qui n'ont pas pu participer ! Veuillez répondre à quelques questions pour nous aider à améliorer notre concours d'écriture : 👉 Sondage d'une minute : Sondage du concours d'articles techniques InterSystems #3 Ou partagez simplement vos réflexions dans les commentaires de cet article !
Question
Alan Decourtray · Mars 18

Questions sur les varstring

Bonjour à tous! Mes collègues et moi se demandions pourquoi la classe varstring était "cachée" dans la documentation Intersystems .Est-ce qu'on peut l'utiliser sans problèmes ? On a essayé de chercher sur le forum, et d'autres développeurs ont l'air de l'utiliser. Est-ce qu'il y a des spécificités ou des risques que nous devrions connaître avant de l'utiliser ? Merci beaucoup! Alan Bonjour, Quelle est la raison pour laquelle vous préférez utiliser %VarString plutôt que %String?
Article
Sylvain Guilbaud · Mars 18, 2022

Conteneurisation des passerelles .Net/Java (ou démonstration d'une intégration Kafka)

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](https://kafka.apache.org/). Et pour interopérer avec le code Java/.Net, nous utiliserons [PEX](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EPEX).   ## Architecture Notre solution fonctionnera entièrement dans docker et ressemblera à ceci :   ![](https://raw.githubusercontent.com/intersystems-community/pex-demo/master/architecture.PNG)   ## Passerelle Java Tout d'abord, nous allons développer l'opération Java pour envoyer des messages dans Kafka. Le code peut être écrit dans l'IDE de votre choix et il peut [ressembler à ceci](https://github.com/intersystems-community/pex-demo/blob/master/java/src/dc/rmq/KafkaOperation.java). En bref : * Pour développer une nouvelle opération commerciale PEX, nous devons implémenter la classe abstraite com.intersystems.enslib.pex.BusinessOperation * Les propriétés publiques sont les paramètres de l'hôte de l'entreprise * La méthode OnInit est utilisée pour initier la connexion à Kafka et obtenir un pointeur vers InterSystems IRIS * OnTearDown est utilisé pour se déconnecter de Kafka (à l'arrêt du processus) * OnMessage reçoit le [message dc.KafkaRequest](https://github.com/intersystems-community/pex-demo/blob/master/iris/src/dc/KafkaRequest.cls) et l'envoie à Kafka Maintenant, plaçons-le dans Docker ! Voici notre [dockerfile](https://github.com/intersystems-community/pex-demo/blob/master/java/Dockerfile) : FROM openjdk:8 AS builder ARG APP_HOME=/tmp/app COPY src $APP_HOME/src COPY --from=intersystemscommunity/jgw:latest /jgw/*.jar $APP_HOME/jgw/ WORKDIR $APP_HOME/jar/ ADD https://repo1.maven.org/maven2/org/apache/kafka/kafka-clients/2.5.0/kafka-clients-2.5.0.jar . ADD https://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar . ADD https://repo1.maven.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar . ADD https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar . WORKDIR $APP_HOME/src RUN javac -classpath $APP_HOME/jar/*:$APP_HOME/jgw/* dc/rmq/KafkaOperation.java && \ jar -cvf $APP_HOME/jar/KafkaOperation.jar dc/rmq/KafkaOperation.class FROM intersystemscommunity/jgw:latest COPY --from=builder /tmp/app/jar/*.jar $GWDIR/ Allons-y ligne par ligne et voyons ce qui se passe ici (je suppose que vous connaissez [les constructions docker à plusieurs niveaux](https://docs.docker.com/develop/develop-images/multistage-build/)) : FROM openjdk:8 AS builder Notre image de départ est JDK 8. ARG APP_HOME=/tmp/app COPY src $APP_HOME/src Nous copions nos sources du dossier /src dans le dossier /tmp/app. COPY --from=intersystemscommunity/jgw:latest /jgw/*.jar $APP_HOME/jgw/ Nous copions les sources de la passerelle Java dans le dossier /tmp/app/jgw. WORKDIR $APP_HOME/jar/ ADD https://repo1.maven.org/maven2/org/apache/kafka/kafka-clients/2.5.0/kafka-clients-2.5.0.jar . ADD https://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar . ADD https://repo1.maven.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar . ADD https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar . WORKDIR $APP_HOME/src RUN javac -classpath $APP_HOME/jar/*:$APP_HOME/jgw/* dc/rmq/KafkaOperation.java && \ jar -cvf $APP_HOME/jar/KafkaOperation.jar dc/rmq/KafkaOperation.class Maintenant toutes les dépendances sont ajoutées et javac/jar est appelé pour compiler le fichier jar. Pour un projet concret, il est préférable d'utiliser maven ou gradle. FROM intersystemscommunity/jgw:latest COPY --from=builder /tmp/app/jar/*.jar $GWDIR/ Et enfin, les jars sont copiés dans l'image de base jgw (l'image de base se charge également du démarrage de la passerelle et des tâches connexes). ## Passerelle .Net Vient ensuite le service .Net qui recevra les messages de Kafka. Le code peut être écrit dans l'IDE de votre choix et il peut [ressembler à ceci](https://github.com/intersystems-community/pex-demo/blob/master/dotnet/KafkaConsumer.cs). En bref : * Pour développer un nouveau service d'entreprise PEX nous devons implémenter la classe abstraite InterSystems.EnsLib.PEX.BusinessService * Les propriétés publiques sont les paramètres de l'hôte de l'entreprise * La méthode OnInit est utilisée pour établir une connexion avec Kafka, s'abonner à des sujets et obtenir un pointeur vers InterSystems IRIS * OnTearDown est utilisé pour se déconnecter de Kafka (à l'arrêt du processus) * OnMessage consomme les messages de Kafka et envoie des messages Ens.StringContainer aux autres hôtes d'Interoperability Maintenant, plaçons-le dans Docker ! Voici notre [dockerfile](https://github.com/intersystems-community/pex-demo/blob/master/dotnet/Dockerfile) : FROM mcr.microsoft.com/dotnet/core/sdk:2.1 AS build ENV ISC_PACKAGE_INSTALLDIR /usr/irissys ENV GWLIBDIR lib ENV ISC_LIBDIR ${ISC_PACKAGE_INSTALLDIR}/dev/dotnet/bin/Core21 WORKDIR /source COPY --from=store/intersystems/iris-community:2020.2.0.211.0 $ISC_LIBDIR/*.nupkg $GWLIBDIR/ # copier csproj et restaurer en tant que couches distinctes COPY *.csproj ./ RUN dotnet restore # copier et publier l'application et les bibliothèques COPY . . RUN dotnet publish -c release -o /app # étape/image finale FROM mcr.microsoft.com/dotnet/core/runtime:2.1 WORKDIR /app COPY --from=build /app ./ # Configurations pour démarrer le serveur passerelle RUN cp KafkaConsumer.runtimeconfig.json IRISGatewayCore21.runtimeconfig.json && \ cp KafkaConsumer.deps.json IRISGatewayCore21.deps.json ENV PORT 55556 CMD dotnet IRISGatewayCore21.dll $PORT 0.0.0.0 Allons-y ligne par ligne : FROM mcr.microsoft.com/dotnet/core/sdk:2.1 AS build Nous utilisons le SDK complet .Net Core 2.1 pour construire notre application. ENV ISC_PACKAGE_INSTALLDIR /usr/irissys ENV GWLIBDIR lib ENV ISC_LIBDIR ${ISC_PACKAGE_INSTALLDIR}/dev/dotnet/bin/Core21 WORKDIR /source COPY --from=store/intersystems/iris-community:2020.2.0.211.0 $ISC_LIBDIR/*.nupkg $GWLIBDIR/ Copiez .Net Gateway NuGets de l'image Docker officielle d'InterSystems dans notre image de constructeur # copier csproj et restaurer comme couches distinctes COPY *.csproj ./ RUN dotnet restore # copier et publier l'application et les bibliothèques COPY . . RUN dotnet publish -c release -o /app Construisez notre bibliothèque. # étape/image finale FROM mcr.microsoft.com/dotnet/core/runtime:2.1 WORKDIR /app COPY --from=build /app ./ Copiez les dll de la bibliothèque dans le conteneur final que nous exécuterons réellement. # Configurats pour démarrer le serveur Gateway RUN cp KafkaConsumer.runtimeconfig.json IRISGatewayCore21.runtimeconfig.json && \ cp KafkaConsumer.deps.json IRISGatewayCore21.deps.json Actuellement, la passerelle .Net doit charger toutes les dépendances au démarrage, nous lui faisons donc connaître toutes les dépendances possibles. ENV PORT 55556 CMD dotnet IRISGatewayCore21.dll $PORT 0.0.0.0 Démarrez la passerelle sur le port 55556 en écoutant sur toutes les interfaces. Et voilà, c'est tout ! Voici un [docker-compose](https://github.com/intersystems-community/pex-demo/blob/master/docker-compose.yml) complet pour que tout fonctionne (y compris Kafka et Kafka UI pour voir les messages). Pour exécuter la démo, vous dever : 1. Installer : * docker * docker-compose * git 2. Exécuter : git clone https://github.com/intersystems-community/pex-demo.git cd pex-demo docker-compose pull docker-compose up -d   **Avis important** : Les bibliothèques Java Gateway et .Net Gateway DOIVENT provenir de la même version que le client InterSystems IRIS.
Annonce
Adeline Icard · Avr 4, 2023

Annonce de la version IAM 3.2

Version IAM 3.2 InterSystems API Manager (IAM) version 3.2.1 est désormais généralement disponible. En plus des corrections de bogues et des améliorations mineures, IAM 3.2 ajoute de nouveaux plug-ins susceptibles d'intéresser les clients IRIS. Validation OAS (oas-validation) Validez les requêtes et les réponses HTTP en fonction d'une spécification d'API OpenAPI 3.0 ou Swagger. SAML (saml) Fournit l'authentification et l'autorisation SAML v2.0 entre un fournisseur de services (Kong Gateway) et un fournisseur d'identité (IdP). Protection contre les menaces XML (xml-threat-protection) Ce nouveau plugin vous permet de réduire le risque d'attaques XML en vérifiant la structure des charges utiles XML. Cela valide la complexité maximale (profondeur de l'arbre), la taille maximale des éléments et des attributs. AppDynamics (app-dynamics) Intégrez Kong Gateway à la plateforme AppDynamics APM. Déchiffrement JWE (jwe-decrypt) Permet de déchiffrer un jeton entrant (JWE) dans une requête. IAM est une passerelle API entre vos serveurs et applications InterSystems IRIS, fournissant des outils pour surveiller, contrôler et gouverner efficacement le trafic HTTP à grande échelle. IAM est disponible en complément gratuit de votre licence InterSystems IRIS. IAM 3.2 peut être téléchargé à partir de la section Composants du site de distribution de logiciels WRC. Suivez le Guide d'installation pour savoir comment télécharger, installer et démarrer avec IAM. La documentation complète sur IAM 3.2 vous donne plus d'informations sur IAM et son utilisation avec InterSystems IRIS. Notre partenaire Kong fournit une documentation supplémentaire sur l'utilisation d'IAM dans la documentation de Kong Gateway (Enterprise) 3.2. IAM est uniquement disponible au format de conteneur OCI (Open Container Initiative) ou Docker. Les images de conteneur sont disponibles pour les moteurs d'exécution compatibles OCI pour Linux x86-64 et Linux ARM64, comme indiqué dans le document sur les plates-formes prises en charge. Le numéro de build de cette version est IAM 3.2.1.0-4. Cette version est basée sur Kong Gateway (Enterprise) version 3.2.1.
Annonce
Irène Mykhailova · Juil 1, 2022

Version IAM 2.8.1

Version IAM 2.8.1 InterSystems API Manager (IAM) version 2.8.1 est désormais généralement disponible. En plus d'une multitude d'améliorations des performances et de corrections de bogues, cette version ajoute de nouvelles fonctionnalités importantes, notamment : Essentiel Groupes de consommateurs - Vous permet de regrouper des consommateurs pour créer des niveaux de service Crochets d'événement - Permet à IAM d'appeler un crochet Web lorsque certains événements se produisent. Par exemple, envoyez un message PagerDuty si un point de terminaison échoue. Améliorations du mode hybride - Vérification de version simplifiée ; le plan de contrôle peut continuer à fonctionner si la base de données est en panne. Nouveaux plugins JQ - Appliquer des transformations aux messages JSON. OPA - Open Policy Agent est une norme de l'industrie pour décrire les politiques d'accès et de sécurité de manière standard. Mocking - Le plug-in de moquerie accélère les pratiques de développement axées sur l'API. Console d'administration Filtrage et tri TLS 1.3 pour le portail de développement IAM est une passerelle API entre vos serveurs et applications InterSystems IRIS, fournissant des outils pour surveiller, contrôler et gouverner efficacement le trafic HTTP à grande échelle. IAM est disponible et complément gratuit avec votre licence InterSystems IRIS. IAM 2.8.1 peut être téléchargé à partir de la zone Composants du site WRC Software Distribution. Suivez le Guide d'installation pour savoir comment télécharger, installer et démarrer avec IAM. La documentation complète d'IAM 2.8.1 vous donne plus d'informations sur IAM et son utilisation avec InterSystems IRIS. Notre partenaire Kong fournit une documentation supplémentaire sur l'utilisation d'IAM dans la documentation de Kong Gateway (Enterprise) 2.8.x. IAM est uniquement disponible au format de conteneur OCI (Open Container Initiative) ou Docker. Les images de conteneur sont disponibles pour les moteurs d'exécution compatibles avec OCI pour Linux x86-64 et Linux ARM64, comme détaillé dans le document Plateformes prises en charge. Le numéro de build de cette version est IAM 2.8.1.0-3. Cette version est basée sur Kong Gateway (Enterprise) version 2.8.1.

#iKnow

2 Publications0 Abonnés
Annonce
Sylvain Guilbaud · Mars 16, 2023

Versions de VS Code ObjectScript v2.6.0

Je suis heureux d'annoncer la version 2.6.0 de l'extension VS Code ObjectScript, contenant un certain nombre d'améliorations qui facilitent la vie d'un développeur. Certains faits saillants sont décrits ci-dessous. Comme toujours, retrouvez la liste complète des modifications dans le CHANGELOG, y compris de nombreux correctifs de bogues et de vulnérabilités. Changez rapidement de namespace Merci à @Olli.Tanskanen de la société partenaire JediSoft Oy pour cette amélioration ! Vous pouvez désormais changer de namespace à partir du menu Actions du serveur (lors de l'utilisation de dossiers côté client uniquement). Recherche côté serveur rapide et asynchrone Celui-ci nécessite InterSystems IRIS 2023.x et l'API proposée activée. Lorsque vous disposez d'un espace de travail de code côté serveur et que vous utilisez le volet de recherche (Ctrl+Shift+F ou Cmd+Shift+F sur macos), votre recherche sera beaucoup plus rapide et s'exécutera de manière asynchrone. Débogage plus facile avec "Ouvrir l'emplacement de l'erreur..." Si vous obtenez une erreur de compilation dans votre code ObjectScript, il est facile d'accéder directement à l'erreur en cliquant sur le lien (texte souligné) dans le volet de sortie. Cependant, il n'existe aucun moyen d'accéder directement à l'emplacement de l'erreur si l'erreur se produit au moment de l'exécution ou si vous avez compilé le code en dehors de VS Code. Nous avons maintenant résolu ce problème avec "Ouvrir l'emplacement de l'erreur..." disponible dans la palette de commandes. Lorsqu'il est exécuté, il invite l'utilisateur à saisir un emplacement d'erreur au format label+offset^routine, puis ouvre cet emplacement. Étape 1 : Ctrl+Maj+P (Cmd+Maj+P sur macos) pour ouvrir la palette de commandes, puis saisissez erreur pour localiser la commande "ObjectScript : Ouvrir l'emplacement de l'erreur..." Étape 2 : collez le label+offset^routine à partir de votre message d'erreur et appuyez sur Enter. Création du dossier ISFS Si vous n'aimez pas éditer les fichiers de configuration à la main, vous apprécierez que l'interface utilisateur pour la création de dossiers ISFS soit grandement améliorée dans cette version. Équivalents des raccourcis clavier de Studio Il s'agit d'une mise à jour de la documentation, elle était donc en ligne avant la mise à jour de l'extension. Lisez à ce sujet ici.. Installation Si les extensions ObjectScript - ObjectScript, Server Manager et Language Server - sont déjà installées, accédez à votre volet Extensions et assurez-vous qu'elles sont à jour. "InterSystems ObjectScript" doit être à la v2.6.0, "InterSystems Server Manager" doit être à la v3.2.2 et "InterSystems Language Server" doit être à la v2.3.0. Si, pour une raison quelconque, vous n'avez pas encore essayé ces extensions, installez VS Code d'ici. Installez ensuite le "InterSystems ObjectScript Extension Pack" à partir de VS Code Marketplace en cliquant sur le bouton vert "Installer".
Annonce
Irène Mykhailova · Oct 6, 2022

Aperçu du dossier de soins unifié HealthShare 12-13 octobre 2022 - Espace d'inscription disponible

Présentation des dossiers de soins unifiés HealthShare 12-13 octobre 2022 9h00 à 17h00 EST Il s'agit d'une formation virtuelle interactive en direct dirigée par un instructeur. Le cours de présentation du dossier de soins unifié HealthShare est un excellent moyen pour les clients, les partenaires et les employés InterSystems de se familiariser avec le dossier de soins unifié HealthShare, mais surtout pour ceux qui ont besoin de comprendre ses fonctionnalités mais pas comment configurer le dossier de soins unifié HealthShare. Il s'agit d'un cours de formation virtuel non technique, dirigé par un instructeur, offrant une introduction complète au dossier de soins unifié HealthShare. Ce cours s'adresse à tous ceux qui ont besoin de connaître les fonctionnalités et l'architecture du dossier de soins unifié HealthShare. (Si vous avez besoin d'informations sur la configuration et le dépannage de l'enregistrement de soins unifié, consultez le cours HealthShare Unified Care Record Fundamentals). Aucune connaissance ou expérience préalable n'est requise. Tout client, partenaire ou employé d'InterSystems HealthShare peut s'inscrire au cours Inscrivez-vous ici
Discussion
Miqueias Santos · Mai 18, 2023

Venez laisser votre feed back sur mon article

Salut les gars!Je cherche de bonnes personnes pour donner un retour sur mon article, accédez simplement au lien ci-dessous, traduisez du portugais brésilien vers votre langue si nécessaire et laissez votre retour Lien: https://pt.community.intersystems.com/post/veremos-seguir-como-o-intersystems-iris-aliado-com-machine-learning-pode-transformar-para Laissez votre feed-back dans l'article, pas ici. Merci!

#Sauvegarder

2 Publications0 Abonnés

#Langues

8 Publications0 Abonnés

#Tables relationnelles

12 Publications0 Abonnés

#CaretDev

0 Publications0 Abonnés
Annonce
Irène Mykhailova · Mai 28, 2022

Voyez les dernières nouveautés des Learning Services

Ce mois-ci, essayez un nouveau parcours d'apprentissage pour voir comment vous pouvez utiliser la plate-forme de données InterSystems IRIS® comme back-end de votre application. Vous pouvez également écouter le dernier épisode de podcast sur l'accessibilité, explorer de nouvelles pages d'accueil de produits dans la documentation et suivre un cours en classe. Retrouvez tous les détails et d'autres ressources d'apprentissage dans la newsletter de mai 2022.
Annonce
Irène Mykhailova · Nov 3, 2022

Saison d'Halloween sur Global Masters

Salut à tous!Rejoignez-nous sur Global Masters pour une célébration amusante et effrayante de la saison d'Halloween.Relevez tous les défis de la chaîne "It's a Halloween season 🎃" pour participer à un tirage au sort pour nos nouveaux prix 🎁 - une couverture en peluche et un bureau pour ordinateur portable. > Accéder aux Global Masters < Pas encore membre Global Masters ? Inscrivez-vous ici en utilisant vos identifiants InterSystems SSO.