Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verfasser · weitere Angaben

Ähnliche Präsentationen


Präsentation zum Thema: "Verfasser · weitere Angaben"—  Präsentation transkript:

0 Professionelle APEX Entwicklung: Projektbeispiele und Lessons learned
Verfasser · weitere Angaben Thema der Präsentation · Datum Professionelle APEX Entwicklung: Projektbeispiele und Lessons learned Dietmar Aust / Opal Consulting

1 Verfasser · weitere Angaben
Thema der Präsentation · Datum Agenda Vorstellung Opal Consulting Applikation AbiT Applikation ShopDB Lessons learned Fragen? DOAG Regionalgruppe 2008 Dietmar Aust

2 Vorstellung Opal Consulting
Verfasser · weitere Angaben Thema der Präsentation · Datum Vorstellung Opal Consulting Dipl.-Inform. Dietmar Aust, Freiberufler : Consultant bei der Oracle Deutschland GmbH / Düsseldorf Schwerpunkte: Oracle Portal, Oracle Reports, Oracle Forms, PL/SQL, PLSQL Web Toolkit (OWA) Seit 09/2000: Freiberuflich Schwerpunkte: Oracle Portal, Oracle Reports, Oracle Application Express, Oracle Express Edition Seit drei Jahren nur APEX Entwicklung Advanced APEX Schulungen mit Patrick Wolf und Denes Kubicek Aktivitäten (APEX) (XE) DOAG Regionalgruppe 2008 Dietmar Aust

3 T-Punkt Vertriebsgesellschaft mbH
Verfasser · weitere Angaben Thema der Präsentation · Datum T-Punkt Vertriebsgesellschaft mbH DOAG Regionalgruppe 2008 Dietmar Aust

4 T-Punkt Vertriebsgesellschaft mbH
Verfasser · weitere Angaben Thema der Präsentation · Datum T-Punkt Vertriebsgesellschaft mbH 1986: Eröffnung erster T-Punkte Mai 2004 : Ausgründung in eine eigenständige GmbH als 100% Tochter der Deutschen Telekom Die T-Punkt Vertriebsgesellschaft ist der einzige stationäre Vertriebskanal der Deutschen Telekom in Deutschland Betreuung von jährlich rund 60 Millionen Privatkunden und über 2,5 Millionen mittelständischen Geschäftskunden (T-Punkt Business) Rund 800 Filialen und eine Verkaufsfläche von über Quadratmetern Mehr als 6000 Mitarbeiter, zusätzlich 1450 Auszubildende DOAG Regionalgruppe 2008 Dietmar Aust

5 Applikation AbiT Problemstellung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Problemstellung Das Gehalt der Verkäufer in den Shops besteht aus einem Fixum und variablen, umsatzabhängigen Provisionen Die Kundenaufträge werden direkt in den Auftragssystemen der Konzerntöchter erfasst (T-Com, T-Mobile) Die Abrechnung zwischen den Konzerntöchtern und der TPG erfolgt auf Basis der erfolgreich durchgeführten Aufträge Evtl. Stornos wegen Kreditwürdigkeit oder technischer Probleme, diese werden nicht vergütet Die Mitarbeiter werden für die Bruttoabsätze vergütet (Absprache mit Betriebsrat), von den Konzerntöchtern kommen jedoch nur Nettoabsätze Zeitverzug in der Übermittlung der Daten => keine aktuelle Vertriebssteuerung möglich Workarounds Erfassung von Produktgruppen über Barcode Scanner => 40, 68, 90 Barcodes DOAG Regionalgruppe 2008 Dietmar Aust

6 Applikation AbiT Problemstellung / Anforderungen
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Problemstellung / Anforderungen Management Entscheidung Vereinbarung mit dem Betriebsrat Zeit für Design, Implementierung und Pilot Phase: 6 Wochen! Finanzieller Schaden bei Fehlschlag (130% Zielerfüllung für alle Mitarbeiter) Anforderungen Auftragserfassungsystem für ca Nutzer Hochverfügbar (7 Tage pro Woche, 07:00 – 22:00) Bundleverkäufe dokumentieren Vertriebssteuerung ermöglichen Schnittstellen: Produktdaten, Benutzerdaten, Shop Informationen, Absätze Die Anforderungen haben sich bis zum Ende geändert! DOAG Regionalgruppe 2008 Dietmar Aust

