OutSystems op een Oracle stack

Vergelijkbare documenten
Weblogic 10.3 vs IAS

Oracle Rolling Upgrades met SharePlex Systems Consultant Quest Software Nederland 9/

Hoge beschikbaarheid bij Lips Textielservices Johan Westerduin, Transfer Solutions

Oracle-database creëren

Hoog Beschikbaarheid en het waterschapshuis

CONTAINERIZATION OF APPLICATIONS WITH MICROSOFT AZURE PAAS SERVICES

IAAS HANDLEIDING - SOPHOS FIREWALL

DB architectuur.

INSTALLATIE EXCHANGE CONNECTOR

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

De SAP Cloud Connector 2.0 maakt SAPUI5 ontwikkeling via de WEB-IDE mogelijk met data uit je eigen backend systeem.

DB architectuur.

1 Labo 4 H 8 Jobs, Alerts en Operators H 9 Monitoring en Troubleshooting

Technische Specificaties nieuwe Unix Applikaties

Upgrade van Oracle 10g naar 11g

VMware vsphere 5. What s New! Bram de Laat, Marek Zdrojewski, Jan van Leuken

Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 11 juli 2017 Linux User Group Nijmegen

ChainWise server randvoorwaarden

Document. Name: Systemhound 2007 Getting started guide. Created: Roel van Baaren Raxco Software 7 April Revisions:

Filr. Sebastiaan Veld Anthony Priestman. 10 april Overview en business case

Installatie en configuratie documentatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Extreem hoog beschikbaar

Automatische Installatie op IIS server

Secure Application Roles

Installatie King Task Centre

Automa'c Storage Management 11 g release 2. OGH DBA DAG 14 september 2010 Rob den Braber

Onder de motorkap van Microsoft Azure Web Sites. Eelco Koster Software architect ORDINA

Orbis Software. Portal4U. Installatie Handleiding. Dit document bevat de Installatie Handleiding voor Portal4U

SQL datadefinitietaal

Right Availability voor Provincie Zeeland met Active Data Guard 11g

Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 3de jaar Toegepaste Informatica

OTB Workshop. Van PDM naar PLM. Migratie van Intralink 3.x naar PDMLink of Intralink 8.0

Basisregistratie Ondergrond (BRO) Testen verbinding webservices met SoapUI Booronderzoek. Datum 28 maart 2017 Status Versie 1.0

Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan

Zelftest Java concepten

Gebruikers handleiding. Lizard Configuration Manager ToolTip. Installatie. Instellen. Initieel instellen

5/5 Red Carpet. 5/5.1 Inleiding

Handleiding OpenCart - factuursturen.nl

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 17 maart 2018 Nederlandse Linux Gebruikers Groep

Forensics in Office365. Christian Prickaerts 12 juni 2014, Amsterdam

Pinakes Integrator Client

Boutronic. MSSQL Express server voor Log functie. >> Installatie handleiding << 23 april 2014, versie 1.0d

Installatie handleiding ToastAR & HoastAR Januari ToastAR

kubernetes It compiles, ship it! Oscar Buse 13 februari 2018 Linux User Group Nijmegen

Oracle database voor gebruik met BPMone creëren

Pijlers van Beheer. Bram van der Vos

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

INHOUDSOPGAVE IMUIS INSTALLEREN 2 WINDOWS 2. WINDOWS SERVER 2008 r2 4 UITGAANDE VERBINDINGEN 5 INSTALLATIE IMUISONLINE.MSI 5 SSL CERTIFICAAT 5

INHOUDSOPGAVE IMUIS INSTALLEREN 2 WINDOWS 2. WINDOWS SERVER 2008 r2 3 UITGAANDE VERBINDINGEN 4 INSTALLATIE IMUISONLINE.MSI 4 SSL CERTIFICAAT 4

Hoe complex zijn Oracle software stacks?

Handleiding OpenCart - Reeleezee

Absentie Presentie Server Migratie

Solcon Online Backup. Aan de slag handleiding voor Linux

Installatiehandleiding B3P GIS Suite v3.6

BRIGHT-NET INSTALLATIE HANDLEIDING

