Rapid Application Development mit Oracle Application Express 4.2.6 Niels de Brujin, Fachbereichsleiter APEX | Ratingen, 12.12.2014 MT AG GESCHÄFTSFORM HAUPTSITZ GRÜNDUNGSJAHR BESCHÄFTIGTE BETEILIGUNGEN INHABERGEFÜHRTE AG RATINGEN 1994 180 FESTANGESTELLTE MITARBEITER MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG) BUSINESS INTELLIGENCE SOLUTIONS SOCIAL BUSINESS SOLUTIONS APPLICATION DEVELOPMENT INTEGRATION SERVICES business by integration 2 | Rapid Application Development mit APEX 4.2.6 MOBILE SOLUTIONS IT SYSTEM SERVICES Über mich Niels de Bruijn, Fachbereichsleiter APEX Geboren in 1977, verheiratet, drei Töchter, Wohnort Ratingen seit 12.2003 bei der MT AG in Ratingen zuvor 2 Jahre als Berater bei Oracle Nederland B.V. angestellt Beschäftigt sich seit 2004 mit APEX Federführend beim Vertrieb/Marketing/Delivery von APEX Projekten aller Art - https://apex.mt-ag.com & http://www.apexsolutions.de Themenverantwortlicher für APEX bei der DOAG Wo bin ich zu finden? - Online: Skype, Xing, LinkedIn, Twitter, Facebook - Offline: DOAG Konferenz, ODTUG Kaleidoscope/APEXposed, APEX UserGroup 3 | Rapid Application Development mit APEX 4.2.6 Agenda ■ Oracle Application Express (APEX) ■ Warum APEX? ■ Die Möglichkeiten ■ Enterprise APEX ■ Ausgewählte Projektreferenzen der MT AG ■ APEX Community 4 | Rapid Application Development mit APEX 4.2.6 Oracle Application Express Rapid Application Development Produkt für die Erstellung von individuellen datenzentrischen Webanwendungen 100% Oracle-Datenbank 100% Browser Oracle 10.2.0.4.0 und höher Kostenlose Option der Oracle Datenbank Aktuelle Version ist 4.2.6 Für Desktop sowie mobile Endgeräte 5 | Rapid Application Development mit APEX 4.2.6 Historie HTML DB 1.5 Application Express 2.1 First Release HTML DB 1.6 Application Express 3.1 Interactive Reports Oracle XE Application Express 2.2 Themes Packaged Applications 2004 2005 HTML DB 2.0 SQL Workshop 2006 2007 Application Express 3.0 Flash Charts PDF Printing Access Migration 8 | Rapid Application Development mit APEX 4.2.6 2008 Application Express 4.0 Websheets Dynamic Actions Plug-Ins Team Development 2009 Application Express 3.2 Oracle Forms to APEX Conversion Application Express 4.2 Mobile HTML5 Packaged Apps 2010 2011 Application Express 4.1 Data Upload Error Handling ROWID 2012 2014 Application Express 5.0 Page Designer Mehrere IRs Modal Dialogs Architektur 9 | Rapid Application Development mit APEX 4.2.6 Woraus besteht APEX? APEX wurde entwickelt mit APEX 14 APEX Anwendungen 10 Sprachen 2.156 APEX Seiten 3.431.250 Wörter, davon 371.412 übersetzt 3.159 Datenbankobjekte 448 Tabellen 534.023 Zeilen PL/SQL Code 10 | Rapid Application Development mit APEX 4.2.6 Positionierung: von klein bis groß Individualentwicklung von datenzentrischen Anwendungen Unternehmen Java EE / ADF .Net Verteilung APEX PC-Datenbank Arbeits-/ Projektgruppe pragmatisch strategisch Ansatz 11 | Rapid Application Development mit APEX 4.2.6 Projekttypen mit APEX Strategisch Ergebnis: Desktop Komplexe Dialoge - Standard APEX Features - Rapid Prototyping Ansatz - Time to market 1-3 Monate - 1-2 Entwickler - Aufwand i.d.R. 10-100 PT Pragmatisch 12 | Rapid Application Development mit APEX 4.2.6 Mobiles Endgerät Einfache Dialoge Agenda ■ Oracle Application Express (APEX) ■ Warum APEX? ■ Die Möglichkeiten ■ Enterprise APEX ■ Ausgewählte Projektreferenzen der MT AG ■ APEX Community 13 | Rapid Application Development mit APEX 4.2.6 Treiber Kosten für die Anwendungsentwicklung sowie den Betrieb reduzieren - APEX ist ein deklaratives Werkzeug - 33%-67% weniger Entwicklungsaufwand im Vergleich zu Java! - Keine Lizenzkosten! - Fertige Komponente & Designvorlagen - Themen wie zum Beispiel Sessionverwaltung, Mandantenfähigkeit, Deployment und IT-Sicherheit werden durch APEX adressiert - Integriert in einer heterogenen Systemlandschaft - Alle Möglichkeiten der Datenbank stehen direkt zur Verfügung - Stabile, skalierbare und einfache Architektur 14 | Rapid Application Development mit APEX 4.2.6 Treiber Endanwender sparen Zeit durch die intuitive „out-of-the-box“ Bedienungsoberfläche 15 | Rapid Application Development mit APEX 4.2.6 Anwendungsgebiete Migration von Insellösungen z.B. MS Access/Excel - Von Clientapplikation zu Webapplikation - Stammdatenkonsolidierung Migration von Oracle Forms-Anwendungen - Andere Zielgruppen können adressiert werden - Kein Browser Plug-in wie JRE oder Oracle JInitiator mehr notwendig - Oracle Forms kostenpflichtig; APEX nicht - PL/SQL Kenntnisse wieder verwendbar Rapid Prototyping - Zeigt die Möglichkeiten mit APEX - Ermöglicht eine schnelle Visualisierung von Anforderungen - Fachkonzept samt Prototyp als Basis für die Realisierungsphase 16 | Rapid Application Development mit APEX 4.2.6 Anwendungsgebiete Berichtswesen - Einfache Reporting-Lösungen ohne DWH Webformulare - Anträge, Registrierung, Reisekosten Extranet Anwendungen - elektronischer Kommunikationskanal für Partner/Kunden/Lieferanten Mobile Apps - „Develop once, deploy everywhere“ Als Front-End für SAP - Intuitive Weboberflächen bereitstellen ohne SAP Client 17 | Rapid Application Development mit APEX 4.2.6 Agenda ■ Oracle Application Express (APEX) ■ Warum APEX? ■ Die Möglichkeiten ■ Enterprise APEX ■ Ausgewählte Projektreferenzen der MT AG ■ APEX Community 18 | Rapid Application Development mit APEX 4.2.6 Repository Views Alle Anwendungsdefinitionen im Repository Webseiten werden dynamisch erstellt Änderungen online möglich: Sofort wirksam Informationen via Dictionary Views APEX_APPLICATIONS APEX_APPLICATION_PAGES APEX_APPLICATION_PAGE_REGIONS … 19 | Rapid Application Development mit APEX 4.2.6 Cloud Computing mit APEX (PaaS) Unabhängige, private Arbeitsbereiche ■ Unabhängige Entwicklung und Administration ■ Eigene Applikationsverwaltung ■ Eigene Benutzerverwaltung Zentrale Datenbank ■ Zentrale Wartung ■ Zentrale Datenhaltung 20 | Rapid Application Development mit APEX 4.2.6 Oracle Public Cloud Für Demos ■ apex.oracle.com (kostenlos) Für Produktion ■ cloud.oracle.com (30 Tage zum Testen) 21 | Rapid Application Development mit APEX 4.2.6 Architektur Browser (für APEX Entwickler und die Endanwender) HTTP(S) Oracle Client Apache (optional) (für DB Entwickler) HTTP(S) oder AJP SQLnet Workflow HTTP(S) Web Gateway Authentifizierung SQLnet Reporting z.B. Oracle BI Publisher LDAP(S) HTTP(S) Oracle Database mit APEX 4.2 SQLnet oder Web Services Externe Anwendungsdaten (z.B. SAP) 22 | Rapid Application Development mit APEX 4.2.6 BPEL Server z.B. Microsoft Active Directory Mail SMTP z.B. Microsoft Exchange Zugriffsweg – drei Möglichkeiten Embedded PL/SQL Gateway (Webserver in der Datenbank) Oracle HTTP Server (Apache erweitert um mod pl/sql) Oracle REST Data Services (für JEE Stand-alone / Glassfish / Tomcat / WebLogic) 23 | Rapid Application Development mit APEX 4.2.6 Referenz-Architektur 24 | Rapid Application Development mit APEX 4.2.6 APEX skaliert sowohl technisch… Browser Load Balancer Web Server Web Server Datenbank Datenbank Cluster Software Cluster Software Betriebssystem Betriebssystem Storage 25 | Rapid Application Development mit APEX 4.2.6 …als auch von der Anwendungsgröße Entwicklungsoberfläche von APEX APEX Anwendung 1 „Builder“ 26 | Rapid Application Development mit APEX 4.2.6 APEX Anwendung 2 „Websheets“ APEX Anwendung 3 „SQL Workshop“ Schichten in der Datenbank View Logik APEX Seite seitenspezifische View mit optional „instead of“ Trigger Persistenz 27 | Rapid Application Development mit APEX 4.2.6 seitenspezifisches Package Tabellen inkl. Trigger und Sequenz, optional TAPI Sizing – Was setzte Oracle in 2010 ein? Öffentlicher Demoserver apex.oracle.com* (Stand 12.2010) 4.756.868 Page Events** / Woche Maximale Page Events pro Tag zwischen 900.000 and 1.000.000 Interner Server apex.oraclecorp.com* (Stand 12.2010) 577.989 Page Events / Woche Eingesetzte Hardware für beide Umgebungen: Dell PowerEdge 1950, 2 x Dual Core XESn Processor, 2.33GHz, 32GB RAM Kosten: ~ 1000$ bei Amazon * ) Eingesetzt wird Oracle Database 11.2.0.2 Enterprise Edition ** ) Page Event = Seitenabfrage, Seitenverarbeitung oder AJAX Abfrage 28 | Rapid Application Development mit APEX 4.2.6 Sizing – Was setzt Oracle ab 2013 ein? Öffentlicher Demoserver apex.oracle.com* (Stand 07.2013) 4-5 Millionen Page Events** / Woche Interner Server apex.oraclecorp.com* (Stand 07.2013) 1,5-2 Millionen Page Events / Woche Eingesetzte Hardware für beide Umgebungen***: 2 Knoten: Exadata X2-2 server mit jeweils 12 x 2.93 GHz cores, 96 GB Hauptspeicher, 3 “storage cells” * ) Eingesetzt wird Oracle Database 11.2.0.2 Enterprise Edition ** ) Page Event = Seitenabfrage, Seitenverarbeitung oder AJAX Abfrage ***) Migration auf Exadata wurde ausschließlich durch eine Standardisierung der Hardware begründet 29 | Rapid Application Development mit APEX 4.2.6 Sizing – Was setzen APEX Kunden ein? Beispiel CampusIT (http://campusit.net, Stand 01.2013): APEX Instanz mit 200.000 Benutzern 5.000 Benutzer arbeiten tagtäglich mit diesem Instanz 8 parallele Seitenabfragen pro Sekunde - Lasttests haben gezeigt dass die Umgebung bis zu 50 parallele Seitenabfragen pro Sekunde verarbeiten kann. Dies entspricht etwa 1.000 (!) Benutzer die aktiv mit dem Instanz arbeiten, wenn zwischen den Klicks im Durchschnitt 20 Sekunden liegen. Eingesetzte Hardware für diese Umgebung: 2 Knoten HTTP Server im Cold Failover Betrieb - 2 x Dual Core Xeon Prozessor, 8 GB, Windows Server 2003 Betriebssystem 2 Knoten Datenbank (RAC) - 2 x Dual Core Xeon Prozessor, 4 GB, Red Hat Enterprise Linux 5 Betriebssystem 30 | Rapid Application Development mit APEX 4.2.6 Vieles liefert die Datenbank bereits... Reguläre Ausdrücke, Web Services (UTL_DBWS), Regel-Management, Message Queuing (Advanced Queuing), HTTP-Zugriffe (UTL_HTTP), Jobsteuerung, Komplexe Abfragen (Analytische Funktionen), Mailversand (UTL_MAIL), LDAP-Zugriffe (DBMS_LDAP), Mandantenfähige Anwendungen (Virtual Private Database), Datenverschlüsselung (DBMS_CRYPTO), Dateizugriffe (UTL_FILE), XMLErzeugung (SQL/XML-Funktionen), BildMetadatenextraktion (EXIF, DICOM), Data Mining, Workflow, XQuery, Volltextrecherche, ETL-Funktionen (Pipelining), Database Change Notification, .... 31 | Rapid Application Development mit APEX 4.2.6 Themen-basierte Styles und Layouts 32 | Rapid Application Development mit APEX 4.2.6 SQL Workshop – Datenmodellierung im Web 33 | Rapid Application Development mit APEX 4.2.6 Interactive Report 34 | Rapid Application Development mit APEX 4.2.6 Single Row Update Formular 35 | Rapid Application Development mit APEX 4.2.6 Tabellarisches Formular 36 | Rapid Application Development mit APEX 4.2.6 Diagramme Basiert auf AnyChart 6 HTML5 & Flash Charts Einfache Kartendarstellung (Map) Gantt Charts Custom Charting mit XML - Link: API - Link: XML Interpreter Weitere (Open Source) Charts? - Google Charts - JS Infovis Toolkit - D3.js - Flot 37 | Rapid Application Development mit APEX 4.2.6 Möglichkeiten zur Druckausgabe Jasper, Birt Spreadshe et Publisher Oracle BI Publisher PL/PDF Oracle REST Data Services 2.x Server Technologie Java-Server (JEE) Java-Server (JEE) WebLogic PL/SQL in RDBMS PL/SQL in RDBMS PL/SQL Javawrapper in RDBMS WebLogic / Glassfish / JDK / Tomcat .Net / IIS Client Tool für die Definition iReport Designer, Eclipse/Birt Excel Word / Excel (Plugin notwendig) APEX ggf. SQL Plus iReport Designer (jrXML) SQL Plus Altova StyleVision oder Stylus Studio Word / Excel Mögliches Layout? Pixel perfekt Pixel perfekt Pixel perfekt Nicht Pixel perfekt Nicht Pixel perfekt Nicht Pixel perfekt Pixel perfekt Pixel perfekt Nein Ja (Plugin) Ja Nein Nein Nein Ja Nein URL, PL/SQL PL/SQL XSL-FO/ XML PL/SQL PL/SQL PL/SQL XSL-FO/ XML REST Web Service Formate XLS(X), PDF, RTF XLS(X) XLS, PDF, DOC PDF, XLSX PDF PDF PDF XLSX, DOCX, PDF Lizenz kosten? Nein Ja Ja Nein Nein Ja Nein Nein Ausgabe über IR? Schnittstelle für APEX 38 | Rapid Application Development mit APEX 4.2.6 APEX Plugins PLJRXML 2PDF MT-Doxx APEX erweitern mit Plug-Ins Für Regionen, Elemente, Dynamic Actions, Seiten-, Authentifizierungs- sowie Autorisierungsprozesse Separat ex- und importierbar - Werden beim Anwendungsexport mit exportiert Schnittstellendefinition durch APEX PL/SQL Funktion unter anderem für das Rendering JavaScript/CSS Dateien werden nur einmal geladen 39 | Rapid Application Development mit APEX 4.2.6 Einfache Beispiele… Star Rating Slider Yahoo! Stock Quotes Google Maps Integration 40 | Rapid Application Development mit APEX 4.2.6 Komplexes Beispiel (FOEX Plugins) 41 | Rapid Application Development mit APEX 4.2.6 Dynamic Actions ■ Clientseitiges Verhalten manipulieren, auch ohne Kenntnisse von jQuery ■ Beispiele: ■ Felder ein/ausblenden ■ Mehrere Felder über eine Dynamic Action setzen 42 | Rapid Application Development mit APEX 4.2.6 Packaged Applications ■ Anwendung importieren & ausführen! ■ Installiert Datenbankobjekte/Daten/Dateien/Anwendung ■ APEX bietet „out of the box“ viele Apps ■ Packaged Apps davon geeignet für den Produktivbetrieb: ■ Live Poll (ab 4.2.5) ■ Application Standards Tracker (ab 4.2.4) ■ Data Reporter (ab 4.2.3) ■ Survey Builder (ab 4.2.2) ■ Weitere apps auf www.apexsolutions.de 43 | Rapid Application Development mit APEX 4.2.6 APEX Advisor - Automatisierte Qualitätssicherung 44 | Rapid Application Development mit APEX 4.2.6 Suche 45 | Rapid Application Development mit APEX 4.2.6 Web Services ■ Deklarative Unterstützung für den REST- und SOAP-basierten Ansatz ■ Aufruf/Verarbeitung mittels PL/SQL Package APEX_WEB_SERVICE ■ Undokumentiert: apex_util.json_from_sql(sql); ■ Falls XML, dann Aufbereitung zusätzlich mittels SQL/XML möglich 46 | Rapid Application Development mit APEX 4.2.6 Websheets – APEX für Endanwender Daten und Texte direkt ins Web stellen Textseiten Editierbare Data Grids Interaktive Berichte Attachments, Tagging, Bemerkungen APEX für "Business User" Keine Programmierung nötig Verteilung per URL (/apex/ws?p=999:home) Rechtekonzept per ACL 47 | Rapid Application Development mit APEX 4.2.6 Websheets – APEX für Endanwender 48 | Rapid Application Development mit APEX 4.2.6 Websheets – APEX für Endanwender 49 | Rapid Application Development mit APEX 4.2.6 Team Development 50 | Rapid Application Development mit APEX 4.2.6 Mehrsprachigkeit 51 | Rapid Application Development mit APEX 4.2.6 Für unterwegs… ■ Mobile Webanwendung ■ Einmal entwickeln… ■ läuft auf iOS (iPhone/iPad), Windows Phone, Android ■ Verwendet jQuery Mobile 1.2.1 ■ Auto-Detect: Desktop oder Smartphone? ■ Native Funktionen mittels PhoneGap einsetzen ■ Ermöglicht den Zugriff auf lokale Ressourcen ■ Auch hier: einmal entwickeln… ■ QR Code für eine Demo App einscannen (mobile Barcodescanner) Beispielcode zum Scannen: 52 | Rapid Application Development mit APEX 4.2.6 Exkurs: HTML5 ■ HTML 5 bietet neue Perspektive, wie beispielsweise ■ Neue Elemente (auch mit Spracheingabe) ■ Standort herausfinden ■ Bidirektionale Kommunikation (Websockets) ■ Serverseitige Kommunikation ■ Benachrichtigungen ■ Drag & drop ■ Lokale Speicherung ■ Ersetzt Adobe Flash ■ Demos auf apex.mt-ag.com (Google Chrome empfohlen) 53 | Rapid Application Development mit APEX 4.2.6 APEX für Oracle DBAs ■ Workspace INTERNAL: Einstellungen für den APEX Instanz ■ Programmatischer Import mittels APEX_APPLICATION_INSTALL ■ Verteilung der HW Ressourcen mittels Ressourcen Manager in 11gR2 ■ APEX Sessions mit v$session identifizieren ■ Ab 12c: CDB/PDB-Konzept 54 | Rapid Application Development mit APEX 4.2.6 APEX & 12c: Self-Service Provisioning App 55 | Rapid Application Development mit APEX 4.2.6 Agenda ■ Oracle Application Express (APEX) ■ Warum APEX? ■ Die Möglichkeiten ■ Enterprise APEX ■ Ausgewählte Projektreferenzen der MT AG ■ APEX Community 56 | Rapid Application Development mit APEX 4.2.6 Enterprise APEX Skills Menschen Tools PL/SQL Jenkins HTML Maven CSS Jira jQuery Data Modeler jQuery Mobile Selenium / Robot APEX Subversion SQL (PL/)SQL Developer Datenmodellierung APEX Projekt Management REST Data Services Test Management Tomcat Delivery Management Database Requirements Eng. Browserstack 57 | Rapid Application Development mit APEX 4.2.6 Enterprise APEX – Richtlinien Richtlinien festlegen Richtlinien automatisiert prüfen - APEX QA Plugin Siehe: www.apex-plugin.com - Advisor Tool, nativ in APEX - Packaged App: “Standards Tracker” 58 | Rapid Application Development mit APEX 4.2.6 Enterprise APEX – SW-Entwicklungsprozess MT AG Kunde Auftraggeber 3. 2. 1. Projektplan Aufgaben Aufträge Projektleiter Neue Features 14. Bugs Entwickler QA-Spezialist IT/Fachbereich Endanwender 6. 9. 12. Modultests Vers. Tests* Vers. Tests* 4. 8. 11. 13. Abnahme Umgebung Produktions Umgebung Entwicklungs Umgebung Test Umgebung Richtlinien 10.2 Dokumentation ** 5. 7. 10.1 Versionierung Build-Prozess Auslieferung Zeiterfassung Abhängigkeiten 59 | Rapid Application Development mit APEX 4.2.6 Manager Delivery Spezialist Delivery Spezialist *) Modul-, Qualitäts-, Integrations-, Performance-, Sicherheits-, Akzeptanz- & Browsertests **) Release Notes, DV-Konzept, Installationsanleitung Enterprise APEX – Eingesetzte Systeme bei MT MT AG MS Project Kunde Auftraggeber Jira 1. (mit Plugins) Projektleiter Neue Features Aufträge 14. Bugs Entwickler QA-Spezialist Data Modeler (PL/)SQL Developer Robot, Selenium, TOAD Code Analysis, Jmeter, SQL Developer, Browserstack Oracle APEX / DB Oracle APEX / DB APEX App Subversion SAP CA-TS IT/Fachbereich 12. Vers. Tests* 11. 13. Abnahme Umgebung Produktions Umgebung MS Word Gen. + plsqldoc Maven & Jenkins APEX Websheet App Dependency APEX App 60 | Rapid Application Development mit APEX 4.2.6 Manager Endanwender Delivery Spezialist Delivery Spezialist Enterprise APEX – Iterative Entwicklung 61 | Rapid Application Development mit APEX 4.2.6 Agenda ■ Oracle Application Express (APEX) ■ Warum APEX? ■ Die Möglichkeiten ■ Enterprise APEX ■ Ausgewählte Projektreferenzen der MT AG ■ APEX Community 62 | Rapid Application Development mit APEX 4.2.6 METRO GROUP: X-Border Solution 63 | Rapid Application Development mit APEX 4.2.6 METRO GROUP: Product Passport 64 | Rapid Application Development mit APEX 4.2.6 Der Grüne Punkt: Auftragsportal 65 | Rapid Application Development mit APEX 4.2.6 Union Investment: FondsProfiler 66 | Rapid Application Development mit APEX 4.2.6 Union Investment: Migration von Oracle Forms 67 | Rapid Application Development mit APEX 4.2.6 Union Investment: Migration von Oracle Forms 68 | Rapid Application Development mit APEX 4.2.6 Union Investment: Migration von MS Access 69 | Rapid Application Development mit APEX 4.2.6 Union Investment: Migration von MS Access 70 | Rapid Application Development mit APEX 4.2.6 Veranstalter: Konferenzplaner für Tablets 71 | Rapid Application Development mit APEX 4.2.6 Wie können wir Ihnen weiterhelfen? Coaching Entwicklung (vor Ort / bei der MT AG) Migration von bestehenden MS Excel / MS Access / Oracle Forms-Lösungen Individuelle Schulungen Umsetzung Corporate Identity Security Audit Rapid Prototyping Master & Template Anwendung „Single Sign-On“-Fähigkeit Integration 72 | Rapid Application Development mit APEX 4.2.6 Agenda ■ Oracle Application Express (APEX) ■ Warum APEX? ■ Die Möglichkeiten ■ Enterprise APEX ■ Ausgewählte Projektreferenzen der MT AG ■ APEX Community 73 | Rapid Application Development mit APEX 4.2.6 APEX Showcase - APEX.MT-AG.COM 74 | Rapid Application Development mit APEX 4.2.6 Open Source Lösungen der MT AG Time Management System Questionnaire Translation Management System Invite (interne Variante von Doodle) Family Tree Kostenlos & Quellcode offen Siehe: https://apex.mt-ag.com/community 75 | Rapid Application Development mit APEX 4.2.6 APEX Community Software/Dokumentation apex.oracle.com APEX Showcase apex.mt-ag.com Open Source www.apexsolutions.de Oracle Learning Library oll.oracleapex.com Oracle Community (DE): lang.oracleapex.com/german BLOG Aggregator (RSS Feed): aggrssgator.com/rss/odtug/apex Forum: forums.oracle.com Plug-Ins: apex-plugin.com Twitter Hash Tag: #orclapex Feature Requests: apex.oracle.com/vote Snippets: Denes Kubicek & Jari‘s 76 | Rapid Application Development mit APEX 4.2.6 Buchempfehlungen zu APEX Auf deutsch! 77 | Rapid Application Development mit APEX 4.2.6 Sonstige Buchempfehlungen 78 | Rapid Application Development mit APEX 4.2.6 Vielen Dank. MT AG Balcke-Dürr-Allee 9 40882 Ratingen Telefon: +49 (0) 21 02 309 61-0 Telefax: +49 (0) 21 02 309 61-10 E-Mail: [email protected] www.mt-ag.com |