7 Applikation AbiT Warum APEX?
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Warum APEX? Warum wurde APEX verwendet? Der Kunde kannte APEX nicht J2EE war die Standard-Technologie für Web-Anwendungen Der Realisierungszeitraum war zu kurz, die üblichen Dienstleister konnten dies nicht leisten Opal Consulting wurde aufgrund einer Empfehlung ausgewählt Folglich: Keine Technologie-Diskussion, einfach nur umsetzen! DOAG Regionalgruppe 2008 Dietmar Aust

8 Applikation AbiT Die Umsetzung – Technische Architektur
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Die Umsetzung – Technische Architektur Application Server (2): Fujitsu Siemens RX 300 S2, 2 HT CPUs, 8GB RAM, Linux RH AS4 Oracle Internet Application Server Database (2 node RAC): Sun Fire V490 Server, 2 Dual Core CPUs, 8GB RAM, Solaris 10 Oracle 10.2, APEX 2.2.1 Sql*net Mod_plsql http http http AbiT - Platform Sql*net http Clients Oracle RAC 10.2 Hardware Load Balancer Mod_plsql Application Server DOAG Regionalgruppe 2008 Dietmar Aust

9 Applikation AbiT Die Umsetzung - Performance und Nutzung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Die Umsetzung - Performance und Nutzung Nutzung 3.500 aktive Nutzer pro Tag ~ Aufträge pro Tag Seitenaufrufe pro Tag Serverauslastung Application Server: >95% idle #http Sessions: 30 Database Server 30% (70% wenn nur ein Knoten aktiv ist) Sessions: concurrent (pro Knoten) Dedicated, kein Shared Server (MTS) DOAG Regionalgruppe 2008 Dietmar Aust

10 Applikation AbiT Die Umsetzung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Die Umsetzung Demo DOAG Regionalgruppe 2008 Dietmar Aust

11 Applikation AbiT Nächste Schritte
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation AbiT Nächste Schritte Von vornherein als Übergangslösung geplant Mittlerweile seit Okt in Betrieb Die Applikation wird schrittweise abgelöst durch direkte Schnittstellen zu den Konzerntöchtern Übermittlung von Brutto – Absätzen Aufträge werden nur einmal erfasst DOAG Regionalgruppe 2008 Dietmar Aust

12 Applikation ShopDB Problemstellung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Problemstellung Neuausrichtung der Deutschen Telekom Kunden zurückgewinnen, Umsätze steigern Expansion mit neuen Shops kritisch für Umsatzziele Expansionsziel in 2006 verfehlt Anzahl der Neueröffnungen zu niedrig Analyse zeigte Defizite auf Keine klare Definition der Aufgaben und Verantwortlichkeiten Fehlende Transparenz der Prozesse, wie ist der Status? Fehlende Kommunikation, manche Aufgaben wurden doppelt von verschiedenen Abteilungen durchgeführt Prozess für die Eröffnung dauerte zu lange Kein zentrales Informationssystem vorhanden, falsche Adressen Der neue Rollout-Prozess wurde externen Beratern überarbeitet DOAG Regionalgruppe 2008 Dietmar Aust

13 Applikation ShopDB Anforderungen
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Anforderungen Implementierung einer zentralen Shop-Datenbank Konsolidierung und Vereinheitlichung verschiedener Datenquellen Datenkonsistenz und Datenqualität Implementierung des neuen Rollout-Prozesses, basierend auf einer Workflow-Engine Klare Verantwortlichkeiten, Deadlines pro Workflow-Schritt - Benachrichtigungen Rollenbasierte Lese- und Schreibzugriff Automatische Validierung von Adressen, keine Tippfehler mehr Visualisierung von Karten (Shops und Marktdaten) Kaufkraft, Konsumschwerpunkte, Konkurrenz, … Prozess – Überwachung und Protokollierung von Änderungen DOAG Regionalgruppe 2008 Dietmar Aust