Installatie. Easyshop. Gebruiker. Gebruiker 4 Gebruiker 3. Klant 1 van de Gebruiker. Progress/Openedge/ODBC installatie (3) KluwerWebService (4)

IAAS - QUICK START GUIDE

TSMS Lite, Professional and Enterprise vergelijking

WebUntis 2014 Instructies basisinstallatie

Handleiding installatie Hexagon Geospatial Software

Adelia Studio Nieuw in versie 12

Acht stappen voor JSF

SPACE ProAccess 3.0. Voor nadere toelichting kan contact opgenomen worden met SALTO.

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

ChainWise server randvoorwaarden

Installatiehandleiding King Webservices 2.0

Oracle client 1.2 voor ixperion 1.3 en hoger

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

Quarantainenet Log Forwarder

WebUntis 2014 Instructies basisinstallatie

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Denit Backup instellen op een Linux server

ASRemote WebService. Via deze webservice kunt u:

Maximo Tips and Tricks

DRIVEN BY AMBITION SUCCESVOL EXACT IMPLEMENTEREN IN DE PRIVATE CLOUD

Praktijk en practices

APEX en JasperReports

VMware View 4.5 een overview. Eline Klooster Technical Trainer

Chapter 4. eenvoudige webserver opzetten

OGH: : 11g in de praktijk

Nieuwe Installatie/Factuur2King 2.1 MU bijwerken

Technische randvoorwaarden dg DIALOG BGT versie 7.0

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database

ChainWise server randvoorwaarden

Delft-FEWS & Web Services

Open Enterprise Server 2 en vsphere Best Practises. Michael Wilmsen

Inhoudsopgave. versie 0.8

Documenten in en uit Apex

Installatie King Task Centre

Nieuwe Installatie/Factuur2King 2.2 MU bijwerken

Installatie SQL Server 2014

Quarantainenet Log Forwarder

IAAS BACKUPS MAKEN MET IASO

Voor op afstand os installatie moeten de volgende onderdelen geïnstalleerd zijn op de Windows 2000 server.

CareConnect Fin Pre-requirements

DWR 1.2 Installatiehandleiding Search Enricher

DataFlex 19.0 SQL Server

Transcriptie:

OutSystems op een Oracle stack Marcel Lambrechts 19 april 2017

Agenda Introductie OutSystems platform OutSystems op een Oracle stack Installatie en upgrade Database Database klonen Applicatie deployment Praktische informatie Troubleshooting Ervaringen 2

Introductie OutSystems platform 3

Introductie OutSystems platform Servers Front End server Minimaal 1 per omgeving Hierop draait een applicatie server met de applicatie Bestaat uit de volgende componenten: Java applicatie server (WebLogic): Hierbinnen draaien de applicaties Deployment service : Installeert applicaties afkomstig van deployment controller server Activeert geïnstalleerde applicaties Scheduler service : Uitvoeren geagendeerde achtergrond taken (jobs) Uitvoeren (BPT) business processen Versturen van e-mail Log service : Asynchrone log service Performance, error en audit event van applicaties 4

Introductie OutSystems platform Servers Deployment Controller server 1 per omgeving Valideert licentie Bestaat uit de volgende componenten: OutSystems Compiler: Compileert de applicatie Genereert SQL scripts op basis van metadata in database Deployment Controller Service : Stuurt de compiler aan Coördineert de uitrol van de applicatie naar alle Front End server Voert de SQL scripts uit 5

Introductie OutSystems platform Servers Database server 1 per omgeving (eventueel RAC) Opslag van: - OutSystems platform server metadata - Logging - Runtime (applicatie) data - (Applicatie) sessie status 6

Introductie OutSystems platform Server LifeTime 1 voor meerdere omgevingen Centraal beheren van alle (meerdere) OutSystems omgevingen - applicaties - users / roles Gecontroleerde deployment van applicaties naar verschillende omgevingen Geautomatiseerde impact analyse en bepalen afhankelijkheden 7

Introductie OutSystems platform Applicatie services Scheduler Service 1. Vraagt timers op in database 2. Roept WebService in espace (web applicatie) aan 3. Controleert of timer al actief is (db), locked en update db 4. Voert actie uit 7 5. Verwijderen lock en update db 7 6. Genereert logging 6 7. WebService meldt terug aan Scheduler Service Web App 4 Scheduler Service 1 2 3 5 Log Service 8

