SlideShare a Scribd company logo
1 of 23
Rollout-Prozess für APEX Anwendungen
Referent:
Oliver Lemm, Systemberater, MT AG, Ratingen
MT AG Key Facts
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 2
 Full-Service-Dienstleistung für alle
Phasen des Software-Lifecycle
 Herstellerunabhängige Expertise in
den marktführenden Technologien wie
Oracle, IBM, Microsoft, SAP und
OpenSource
 Themen- und Lösungs-Know-how in den
Kerndisziplinen des Adaptive Enterprise
 Gründung 1994
 Inhabergeführte AG:
Aktienkapital 1.500.000 €
 Hauptsitz Ratingen;
Niederlassung Dortmund
 Mitarbeiter:
> 200 Festangestellte
> 65 Freie Mitarbeiter
MT AG MANAGING TECHNOLOGY – ENABLING THE ADAPTIVE ENTERPRISE
Agenda
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 3
■ Der Rollout-Prozess
■ APEX allgemein
■ Welche Herausforderungen gibt es?
■ Version der Anwendung
■ Ablauf eines Rollouts
■ Was deckt APEX ab?
■ Tools
Der Rollout-Prozess
■ Absicherung der Daten und der bisherigen Anwendung
■ Zugriff für Benutzer während des Updates unterbinden
■ Installation bzw. Verteilung einer Software
■ Protokollierung aller Schritte und Fehler
■ Migration bisheriger Daten
■ Sicherstellung einer fehlerfreien und kompletten Installation
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 4
APEX allgemein
■ Oracle Application Express (APEX) ist als Framework auf der Oracle
Datenbank vorhanden
■ APEX ist nicht lizenzpflichtig
■ Sowohl Entwicklungsumgebung als auch die Anwendung sind
browserbasiert
■ Keine clientseitige Installation nötig
■ Eine APEX Anwendung besteht aus
■ Anwendung
■ Datenmodell (Tabellen, Views, Sequenzen, Trigger, Packages, Prozeduren,
Funktionen, etc.)
■ Stammdaten
■ Bilder, Javascripte und weiteren statischen Dateien
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 5
APEX allgemein
■ Aktuelle APEX Version 4.0.1 (4.0.2 auf apex.oracle.com)
■ Anwendungen, die in älteren APEX Versionen entwickelt wurden
immer importierbar
■ Anwendungen, die in aktuelleren APEX Versionen entwickelt wurden
nur eingeschränkt importierbar. (Kompatibel meist bei
Versionsänderungen in 2.ter Nachkommastelle)
■ Kompatibilität definiert über Dateiversion
■ Alle Datenbankobjekte in der Oracle Datenbank nutzbar
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 6
Was deckt APEX ab? – Verfügbarkeit
■ Einfache Steuerung des Zugriffs
■ Informationsmeldung für Benutzer
■ Verfügbarkeitseinstellung im Installationspaket einstellbar
■ Eingeschränkter Zugriff möglich
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 7
Was deckt APEX ab? – Sicherung
■ Sicherung der bisherigen Anwendung über Entwicklungsbereich
■ Sicherung der Daten und Datenbankobjekte über Schemasicherung
■ Sicherung aller weiteren, meist statischen, Dateien
■ Dateien außerhalb von APEX müssen separat gesichert werden
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 8
Was deckt APEX ab? – Unterstützende Objekte
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 9
Was deckt APEX ab? – Unterstützende Objekte
■ Import der neuen Anwendung über bisherige Anwendungs-ID
■ Hinterlegung aller Datenbankobjekte als Update- oder
Installationsskripte
■ Durch Kapselung von APEX keinerlei Probleme mit Zeichensatz
■ Durch Kapselung von APEX wenig Probleme auf unterschiedlichen
Systemen
■ Datenbankobjekte mittels Validierung nur installierbar, wenn
Vorversion dazu passt.
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 10
Was deckt APEX ab? – Unterstützende Objekte
■ Installation/Update von Anwendungen sehr einfach
■ Installation besteht aus einer Datei
■ Keinerlei weitere Tools außer dem Browser nötig
■ Durch Validierungen keine Möglichkeit, falsche Datenbankobjekte zu
installieren
■ Eigene Informationsmeldungen im Installationsprozess hinterlegbar
■ Bilder, statische Dateien, etc. auch über APEX Oberfläche installierbar
■ Am Schluss einer Installation Zusammenfassung aller Schritte und
Information über evtl. vorhandene Fehler
■ Möglichkeit zur Hinterlegung eines Deinstallationsskripts
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 11
Welche Herausforderungen gibt es?
■ Fehlerhafte DDL-Skripte, die zum Teil durchgelaufen sind, lassen sich
nur mit Einspielen des Backups zurücksetzen
■ Lösung: Durchführung des Updates in Testschemata/Workspace mit Kopie
der Produktion
■ Bei großer Anzahl von Skripten ist die Hinterlegung in APEX
aufwendig
■ Lösung: Installation der Datenbankobjekte zusammenfassen, ansonsten
direkt über die Datenbank durchführen. Mittels „spool“ und „prompt“ für alle
Skripte erweitern.
■ Viele Datenbankänderungen können Updates sehr aufwendig machen
■ Lösung: Datenmodell bei APEX Anwendungen sehr genau und Umfassung
planen. Bei Updates Überprüfung von vorhandenen Objekten in der
Datenbank. Versionsmodell benutzen.
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 12
Welche Herausforderungen gibt es?
■ Import von CSS-Dateien ist bisher bei Updates problematisch. Schon
vorhandene CSS-Dateien werden nicht überschrieben.
■ Lösung: Pro Version unterschiedlicher Name der Datei oder CSS-Dateien
im Bereich der Bilder mitspeichern.
■ Statische Dateien, Bilder und JavaScripts werden innerhalb APEX
nicht gecached
■ Lösung: Speicherung dieser Dateien außerhalb von APEX auf
Dateisystem.
■ APEX Anwendung selber kann nicht mit einer Validierung versehen
werden.
■ Lösung: Alle installierten Anwendungen sind im Exportrepository
vorhanden und lassen sich einzeln wieder einspielen.
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 13
Vorteile eines gut geplanten Rollouts
■ Minimierung von Fehlern beim Rollout
■ Schnellere Durchführung eines Rollouts
■ Durch Fehler- und Infomeldungen jederzeit klar, in welchem Zustand
des Updates man sich befindet und ob es erfolgreich durchgeführt
wurde
■ Durchführung auch für Dritte möglich
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 14
Version der Anwendung
■ Für den Rollout-Prozess ist eine gut durchdachte Versionsverwaltung
und Definition sehr hilfreich
■ Beispiel: 1.3.5.16
■ A (1) => Major Release ändert sich nur bei einer Neuentwicklung oder
komplettem Refactoring
■ B (3) => Der zweite Teil der Versionsnummer wird bei neuen Features in
der Anwendung erhöht
■ C (5) => Der dritte Teil ändert
sich bei jeglicher Änderung
im Datenmodell
■ D (16) => Der vierte Teil
ändert sich bei jeglicher
Änderung der Anwendung
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 15
Version der Anwendung
■ Versionsnummer sollte sowohl in der Anwendung als auch im
Datenmodell vorhanden sein
■ Für Datenmodell eine Tabelle mit folgenden Eigenschaften benutzen:
■ application_date => Information der letzten Änderung in der Anwendung
■ db_model_version => Versionsnummer A.B.C (Beispiel: 1.3.5)
■ application_version => Komplette Versionsnummer (Beispiel: 1.3.5.16)
■ application_id => ID der APEX Anwendung (:APP_ID)
■ nls_db_charset => Zeichensatz der DB (nls_database_parameters)
■ plsql_web_toolkit_version => owa_util.get_version()
■ servername => owa_util.get_cgi_env(‚SERVER_NAME‘)
■ http_host => owa_util.get_cgi_env(‚HTTP_HOST‘)
■ inserted_date => Installationsdatum (sysdate)
■ inserted_user => Installationsbenutzer (:APP_USER/user)
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 16
Version der Anwendung
■ Überprüfung aller Parameter bei jedem Login. Bei Änderung
Speicherung der neuen Parameter
■ Versionsnummer auch in Versionsverwaltung wie Subversion, CVS
oder PVCS benutzen
■ Versionsnummer bei Update der Datenbankobjekte als Validierung
nutzen
■ Versionsnummer bei Dokumentation und allen weiteren Dateien
Nutzen
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 17
Allgemeine Vorgaben
■ Klare Struktur der Skripte
■ Allgemeine bekannte Best Practises für Datenbankentwicklung
verwenden
■ Namen für APEX Import-/Exportdateien
■ <Anwendung>_<Zeichensatz Datei>.sql
■ <Anwendung>_<Zeichensatz Datei>_img.sql
■ <Anwendung>_<Zeichensatz Datei>_css.sql
■ <Anwendung>_<Zeichensatz Datei>_static.sql
■ Dateiname vor Import erweitern um Datum, Version der Anwendung,
APEX-Version und Quell-ID:
■ 20101116_5.1.3.15_DEMO_UTF8_4.0.1.sql
(YYYYMMDD_VERSION_NAME_ZEICHENSATZ_APEXVERSION.sql)
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 18
Ablauf eines Rollouts
1. Festlegung der neuen Features
2. Festlegung der neuen Version
3. Festlegung des Zeitrahmens für Entwicklung, Test und Installation
4. Entwicklung auf einer Entwicklungsumgebung inklusive
Versionierung der geänderten Objekte
5. Test der Anwendung auf Testumgebung
6. Zusammenstellung der Skripte
7. Erstellung der Validierungen bzgl. der Vorversion
8. Sperrung der Testumgebung
9. Kopie der Produktion inklusive Daten auf die leere Testumgebung
10. Durchführung eines Update Testlaufs
11. Entsperrung der Testumgebung
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 19
Ablauf eines Rollouts
12. Kurztest der Testumgebung sowie Überprüfung der Logdateien
13. Beantragung eines Zeitfensters für die Produktion
14. Sperrung der Produktion
15. Sicherung der Daten
16. Sicherung der Datenbankobjekte
17. Sicherung der Anwendung
18. Installation der neuen Anwendung
19. Überprüfung der Logdateien
20. Ggf. Vergleich von Testinstallationsobjekten und Produktion durch
Schemadiff
21. Freischaltung der Produktion und Testumgebung
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 20
Tools
■ Versionierung
■ CVS / PVCS / Subversion
■ Datenbankentwicklung
■ TOAD / plsql developer / SQL Developer
■ Datenbankmodellierung
■ Rational Rose / SQL Developer Data Modeler (ab Version 3 gratis)
16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 21
MT AG managing technology I Balcke-Dürr-Alle 9 I 40882 Ratingen
Tel. +49 (0) 2102 309 61-0 I info@mt-ag.com I www.mt-ag.com
MT AG managing technology I Balcke-Dürr-Allee
Vielen Dank!
?!
MT AG – Vorträge auf der DOAG
MT AG MANAGING TECHNOLOGY – ENABLING THE ADAPTIVE ENTERPRISE
Di. 16. Nov. 10:00 – 10:45 Clevere Web-Formulare mit APEX und jQuery Andreas Wismann
Oracle RMAN – beim Recovery das Disaster
erleben?
Rollout Prozess für APEX Anwendungen
Audit Vault - Erfahrungen aus der ersten deutschen
Produktivumgebung
Das APEX Migrationsprojekt bei der Union Investment
BPEL und Transaktionen
Rich-Internet-Applications mit jQuery und dem
APEX Listener
Volker Mach
Oliver Lemm
Volker Mach
Niels de Bruijn
Arne Platzen
Guido Neander
Klaus Friemelt
Di. 16. Nov. 13:00 – 13:45
Di. 16. Nov. 13:00 – 13:45
Mi. 17. Nov. 13:00 – 13:45
Do. 18. Nov. 13:00 – 13:45
Do. 18. Nov. 16:00 – 16:45
16.11.2010 23Rollout-Prozess für APEX Anwendungen. © MT AG
Do. 18. Nov. 14:00 – 14:45