14 Applikation ShopDB Herausforderungen
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Herausforderungen Projektplan wieder extrem ambitioniert Kick-off im April 2007 (Kunde analysiert die Anforderungen) Teilnahme im Projekt beginnt Mitte April Erster Prototyp im Mai Wirkbetriebsaufnahme am (Version 0.6) Wirkbetriebsaufnahme am (Version 1.0) Existierende MS Access Applikationen Es konnte nicht alles sofort übernommen werden => schrittweise Migration Die Applikation wurde bis zuletzt geändert (neue Spalten, Daten) Downtime der MS Applikation sollte minimiert werden Datenmodell ungünstig => Redesign Viele Details unklar => extrem iterativer Ansatz mit wöchentlichen Prototypen Fortschritte früh zeigen Die Fachabteilung involvieren DOAG Regionalgruppe 2008 Dietmar Aust

15 Applikation ShopDB Warum APEX?
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Warum APEX? APEX hatte sich bereits im Projekt AbiT bewährt Kurze Entwicklungszyklen Performante Plattform Kein komplexes Setup notwendig, die existierende Infrastruktur konnte mitgenutzt werden, einfach eine weitere APEX Applikation installieren Projekt-Team Zwei Entwickler Ein Projektleiter DOAG Regionalgruppe 2008 Dietmar Aust

16 Applikation ShopDB Die Umsetzung – Technische Architektur
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – Technische Architektur Sql*net Mod_plsql http http http AbiT - Plattform Sql*net http Clients Oracle RAC 10.2 Hardware Load Balancer Mod_plsql http ODBC / Sql*net Application Server http Map visualization Geo-Komponenten Geocoding MS Access Clients Geo / Application Server DOAG Regionalgruppe 2008 Dietmar Aust

17 Applikation ShopDB Die Umsetzung – MS Access Migration
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – MS Access Migration Probleme: Wer entwickelt diese Applikationen? MS Access Power Users, keine echten Entwickler Tabellennamen und Spaltennamen >30 Zeichen und Sonderzeichen 1:1 Migration nicht sinnvoll Daten und Strukturen bis zum Ende geändert Kurze Downtime => Lösung: Tabellen und Spalten normalisieren mit VBA Skript (Oracle – konform) Datenbank-Link von Oracle zu MS Access (beliebige ODBC Quelle) ETL Prozess für die Datenübernahme in PLSQL Packages Schicht von Views in Oracle Schicht von Views in MS Access DOAG Regionalgruppe 2008 Dietmar Aust

18 Applikation ShopDB Die Umsetzung – Workflow
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – Workflow DOAG Regionalgruppe 2008 Dietmar Aust

19 Applikation ShopDB Die Umsetzung – Workflow
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – Workflow Open Source pl/sql Workflow Engine XPDL 1.0 kompatibel, kein Import/Export von Prozessen Kein User-Interface, nur PLSQL API Einfach zu integrieren und stabil Prozessvisualisierung möglich durch Graphviz DOAG Regionalgruppe 2008 Dietmar Aust

20 Applikation ShopDB Die Umsetzung – Workflow
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – Workflow Rollenbasierte ToDo-Liste Benachrichtigungen Neue Aufgaben Überfällige Aufgaben Hyperlinks zur Aufgabe / Shop in der DOAG Regionalgruppe 2008 Dietmar Aust

21 Applikation ShopDB Die Umsetzung – Workflow
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – Workflow Status Informationen DOAG Regionalgruppe 2008 Dietmar Aust

22 Applikation ShopDB Die Umsetzung – Geokodierung von Adressen
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung – Geokodierung von Adressen Ziele Eindeutige Schreibweise von Adressen Keine Tippfehler mehr! Nutzung der Koordinaten Abstände zwischen Shops sicherstellen Software JCoder Business (infas Geodaten) DOAG Regionalgruppe 2008 Dietmar Aust

