Le défi du Lo-Code

Imaginons la scène.  Vous travaillez tranquillement au sein de Widgets Direct, le premier détaillant de Widgets et d'accessoires pour Widgets sur Internet.   Votre patron vous annonce une nouvelle désastreuse : certains clients ne sont peut-être pas satisfaits de leurs widgets et nous avons besoin d'une application d'assistance pour assurer le suivi de ces réclamations.   Pour rendre les choses plus intéressantes, il veut que cette application ait une très faible empreinte de code et vous demande de livrer une application en moins de 150 lignes de code à l'aide d'InterSystems IRIS.  Est-ce possible?

Avertissement : cet article présente la construction d'une application très basique et omet, par souci de concision, des éléments de détail tels que la Sécurité et la Gestion des erreurs.   Cette application ne doit être utilisée qu'à titre de référence ni pour une application de production.  Cet article utilise IRIS 2023.1 comme plate-forme de données, certaines fonctionnalités décrites ne sont pas disponibles dans les versions antérieures

Étape 1 – Définition d'un modèle de données

Nous commençons par définir un nouvel espace de noms propre - avec une base de données de codes et de données. Bien que tout soit regroupé dans une seule base de données, il est utile de diviser ces bases pour permettre l'actualisation des données.

1 1
0 29
Article
· Fév 25 3m de lecture
Le terminateur de ligne ensorcelé

Je souhaite aborder les problèmes désagréables liés à la lecture d'un texte plat en ASCII, UTF*
excluant explicitement HTML, EBCDIC, et autres encodages.
D'après Wikipediail existe au moins 8 variantes de caractères de contrôle.

  • CR+LF est typique de Windows
  • LF est typique du monde Linux/UNIX
  • CR est le préféré de Mac

Comme vous pouvez le déduire des noms, l'inspiration vient des machines à écrire mécaniques.

2 1
0 28

Description du cas

Imaginons que vous soyez un développeur en Python ou que vous disposiez d'une équipe bien formée et spécialisée en Python, mais que le délai qui vous est imparti pour analyser certaines données dans IRIS soit serré. Bien sûr, InterSystems offre de nombreux outils pour toutes sortes d'analyses et de traitements. Cependant, dans le scénario donné, il est préférable de faire le travail en utilisant le bon vieux Pandas et de laisser IRIS pour une autre fois.

0 0
0 48

Excusez si cela est évident pour les programmeurs Python, mais pour ceux qui viennent d'ObjectScript, cela peut être une astuce utile.

Lorsqu'on développe avec des commandes python.

Le test des fonctionnalités sont en cours via le shell :

$SYSTEM.Python.Shell()
 