More Related Content

Similar to Rollout-Prozess für APEX Anwendungen

Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
Migration einer Oracle Forms Anwendung - Rhenus Freight Network GmbH
Migration einer Oracle Forms Anwendung - Rhenus Freight Network GmbHMigration einer Oracle Forms Anwendung - Rhenus Freight Network GmbH
Migration einer Oracle Forms Anwendung - Rhenus Freight Network GmbHitemis AG
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataGunther Pippèrr
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017oraclebudb
 
MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1MT AG
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSCS2 AG
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichOliver Lemm
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißOPITZ CONSULTING Deutschland
 
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...Trivadis
 
Qualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfQualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfOliver Lemm
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenGunther Pippèrr
 
Oracle AVDF in der Praxis
Oracle AVDF in der PraxisOracle AVDF in der Praxis
Oracle AVDF in der PraxisTrivadis
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenSpeedPartner GmbH
 
LAIK: A Library for Fault Tolerant Distribution of Global Data
LAIK: A Library for Fault Tolerant Distribution of Global DataLAIK: A Library for Fault Tolerant Distribution of Global Data
LAIK: A Library for Fault Tolerant Distribution of Global DataDai Yang
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2 oraclebudb
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Ulrike Schwinn
 
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...OPITZ CONSULTING Deutschland
 
