Sortie d'InterSystems IRIS 2020.1

Sortie d'InterSystems IRIS 2020.1

Fin mars est sorti nouvelle version de la plateforme de données InterSystems IRIS 2020.1. Même la pandémie de coronavirus n’a pas empêché la sortie.

Parmi les éléments importants de la nouvelle version figurent l'augmentation des performances du noyau, la génération d'une application REST selon la spécification OpenAPI 2.0, le partitionnement des objets, un nouveau type de portail de gestion, la prise en charge de MQTT, un cache de requêtes universel, un nouveau cadre de création de produits. éléments en Java ou .NET. La liste complète des modifications et la liste de contrôle de mise à niveau en anglais sont disponibles sur lien. Plus de détails - sous la coupe.

InterSystems IRIS 2020.1 est une version de support étendu. InterSystems produit deux types de versions InterSystems IRIS :

  • Versions à livraison continue. Elles sont diffusées trois à quatre fois par an sous forme d’images Docker. Conçu pour le développement et le déploiement d'applications dans le cloud ou dans des conteneurs Docker.
  • Versions avec support étendu. Ils sortent moins fréquemment, mais des versions avec des correctifs sont publiées pour eux. Disponible sur toutes les plateformes prises en charge par InterSystems IRIS.

Entre les versions de support étendu 2019.1 et 2020.1, les versions ont été publiées uniquement dans les images Docker : 2019.2, 2019.3, 2019.4. Toutes les nouvelles fonctionnalités et correctifs de ces versions sont inclus dans la version 2020.1. Certaines des fonctionnalités répertoriées ci-dessous sont apparues pour la première fois dans une version 2019.2, 2019.3, 2019.4.

So.

Développement d'applications REST selon la spécification

En plus de Gestionnaire d'API InterSystems, pris en charge depuis la version 2019.1.1, dans la version 2020.1, il est devenu possible de générer le code principal d'un service REST selon la spécification au format OpenAPI 2.0. Pour plus de détails, consultez la section documentation "Création de services REST».

Conversion d'une installation Caché ou Ensemble

Cette version vous permet de convertir votre installation Caché ou Ensemble en InterSystems IRIS lors de l'installation. La conversion elle-même peut nécessiter des modifications du code du programme, des paramètres ou d'autres scripts, mais dans la plupart des cas, elle sera simple.

Avant la conversion, lisez le Guide de conversion sur place InterSystems IRIS et le Guide d'adoption InterSystems IRIS. Ces documents se trouvent sur le site Web du Centre de support mondial InterSystems dans la rubrique "documents».

Langues clientes

API native InterSystems IRIS pour Python

Accès rapide et de bas niveau depuis Python aux tableaux multidimensionnels dans lesquels InterSystems IRIS stocke les données. Plus de détails - "API native pour Python».

API native InterSystems IRIS pour Node.js

Accès rapide de bas niveau depuis Node.js aux tableaux multidimensionnels dans lesquels InterSystems IRIS stocke les données. Plus de détails - "API native pour Node.js».

Accès relationnel pour Node.js

Prise en charge de l'accès ODBC à InterSystems IRIS pour les développeurs Node.js

Communication bidirectionnelle dans les passerelles Java et .NET

Les connexions aux passerelles .NET et Java sont désormais bidirectionnelles. Autrement dit, un programme .NET ou Java appelé depuis IRIS via la passerelle utilise la même connexion pour accéder à IRIS. Plus de détails - "Réentrée de la passerelle Java».

Améliorations de l'API native pour Java et .NET

L'API native IRIS pour Java et .NET prend en charge les $LIST et la transmission de paramètres par référence.

Nouveau look du portail de gestion

Cette version inclut les premières modifications apportées au portail de gestion. Pour l’instant, ils ne concernent que l’apparence et n’affectent pas la fonctionnalité.