Introductie OutSystems platform Applicatie services Log Service Alle (web) applicaties genereren automatisch error, audit en performance logging en zetten dit op bepaalde message queues Asynchroon om performance impact op applicaties te minimaliseren Slaat logs op in database Draait met lagere prioriteit Maakt gebruik van 14 message queues die beschikbaar zijn in WebLogic JMS server 9

Introductie OutSystems platform - Standalone Platform Server Deployment Controller + Front-End Database Server Oracle Database 10

Introductie OutSystems platform Farm internet Load Balancer Platform Server Platform Server Platform Server Platform Server Deployment Controller Front-End Front-End Front-End Zone: intern Zone: DMZ Database Server Oracle Database 11

OutSystems op een Oracle stack Oracle VM Oracle Linux 6.x Java 8 SE SDK (Oracle java) WebLogic 12c 12.1.3 Enterprise Edition Oracle Database Standard Edition.. Enterprise Edition 11g Release 2 of 12c Oracle Enterprise Manager Cloud Control 13c 12

OutSystems op een Oracle stack Oracle Linux IPTables TCP Port redirecting poort 80 -> 8080 en 443 -> 8443 Firewall Startup scripts (/etc/rc.d/init.d) Script outsystems weblogic-outsystems Weblogic-outsystems-adminserver weblogic-outsystems-nodemanager Functie Starten platform server services Starten WebLogic Managed Server Starten WebLogic AdminServer Starten WebLogic Node Manager 13

OutSystems op een Oracle stack Java & Ant Apache Ant Gebruikt voor het bouwen/compileren van de applicaties Java RMI rmiregistry (poort 2033) Gebruikt bij communicatie tussen verschillende OutSystems platform server services Java processen (non-weblogic) platform server services Deployment Controller Deployment service Log service Scheduler service 14

OutSystems op een Oracle stack - WebLogic Aanwezig op iedere platform server Node Manager Managed Server met OutSystems web applicaties (User & System) Alleen op Deployment Controller server Admin Server WebLogic configuratie per outsystems omgeving: Admin Server outsystems_domain Node Manager Node Manager Node Manager Managed Server hostname Managed Server hostname. Managed Server hostname Deployment Controller Front End #1 Front End #x 15

OutSystems op een Oracle stack Engineered Systems Exadata & Data Appliance (ODA) Database Appliance: Oracle Database OutSystems Platform Server(s) op Oracle VM s High Availability: - Oracle RAC - automatic restart of VM s - auto failover Exadata: Oracle Database 16

System requirements Bekijk alle system requirements op: http://www.outsystems.com/goto/system-requirements Installatie checklist Download the installatie checklist op URL: http://www.outsystems.com/goto/checklist-10-j2ee OutSystems Platform Server installatie Pak het.zip bestand uit en open (lokaal) de htm file 10.0 Install Checklist J2EE.htm Selecteer in de dynamische html pagina: Wat je wilt doen (installatie, upgrade of update) Wat voor installatie (standalone of farm) Wat voor server (afhankelijke van standalone of farm) je wil installeren Het type applicatie server Het operating system Het type database De html pagina geeft vervolgens een complete stap voor stap installatie checklist van het kale operating system tot en met de configuratie van OutSystems 17

OutSystems Platform Server installatie Oracle Linux Software packages Basic server bevat benodigde packages alleen dos2unix package moet nog geïnstalleerd worden Filesystems aanmaken Filesystem /opt/oracle/middleware WebLogic software + logfiles 5 /opt/outsystems/platform OutSystems software 5 Firewall (IPTables) configuratie - handmatig WebLogic NodeManager & AdminServer poorten (7001, 7002 en 5556) Firewall (IPTables) configuratie - automatisch Port redirect 80 -> 8080 en 443 -> 8443 Firewall open poort 80, 443, 8080 en 8443 OS users en groep (WebLogic) - zelf aan te maken wls_outsystems Min. (GB) 18

