APEX i Praksis Martin B. Nielsen Navn MBNDATA Emne
Foredragsholderen Oracle/APEX Arkitekt/udvikler/DBA Siden Oracle v.5 (1988) APEX Siden 2007, men før (Database provider, HTMLDB) MBNDATA siden 1996 MBNDATA har valgt at være 100% fokuseret på APEX (udvikling, konsulent, undervisning) Arbejder som konsulent ude hos kunderne samt på in house projekter for kunder. Vores kunder er primært de store Danske virksomheder der kører Oracle (og eventuelt Oracle Applications).
APEX i Praksis APEX et kort overblik Teknologi stakken Et APEX projektforløb (på 10 minutter) Tips & Best practises APEX som Cloud løsning Q & A
APEX er et komplet web baseret værktøj til udvikling af intranet/internet applikationer bygget ovenpå Oracle databasen. APEX Et kort overblik Udvikling af brugerinterface Projektstyring/samarbejde Datamodellering og PL/SQL APEX Samt brugeradministration
Opdeling af applikationer sker igennem workspaces. Et workspace bygger på et database skema, og oftest anvendes det til logisk at gruppere en række relaterede applikationer. APEX Et kort overblik
APEX Et kort overblik APEX har et væld af indbyggede komponenter som kan generere sider, regioner (uden kode). Det som ikke kan genereres kan enten tilpasses igennem APEX Builderen, eller programmeres (PLSQL, Javascript). Reports Validations Translation Services Forms Processes Conditional Processing Charts Computations Authentication Calendar Branches Authorization Templates Web Services Session State Management Navigation Email Services Logging & Monitoring
APEX Et kort overblik APEX har et væld af indbyggede komponenter som kan generere sider, regioner (uden kode). Det som ikke kan genereres kan enten tilpasses igennem APEX Builderen, eller programmeres (PLSQL, Javascript). Websheets Team Development Dynamic Actions Plug-Ins (Item & Region) Improved Charting including Gantts and Maps Declarative Tabular Forms REST Web Services Enhanced Interactive Reports
APEX er det hurtigste RAD værktøj jeg har arbejdet med. Det er en fornøjelse af kunne levere systemerne hurtigt til forretningen, og efterfølgende kunne lave hurtige tilretninger (ofte mest kunden sidder med). Vi har endnu ikke løbet ind i begrænsninger som mindsker begestringen for dette værktøj. APEX Et kort overblik APEX Projekter Komplet tilpasset ERP System Dokument håndtering (CMS) Analyse / forsøgs dataopsamling samt rapportering R& D Process Styring Sagsstyring Tidsrapportering og fakturering Budgettering Virksomhedregister
APEX er et MEGET modent og stabilt værktøj. Brugerne er overraskede over hvor hurtigt deres ønsker kan implementeres og hvor nemt det er at bruge. Driften synes det er utrolig let at lave deployments, og vedligeholde. APEX Et kort overblik
Stakken kan dimensioneres efter behov. Der kan f.eks. Startes med en Oracle XE Database / Tomcat løsning og senere skaleres op til Oracle Exadata, RAC, IAS Teknologi stakken Udvikler Designer Slutbruger FOP (PDF Rapporter) Jasper Reports Apache (mod_jk) APEX Listener Tomcat Mod_ plsql IAS (OC4J, Weblogic) EPG Oracle RDBMS
DEMO Teknologi stakken Oracle XE på linux Tomcat APEX Listener FOP (PDF Print) Jasper reports Mail setup
Et APEX Projektforløb (på 10 minutter) 1 Startup: nyt workspace samt brugere 2 Ny applikation valg af grafisk design) 3 Datamodel (tabel fra excel) 4 Udvikling af skærmbilleder 5 Packaging 6 Deployment 7 Rettelse > Deployment
Nedenstående viser eksempel på database baseret udvikling, primært brugt ved mindre projekter. Ved større projekter opdeles PL/SQL kode og objekter i seperate filer. Et APEX Projektforløb (packaging) Filnavn Indhold Værktøj DDL.sql EXPORT.sql Oprettelse/ændring af database objekter. PL/SQL Program logik (packages, triggers ) samt views. F<nnn>.sql APEX Applikation APEX PL/SQL Developer, TOAD, SQL*Plus, SQLDeveloper SQLDeveloper Ved udvikling af software pakker (produkter) kan man samle alle database objekter i APEX exporten, ved brug af Supporting objects.
Tips & Best practises Tools Firebug SQL Developer Sikkerhed Session State Protection Database skema (SQL Injection) Separat database PL/SQL Placeres i Packages Brug logning (f.eks. Logger fra Tyler Muth) Eksterne filer Javascript, CSS, Images Impact analysis Brug APEX dictionary Websheets Wiki med tabeller & SQL Vidensdeling (regneark som sendes rundt) Prøveklud for nye Interactive report features.
APEX fungerer rigtig godt som cloud løsning, grundet den web baserede tilgang for både udviklere og slutbrugere. APEX som Cloud løsning Fordele Ekstrem hurtig opstart Ingen investering til hardware Ingen (eller lidt) drift Ingen strømregning Ulemper Data ligger ude Ingen (fysisk) server adgang Kræver cloud viden
Amazon hoster cloud maskiner, som udbydes som Machine Images (AMI). Der betales per forbrug. APEX som Cloud løsning 1. 2. 3.
APEX som Cloud løsning MBNDATA har lavet en APEX Comunity Server med hele APEX stakken klar til brug. Se mere på mbndata.dk/blog DEMO
Q & A Navn Emne APEX Softwareudvikling, konsulenter og uddannelse