SQL

  • Cache de requêtes universel. À partir de la version 2020.1, toutes les requêtes, y compris les requêtes intégrées et les requêtes de classe, seront stockées sous forme de requêtes mises en cache. Auparavant, l'utilisation de requêtes intégrées nécessitait de recompiler le programme pour générer un nouveau code de requête, par exemple si un nouvel index apparaissait ou si les statistiques de la table changeaient. Désormais, tous les plans de requête sont stockés dans le même cache et effacés quel que soit le programme dans lequel la requête est utilisée.

  • Davantage de types de requêtes sont désormais parallélisables, notamment les requêtes DML.

  • Les requêtes sur une table partitionnée peuvent désormais utiliser la jointure implicite "->".

  • Les requêtes lancées depuis le portail de gestion sont désormais exécutées en arrière-plan. Les requêtes longues n’échoueront plus en raison du délai d’attente de la page Web. Les demandes de dépôt peuvent désormais être annulées.

Possibilités d'intégration

Nouveau framework pour créer des éléments de produit en Java ou .NET

Cette version inclut un nouveau framework PEX (Production EXtension), qui offre un choix de langage supplémentaire pour l'implémentation des composants du produit. Avec cette version, PEX prend en charge Java et .NET pour le développement de services métier, de processus métier et d'opérations métier, ainsi que d'adaptateurs entrants et sortants. Auparavant, vous pouviez uniquement créer des services métiers et des transactions commerciales et vous deviez appeler le générateur de code dans le portail de gestion. Le framework PEX offre un moyen plus flexible d'incorporer du code Java et .NET dans les composants du produit, souvent sans programmation ObjectScript. Le package PEX comprend les classes suivantes :

Plus de détails - "PEX : développer des productions avec Java et .NET».

Surveillance de l'utilisation des ports dans les produits.

L'utilitaire Port Authority surveille les ports utilisés par les services et les opérations commerciales. Avec son aide, vous pouvez déterminer les ports disponibles et les réserver. Plus de détails - "Gestion de l'utilisation des ports».

Adaptateurs pour MQTT

Cette version inclut des adaptateurs qui prennent en charge le protocole MQTT (Message Queuing Telemetry Transport), souvent utilisé dans les applications Internet des objets (IoT). Plus de détails - "Utilisation des adaptateurs MQTT dans les productions».

Partage

Architecture simplifiée

Cette version a introduit un moyen plus simple et plus compréhensible de créer un cluster - basé sur des serveurs individuels (au niveau du nœud) et non sur des zones, comme dans les versions précédentes. Nouvelle API - %SYSTÈME.Cluster. La nouvelle approche est compatible avec l'ancienne - un cluster basé sur des zones (niveau espace de noms) - et ne nécessite pas de modification des installations existantes. Plus de détails - "Éléments de partage"Et"API de partage».

Autres améliorations du partitionnement :

  • Vous pouvez désormais cosharder (distribuer les parties fréquemment connectées de deux tables dans les mêmes fragments) de deux tables. Auparavant, cela ne pouvait être effectué qu'avec des tables possédant une clé de partition commune. À partir de cette version, la syntaxe COSHARD WITH est également utilisée pour les tables avec un identifiant système. Plus de détails - "Créer les tableaux"Et"Définir une table fragmentée».
  • Auparavant, il était possible de marquer une table comme table de cluster uniquement via DDL, mais désormais cela peut également être fait dans la description de la classe - le nouveau mot-clé Sharded. Plus de détails - "Définir une table fragmentée en créant une classe persistante».
  • Le modèle objet prend désormais en charge le partitionnement. Les méthodes %New(), %OpenId et %Save() fonctionnent avec les objets d'une classe dont les données sont réparties sur plusieurs fragments. Notez que le code s'exécute sur le serveur auquel le client est connecté, et non sur le serveur sur lequel l'objet est stocké.
  • L'algorithme d'exécution des requêtes cluster a été amélioré. Unified Shard Queue Manager met en file d'attente les demandes d'exécution dans un pool de processus, plutôt que de lancer de nouveaux processus pour chaque demande. Le nombre de processus dans le pool est déterminé automatiquement en fonction des ressources et de la charge du serveur.

Infrastructure et déploiement dans le cloud.

