
Aan het einde van maart de nieuwe versie van het InterSystems IRIS data platform 2020.1. Zelfs de coronaviruspandemie heeft de release niet kunnen tegenhouden.
Belangrijke verbeteringen in deze release zijn onder andere verhoogde kernprestaties, generatie van REST-applicaties volgens de OpenAPI 2.0 specificatie, sharding voor objecten, een nieuw type Management Portal, ondersteuning voor MQTT, universele query caching, en een nieuw framework voor het creëren van productelementen in Java of .NET. Een volledige lijst van wijzigingen en de Upgrade Checklist in het Engels is hier te vinden . Meer informatie — hieronder.
InterSystems IRIS 2020.1 is een release met uitgebreide ondersteuning. InterSystems heeft twee soorten releases voor InterSystems IRIS:
- Continuous delivery releases. Deze worden drie tot vier keer per jaar uitgebracht in de vorm van Docker-images. Ze zijn bedoeld voor applicatieontwikkeling en implementatie in de cloud of Docker-containers.
- Release met uitgebreide ondersteuning. Deze worden minder vaak uitgegeven, maar er komen correctie-releases voor uit. Ze worden uitgebracht op alle platforms die door InterSystems IRIS worden ondersteund.
Tussen de releases met uitgebreide ondersteuning 2019.1 en 2020.1 zijn er alleen releases uitgebracht in Docker-images — 2019.2, 2019.3, 2019.4. Alle nieuwe functies en correcties uit deze releases zijn opgenomen in 2020.1. Sommige mogelijkheden uit de onderstaande lijst zijn voor het eerst beschikbaar gekomen in een van de releases 2019.2, 2019.3, 2019.4.
Dus.
Ontwikkeling van REST-applicaties volgens specificatie
Naast , ondersteund sinds versie 2019.1.1, biedt release 2020.1 nu de mogelijkheid om een schabloon voor REST-servicecode te genereren volgens de specificatie in OpenAPI 2.0-format. Zie voor meer informatie de documentatie sectie “».
Conversie van Caché of Ensemble installatie
Deze release maakt het mogelijk om bij installatie een Caché of Ensemble installatie te converteren naar InterSystems IRIS. De conversie kan wijzigingen vereisen in de programmatuur, instellingen of andere scripts, maar in de meeste gevallen zal het eenvoudig zijn.
Lees voor de conversie de InterSystems IRIS In-Place Conversion Guide en InterSystems IRIS Adoption Guide. Deze documenten zijn te vinden op de website van het wereldwijde ondersteuningscentrum van InterSystems in de sectie “».
Clienttalen
InterSystems IRIS Native API voor Python
Laag-drempelige snelle toegang vanuit Python tot multidimensionale arrays waarin InterSystems IRIS gegevens opslaat. Meer informatie — “».
InterSystems IRIS Native API для Node.js
Laag-drempelige snelle toegang vanuit Node.js tot multidimensionale arrays waarin InterSystems IRIS gegevens opslaat. Meer informatie — “».
Реляционный доступ для Node.js
Поддержка ODBC-доступа к InterSystems IRIS для разработчиков на Node.js
Tweederlijke communicatie in Java en .NET gateways
De verbindingen van .NET en Java-gateways zijn nu bidirectioneel. Dit betekent dat een programma in .NET of Java, dat vanuit IRIS via de gateway wordt aangeroepen, dezelfde verbinding gebruikt om met IRIS te communiceren. Meer informatie — «».
Verbeteringen in de Native API voor Java en .NET
De IRIS Native API voor Java en .NET ondersteunt lijsten $LIST en parameterpassing via referentie.
Een nieuwe versie van het Beheerportaal
Deze release bevat de eerste wijzigingen in het Beheerportaal. Deze betreffen voorlopig alleen het uiterlijk en raken de functionaliteit niet aan.
SQL
Universele cache van verzoeken. Vanaf versie 2020.1 worden alle verzoeken, inclusief ingebouwde verzoeken en verzoeken van klassen, opgeslagen als gecacheerde verzoeken. Eerder vereiste het gebruik van ingebouwde verzoeken het opnieuw compileren van de applicatie om nieuwe code voor het verzoek te genereren, bijvoorbeeld als er een nieuwe index was toegevoegd of de statistieken van een tabel waren gewijzigd. Nu worden alle aanvraagplannen in één cache opgeslagen en onafhankelijk van de applicatie waarin het verzoek wordt gebruikt gewist.
Een groter aantal soorten verzoeken kan nu parallel worden uitgevoerd, inclusief DML-verzoeken.
Verzoeken voor een tafel die over shards is verdeeld kunnen nu een impliciete join "->" gebruiken.
Verzoeken die vanuit het Beheerportaal worden uitgevoerd, worden nu in een achtergrondproces uitgevoerd. Lange verzoeken worden nu niet afgebroken vanwege een time-out van de webpagina. Langdurige verzoeken kunnen nu worden geannuleerd.
Integratiemogelijkheden
Een nieuw framework voor het creëren van productelementen in Java of .NET
Deze release omvat een nieuw PEX-framework (Production EXtension), dat extra keuze biedt in de programmeertaal voor de implementatie van producten. In deze release ondersteunt PEX Java en .NET voor de ontwikkeling van bedrijfsservices, bedrijfsprocessen en bedrijfsoperaties, evenals voor inkomende en uitgaande adapters. Voorheen konden alleen bedrijfsservices en bedrijfsoperaties worden gemaakt en moest de codegenerator in het Beheerportaal worden aangeroepen. Het PEX-framework biedt flexibele middelen om Java- en .NET-code in productcomponenten op te nemen, vaak zonder ObjectScript-programmering. De PEX-pakket bevat de volgende klassen:
Meer informatie — «».
Monitoring van poortgebruik in producten.
De Port Authority-tool houdt de poorten bij die door zakelijke diensten en bedrijfsoperaties worden gebruikt. Hiermee kunt u beschikbare poorten bepalen en reserveren. Meer informatie — «».
Adapters voor MQTT
Deze release bevat adapters die het MQTT-protocol (Message Queuing Telemetry Transport) ondersteunen, dat vaak wordt gebruikt in Internet of Things (IoT) toepassingen. Meer informatie — «».
Sharding
Vereenvoudigde architectuur
In deze release is er een eenvoudigere en duidelijkere manier om een cluster te creëren — op basis van afzonderlijke servers (node level), in plaats van gebieden zoals in eerdere versies. De nieuwe API — . De nieuwe aanpak is compatibel met de oude — een cluster op basis van gebieden (namespace level) — en vereist geen wijzigingen in bestaande installaties. Meer informatie — «» en «».
Andere verbeteringen in sharding:
- Het is nu mogelijk om te co-sharden (verdeeld over dezelfde shards) twee tabellen waarvan vaak verbonden delen worden gebruikt. Voorheen kon dit alleen met tabellen met een gemeenschappelijke shard-sleutel. Vanaf deze release wordt de syntaxis COSHARD WITH ook toegepast op tabellen met een systeem-ID. Meer informatie — «» en «».
- Eerder kon een tabel alleen via DDL als cluster-tabel worden gemarkeerd, nu kan dit ook in de klassebeschrijving — nieuw trefwoord Sharded. Meer informatie — «».
- Het objectmodel ondersteunt nu sharding. De methoden %New(), %OpenId en %Save() werken met objecten van klassen waarvan de gegevens over verschillende shards zijn verdeeld. Houd er rekening mee dat de code wordt uitgevoerd op de server waarmee de cliënt is verbonden, en niet op de server waar het object is opgeslagen.
- Het algoritme voor het uitvoeren van clusterverzoeken is verbeterd. De verzoekenqueuebeheerder (Unified Shard Queue Manager) plaatst verzoeken in de wachtrij voor uitvoering door een pool van processen, in plaats van nieuwe processen voor elk verzoek te starten. Het aantal processen in de pool wordt automatisch bepaald op basis van de serverbronnen en de belasting.
Infrastructuur en implementatie in de cloud.
Deze release bevat verbeteringen in de infrastructuur en implementatie in de cloud, waaronder:
- Ondersteuning voor Tencent Cloud. InterSystems Cloud Manager (ICM) ondersteunt nu het creëren van infrastructuur en de implementatie van toepassingen op basis van InterSystems IRIS in Tencent Cloud.
- Ondersteuning voor named volumes in Docker, naast het monteren van mappen.
- ICM ondersteunt flexibele schaalbaarheid — configuraties kunnen nu worden opgeschaald, dat wil zeggen opnieuw worden aangemaakt met meer of minder knooppunten. Meer details — «» en «».
- Verbeteringen in het maken van eigen containers.
- ICM ondersteunt een nieuwe shard-architectuur.
- De standaardgebruiker in containers is nu niet root.
- ICM ondersteunt het creëren en implementeren van privé-netwerken, waarbij een bastionknooppunt het privé-netwerk verbindt met het publieke netwerk en extra bescherming biedt tegen Denial-of-Service aanvallen.
- Ondersteuning voor het ontdekken van services via beveiligde RPC.
- ICM ondersteunt implementatie in meerdere regio's. Dit garandeert hoge beschikbaarheid van het systeem, zelfs als de hele regio faalt.
- Mogelijkheid om ICM bij te werken en informatie over al geïmplementeerde systemen te behouden.
- Containerloze modus — ICM kan nu direct, zonder containers, clusterconfiguraties op Google Cloud Platform implementeren, evenals een Web Gateway op Ubuntu of SUSE installeren.
- Ondersteuning voor het samenvoegen van iris.cpf uit twee bestanden. Dit helpt ICM om InterSystems IRIS met verschillende configuraties op te starten, afhankelijk van de modus waarin de installatie werkt. Deze functionaliteit vereenvoudigt de automatisering en ondersteuning van verschillende configuratiebeheertools, zoals Kubernetes.
Analytics
Selectieve herstructurering van de kubus
Met deze release ondersteunt InterSystems IRIS Business Intelligence (voorheen bekend als DeepSee) selectieve kubusbouw — alleen één maat of dimensie. De beschrijving van de kubus kan worden gewijzigd en alleen wat is veranderd kan opnieuw worden opgebouwd, waarbij de beschikbaarheid van de hele kubus tijdens de herstructurering behouden blijft.
PowerBI-connector
Microsoft PowerBI ondersteunt nu het werken met tabellen en kubussen van InterSystems IRIS. De connector wordt met PowerBI geleverd, beginnend met de release van april 2019. Meer details — «».
Voorvertoning van de queryresultaten
In deze release is een nieuwe voorvertoningsmodus toegevoegd bij het samenstellen van draaitabellen in Analyzer. Zo kan snel de juistheid van de query worden beoordeeld, zonder te wachten op de volledige resultaten.
Andere verbeteringen
- $ORDER-functie voor het omkeren van de globale volgorde (direction = -1) is nu net zo snel als in de directe volgorde.
- De prestaties van het loggen zijn verbeterd.
- Ondersteuning toegevoegd voor Apache Spark 2.3, 2.4.
- Ondersteuning toegevoegd voor de WebSocket-client. Klasse %Net.WebSocket.Client.
- De versiebeheerkraan behandelt nu gebeurtenissen wanneer er wijzigingen zijn op de productpagina.
- Witte lijsten voor het filteren van toegestane aanvragen naar CSP, ZEN en REST.
- Ondersteuning voor .NET Core 2.1.
- Verbeterde ODBC-prestaties.
- Gestructureerde log voor gemakkelijker analyseren van messages.log.
- API voor het controleren van fouten en waarschuwingen. Klasse %SYSTEM.Monitor.GetAlerts().
- De klassecompiler controleert nu of de naam van de global in de opslagbeschrijving de maximale lengte (31 tekens) niet überschrijdt en geeft een foutmelding als dit niet het geval is. Voorheen werd de naam van de global zonder waarschuwing afgekapt tot 31 tekens.
Waar te krijgen
Als u ondersteuning heeft - download de distributie uit de sectie van de website wrc.intersystems.com
Als je alleen InterSystems IRIS wilt uitproberen -
Nog eenvoudiger via Docker:
docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0Webinar
Op 7 april om 17:00 uur Moskou tijd vindt er een webinar plaats over de nieuwe release. Het wordt geleid door Jeff Freed (Director, Product Management) en Joe Lichtenberg (Director of Product & Industry Marketing). Het webinar is in het Engels.
Bron: habr.com
