Bonjour et bienvenue au 21e concours de programmation d'InterSystems !
🏆 Concours InterSystems Full Stack 2022 🏆
Durée : 27 juin - 17 juillet 2022
Prix totaux : $10,000
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.
Bonjour et bienvenue au 21e concours de programmation d'InterSystems !
🏆 Concours InterSystems Full Stack 2022 🏆
Durée : 27 juin - 17 juillet 2022
Prix totaux : $10,000
Dans le premier article de cette série, nous avons vu comment lire un "gros" volume de données dans le corps brut d'une méthode HTTP POST et l'enregistrer dans une base de données en tant que propriété de flux d'une classe. Voyons maintenant comment enregistrer de telles données et métadonnées au format JSON.
Une question a été posée dans la communauté des développeurs d'InterSystems concernant la possibilité de créer une interface TWAIN pour une application Caché. Il y a eu plusieurs suggestions intéressantes sur la façon d'obtenir des données d'un périphérique d'acquisition d'images sur un client Web vers un serveur, puis de stocker ces données dans une base de données
Toutefois, pour mettre en œuvre l'une de ces suggestions, vous devez être en mesure de transférer des données d'un client Web vers un serveur de base de données et de stocker les données reçues dans une propriété de classe (ou une cellule de tableau, comme c'était le cas dans la question). Cette technique peut être utile non seulement pour transférer des données d'images provenant d'un périphérique TWAIN, mais aussi pour d'autres tâches telles que l'organisation d'une archive de fichiers, d'un partage d'images, etc.
Ainsi, l'objectif principal de cet article est de montrer comment écrire un service RESTful pour obtenir des données du corps d'une commande HTTP POST, soit à l'état brut, soit enveloppées dans une structure JSON.
Dans cette série d'articles en trois parties, il est montré comment vous pouvez utiliser IAM pour ajouter simplement de la sécurité, selon les normes OAuth 2.0, à un service précédemment non authentifié déployé dans IRIS.
Dans la première partie, nous avons fourni des informations sur OAuth 2.0 ainsi que des définitions et des configurations initiales d'IRIS et d'IAM afin de faciliter la compréhension de l'ensemble du processus de sécurisation de vos services.
Dans cette série d'articles en trois parties, il est montré comment vous pouvez utiliser IAM pour ajouter simplement de la sécurité, selon les normes OAuth 2.0, à un service précédemment non authentifié déployé dans IRIS.
Dans la première partie, nous avons fourni des informations sur OAuth 2.0 ainsi que des définitions et des configurations initiales d'IRIS et d'IAM afin de faciliter la compréhension de l'ensemble du processus de sécurisation de vos services.
InterSystems et la communauté des développeurs autour de ZPM ont travaillé ensemble pour faire passer ZPM au niveau supérieur, en l'intégrant à IRIS et en en faisant un outil capable non seulement de gérer du code tiers, mais également des éléments clés des produits InterSystems. Vous pouvez en entendre beaucoup plus sur ce sujet lors du Global Summit 2022, et assister à un laboratoire d'expérience pour vous familiariser.
En tant que développeur, vous pouvez également participer à la discussion en cours sur certains problèmes de conception clés que nous explorons avec la communauté.
Aujourd'hui, de nombreuses applications utilisent le cadre d'autorisation ouvert (OAuth) pour accéder aux ressources de toutes sortes de services de manière sûre, fiable et efficace. InterSystems IRIS est déjà compatible avec le cadre OAuth 2.0, en fait, il y a un excellent article dans la communauté concernant OAuth 2.0 et InterSystems IRIS dans le lien suivant ici.
InterSystems API Management (IAM) - c'est une nouvelle fonctionnalité de la plate-forme de données InterSystems IRIS, qui vous permet de surveiller, de contrôler et de gérer le trafic vers et à partir des API basées sur le Web au sein de votre infrastructure informatique. Au cas où vous l'auriez manqué, voici le lien vers l'annonce. Et voici un article expliquant comment commencer à travailler avec IAM.
Dans cet article, nous allons utiliser InterSystems API Management pour assurer l'équilibrage de charge d'une API.
Dans notre cas, nous avons 2 instances InterSystems IRIS avec /api/atelier REST API que nous voulons publier pour nos clients.
Il y a de nombreuses raisons différentes pour lesquelles nous pourrions vouloir faire cela, par exemple :
Nous sommes à l'ère de l'économie multiplateforme et les API sont la "colle " de ce scénario numérique. Étant donné leur importance, les développeurs les considèrent comme un service ou un produit à consommer. Par conséquent, l'expérience d'utilisation est un facteur crucial de leur succès.
Afin d'améliorer cette expérience, des normes de spécification telles que la spécification OpenAPI (OAS) sont de plus en plus adoptées dans le développement des API RESTFul.
Nous avons hâte de voir tout le monde au InterSystems Global Summit la semaine prochaine !
George James Software sera présent pour proposer des démonstrations de notre contrôle de source Deltanji. Il a été prouvé qu'il améliore l'efficacité des développeurs individuels, des grandes organisations et de tous les autres en apportant de la clarté au développement de votre système. Il encourage la gestion de la configuration, la gestion des versions et le contrôle des processus pour améliorer la qualité de votre code.
Si vous souhaitez en savoir plus, rendez-vous dans le pavillon des partenaires ou réservez pour notre session de groupe d'utilisateurs pendant le déjeuner du mercredi 22 juin. Envoyez un e-mail laurelj@georgejames.com pour nous informer de votre présence.
Une session concurrente dans IRIS : SQL, Objects, REST, et GraphQL
Kazimir Malevitch, "Athlètes" (1932)
"Mais bien sûr, vous ne comprenez pas ! Comment celui qui a toujours voyagé en calèche peut-il comprendre les sentiments et les impressions du voyageur en express ou du pilote dans les airs ?"
Kazimir Malevich (1916)
Introduction
Nous avons déjà abordé le sujet des raisons pour lesquelles la représentation objet/type est préférable à SQL pour la mise en œuvre des modèles de domaine. Et ces conclusions et ces faits sont aussi vrais aujourd'hui qu'ils l'ont toujours été. Alors pourquoi devrions-nous faire un pas en arrière et discuter des technologies qui ramènent les abstractions au niveau global, où elles se trouvaient à l'ère pré-objet et pré-type ? Et pourquoi devrions-nous encourager l'utilisation d'un code spaghetti, qui donne lieu à des bogues difficiles à repérer et qui ne repose que sur les compétences virtuoses des développeurs ?
Plusieurs arguments sont favorables à la transmission de données via des API basées sur SQL/REST/GraphQL plutôt qu'à leur représentation sous forme de types/objects:
2022.1 est une version de maintenance étendue, ce qui signifie que les versions de maintenance seront disponibles pendant deux ans, suivies de deux années supplémentaires de versions spécifiques à la sécurité.
InterSystems IRIS Data Platform 2022.
Salut la communauté,
Retrouvons-nous lors de la rencontre en ligne avec les gagnants d'InterSystems Grand Prix contest!
Une belle occasion d'échanger avec nos Experts sur la technologie InterSystems. Démos de nos gagnants incluses !
Date et heure: vendredi 10 juin 2022 - 11h00 HAE
Les champs peuvent être obtenu à l'aide du schéma INFORMATION_SCHEMA.
INFORMATION_SCHEMA est un schéma système et n'apparaît pas dans le menu SQL du Management Portal par défaut.
La méthode d'affichage est la suivante.
.png)
Le SQL pour obtenir l'ID, le nom du champ (COLUMN_NAME), le type de données (DATA_TYPE) et la description (DESCRIPTION) pour la table spécifiée (Test.Person) est le suivant.
Salut la communauté,
Nous sommes ravis d'annoncer les gagnants d'InterSystems Grand Prix Programming contest.
Ce concours a été un franc succès ! Pour montrer notre appréciation à nos incroyables concurrents, nous avons doublé les prix pour les finalistes !
Alors rencontrons les gagnants...