Python 3.9.5 (default, Mar 14 2023, 06:58:44) [MSC v.1927 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>>

Lorsque Python évalue une expression dans le shell, il imprime le résultat de l'expression sur le terminal.

3 0
0 48

Nous savons tous qu'il est crucial de disposer d'un ensemble de données de test appropriées avant de déployer une application en production pour garantir sa fiabilité et ses performances. Il permet de simuler des scénarios du monde réel et d'identifier les problèmes ou bugs potentiels avant qu'ils n'impactent les utilisateurs finaux. De plus, les tests avec des ensembles de données représentatifs permettent d’optimiser les performances, d’identifier les goulots d’étranglement et d’affiner les algorithmes ou les processus selon les besoins. En fin de compte, disposer d’un ensemble complet de données de test permet de fournir un produit de meilleure qualité, réduisant ainsi le risque de problèmes de post-production et améliorant l’expérience utilisateur globale.

Dans cet article, voyons comment utiliser l'IA générative, par example Gemini de Google, pour générer des données significatives sur les propriétés de plusieurs objets. Pour ce faire, j'utiliserai le service RESTful pour générer des données au format JSON puis j'utiliserai les données reçues pour créer des objets.

4 0
0 45

Bienvenue dans le prochain chapitre de ma série CI/CD, où nous discutons des approches possibles vers le développement de logiciels avec les technologies InterSystems et GitLab.

Aujourd'hui, parlons d'interopérabilité.

Problème

Lorsque vous avez une production d'interopérabilité active, vous avez deux flux de processus distincts : une production active qui traite les messages et un flux de processus CI/CD qui met à jour le code, la configuration de la production et les paramètres par défaut du système.

De toute évidence, le processus CI/CD affecte l'interopérabilité. Mais il y a des questions :

  • Que se passe-t-il exactement lors d'une mise à jour ?
  • Que devons-nous faire pour minimiser ou éliminer les temps d'arrêt de la production lors d'une mise à jour ?
1 0
0 45

Cet article a été écrit en réponse à un message de la communauté qui demandait si Python pouvait créer des messages HL7 de manière dynamique.

Conditions préalables et configuration

Utilisez un espace de noms compatible avec l'intégration.
Remarque : l'espace de noms USER n'est pas activé pour l'interopérabilité par défaut.
Si nécessaire, créez un nouvel espace de noms interopérable afin d'explorer les fonctionnalités.

# Passage à
ZN "[Espace de nom pour l'interopérabilité]"

2 0
1 45

Description du cas

Imaginons que vous soyez un développeur Python ou que vous disposiez d'une équipe bien formée et spécialisée en Python, mais que le délai dont vous disposez pour analyser certaines données dans IRIS est serré. Bien entendu, InterSystems propose de nombreux outils pour toutes sortes d’analyses et de traitements. Cependant, dans le scénario donné, il est préférable de faire le travail en utilisant les bons vieux Pandas et de laisser l'IRIS pour une autre fois.

1 0
0 44

Introduction

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

1 0
0 42

Titre: Une nouvelle version alpha de Python 3.12, plus rapide et plus légère, est désormais disponible

Résumé: Une nouvelle version alpha de Python 3.12, plus rapide et plus légère, est désormais disponible, apportant plusieurs améliorations au niveau du multitraitement et de la gestion des erreurs. Cette mise à jour promet des performances améliorées et une meilleure efficacité dans le traitement des tâches concurrentes. Les développeurs peuvent attendre avec impatience cette version qui devrait offrir une expérience encore plus fluide et une gestion des erreurs plus robuste. Python continue de s'améliorer en tant que langage de programmation de choix pour les projets de toutes tailles et de toutes complexités.

1 0
0 42

Je suis fier d'annoncer la nouvelle version du logiciel iris-pex-embedded-python (v2.3.1) avec une nouvelle interface en ligne de commande.

Cette ligne de commande est appelée iop et signifie Interoperability On Python (interopérabilité sur Python).

Tout d'abord, j'aimerais présenter en quelques mots le projet et les principaux changements depuis la version 1.

Un bref historique du projet

La version 1.0 était une preuve de concept visant à montrer comment le cadre d'interopérabilité d'IRIS peut être utilisé avec une approche python first (priorité à Python) tout en restant compatible avec n'importe quel code ObjectScript existant.

Qu'est-ce que cela signifie ? Cela signifie que tout développeur python peut utiliser le cadre d'interopérabilité d'IRIS sans aucune connaissance d'ObjectScript.

Exemple :

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Demande reçue")

Formidable, n'est-ce pas ?

1 0
0 42
Article
· Nov 17, 2023 3m de lecture
Comment cacher le programme source

Rubrique Questions fréquentes (FAQ) d'InterSystems

Pour les routines (*.mac)

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

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

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

3 0
0 41

Récemment, la question s'est posée en discutant avec mes étudiants de l'accès aux données stockées dans IRIS depuis différentes langues : s'il était possible d'initier la connexion et d'obtenir les données de la solution Cloud (InterSystems IRIS CloudSQL) à partir de Microsoft Excel, et non l'inverse. Compte tenu des nombreuses façons différentes d'obtenir des données dans Excel (importation de données à partir de sources externes, connexion à des bases de données à l'aide de pilotes ODBC, utilisation de requêtes avancées et de requêtes Web, etc.), le choix évident était d'essayer le pilote ODBC. La seule tâche qui restait était d'essayer de se connecter à la base de données dans le cloud à l'aide du pilote ODBC.

2 0
0 40
Article
· Sept 14, 2023 8m de lecture
Procédure stockée en Embedded Python

Aperçu

La documentation en ligne contient une référence expliquant comment définir et utiliser les requêtes de classes.

La personnalisation des procédures stockées en ObjectScript s'est avérée utile pour accéder au stockage NoSQL et à la messagerie externe via l'intégration, afin de présenter la sortie sous forme de tableau.

0 0
0 40

Lorsque nous démarrons le développement avec IRIS, nous disposons d'un kit de distribution ou, dans le cas de Docker, nous extrayons l'image Docker, puis nous devons souvent l'initialiser et configurer l'environnement de développement. Nous devrons peut-être créer des bases de données, des espaces de noms, activer/désactiver certains services, créer des ressources. Nous devons souvent importer du code et des données dans l'instance IRIS et exécuter du code personnalisé pour lancer la solution.