Cette version inclut des améliorations de l'infrastructure et des déploiements cloud, notamment :

  • Prise en charge de Tencent Cloud. InterSystems Cloud Manager (ICM) prend désormais en charge la création d'infrastructures et le déploiement d'applications basées sur InterSystems IRIS sur Tencent Cloud.
  • Prise en charge des volumes nommés dans Docker, en plus des montages de liaison.
  • ICM prend en charge une mise à l'échelle flexible : les configurations peuvent désormais être mises à l'échelle, c'est-à-dire recréées avec plus ou moins de nœuds. Plus de détails - "Réapprovisionnement de l'infrastructure"Et"Redéploiement des services».
  • Améliorations dans la création de votre propre conteneur.
  • ICM prend en charge la nouvelle architecture de partitionnement.
  • L'utilisateur par défaut dans les conteneurs n'est plus root.
  • ICM prend en charge la création et le déploiement de réseaux privés, dans lesquels un nœud bastion connecte le réseau privé au réseau public et offre une protection supplémentaire contre les attaques par déni de service.
  • Prise en charge de la découverte de services via RPC sécurisé.
  • ICM prend en charge le déploiement multirégional. Cela garantit une haute disponibilité du système même si toute la région est en panne.
  • Possibilité de mettre à jour ICM et d'enregistrer des informations sur les systèmes déjà déployés.
  • Mode sans conteneur - ICM peut désormais directement, sans conteneurs, déployer des configurations de cluster sur Google Cloud Platform, ainsi qu'installer Web Gateway sur Ubuntu ou SUSE.
  • Prise en charge de la fusion d'iris.cpf à partir de deux fichiers. Cela permet à ICM de lancer InterSystems IRIS avec différents paramètres en fonction du mode d'exécution de l'installation. Cette fonctionnalité facilite l'automatisation et la prise en charge de divers outils de gestion de configuration tels que Kubernetes.

Analytique

Reconstruire sélectivement le cube

À partir de cette version, InterSystems IRIS Business Intelligence (anciennement DeepSee) prend en charge la création de cubes sélectifs : une seule mesure ou dimension. Vous pouvez modifier la description du cube et reconstruire uniquement ce qui a changé, en gardant l'intégralité du cube disponible pendant la reconstruction.

Connecteur PowerBI

Microsoft PowerBI prend désormais en charge l'utilisation des tables et des cubes InterSystems IRIS. Le connecteur est livré avec PowerBI à partir de la version d'avril 2019. Plus de détails - "Connecteur InterSystems IRIS pour Power BI».

Aperçu des résultats de la requête

Cette version introduit un nouveau mode d'aperçu lors de la création de tableaux croisés dynamiques dans Analyzer. De cette façon, vous pouvez évaluer rapidement l'exactitude d'une requête sans attendre ses résultats complets.

ругие улучшения

  • Parcourir un global à l'aide de la fonction $ORDER dans l'ordre inverse (sens = -1) est désormais aussi rapide que dans l'ordre direct.
  • Performances de journalisation améliorées.
  • Ajout de la prise en charge d'Apache Spark 2.3, 2.4.
  • Ajout de la prise en charge du client WebSocket. Classe %Net.WebSocket.Client.
  • La classe de contrôle de version gère désormais les événements liés aux modifications apportées à la page produit.
  • Listes blanches pour filtrer les requêtes valides vers CSP, ZEN et REST.
  • Prise en charge de .NET Core 2.1.
  • Performances ODBC améliorées.
  • Journal structuré pour faciliter l’analyse des messages.log.
  • API pour la vérification des erreurs et les avertissements. Classe %SYSTEM.Monitor.GetAlerts().
  • Le compilateur de classe vérifie désormais que le nom global dans la déclaration de stockage ne dépasse pas la longueur maximale (31 caractères) et renvoie une erreur si ce n'est pas le cas. Auparavant, le nom global était tronqué à 31 caractères sans avertissement.

Où trouver

Si vous avez du support, téléchargez la distribution depuis la section Distributions en ligne site Web wrc.intersystems.com

Si vous souhaitez simplement essayer InterSystems IRIS - https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Encore plus simple via Docker :

docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0

Webinar

Le 7 avril à 17h00, heure de Moscou, aura lieu un webinaire dédié à la nouvelle version. Il sera animé par Jeff Fried (directeur de la gestion des produits) et Joe Lichtenberg (directeur du marketing des produits et de l'industrie). S'inscrire! Le webinaire sera en anglais.

Source: habr.com

Ajouter un commentaire