Technische release notes 2019 release - Algemeen
tg1. |
De versie op het splashscreen van Corsa toont deze release 2019. Deze Lange Termijn (LT) release wordt maximaal twee jaar door BCT ondersteund.
MyCorsa is niet meer in de Corsa 2019 release opgenomen. Voor meer informatie, zie https://support.bctsoftware.com/hc/nl/articles/224643308-Ondersteuning-MyCorsa-2016-tot-2019-2020. |
||||||||||||||||||||||||||||||||||||
tg2. |
Deze release bevat databasewijzigingen ten opzichte van de Corsa 2018 release en eerder. De wijzigingen gelden voor de Corsa, Audit en ETL database.
Informatie over het aantal tabellen en indexen van de diverse databases voor deze release:
Met 'voorheen' wordt de Corsa 2018 release bedoeld. |
||||||||||||||||||||||||||||||||||||
tg3. |
Bij de eerste keer starten van Corsa na de upgrade wordt de Automatische Database Upgrade gestart. Hiervoor dient in het geval van Progress OpenEdge en Oracle database de release vooraf aan de upgrade niet lager te zijn dan de Corsa 2010-4 release. Is de release wel lager en vindt er een upgrade plaats, dan dienen in het geval van Oracle de alter SQL-scripts (.sql) gebruikt te worden voor de database-upgrade en in het geval van Progress OpenEdge de .DF bestanden. Indien het databaseplatform Microsoft SQL Server is geldt dat m.i.v. de Corsa 2017 release de Automatische Database Upgrade niet meer beschikbaar is en alleen de alter SQL-scripts (.sql) gebruikt kunnen worden. |
||||||||||||||||||||||||||||||||||||
tg4. |
Overgang naar Progress OpenEdge 11.7 Service Pack 5 (64-bit). Daarbij worden OpenEdge AppServer en WebSpeed niet meer geïnstalleerd/gebruikt en zijn vervangen door Progress Application Server for OpenEdge (PASOE) 64-bit.
Progress Application Server for OpenEdge (PASOE)
Met de 2019 release van Corsa stappen we over van de klassieke (Progress) OpenEdge AppServer en WebSpeed naar de Progress Application Server for OpenEdge (verder PASOE te noemen). Een belangrijke verandering in PASOE is de overstap naar een andere architectuur van de software. Het doel hiervan is om alle Progress applicaties als webapplicatie te kunnen ontsluiten. PASOE is daarom gebaseerd op Apache Tomcat.
Apache Tomcat is een open source Application server met veel mogelijkheden die wereldwijd zeer veel gebruikt wordt. Apache Tomcat wordt ontwikkeld en onderhouden door een open community onder auspiciën van de Apache Software Foundation. Door het gebruik van Apache Tomcat zijn de uitgebreide mogelijkheden van Apache Tomcat ook beschikbaar in PASOE.
Voor Progress is dit de Application server voor de toekomst gebaseerd op moderne en proven technology. PASOE biedt een aantal voordelen ten opzichte van de klassieke OpenEdge AppServer:
•Minder CPU- en geheugengebruik •Architectuur is eenvoudiger en gebaseerd op bewezen technologie •Schaalbaarheid •Ingebouwde beveiliging (op basis van Spring security framework)
Hieronder worden de voordelen nader toegelicht.
Minder CPU en geheugen gebruik
Een belangrijke verandering in de architectuur is het gebruik van Multi-session agents. In plaats van meerdere 'agents' die elk als OS proces draaien en één sessie afhandelen is er één multi-sessie agent die als OS proces draait en meerdere sessies afhandelt. Dat scheelt in het CPU en geheugen gebruik.
Architectuur is eenvoudiger en gebaseerd op proven technology
De Progress OpenEdge AppServer en WebSpeed server zijn geen aparte producten meer; deze zijn geïntegreerd in PASOE. Het aantal componenten is daarmee minder en de architectuur een stuk eenvoudiger. Ten aanzien van installatie en deployment zijn dit grote voordelen.
Daarnaast is PASOE gebaseerd op 'proven technology', bewezen technologie van Apache Tomcat. Apache Tomcat wordt wereldwijd door zeer veel verschillende organisatie gebruikt voor webapplicaties. Precieze aantallen zijn niet bekend, maar het is meer dan 10 miljoen keer gedownload. Apache Tomcat heeft veel functionaliteit standaard beschikbaar. Daarvoor hoeft niet ontwikkeld te worden maar kan gebruik gemaakt worden van de standaarden beschikbaar in Apache Tomcat.
Schaalbaarheid
De schaalbaarheid is sterk verbeterd en gebaseerd op standaard producten in plaats van op een eigen oplossing. De schaalbaarheid was in de klassieke OpenEdge AppServer gebaseerd op de NameServer. De NameServer is in PASOE verwijderd. De schaalbaarheid is daarmee niet meer afhankelijk van een OpenEdge product. Schaalbaarheid wordt geregeld voordat de PASOE instance wordt benaderd. Elke HTTP/HTTPS load balancer kan daarvoor ingezet worden. Dat maakt het veel eenvoudiger om schaalbaarheid te realiseren en het kan met verschillende producten gerealiseerd worden.
Ingebouwde beveiliging
Bij de opzet van de architectuur is beveiliging één van de uitgangspunten geweest. Door het gebruik van Apache Tomcat kon dat eenvoudig geïntegreerd worden op basis van het Spring security framework. Het Spring security framework is een “authentication and access control” framework met veel mogelijkheden die naar wens geconfigureerd kunnen worden.
Corsa platform en PASOE
Kijkend naar het Corsa platform biedt PASOE direct al de volgende voordelen:
•Minder CPU- en geheugengebruik •Eenvoudigere installatie en deployment •Schaalbaarheid gebaseerd op standaard HTTP/HTTPS load balancing
Op termijn is er eenvoudig uitbreiding van de beveiligingsopties mogelijk. Daarnaast ligt bij Progress de focus voor nieuwe feautures bij PASOE. Gecombineerd met de genoemde voordelen een belangrijke reden voor BCT om over te stappen naar PASOE. Dit levert betere prestaties voor het Corsa platform en garandeert de beschikbaarheid van het Corsa platform in de toekomst.
jQuery
jQuery wordt gebruikt voor MyCorsa NxT. jQuery is een JavaScript library met veel standaardfunctionaliteit. Deze kan direct gebruikt worden zonder zelf allerlei functionaliteit te hoeven programmeren. Daarnaast heeft jQuery allerlei plugins waarin ook weer standaard functionaliteit wordt geleverd. Een voorbeeld daarvan is jqGrid. De jqGrid plugin wordt gebruikt voor het vormgeven van tabellen in MyCorsa NxT, zoals de resultaattabel na een zoekactie of opvragen werkvoorraad.
In jQuery en de bijbehorende plugins worden constant nieuwe functies toegevoegd en bugs en beveiligingsissues opgelost. Het is daarom belangrijk om periodiek naar de laatste versie van jQuery en de plugins te updaten. Dan doen we altijd in een release omdat dit een grote impact kan hebben. Daarmee kunnen we gebruik maken van de laatste toevoegingen die gedaan zijn. Een voorbeeld van een mooie toevoeging in jqGrid is de filter optie zoals die ook in Excel beschikbaar is. Die functionaliteit is dan ook direct toegevoegd in de 2019 release.
Voor jQuery en een aantal plugins is een upgrade gedaan naar de laatste versies zodat de 2019 release weer helemaal up-to-date is.
Microsoft .NET
Naast Progress en jQuery wordt .NET gebruikt voor het Corsa platform. .NET wordt voornamelijk gebruikt voor de Office Add-in en dll’s voor integraties. Vanaf de 2018 release wordt gebruik gemaakt van .NET 4.7.2. Dat is hetzelfde gebleven in de 2019 release.
.NET 4.8 is onlangs uitgebracht. Hiervoor wachten we eerst de ervaringen af voordat we die gaan inzetten als proven technology. Op het moment van schrijven wordt .NET 4.8 nog niet door Progress ondersteund. |
||||||||||||||||||||||||||||||||||||
tg5. |
Overzicht technische gevolgen voor de installatie en configuratie van de Corsa 2019 release:
1.De Progress OpenEdge licentie 'OE Application Svr Ent' voor Windows 32-bit wordt vervangen door de licentie 'Progress Prod AS for OE' voor Windows 64-bit. a.Op de PASOE instance wordt een webapplicatie 'Corsa.war' gedeployd (op Tomcat 8) als zijnde applicatieserver en t.b.v. MyCorsa NxT. b.Hiervoor blijft de inzet van IIS (met HTTPS) benodigd die dienst doet als reverse proxy en de hosting van de zogenaamde 'Static'-bestanden t.b.v. MyCorsa NxT. De 'scripts'-map in IIS (en de daarbij behorende wsisa.dll) verdwijnt. Voor de reverse proxy functionaliteit dienen 'requestRouter_amd64.msi' en 'rewrite_amd64_en-US.msi' geïnstalleerd te worden t.b.v. URL Rewrite en Application Request Routing. Daarna dienen in IIS inbound rules (van het type 'blank rule') te worden toegevoegd. Zie 'D:\bct\tds\3tier\Installation instructions PASOE.txt' in de standaard mappenstructuur voor meer informatie. 2.De OpenEdge database wordt dus ook 64-bit. Een 32-bit database van de Corsa 2018 release of eerder kan eenvoudig gemigreerd worden naar de Corsa 2019 release. Er hoeven hier t.a.v. de Corsa 2019 release geen speciale dingen voor te gebeuren. Bij de eerste keer starten van de database zal deze automatisch 64-bit worden. 3.Corsa/Document Server blijft 32-bit. 4.Corsa Desktop (full client) blijft 32-bit. Hiervoor is een 32-bit installatie van Progress OpenEdge nodig m.b.v. een 'Client Networking' licentie. a.In het geval van Oracle of Microsoft SQL Server database is er voor Corsa Desktop geen DataServer licentie voor Windows 32-bit nodig, aangezien m.i.v. de Corsa 2019 release Corsa Desktop een zogenaamde Hosted Schema Holder en Remote DataServer van de 64-bit Progress OpenEdge installatie op de server gebruikt. Het gevolg hiervan is dat er voor Oracle en Microsoft SQL Server omgevingen respectievelijk geen Oracle client (32-bit) en ODBC connectie (32-bit) meer nodig is op de Corsa Desktop werkplekken. Deze Oracle client (64-bit) en ODBC connectie (64-bit) is nu alleen nodig op de PASOE server. b.Het verschil tussen een Schema Holder van de Corsa 2018 release en eerder en een Hosted Schema Holder is dat de Hosted Schema Holder als database in OpenEdge Explorer wordt opgenomen en dus ook dient te worden gestopt en gestart en daarvoor op een poortnummer beschikbaar is. In deze Hosted Schema Holder worden via de Data Administration de connectiegegevens naar de Oracle of Microsoft SQL Server database opgenomen. Dit heeft als voordeel dat de connectiegegevens (gebruikersnaam en wachtwoord) niet meer in INI- en PF-bestanden hoeven worden opgenomen. c.Een Remote DataServer is een DataServer die in OpenEdge Explorer wordt opgenomen en dus ook dient te worden gestopt en gestart en daarvoor op een poortnummer beschikbaar is. Deze DataServer registreert zichzelf bij de OpenEdge NameServer en is alleen nodig bij Oracle en Microsoft SQL Server omgevingen. Dat betekent dat in het geval van een installatie tegen een Progress OpenEdge database er geen OpenEdge NameServer nodig is en deze kan worden uitgeschakeld. 5.Alle runbatch-processen (zoals update_reminders, update_solr_changelog, reset_user_status, maar ook Corsa/Import) blijven gebruik maken van de OpenEdge 11.7 32-bit installatie. Let op dat het hierbij niet mogelijk is om een shared memory connectie naar een Progress OpenEdge database te leggen. De database is nl. 64-bit en de client 32-bit. 6.De API van Corsa / MyCorsa bestaat niet meer en is vervangen door de Corsa Web Service. Het MyCorsa NxT API-document is bijgewerkt: https://support.bctsoftware.com/hc/nl/articles/224634348-MyCorsa-NxT-API. 7.De variabelen 'ashost', 'asport' en 'asbrokername' in de TDSAPI.INI, maar ook de web.config van de Corsa Web Services zijn vervangen door 'pasurl' (‘pasurl=https://<HOSTNAME>/apsv/’). Daarnaast dienen in Corsa de parameters 'dshost' en 'dsport' gevuld te worden. 8.De PL-bestanden zijn zowel 32-bit als 64-bit compatible. Dat betekent dat dezelfde set PL-bestanden zowel voor de 32-bit client als voor de 64-bit server gebruikt kunnen worden.
Server communicatie (64-bit) is niet meer gebaseerd op TDSAPI, maar op BCT.DS.DS7Client.dll (64-bit) en afhankelijkheden. Hiervoor installeert de Corsa Connector MSI nu in de appl map een map genaamd 'Server' met daarin de noodzakelijke bestanden t.b.v. server communicatie. Corsa Desktop (32-bit) is gebaseerd op tdsapi.dll (32-bit) en afhankelijkheden en de nieuwe server communicatie (64-bit) d.m.v. de nieuwe parameter '-assemblies' in het Corsa PF-bestand.
Concreet betekent dit alles, bij een upgrade vanaf de Corsa 2018 release of een nieuwe installatie: 1.Installatie Microsoft .NET Framework 4.7.2. 2.In het geval van een upgrade: Back-up 'D:\bct\3party\progress\openedge\properties\conmgr.properties' en 'D:\bct\3party\progress\openedge\properties\ubroker.properties' 3.In het geval van een upgrade: Deïnstallatie van OpenEdge 11.6 Messenger (32-bit) a.Verwijdering wsisa.dll uit de scripts map b.Verwijdering van de virtuele scripts map in IIS c.De map 'webxs_static' dient niet te worden verwijderd 4.In het geval van een upgrade: Deïnstallatie van OpenEdge 11.7 (32-bit) 5.Installatie OpenEdge 11.7 Service Pack 5 (64-bit) naar 'D:\bct\3party\progress\openedge' a.De OpenEdge AdminService heet nu 'AdminService11.7(64-bit)' 6.Plaatsing van OpenEdge 11.7 Service Pack 5 HOTFIX 001 and Java8u202 (64-bit) 7.Installatie OpenEdge 11.7 Service Pack 5 (32-bit) met 'Client Networking' licentie naar 'D:\bct\3party\progress\openedge_x86' a.Hierbij wordt geen OpenEdge AdminService geïnstalleerd. 8.Plaatsing van OpenEdge 11.7 Service Pack 5 HOTFIX 001 and Java8u202 (32-bit) 9.Eventuele kopie 32-bit OpenEdge map naar centrale locatie t.b.v. Corsa gebruikers 10.In het geval van een upgrade: Plaats de back-up van de bestanden 'conmgr.properties' en 'ubroker.properties' in de 11.7 (64-bit) installatie terug 11.Een eventuele OpenEdge database van de OpenEdge 11.7 32-bit installatie kan gewoon onder OpenEdge 11.7 64-bit gebruikt worden (er is geen handmatige conversie nodig) |
||||||||||||||||||||||||||||||||||||
tg6. |
Informatie over single sign-on (SSO) voor MyCorsa NxT.
Vanaf de 2019 release wordt voor SSO in MyCorsa NxT gebruik gemaakt van ADFS (Active Directory Federaterd Sevices).
Active Directory Federation Service (ADFS) is a software component developed by Microsoft to provide Single Sign-On (SSO) authorization service to users on Windows Server Operating Systems. ADFS allows users across organizational boundaries to access applications on Windows Server Operating Systems using a single set of login credentials.
De credentials kunnen zowel intern als extern gebruikt worden om in te loggen in een applicatie. ADFS is de opvolger van verouderde methoden voor SSO. Één van die verouderde methoden is SSO op basis van NTLM. NTLM bestaat alleen nog voor backwards compatibility met oudere Windows versies en wordt niet meer aangeraden in moderne infrastructuren. NTLM kent ook een aantal kwetsbaarheden, met name ‘pass-the-hash’. NTLM past niet meer in het moderne karakter van huidige infrastructuren en wordt daarom dan ook niet meer ondersteund vanaf de 2019 release. |
||||||||||||||||||||||||||||||||||||
tg7. |
Diverse wijzigingen in de Corsa modules. Zie de functionele release notes voor meer informatie. |
||||||||||||||||||||||||||||||||||||
tg8. |
In de mappenstructuur zijn de volgende zaken gewijzigd:
Stop / start processes ('D:\bct\tools\start_processes.cmd' en 'D:\bct\tools\stop_processes.cmd'): •Servicenaam aangepast naar 'AdminService11.7(64-bit)'. •Diverse aanpassingen n.a.v. introductie Hosted Schema Holder en Remote DataServer. •Overige aanpassingen t.g.v. PASOE.
OpenEdge: •Nieuwe map 'D:\bct\3party\progress\openedge_x86' voor de 32-bit installatie van OpenEdge t.b.v. Corsa Desktop en runbatch processen. •Alle runbatch scripts in de map 'D:\bct\tools' zijn hierop aangepast. •Verwijderd: 'D:\bct\3party\progress\oemessenger'. •Verwijderd: 'D:\bct\log\3party\progress\openedge\wsCusErr.txt'.
PF-bestanden: •N.a.v. de inzet van een Hosted Schema Holder en Remote DataServer zijn de databaseconnectiegegevens aangepast. •Nieuwe parameter '-preloadCLR'. •Nieuwe parameter '-assemblies' die naar de 'appl\server' map moet verwijzen die door de Corsa Connector MSI wordt geïnstalleerd. •Parameter '-nojoinbysqldb' (voor Microsoft SQL Server omgevingen) is niet meer nodig.
TDSAPI.INI: •De parameters ashost, asbrokername en asport zijn vervangen door 'pasurl' (‘pasurl=https://<HOSTNAME>/apsv/’). Dit zelfde geldt ook voor de web.config van de Corsa Web Services.
Hosted Schema Holder en Remote DataServer: •De databaseconnectiesgegevens in de diverse INI- en PF-bestanden zijn hierop aangepast. •De map 'D:\bct\tds\3tier\schema' is hernoemd naar 'D:\bct\tds\3tier\schema_hosted' en de map 'D:\bct\tds\corsa\schema' is verwijderd. •Diverse aanpassingen in de stop / start processes zoals hierboven beschreven.
Clientsoftware en serversoftware mappen: •N.a.v. de aanpassingen t.b.v. PASOE (64-bit) en het vervallen van MyCorsa zijn diverse mappen en bestanden in de clientsoftware map aangepast of verwijderd. •N.a.v. het vervallen van de TDSInstaller zijn diverse bestanden in de clientsoftware en serversoftware mappen verwijderd.
Corsa map: •corsa.ini owebnxt.pl aan het PROPATH toegevoegd
3tier map: •De volgende bestanden zijn toegevoegd t.a.v. het automatiseren van nieuwe installaties en bijbehorende configuratie: oMake.cmd (dient te worden uitgevoerd als administrator in een PROENV sessie) ▪Uitleg: 'D:\bct\tds\3tier\Installation instructions PASOE.txt'. ▪Deze 'Make.cmd' maakt gebruik van de volgende bestanden: •Corsa.war •CreateCorsaInstance.cmd •merge.conmgr_mss.properties (optioneel, t.b.v. Hosted Schema Holder MSSQL) •merge.conmgr_ora.properties (optioneel, t.b.v. Hosted Schema Holder Oracle) •merge.conmgr_pro.properties (optioneel, t.b.v. OpenEdge database) •merge.openedge_pas_corsa.properties •merge.ubroker_mss.properties (optioneel, t.b.v. Remote DataServer MSSQL) •merge.ubroker_ora.properties (optioneel, t.b.v. Remote DataServer Oracle) •rewritecookiepath_v2.ps1 •server.xml •De map 'D:\bct\tds\3tier\webspeed' is verwijderd.
Tools map: •Zoals hierboven benoemd zijn alle runbatch scripts aangepast naar de 'openedge_x86' map: ocount_active_users.cmd oDS7Rebuilder.cmd oetl_batchfill.cmd oexport-lic-count.cmd oreset_user_status.cmd oupdate_cmis_changelog.cmd oupdate_reminders.cmd oupdate_solr_changelog.cmd oupdate_systemtables.cmd •Vervanging 'D:\bct\tools\progress.cfg'. •runbatch_corsa.ini owebnxt.pl aan het PROPATH toegevoegd •De Progress OpenEdge Data Administration maakt nu gebruik van de 64-bit Progress OpenEdge installatie (prowin.exe i.p.v. prowin32.exe).
Overig: •De standaard URL van MyCorsa NxT is gewijzigd van 'https://<HOST>/scripts/wsisa.dll/WService=ws_corsa/index.html' naar 'https://<HOST>/Corsa/web/index.html'. •Om 'Corsa over AppServer' in te stellen is in het Corsa INI-bestand 'asCorsa=-AppService as_corsa -H <host>' aangepast naar 'asCorsa=-URL https://<HOST>/apsv/'. Let op! Om Corsa over AppServer in te stellen zijn aanvullende stappen nodig zoals het genereren en plaatsen van een certificaat. Zie de installatiehandleiding voor meer informatie. |
||||||||||||||||||||||||||||||||||||
tg9. |
Ondersteuning voor Windows Server 2019. Zie het Corsa 7.2 Availability Document voor meer informatie. |
||||||||||||||||||||||||||||||||||||
tg10. |
Ondersteuning voor Microsoft SQL Server 2017 ondersteund. Zie het Corsa 7.2 Availability Document voor meer informatie. |
||||||||||||||||||||||||||||||||||||
tg11. |
Voor Application Search kan dezelfde software als voor de Corsa 2018 release gebruikt worden met als toevoeging dat na de installatie handmatig een nieuwe schema.xml in de map 'D:\bct\3party\solr\server\solr\Corsa\conf' geplaatst moet worden. Bij een upgrade naar de Corsa 2019 release dient een volledige herindexering te gebeuren. |
||||||||||||||||||||||||||||||||||||
tg12. |
Indien de Corsa 2019 release wordt gebruikt dan dienen ook de minimale versies van de volgende componenten geïnstalleerd of bijgewerkt te worden (indien van toepassing):
Engines: •ABBYY FineReader Engine 11 versie 11.1.1803.1 •Neevia Document Converter Pro 7.0 •dtSearch 7.86
Web Services: •Corsa 7.2 Web Service versie 7.2.1909.4 •Corsa 7.2 StUF-BG 2.04 Web Service versie 2.04.2001.1 •Corsa 7.2 BBC Schaubroeck Web Service versie 7.20.2002.1
Application Search: •BCT BCE versie 2.0.2 •Corsa Solr versie 7.3.0.2 (met nieuwe schema.xml van de Corsa 2019 release)
Overig: •Corsa/TaskService versie 7.20.1909.1 •MyCorsa NxT Office Add-in versie 2.0.1909.1 •MyCorsa NxT Office Add-in for Office 64-bit versie 1.0.1909.1
Deze componenten zijn backwards compatible met oudere releases. Zie voor meer informatie de installatiehandleidingen en/of het Corsa 7.2 Availability Document. |
||||||||||||||||||||||||||||||||||||
tg13. |
TDSInstaller wordt niet meer uitgeleverd. |
||||||||||||||||||||||||||||||||||||
tg14. |
Voor een correcte werking van de Corsa/Document Server dient tijdelijk de volgende registersleutel geplaatst te worden:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\BCT\CORSA DS] "CorsaAuthentication"=dword:00000000
M.i.v. UCR10-2019 kan deze sleutel weer verwijderd worden. |