Venez nous dire bonjour dans le pavillon des partenaires du Global Summit !
Nous présenterons notre débogueur sur place Serenji qui a subi de grands changements au cours de la dernière année. Les utilisateurs peuvent désormais profiter d'une expérience de débogage transparente sans aucune configuration, tout en profitant des dernières fonctionnalités de VS Code lui-même, permettant aux utilisateurs d'identifier en douceur et de corriger rapidement les erreurs dans votre code, contribuant ainsi à la production d'un code de qualité et maintenable.
En tant que développeur, vous avez probablement passé au moins un certain temps à écrire un code répétitif. Vous vous êtes peut-être même retrouvé à souhaiter pouvoir générer ce code de manière programmatique. Si vous êtes dans cette situation, cet article est pour vous !
Nous allons commencer par un exemple. Note : les exemples suivants utilisent l'interface %DynamicObject, qui nécessite Caché 2016.2 ou une version supérieure. Si vous n'êtes pas familier avec cette classe, consultez la documentation ici : Utiliser JSON dans Caché. C'est vraiment génial !
Pour chaque propriété, requête ou index défini, plusieurs méthodes correspondantes seraient automatiquement générées lors de la compilation d'une classe. Ces méthodes peuvent être très utiles. Dans cet article, je décrirai certaines d'entre elles.
Salut les développeurs !
Voici le score des bonus techniques pour les participants de l'InterSystems Grand Prix 2022 Contest!
Le candidat idéal sera responsable de conceptualiser et d'exécuter un code clair et de qualité pour développer le meilleur logiciel. Vous testerez votre code, identifierez les erreurs et itérerez pour garantir la qualité du code. Vous assisterez également nos clients et partenaires en résolvant n'importe lequel de leurs problèmes logiciels.
Salut les développeurs,
Que la semaine du vote commence ! C'est le moment de voter pour les meilleures applications du Grand Prix Programming Contest!
🔥 C'est vous qui décidez : VOTEZ ICI 🔥
Bonjour à la communauté IRIS,
InterSystems Certification est en train de développer un examen de certification pour les administrateurs système IRIS et, si vous correspondez à la description de l'examen ci-dessous, nous aimerions que vous testiez l'examen en version bêta. L'examen sera disponible pour un test bêta du 20 au 23 juin 2022 lors du Global Summit 2022, mais uniquement pour les personnes inscrites au Summit (visitez cette page pour en savoir plus sur la certification au GS22). Le test bêta sera ouvert à tous les autres bêta-testeurs intéressés le 1er juillet 2022.
Bonjour ,
Un webinaire a été organisé le mardi 24 mai pour vous faire découvrir les nouvelles fonctionnalités d'InterSystems IRIS ® et InterSystems IRIS for Health™ version 2022.1.
Au cours de ce webinaire, Benjamin De Boe et Bob Kuszewski ont montré certaines de ces nouvelles fonctionnalités notamment :
Étant donné que SELECT ... FOR UPDATE est implémenté dans de nombreux RDBMS en tant que méthode d'acquisition de lock de ligne explicite, vous utilisez probablement cette fonctionnalité dans de nombreux cas.
Cette syntaxe n'entraîne pas d'erreur dans les produits InterSystems, mais elle n'acquiert pas les locks de ligne attendus.
Cet article vous montrera comment obtenir la même fonctionnalité.
DECLARE CURSOR C1 IS SELECT Name FROM Person WHERE Name LIKE 'A%' FOR UPDATE OPEN C1 LOOP FETCH C1 INTO name .afficher le nom. .
Dans le premier article de cette série, nous avons étudié le modèle entité-attribut-valeur (EAV) dans les bases de données relationnelles, et nous avons examiné les avantages et les inconvénients du stockage de ces entités, attributs et valeurs dans des tables. Nous avons appris que, malgré les avantages de cette approche en termes de flexibilité, elle présente de réels inconvénients, notamment une inadéquation fondamentale entre la structure logique des données et leur stockage physique, qui entraîne diverses difficultés.
Pour résoudre ces problèmes, nous avons décidé de voir si l'utilisation de globales - qui sont optimisées pour le stockage d'informations hiérarchiques - serait efficace pour les tâches que l'approche EAV traite habituellement.
Dans la Partie 1, nous avons créé un catalogue pour une boutique en ligne, d'abord en utilisant des tables, puis en utilisant une seule globale. Maintenant, essayons d'implémenter la même structure pour quelques globales.
Dans la première globale, ^catalog, nous allons stocker la structure du répertoire. Dans la deuxième globale, ^good, nous allons stocker les marchandises. Et dans la globale ^index, nous allons stocker les index. Puisque nos propriétés sont liées à un catalogue hiérarchique, nous ne créerons pas de globale séparée pour elles.
Avec cette approche, pour chaque entité (à l'exception des propriétés), nous avons une globale séparée, ce qui est bon du point de vue de la logique. Voici la structure du catalogue global :
.png)
InterSystems est fier d'offrir des tentatives gratuites d'examen de certification InterSystems (valeur de 150 $) à tous les participants inscrits au InterSystems Global Summit 2022. La tentative d'examen gratuite sera disponible pour l'une des 7 sessions surveillées en direct pendant le Summit.
| Date | Tôt | Tard |
|---|---|---|
| Lundi 20 juin | 13h30 - 15h30 | 15h45 - 17h45 pm |
| Mardi 21 juin | 7h00 - 9h00 | 15h45 - 17h45 pm |
| Mercredi 22 juin | 7h00 - 9h00 | 15h45 - 17h45 pm |
| Jeudi 23 juin | 7h00 - 9h00 | Pas de séance l'après-midi |
La cause de cette erreur est que la ressource locked est déjà locked par un autre processus dans l'application et que le lock n'est pas libéré pour une raison quelconque.
S'il n'y a aucun signe que d'autres processus avec le lock, il est possible que la table de locks manque d'espace libre. Dans ce cas, le message LOCK TABLE FULL est envoyé au Message Log
Si vous effectuez un traitement transactionnel, il est possible que le report du lock ait un effet.
Veuillez vous référer aux documents suivants pour la transaction et le report de lock.