OutSystems Platform Server installatie Java & Ant Java 8 SE SDK Software beschikbaar als RPM package en te installeren met behulp van rpm commando Java Cryptography Extension (JCE) Unlimited Strength Beschikbaar in de vorm van een.zip file (jce_policy-8.zip) die na de installatie van de OutSystems software gekopïeerd moet worden Ant (minimaal versie 1.9) Installatie bestaat uit het uitpakken van een.zip bestand 19

OutSystems Platform Server installatie WebLogic Installeren WebLogic 12c (12.1.3) Installatie van WebLogic 12.1.3 met de generic package installer Oracle inventory in home directory wls_outsystems Silent installatie met response file Configureren WebLogic domein Middels een script wordt een WebLogic domein outsystems_domain gemaakt in een standalone configuratie of bij de installatie van de Deployment Controller. Als in een farm configuratie een Front End platform server wordt geïnstalleerd, dan wordt deze aan het bestaande outsystems_domain toegevoegd en moet de Front End server (Machine en Managed Server) in de AdminServer worden geconfigureerd. Installeren PSU Installatie van PSU patch (checklist geeft aantal verplicht te installeren patches aan, die vanaf PSU juli 2016 aanwezig zijn). 20

OutSystems Platform Server installatie WebLogic (2) Uitschakelen SSL Hostname verification voor AdminServer Wordt niet vermeld in checklist, maar veroorzaakte vermoedelijk problemen tijdens het draaien van de configurationtool.sh Andere JAXB provider configureren De installatie checklist beschrijft mogelijke problemen met Web Services in het OutSystems platform indien er gebruik gemaakt wordt van de standaard JAXB provider van WebLogic SSL configuratie Configureren van identity en trust keystores m.b.v. de WebLogic AdminServer 21

OutSystems Platform Server installatie Database Database characterset AL32UTF8 of WE8MSWIN1252 (Oracle 12c) initialization parameter optimizer_adaptive_features op false Aanmaken profile met password_life_time UNLIMITED 22

OutSystems Platform Server installatie OutSystems (1) Platform Server software - installatie YUM repository configureren Downloaden en installeren OutSystems RPM package dat een yum.repo bestand (outsystems.repo) installeert in /etc/yum.repos.d dat verwijst naar de juiste (afhankelijk van OutSystems versie) URL Voor platform server 10: http://yum.outsystems.net/10.0/noarch yum install Installeert de OutSystems software en voert diverse pre/post scripts uit die o.a. de volgende taken uitvoeren: - maakt een OS user outsystems - maakt een OS groep outsystems Het is ook mogelijk de software te downloaden en vervolgens te installeren of gebruik te maken van een lokale (interne) YUM repository. Software wordt geïnstalleerd in /opt/outsystems/platform 23

OutSystems Platform Server installatie OutSystems (2) Platform Server database configuratie: Uitvoeren van 2.sql scripts Om alle benodigde tablespaces en database users aan te maken moeten de volgende twee scripts in de directory /opt/outsystems/platform/db uitgevoerd worden: runtime_oracle_creation.sql session_oracle_creation.sql Aanpassen scripts CREATE TABLESPACE statements in _creation.sql scripts aanpassen met juiste datafile locaties (verwacht dat de init. parameter db_create_file_dest geconfigureerd is) en grootte, of indien er gebruik gemaakt wordt van ASM. Het is mogelijk de om de namen van de tablespaces en database users/schema s aan te passen. Hiervoor moeten bovengenoemde scripts aangepast worden. Pas ook de namen van de tablespaces en schema s aan in de scripts: runtimemodel_oracle.sql en sessionmodel_oracle.sql 24

OutSystems Platform Server installatie OutSystems (3) Platform Server software configuratie: configurationtool.sh WebLogic AdminServer settings (host, port, credentials) Configureren database connecties (users, tablespaces, etc.) Server farm configuratie (optioneel) serviceconfigurator.sh Bij installaties van platform servers (Front End of Deployment Controller) in een farm configuratie, wordt dit scripts gebruikt om de verschillende platform server services en enablen/disablen. In een standalone configuratie wordt dit scripts niet uitgevoerd. Licentie file opvragen en installeren System Components e.a. installeren (Service Center) 25