An introduction to Google's App Engine
An introduction to Google's App EngineAn introduction to Google's App Engine
An introduction to Google's App EngineStefan Sperber
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsChristian Gohmann
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performanceglembotzky
 

Similar to Rollout-Prozess für APEX Anwendungen (20)

Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Migration einer Oracle Forms Anwendung - Rhenus Freight Network GmbH
Migration einer Oracle Forms Anwendung - Rhenus Freight Network GmbHMigration einer Oracle Forms Anwendung - Rhenus Freight Network GmbH
Migration einer Oracle Forms Anwendung - Rhenus Freight Network GmbH
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1MT AG: Implementierungsvarianten mit-apex4.1
MT AG: Implementierungsvarianten mit-apex4.1
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTS
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne Dich
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
 
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
 
Qualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdfQualitätssicherung für APEX Anwendungen.pdf
Qualitätssicherung für APEX Anwendungen.pdf
 
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysierenDBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
DBSAT – Die Oracle DATENBANK bzgl. PII Daten analysieren
 
Oracle AVDF in der Praxis
Oracle AVDF in der PraxisOracle AVDF in der Praxis
Oracle AVDF in der Praxis
 
Extbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobierenExtbase/Fluid: Kennenlernen und ausprobieren
Extbase/Fluid: Kennenlernen und ausprobieren
 