Dans le premier article de cette série, nous examinerons le modèle entité-attribut-valeur (EAV) dans les bases de données relationnelles pour voir comment il est utilisé et à quoi il sert. Ensuite, nous comparerons les concepts du modèle EAV aux globales.
Parfois, on dispose d'objets comportant un nombre inconnu de champs, ou peut-être des champs hiérarchiquement imbriqués, pour lesquels, en règle générale, il faut effectuer une recherche.
Par exemple, voici une boutique en ligne avec divers groupes de produits.
Il est possible de construire (reconstruire) l'index pendant que des données sont enregistrées/supprimées, mais si vous construisez l'index pendant ce processus, il sera référencé pendant sa mise à jour, utilisez donc l'utilitaire dédié et procédez à la construction de l'index.
La procédure est la suivante.
L'exemple d'exécution est le suivant.
La semaine dernière, nous avons annoncé la Plate-forme de données InterSystems IRIS, notre nouvelle plate-forme complète pour toutes vos activités liées aux données, qu'elles soient transactionnelles, analytiques ou les deux. Nous avons inclus un grand nombre des fonctionnalités que nos clients connaissent et apprécient de Caché et Ensemble, mais dans cet article, nous allons mettre un peu plus en lumière l'une des nouvelles capacités de la plate-forme : SQL Sharding, une nouvelle fonctionnalité puissante dans notre histoire de scalability.