OutSystems Platform Server Update & Upgrade Update/patchen (revision update): Nieuwe versie in dezelfde release bijv. 10.0.200.0 naar 10.0.407.0 Upgrade: Nieuwe release bijv. 9.1.600.0 naar 10.0.407.0 Update: Gebruik yum update om nieuwste versie te downloaden Draaien configurationtool.sh Update System Components in ServiceCenter Republish alle applicatie modules 26

OutSystems Platform Server Update & Upgrade Upgrade Officiële beschrijving gaat er vanuit dat de nieuwe platform server release op een nieuwe server geïnstalleerd wordt Gebruik de upgrade/update checklist (zelfde als installatie checklist) Download the installatie checklist op URL: http://www.outsystems.com/goto/checklist-10-j2ee Veiligstellen belangrijke OutSystems configuratie bestanden Bestand Functie server.hsconf (/etc/outsystems) private.key (/opt/outsystems/platform) Wordt door de Configurationtool gebruikt als configuratie bestand Bevat de private key waarmee alle vertrouwlijke configuratie versleuteld is denk bijvoorbeeld aan de wachtwoorden voor de database schema s 27

OutSystems Platform Server Update & Upgrade Upgrade op zelfde server Veiligstellen server.hsconf en private.key Stoppen van alle OutSystems platform services en WebLogic processen Backup server Om bij problemen met het opnieuw installeren te kunnen restoren Backup database De database is het enige component dat onaangetast blijft totdat de configurationtool.sh het datamodel aanpast. Verwijderen OutSystems software + repository yum remove rpm -e outsystems-repo.rpm Verwijderen WebLogic software + inventory Verwijder alle bestanden uit /opt/oracle/middleware Verwijder /home/wls_outsystems/orainventory/ (her)installeren + configureren WebLogic volgens upgrade checklist (her)installeren + configureren OutSystems software Upgrade checklist verder volgen 28

OutSystems Platform Server Update & Upgrade Upgrade zonder downtime Front End servers verdeeld in 2 zones ( eerste en tweede zone) Scheduler stoppen op alle Front End servers Eerste zone met Front End servers binnen Load Balancer uitschakelen Uitschakelen deployment (Service Center) naar Front End servers in tweede zone Upgrade Deployment Controller en Front End servers in eerste zone (volgens upgrade checklist) Omschakelen Load Balancer naar eerste zone Front End servers Inschakelen Scheduler op Front End servers eerste zone Upgrade Front End servers in tweede zone Load Balancer naar alle Front End servers Inschakelen deployment (Service Center) naar alle Front End servers Scheduler service starten op alle Front End servers in tweede zone 29

Database Database tablespaces (standaard): Aanpassen voor de installatie: voor de installatie handmatig in.sql scripts tablespace namen aanpassen en aangepaste namen opgeven tijdens draaien configurationtool.sh. Aanpassing na installatie: handmatig door DBA en vervolgens moet de configurationtool.sh gedraaid worden om de OutSystems configuratie aan te passen. Daarnaast zal ook de deployment controller server herstart moeten worden. Tablespace naam (standaard) OSIDX OSLOG OSSTATE OSSYS OSUSR Indexen voor OutSystems system (metadata) en applicatie (user) tabellen OutSystems logging tabellen & indexen Tabellen en indexen voor OutSystems session state OutSystems system (metadata) tabellen OutSystems applicatie (user) tabellen 30

Database Database schema s: OSADMIN OSSTATE Database users: OSRUNTIME OSLOG 31

Database Static entities: Altijd de kolommen: value, description, order, is_active Indexen op: Function-Based NLSSORT Primary Key: value Triggers: geen 32

Database Entities: Altijd de kolom: id Indexen op: Unique on id primary key Primary Key: id Triggers: Before Insert / For Each Row ID s worden gegenereerd m.b.v. een trigger die een sequence gebruikt voor een uniek nummer. 33

Database OutSystems kent geen NULL Integratie met bestaande Oracle databases (select/insert/update) NULL waarden gebruikt door OutSystems: OutSystems Oracle NULL waarde Text (Email, PhoneNumber) (Long) Integer, Currency, Decimal, Boolean Date, DateTime, Timestamp VARCHAR2, CLOB NUMBER 0 (spatie) TIMESTAMP 01-01-1900 00:00:00 34