23 Applikation ShopDB The solution – Workflow
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB The solution – Workflow Visualisierung Adressen / Shops Informations-Layer Software MapSuite (infoware) Marktinformationen (infas Geodaten) DOAG Regionalgruppe 2008 Dietmar Aust

24 Applikation ShopDB Die Umsetzung
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Die Umsetzung Demo DOAG Regionalgruppe 2008 Dietmar Aust

25 Applikation ShopDB Weitere Schritte
Verfasser · weitere Angaben Thema der Präsentation · Datum Applikation ShopDB Weitere Schritte Weitere Prozesse für das Shop Management umsetzen MS Access Applikation vollständig ablösen Die ShopDB als zentrale Informationsquelle für alle Systeme der TPG etablieren Kostenkontrolle Abrechnung der Mieten Abrechnung der Kosten für Reinigung, Instandhaltung, etc. DOAG Regionalgruppe 2008 Dietmar Aust

26 Lessons learned Vorteile von APEX
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Vorteile von APEX Vorhandenes Oracle Know-How nutzen !!! Entwickler können schnell produktiv werden Keine steile Lernkurve (im Gegensatz zu anderen Web-Technologien) Gute Trennung der Geschäftslogik von der UI Darstellung (Themes und Templates) Datenmodelländerungen können schnell umgesetzt werden APEX reagiert sehr flexibel Hervorragendes Werkzeug für RAD oder agile Entwicklungsmethoden Starker iterativer Ansatz (regelmäßige Prototypen) gewährleisten eine hohe Kundenzufriedenheit Oracle Heterogenous Services !!! DOAG Regionalgruppe 2008 Dietmar Aust

27 Lessons learned Herangehensweise
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Herangehensweise Solide Datenmodellierung Es gibt keinen Ersatz Professionalität und Sorgfalt! APEX Besonderheiten berücksichtigen Technische Schlüssel (ID Spalten) Iterative Implementierung Kurze Feedback-Zyklen mit dem Kunden Umsetzung Kundenlayout wichtig! Beginnen mit voller Menüstruktur ohne Berechtigungen Einzelne Funktionalitäten in voller Tiefe implementieren Navigation / Ergonomie mit Fachabteilung abstimmen Anwender bei Nutzung der Prototypen beobachten Tatsächliche Business Cases durchspielen DOAG Regionalgruppe 2008 Dietmar Aust

28 Lessons learned Entwicklung- Tools
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Entwicklung- Tools Firefox + Plugins Firebug WebDeveloper MeasureIt Yslow Aardvark ApexLib Framework ApexBuilder Plugin Aptana (Javascript Editor) Toad / SQL Developer DOAG Regionalgruppe 2008 Dietmar Aust

29 Lessons learned Entwicklung
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Entwicklung DEBUG Build Option Einfaches Login der Testaccounts Läuft die Applikation im Builder? apex_application.g_edit_cookie_session_id IS NOT NULL Security umgehen (kontrollierte „Backdoor“) Versionsnummer im Template verwenden #APP_VERSION# DOAG Regionalgruppe 2008 Dietmar Aust

30 Lessons learned Debugging
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Debugging Build Option DISABLED (Status=Exclude) Elemente und Regionen schnell deaktivieren => Bedingungen bleiben erhalten Debug Modus Langsame Regionen ermitteln Eigene Meldungen im Debug Modus hinzufügen Apex_application.debug AJAX Firebug - HTTP Requests für analysieren Vorsicht, Fehlermeldungen in OnDemand Prozessen werden unterdrückt aus Sicherheitsgründen! DOAG Regionalgruppe 2008 Dietmar Aust

31 Lessons learned Qualitätssicherung
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Qualitätssicherung APEX Essentials von Patrick Wolf APEX Advisor APEX Dictionary Views direkt auswerten DOAG Regionalgruppe 2008 Dietmar Aust