LAIK: A Library for Fault Tolerant Distribution of Global Data
LAIK: A Library for Fault Tolerant Distribution of Global DataLAIK: A Library for Fault Tolerant Distribution of Global Data
LAIK: A Library for Fault Tolerant Distribution of Global Data
 
Oracle Database 12c Release 2
Oracle Database 12c Release 2 Oracle Database 12c Release 2
Oracle Database 12c Release 2
 
Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2Überblick zu Oracle Database 12c Release 2
Überblick zu Oracle Database 12c Release 2
 
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
Oracle BAM - Volle Übersicht über Meta- und Prozessdaten - DOAG Konferenz 201...
 
An introduction to Google's App Engine
An introduction to Google's App EngineAn introduction to Google's App Engine
An introduction to Google's App Engine
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 

More from Oliver Lemm

Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfOliver Lemm
 
APEX Page Items in detail
APEX Page Items in detailAPEX Page Items in detail
APEX Page Items in detailOliver Lemm
 
APEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenAPEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenOliver Lemm
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines AdvancedOliver Lemm
 
Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Oliver Lemm
 
Jenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleJenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleOliver Lemm
 
REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1Oliver Lemm
 
Schritt für Schritt ins Grid
Schritt für Schritt ins GridSchritt für Schritt ins Grid
Schritt für Schritt ins GridOliver Lemm
 
Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Oliver Lemm
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentOliver Lemm
 
Mastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentMastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentOliver Lemm
 
Jetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXJetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXOliver Lemm
 
Wieder verschätzt?
Wieder verschätzt?Wieder verschätzt?
Wieder verschätzt?Oliver Lemm
 
Komplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetKomplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetOliver Lemm
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentOliver Lemm
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoOliver Lemm
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?Oliver Lemm
 

More from Oliver Lemm (20)

Qualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdfQualitätsstandards in der Datenbankentwicklung.pdf
Qualitätsstandards in der Datenbankentwicklung.pdf
 
APEX Page Items in detail
APEX Page Items in detailAPEX Page Items in detail
APEX Page Items in detail
 
confirm & alert
confirm & alertconfirm & alert
confirm & alert
 
APEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenAPEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurieren
 
APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
Jenkins Pipelines Advanced
Jenkins Pipelines AdvancedJenkins Pipelines Advanced
Jenkins Pipelines Advanced
 
From Dev to Ops
From Dev to OpsFrom Dev to Ops
From Dev to Ops
 
Das Universal Theme in APEX 19
Das Universal Theme in APEX 19Das Universal Theme in APEX 19
Das Universal Theme in APEX 19
 
Jenkins Pipeline meets Oracle
Jenkins Pipeline meets OracleJenkins Pipeline meets Oracle
Jenkins Pipeline meets Oracle
 
REST mit APEX 18.1
REST mit APEX 18.1REST mit APEX 18.1
REST mit APEX 18.1
 
Schritt für Schritt ins Grid
Schritt für Schritt ins GridSchritt für Schritt ins Grid
Schritt für Schritt ins Grid
 
Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1Migration ins Universal Theme 1.1
Migration ins Universal Theme 1.1
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Mastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investmentMastering Universal Theme with corporate design from union investment
Mastering Universal Theme with corporate design from union investment
 
Jetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEXJetlag - Oracle Jet und APEX
Jetlag - Oracle Jet und APEX
 
Wieder verschätzt?
Wieder verschätzt?Wieder verschätzt?
Wieder verschätzt?
 
Komplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitetKomplexe Daten mit Oracle Jet einfach aufbereitet
Komplexe Daten mit Oracle Jet einfach aufbereitet
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & Co
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?
 