Lajos Simicska declares war on Viktor Orban: "It's either him or me!" - The  Budapest Beacon

Il existe de nombreux modèles sur Open Exchange dans lesquels nous suggérons comment initialiser REST, l'interopérabilité, l'analytics, le développement Fullstack et bien d'autres modèles utilisant ObjectScript. Mais qu'en est-il si nous souhaitons utiliser uniquement Python pour configurer l'environnement de développement d'un projet Embedded Python avec IRIS ?

De fait, la récente sortie de Embedded Python template est devenu le passe-partout du pur Python qui pourrait être un point de départ pour les développeurs qui créent des projets Python sans avoir besoin d'utiliser et d'apprendre ObjectScript. Cet article explique comment ce modèle pourrait être utilisé pour initialiser IRIS. C'est parti!

1 0
0 40

Bonjour à la communauté,

C'est mon premier message dans la communauté des développeurs - j'apprécierais tout retour d'information !

A des fins de tests ou de démonstrations, vous pouvez vouloir envoyer des emails à partir de votre production d'interopérabilité. Dans ce billet, je vais vous aider à connecter une production IRIS d'InterSystems à Gmail afin que vous puissiez l'utiliser pour envoyer des alertes par email.

Traduit avec DeepL.com (version gratuite)

2 0
0 39
Article
· Août 24, 2023 9m de lecture
Application Java Quarkus fonctionnant avec IRIS

À titre d'exemple d'application en Java fonctionnant avec le dialecte Hibernate pour IRIS, je souhaitais utiliser l'application RealWorld et j'ai trouvé une réalisation pour Quarkus. L'application RealWorld est un exemple d'application proche d'une application réelle, avec des tests déjà préparés pour le backend. La plupart des exemples de réalisations sont à retrouver ici

RealWorld Example App

L'exemple d'application RealWorld est souvent appelé « Wikipédia pour la création d'applications full-stack ». Il sert de prototype standardisé que les développeurs peuvent utiliser pour créer des applications à l'aide de divers langages et frameworks de programmation. L'application fournit un cas d'utilisation réel en imitant une plate-forme de blogs, avec des fonctionnalités telles que l'authentification des utilisateurs, la gestion des profils, la publication d'articles et les commentaires. Avec un ensemble complet de spécifications, y compris une documentation d'API backend prête à l'emploi et des conceptions frontend, il permet aux développeurs de voir comment les mêmes exigences fonctionnelles sont mises en œuvre dans différentes piles technologiques. L'exemple RealWorld est largement utilisé comme outil d'apprentissage et comme référence pour comparer diverses technologies.

Quarkus

Quarkus est un framework Java open source natif de Kubernetes, conçu pour GraalVM et HotSpot. Créé dans le but d'améliorer l'environnement cloud natif moderne, il réduit considérablement l'empreinte et le temps de démarrage des applications Java. Quarkus est connu pour sa philosophie « privilégiant le conteneur », permettant aux développeurs de créer des applications légères et performantes en mettant l'accent sur l'architecture des microservices. Cette flexibilité en a fait un choix populaire pour les organisations cherchant à passer à des plates-formes sans serveur ou basées sur le cloud, combinant des modèles de programmation impératifs et réactifs. Qu'il s'agisse d'une application Web traditionnelle ou d'un système complexe de microservices, Quarkus fournit une plate-forme robuste pour créer des logiciels évolutifs et maintenables.

3 0
0 39

Introduction

À l’ère du numérique en évolution rapide, une communication efficace est cruciale. Cet article présente un projet de chat basé sur Java, combinant la force de la base de données IRIS et l'intelligence artificielle de ChatGPT. Construit sur Java, il va au-delà de la messagerie en temps réel, en tirant parti d'IRIS et de ChatGPT pour une expérience de chat améliorée. De plus, le nom du projet fait référence au classique culturel – Star Wars.

Si vous appréciez mon application, n'oubliez pas de la soutenir lors du concours.

4 0
0 38
Article
· Août 21, 2023 13m de lecture
Prédictions avec IntegratedML et IRIS

Si vous lisez régulièrement les articles publiés dans la Communauté, vous savez qu'en mai de l'année dernière, InterSystems a organisé le JOnTheBeach2023 Hackathon qui s'est tenu à Malaga (Espagne). Le sujet proposé était l'utilisation des outils d'analyse prédictive qu'InterSystems IRIS met à la disposition de tous les développeurs avec IntegratedML.

1 0
0 38