32 Lessons learned Deployment
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Deployment Backup der Applikationen / Export der Applikationen \apex\utilities\oracle\apex => Readme.txt Workspace-ID in Entwicklung / Abnahme / Produktion identisch Skriptbasierte Applikation der SQL – Dateien Applikations-ID in Entwicklung / Abnahme / Produktion identisch Entwicklung: Fehlermeldungen http-404 sichtbar machen DAD Konfiguration anpassen <Location /pls/apex> PlsqlErrorStyle DebugStyle DOAG Regionalgruppe 2008 Dietmar Aust

33 Lessons learned Deployment
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Deployment Applikation während Installation offline setzen Custom Ansatz über Konfigurationstabelle Applikationsprozess (Before Header) BEGIN IF xlib_conf_pck.get_value ('ABIT.RESTRICTED_MODE') = '1‚ THEN IF INSTR (xlib_conf_pck.get_value ('ABIT.RESTRICTED_USERS'), OWA_UTIL.get_cgi_env ('REMOTE_ADDR') ) = THEN HTP.p (xlib_conf_pck.get_value ('ABIT.RESTRICTED_MESSAGE')); htp.p('<br /><span style="color:white;>"'||owa_util.get_cgi_env('REMOTE_ADDR')||'</span>'); apex_application.g_unrecoverable_error := TRUE; END IF; END IF; END; DOAG Regionalgruppe 2008 Dietmar Aust

34 Lessons learned Deployment – Apache Konfiguration
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Deployment – Apache Konfiguration Mod_rewrite / sprechende URLs Caching der Bilder / CSS / Javascript im Apache (/i/) # Modul mod_rewrite aktivieren LoadModule rewrite_module libexec/mod_rewrite.so RewriteEngine On RewriteLog "/u01/app/oracle/product/10.2.0_HTTP/Apache/Apache/logs/rewrite.log" RewriteLogLevel 0 # direkter Rewrite auf die Schulung RewriteRule ^/training$ [R] # Redirect, wenn nur Server eingegeben wird (entspricht index.html) RewriteRule ^/$ [R] Alias /i/ /u01/app/oracle/product/10.2.0_HTTP/apex/images/ <Directory "/u01/app/oracle/product/10.2.0_HTTP/apex/images/"> AllowOverride None Order allow,deny Allow from all <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 hour" </IfModule> IndexOptions FancyIndexing </Directory> DOAG Regionalgruppe 2008 Dietmar Aust

35 Lessons learned Monitoring
Verfasser · weitere Angaben Thema der Präsentation · Datum Lessons learned Monitoring Auswertung der Logeinträge Langsame Seiten finden Applikationsfehler proaktiv finden SELECT application_id, page_id, COUNT (*) AS hits, COUNT (*)/60 AS hits_pro_min, MIN (elapsed_time) AS MIN, AVG (elapsed_time) AS AVG, MAX (elapsed_time) AS MAX, AVG (elapsed_time) * COUNT (*) weight FROM apex_workspace_activity_log WHERE view_date > SYSDATE - 1 / 24 / 60 * 60 /* 1 Stunde */ GROUP BY application_id, page_id DOAG Regionalgruppe 2008 Dietmar Aust

36 Weitere Informationen
Verfasser · weitere Angaben Thema der Präsentation · Datum Weitere Informationen Sammlung von BLOGS Deutsche APEX Community APEX Forum Packaged Applications HowTos DOAG Regionalgruppe 2008 Dietmar Aust

37 Verfasser · weitere Angaben
Thema der Präsentation · Datum APEX Schulung Fortgeschrittene Techniken aus der Praxis Patrick Wolf (APEX Entwickler des Jahres 2007) Denes Kubicek (APEX Entwickler des Jahres 2008) Dietmar Aust März 2009 (3 Tage) Bensheim DOAG Regionalgruppe 2008 Dietmar Aust

38 Verfasser · weitere Angaben
Thema der Präsentation · Datum Kontakt: Opal-Consulting Dietmar Aust Web: Blog: Q & A DOAG Regionalgruppe 2008 Dietmar Aust


Herunterladen ppt "Verfasser · weitere Angaben"

Ähnliche Präsentationen


Google-Anzeigen