Rollout-Prozess für APEX Anwendungen

  • 1. Rollout-Prozess für APEX Anwendungen Referent: Oliver Lemm, Systemberater, MT AG, Ratingen
  • 2. MT AG Key Facts 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 2  Full-Service-Dienstleistung für alle Phasen des Software-Lifecycle  Herstellerunabhängige Expertise in den marktführenden Technologien wie Oracle, IBM, Microsoft, SAP und OpenSource  Themen- und Lösungs-Know-how in den Kerndisziplinen des Adaptive Enterprise  Gründung 1994  Inhabergeführte AG: Aktienkapital 1.500.000 €  Hauptsitz Ratingen; Niederlassung Dortmund  Mitarbeiter: > 200 Festangestellte > 65 Freie Mitarbeiter MT AG MANAGING TECHNOLOGY – ENABLING THE ADAPTIVE ENTERPRISE
  • 3. Agenda 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 3 ■ Der Rollout-Prozess ■ APEX allgemein ■ Welche Herausforderungen gibt es? ■ Version der Anwendung ■ Ablauf eines Rollouts ■ Was deckt APEX ab? ■ Tools
  • 4. Der Rollout-Prozess ■ Absicherung der Daten und der bisherigen Anwendung ■ Zugriff für Benutzer während des Updates unterbinden ■ Installation bzw. Verteilung einer Software ■ Protokollierung aller Schritte und Fehler ■ Migration bisheriger Daten ■ Sicherstellung einer fehlerfreien und kompletten Installation 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 4
  • 5. APEX allgemein ■ Oracle Application Express (APEX) ist als Framework auf der Oracle Datenbank vorhanden ■ APEX ist nicht lizenzpflichtig ■ Sowohl Entwicklungsumgebung als auch die Anwendung sind browserbasiert ■ Keine clientseitige Installation nötig ■ Eine APEX Anwendung besteht aus ■ Anwendung ■ Datenmodell (Tabellen, Views, Sequenzen, Trigger, Packages, Prozeduren, Funktionen, etc.) ■ Stammdaten ■ Bilder, Javascripte und weiteren statischen Dateien 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 5
  • 6. APEX allgemein ■ Aktuelle APEX Version 4.0.1 (4.0.2 auf apex.oracle.com) ■ Anwendungen, die in älteren APEX Versionen entwickelt wurden immer importierbar ■ Anwendungen, die in aktuelleren APEX Versionen entwickelt wurden nur eingeschränkt importierbar. (Kompatibel meist bei Versionsänderungen in 2.ter Nachkommastelle) ■ Kompatibilität definiert über Dateiversion ■ Alle Datenbankobjekte in der Oracle Datenbank nutzbar 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 6
  • 7. Was deckt APEX ab? – Verfügbarkeit ■ Einfache Steuerung des Zugriffs ■ Informationsmeldung für Benutzer ■ Verfügbarkeitseinstellung im Installationspaket einstellbar ■ Eingeschränkter Zugriff möglich 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 7
  • 8. Was deckt APEX ab? – Sicherung ■ Sicherung der bisherigen Anwendung über Entwicklungsbereich ■ Sicherung der Daten und Datenbankobjekte über Schemasicherung ■ Sicherung aller weiteren, meist statischen, Dateien ■ Dateien außerhalb von APEX müssen separat gesichert werden 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 8
  • 9. Was deckt APEX ab? – Unterstützende Objekte 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 9
  • 10. Was deckt APEX ab? – Unterstützende Objekte ■ Import der neuen Anwendung über bisherige Anwendungs-ID ■ Hinterlegung aller Datenbankobjekte als Update- oder Installationsskripte ■ Durch Kapselung von APEX keinerlei Probleme mit Zeichensatz ■ Durch Kapselung von APEX wenig Probleme auf unterschiedlichen Systemen ■ Datenbankobjekte mittels Validierung nur installierbar, wenn Vorversion dazu passt. 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 10
  • 11. Was deckt APEX ab? – Unterstützende Objekte ■ Installation/Update von Anwendungen sehr einfach ■ Installation besteht aus einer Datei ■ Keinerlei weitere Tools außer dem Browser nötig ■ Durch Validierungen keine Möglichkeit, falsche Datenbankobjekte zu installieren ■ Eigene Informationsmeldungen im Installationsprozess hinterlegbar ■ Bilder, statische Dateien, etc. auch über APEX Oberfläche installierbar ■ Am Schluss einer Installation Zusammenfassung aller Schritte und Information über evtl. vorhandene Fehler ■ Möglichkeit zur Hinterlegung eines Deinstallationsskripts 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 11
  • 12. Welche Herausforderungen gibt es? ■ Fehlerhafte DDL-Skripte, die zum Teil durchgelaufen sind, lassen sich nur mit Einspielen des Backups zurücksetzen ■ Lösung: Durchführung des Updates in Testschemata/Workspace mit Kopie der Produktion ■ Bei großer Anzahl von Skripten ist die Hinterlegung in APEX aufwendig ■ Lösung: Installation der Datenbankobjekte zusammenfassen, ansonsten direkt über die Datenbank durchführen. Mittels „spool“ und „prompt“ für alle Skripte erweitern. ■ Viele Datenbankänderungen können Updates sehr aufwendig machen ■ Lösung: Datenmodell bei APEX Anwendungen sehr genau und Umfassung planen. Bei Updates Überprüfung von vorhandenen Objekten in der Datenbank. Versionsmodell benutzen. 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 12
  • 13. Welche Herausforderungen gibt es? ■ Import von CSS-Dateien ist bisher bei Updates problematisch. Schon vorhandene CSS-Dateien werden nicht überschrieben. ■ Lösung: Pro Version unterschiedlicher Name der Datei oder CSS-Dateien im Bereich der Bilder mitspeichern. ■ Statische Dateien, Bilder und JavaScripts werden innerhalb APEX nicht gecached ■ Lösung: Speicherung dieser Dateien außerhalb von APEX auf Dateisystem. ■ APEX Anwendung selber kann nicht mit einer Validierung versehen werden. ■ Lösung: Alle installierten Anwendungen sind im Exportrepository vorhanden und lassen sich einzeln wieder einspielen. 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 13
  • 14. Vorteile eines gut geplanten Rollouts ■ Minimierung von Fehlern beim Rollout ■ Schnellere Durchführung eines Rollouts ■ Durch Fehler- und Infomeldungen jederzeit klar, in welchem Zustand des Updates man sich befindet und ob es erfolgreich durchgeführt wurde ■ Durchführung auch für Dritte möglich 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 14
  • 15. Version der Anwendung ■ Für den Rollout-Prozess ist eine gut durchdachte Versionsverwaltung und Definition sehr hilfreich ■ Beispiel: 1.3.5.16 ■ A (1) => Major Release ändert sich nur bei einer Neuentwicklung oder komplettem Refactoring ■ B (3) => Der zweite Teil der Versionsnummer wird bei neuen Features in der Anwendung erhöht ■ C (5) => Der dritte Teil ändert sich bei jeglicher Änderung im Datenmodell ■ D (16) => Der vierte Teil ändert sich bei jeglicher Änderung der Anwendung 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 15
  • 16. Version der Anwendung ■ Versionsnummer sollte sowohl in der Anwendung als auch im Datenmodell vorhanden sein ■ Für Datenmodell eine Tabelle mit folgenden Eigenschaften benutzen: ■ application_date => Information der letzten Änderung in der Anwendung ■ db_model_version => Versionsnummer A.B.C (Beispiel: 1.3.5) ■ application_version => Komplette Versionsnummer (Beispiel: 1.3.5.16) ■ application_id => ID der APEX Anwendung (:APP_ID) ■ nls_db_charset => Zeichensatz der DB (nls_database_parameters) ■ plsql_web_toolkit_version => owa_util.get_version() ■ servername => owa_util.get_cgi_env(‚SERVER_NAME‘) ■ http_host => owa_util.get_cgi_env(‚HTTP_HOST‘) ■ inserted_date => Installationsdatum (sysdate) ■ inserted_user => Installationsbenutzer (:APP_USER/user) 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 16
  • 17. Version der Anwendung ■ Überprüfung aller Parameter bei jedem Login. Bei Änderung Speicherung der neuen Parameter ■ Versionsnummer auch in Versionsverwaltung wie Subversion, CVS oder PVCS benutzen ■ Versionsnummer bei Update der Datenbankobjekte als Validierung nutzen ■ Versionsnummer bei Dokumentation und allen weiteren Dateien Nutzen 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 17
  • 18. Allgemeine Vorgaben ■ Klare Struktur der Skripte ■ Allgemeine bekannte Best Practises für Datenbankentwicklung verwenden ■ Namen für APEX Import-/Exportdateien ■ <Anwendung>_<Zeichensatz Datei>.sql ■ <Anwendung>_<Zeichensatz Datei>_img.sql ■ <Anwendung>_<Zeichensatz Datei>_css.sql ■ <Anwendung>_<Zeichensatz Datei>_static.sql ■ Dateiname vor Import erweitern um Datum, Version der Anwendung, APEX-Version und Quell-ID: ■ 20101116_5.1.3.15_DEMO_UTF8_4.0.1.sql (YYYYMMDD_VERSION_NAME_ZEICHENSATZ_APEXVERSION.sql) 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 18
  • 19. Ablauf eines Rollouts 1. Festlegung der neuen Features 2. Festlegung der neuen Version 3. Festlegung des Zeitrahmens für Entwicklung, Test und Installation 4. Entwicklung auf einer Entwicklungsumgebung inklusive Versionierung der geänderten Objekte 5. Test der Anwendung auf Testumgebung 6. Zusammenstellung der Skripte 7. Erstellung der Validierungen bzgl. der Vorversion 8. Sperrung der Testumgebung 9. Kopie der Produktion inklusive Daten auf die leere Testumgebung 10. Durchführung eines Update Testlaufs 11. Entsperrung der Testumgebung 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 19
  • 20. Ablauf eines Rollouts 12. Kurztest der Testumgebung sowie Überprüfung der Logdateien 13. Beantragung eines Zeitfensters für die Produktion 14. Sperrung der Produktion 15. Sicherung der Daten 16. Sicherung der Datenbankobjekte 17. Sicherung der Anwendung 18. Installation der neuen Anwendung 19. Überprüfung der Logdateien 20. Ggf. Vergleich von Testinstallationsobjekten und Produktion durch Schemadiff 21. Freischaltung der Produktion und Testumgebung 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 20
  • 21. Tools ■ Versionierung ■ CVS / PVCS / Subversion ■ Datenbankentwicklung ■ TOAD / plsql developer / SQL Developer ■ Datenbankmodellierung ■ Rational Rose / SQL Developer Data Modeler (ab Version 3 gratis) 16.11.2010 Rollout-Prozess für APEX Anwendungen. © MT AG 21
  • 22. MT AG managing technology I Balcke-Dürr-Alle 9 I 40882 Ratingen Tel. +49 (0) 2102 309 61-0 I info@mt-ag.com I www.mt-ag.com MT AG managing technology I Balcke-Dürr-Allee Vielen Dank! ?!
  • 23. MT AG – Vorträge auf der DOAG MT AG MANAGING TECHNOLOGY – ENABLING THE ADAPTIVE ENTERPRISE Di. 16. Nov. 10:00 – 10:45 Clevere Web-Formulare mit APEX und jQuery Andreas Wismann Oracle RMAN – beim Recovery das Disaster erleben? Rollout Prozess für APEX Anwendungen Audit Vault - Erfahrungen aus der ersten deutschen Produktivumgebung Das APEX Migrationsprojekt bei der Union Investment BPEL und Transaktionen Rich-Internet-Applications mit jQuery und dem APEX Listener Volker Mach Oliver Lemm Volker Mach Niels de Bruijn Arne Platzen Guido Neander Klaus Friemelt Di. 16. Nov. 13:00 – 13:45 Di. 16. Nov. 13:00 – 13:45 Mi. 17. Nov. 13:00 – 13:45 Do. 18. Nov. 13:00 – 13:45 Do. 18. Nov. 16:00 – 16:45 16.11.2010 23Rollout-Prozess für APEX Anwendungen. © MT AG Do. 18. Nov. 14:00 – 14:45

Editor's Notes

  1. - Empfohlen vorher zu deaktivieren und dann Überprüfung der Datenbankobjekte und weiteren Dateien durchführen
  2. - Anzahl Dateien => bei einzelnen Dateien ist Versionierung auch einfacher und allgemeines Skript zur Installation einzeln durchführbar
  3. - CSS-Dateien haben keinen Nachteil und gleichen Pfad bei Bildern. - Caching nicht überbewerten bei Standardanwendungen!