Indexen Keuze uit unique en non-unique B-Tree indexen Indexen aangemaakt via ServiceStudio zijn voor text entity attributes altijd function-based indexen: (NLSSORT( <<kolom>>", 'NLS_SORT=BINARY_AI')) Constraints Primary key constraints Foreign key constraints OutSystems maakt automatisch een non-unique B-Tree index op foreign key kolom aan. Niet function-based. Check constraint NOT NULL Views Het is niet mogelijk om vanuit OutSystems views te definiëren Sequences Het is niet mogelijk om vanuit OutSystems sequences te definiëren OutSystems maakt alleen sequences aan om id s te genereren voor entities Triggers Het is niet mogelijk om vanuit OutSystems triggers te definiëren Database 35

Database Integratie met externe Oracle databases Integration Studio Default Value Behaviour geeft mogelijkheid om OutSystems NULL values automatisch om te zetten van/naar NULL. Dit betekent wel dat bijvoorbeeld nummerieke waarde 0 automatisch vertaald wordt naar NULL in de database. Update behaviour is altijd All Attributes Dit betekent dat bij een update op een entity (tabel) in een externe database altijd alle columns geupdate worden Geen JOIN mogelijk tussen interne entities en externe entities en tussen externe entities in verschillende externe databases 36

Database Gebruik Enterprise Edition database opties OutSystems ondersteunt database opties indien onzichtbaar en ondersteunt door standaard Oracle JDBC driver en UCP library OutSystems herkent deze database opties niet en houdt hier ook geen rekening mee Partitioning Niet vanuit Service Studio te configureren Redefinition om bestaande tabel te partitioneren Advanced Compression Niet vanuit Service Studio te configureren Eenvoudigste methode is het aanzetten van compressie op tablespace Eventueel redefinition van bestaande tabellen 37

Database - Connectie Oracle JDBC driver Oracle Universal Connection Pooling (UCP) library Geen gebruik van WebLogic Data Sources Default pool size 10, max pool size 100 Default InactivityTimeout 5 minuten 38

Database High Availability & Disaster Recovery Real Application Cluster (RAC) OutSystems beveelt het gebruik van een geclusterde database aan Gebruik als high availability oplossing Gebruik voor load balancing Data Guard Gebruik voor disaster recovery 39

Database klonen Klonen van OutSystems database Veiligstellen van: - Database Connecties (naar externe databases) RMAN duplicate Datapump export/import Verwijderen omgevings-specifieke security configuratie Parameters in OSADMIN.OSSYS_PARAMETER Verwijderen zone configuratie (indien aanwezig) Verwijderen van front end server configuratie Verwijderen multi-schema configuratie (indien aanwezig) Verwijderen database connecties (naar ext. databases) Verwijderen LifeTime configuratie (indien omgeving beheert wordt door LifeTime Verwijderen/aanpassen configuratie data voor applicaties 40

Database klonen (2) Herconfigureren Platform Server Alle platform services stoppen WebLogic managed server en AdminServer stoppen Uitvoeren van configurationtool.sh Configuratie in ServiceCenter: - licentie file opnieuw uploaden? - server mode (development, productie) - database connecties (externe databases) - Republish alle espaces Starten overige platform services 41

Database deployment scripts De scripts die tijdens een deployment uitgevoerd zijn om de aanpassingen aan het datamodel door te voeren, zijn terug te vinden in de applicatie source code directory: /opt/outsystems/platform/share/<module naam>/full Diverse SQL scripts met statements voor: - bijwerken van metadata - aanpassen/uitbreiden data model geen invloed op uit te voeren scripts achteraf pas scripts te bekijken geen historie terug te vinden van gebruikte scripts geen ONLINE (Enterprise Edition) opties gebruikt Applicatie deployments Gecompileerde applicaties en shared libraries Shared libraries in directory: /opt/outsystems/platform/repository Applicaties in directory: /opt/outsystems/platform/running 42

Applicatie deployments (2) Versie beheer Alle versies van applicaties, espaces en extensies opgeslagen in de metadata database Applicaties, espaces en extensies kunnen worden gedownload uit ServiceCenter Oude versies van espaces kunnen via ServiceCenter verwijderd worden 43

espace deployment volgen: De deployment van de espaces is te volgen in de logfile van de WebLogic AdminServer. Applicatie deployments (3) Op de Deployment Controller Server: <weblogic home>/user_projects/domains/outsystems_domain/servers/adminserver/logs Logfile: AdminServer.log Om de deployment van espaces (modules) te volgen: tail -f AdminServer.log grep "<Deployer> Op de Front End server(s): <weblogic home>/user_projects/domains/outsystems_domain/servers/<servername>/logs Logfile: <servername>.log Om de deployment van espaces (modules) op de Front End server te volgen: tail f <servername>.log 44

Installatie / configuratie Installatie van WebLogic onder andere user geeft foutmeldingen tijdens uitvoeren van configurationtool.sh chown: invalid user: `wls_outsystems:wls_outsystems Praktische informatie Installatie van WebLogic in ander filesystem/directory geeft foutmeldingen tijdens uitvoeren van configurationtool.sh cp: cannot create regular file `/opt/oracle/middleware/oracle_common/modules/oracle.jdbc_12.1.0/': No such file or directory Foutmelding tijdens uitvoeren van configurationtool.sh: ERROR: An exception occurred trying to connect to WebLogic: t3://localhost:7001: Destination 0:0:0:0:0:0:0:1, 7001 unreachable 45

Advanced queries (SQL) Commentaar in advanced queries: geen single-line commentaar mogelijk, wel multi-line commentaar Praktische informatie SELECT kolom1, kolom2 -- Dit is kolom2 FROM tabel1; SELECT kolom1, kolom2 /* Dit is kolom2 */ FROM tabel1; Count output parameter in advanced queries: De count output parameter voor advanced queries werkt niet voor bepaalde queries. Dit komt door de manier waarop het platform het aantal rows bepaald: SELECT COUNT(1) FROM (<<advanced query>>) Dit geeft problemen voor advanced queries waarin bijvoorbeeld de WITH clause gebruikt wordt. In ServiceStudio is het probleem niet zichtbaar, pas tijdens het aanroepen van de query in de web applicatie zal dit een internal error opleveren 46

Advanced queries (SQL) - vervolg Gebruik van Oracle hints in advanced queries is mogelijk Indien er een index hint gebruikt wordt, is het wel noodzakelijk de juiste naam van de index te achterhalen Praktische informatie 47

Praktische informatie Datatypes Aanpassen van de lengte van een Text veld voor een entity attribute van < 2000 naar >= 2000, veroorzaakt een Database Upgrade error. Text veld met een lengte van < 2000 karakters, wordt een VARCHAR2 in Oracle, terwijl een Text veld met een lengte >= 2000 karakters een CLOB wordt in de database. Handmatige conversie (in database of middels constructie binnen OutSystems) is de enige methode voor het oplossen van dit probleem. Database maintenance Database wijzigingen zijn backwards compatible, er wordt niets verwijderd DBCleaner API (op Forge applicatie beschikbaar) - Opruimen (verwijderen) van entities fysieke tabellen en metadata - Opruimen (verwijderen) van entity attributes tabel columns en metadata - Opruimen (verwijderen) oude espace versies geeft ook overzicht van de ruimte die de oude espace versies in beslag nemen - Opruimen (verwijderen) oude emails - Opruimen (verwijderen) oude BPT processen 48

Praktische informatie Overige zaken java IOException bij exporteren naar Excel bestand In bepaalde situatie kan het voorkomen dat een export naar een excel bestand een IOException oplevert. Dit komt door het ontbreken van de directory /tmp/poifiles. Het aanmaken van deze directory met de juiste rechten lost het probleem (tijdelijk) op, want dit wordt veroorzaakt door de manier waarop de platform server de Apache POI library gebruikt. Deze bug zou in de laatste platform server 10 versies opgelost moeten zijn Managed Server start niet altijd automatisch op na herstart server De WebLogic managed server start niet altijd automatisch op nadat de server gestart is. SSL certificaten importeren in trusted keystore om remote webservices te kunnen benaderen vanuit espaces 49

Praktische informatie Overige zaken Java Heap voor AdminServer en managed servers De standaard geconfigureerde hoeveelheid JVM heap geheugen voor de AdminServer en managed servers is te laag (-Xms256m Xmx512m). Dit kan leiden tot OutOfMemory errors tijdens bijvoorbeeld het deployen van espaces of het werken met Service Studio of Integration Studio Verlopen van wachtwoorden voor database schema s/users Indien de standaard scripts gebruikt worden voor het aanmaken van de door OutSystems benodigde database schema s en users, wordt het DEFAULT profile van Oracle gebruikt, waarbij geconfigureerd is dat het wachtwoord na x dagen verloopt. Dit resulteert in uiteenlopende foutmeldingen zowel binnen de web applicaties als platform services. Het probleem is overigens duidelijk zichtbaar in de logfiles van de diverse platform services. Service Studio, Integration Studio en alle (web) applicaties (user & system) gaan uit van connectie over poort 80 (http) of 443 (https). Het gebruik van andere poorten wordt door OutSystems niet ondersteunt. 50

Troubleshooting Service Center Service Center: Monitoring / Environment Health Snel overzicht van de status van de verschillende platform server services Monitoring / Error Log Overzichtelijke lijst met errors gelogd door het systeem en espaces waarbij kan doorgeklikt worden voor gedetailleerde informatie zoals stack traces Monitoring / General Log Overzichtelijke lijst met logging vanuit het systeem en espaces waarbij kan worden doorgeklikt voor gedetailleerde informatie 51

Troubleshooting - logfiles WebLogic Admin Server: <<wls>> = /opt/oracle/middleware/wlserver <<wls>>/user_projects/domains/outsystems_domain/servers/adminserver/logs Logfile outsystems_domain.log AdminServer.log Meldingen van alle managed servers binnen het outsystems_domain domein (behalve DEBUG) Logging van de AdminServer voor het outsystems_domain. Bruikbaar voor o.a. troubleshooting espace deployment problemen 52

Troubleshooting logfiles (2) WebLogic Managed Server (waarbinnen de espaces draaien): <<wls>> = /opt/oracle/middleware/wlserver <<wls>>/user_projects/domains/outsystems_domain/servers/<hostname>/logs Logfile <hostname>.out <hostname>.log access.log STDOUT en STDERR output van de managed server waarbinnen de espaces draaien Logging van de managed server waarbinnen de espaces draaien Logging van HTTP(S) verkeer naar de managed server De.out file is handig om gefilterd overzicht van alle belangrijke meldingen van de managed server te krijgen. Voor een compleet overzicht kan het.log bestand gebruikt worden. 53

Troubleshooting logfiles (3) Platform Server services: Alle OutSystems platform server services schrijven log informatie naar een eigen logfile in de directory /var/log/outsystems De directory /opt/outsystems/platform/logs is een link naar /var/log/outsystems Logfile Config file Service DeploymentController.log os.controller.service.properties Deployment Controller service DeployService.log os.deployment.service.properties Deployment service Scheduler.log os.scheduler.service.properties Scheduler service LogServer.log os.log.service.properties Log service Standaard worden alleen ERROR meldingen weggeschreven naar de logfiles. Pas de property log4j.logger.outsystems= in het.properties bestand van de betreffende platform server service aan voor meer of minder logging. Log levels: ALL, DEBUG, TRACE, INFO, WARN, ERROR of FATAL 54

Troubleshooting configuratie Environment variabelen /etc/sysconfig/outsystems Preferences /etc/.java/.systemprefs/outsystems/prefs.xml Configuratie bestand /opt/outsystems/platform/server.hsconf Encryption key /opt/outsystems/platform/private.key Dabase connecties /etc/outsystems/tnsnames.ora Configuratie in database Diverse OSSYS_ tabellen in OSADMIN schema 55

Contactgegevens Marcel Lambrechts E-mail: mlambrechts@quobell.nl LinkedIn: https://www.linkedin.com/in/lambrechtsmarcel/ Quobell Telephone +31 30 6346333 Website http://www.quobell.nl 56

Vragen & antwoorden 57

OutSystems op een Oracle stack Marcel Lambrechts 19 april 2017