moritz klein rotterdam, 25-mar-2019 - oracle user group
TRANSCRIPT
Key Facts
Independent Technology Housewith Cross-Industry Expertise
HeadquarterRatingen
230 employees
Founded1994
Top Company for Trainees & Students
Privately-OwnedCorporation
Oracle Platinum Partner
Microsoft Gold Partner33 Mio. Euro
Revenue in 2018
Germany‘s number 1 in APEX
BranchesFrankfurt & Cologne
2
3
About me
Moritz Klein
Principal Consultant
Since November 2015 working for MT AG
Before that 6 years as Data Warehouse Specialist at Ericsson Telekommunikation GmbH
APEX Developer since first public release in 2004 (HTMLDB 1.5)
Oracle Developer since 2001 (SQL, PL/SQL, OWB)
Organiser of Oracle APEX Meetups Frankfurt
▪ The Interactive Grid
▪ Architecture
▪ Interactive Grid vs. Interactive Report
▪ Configuration Object
▪ Model vs. View
▪ Utilise the Model
4
Agenda
▪ New component since APEX 5.1
▪ Successor to Tabular Forms
▪ Planned Successor to Interactive Report
▪ Modern multi-row editing component
▪ Rather heavy on the JavaScript side
5
The Interactive Grid
▪ Rather complex architecture
▪ Many different modules
▪ Elegantly orchestrated
▪ Uses Models (apex.model)
6
Architecture
Interactive report
▪ HTML generated on server
▪ Menu also
▪ No editing
▪ Pivot View
▪ One monolithic JavaScript Module
Interactive Grid
▪ HTML generated on client
▪ Server sends JSON
▪ Editing
▪ No Pivot View (yet)
▪ Collection of small modules
7
Interactive Grid vs. Interactive Report
▪ Holds all configuration settings
▪ Use “JavaScript Initialization Code“ to modify▪ Function taking one argument with config data
▪ Modify as needed
▪ Return modified config data
8
Configuration Object
Model
▪ Generic Data Store
▪ Store and manage data
▪ No direct connection to view
▪ Observer Pattern for Notifications
▪ Responsibilites▪ Fetch Data
▪ Save Data back to server
▪ Allowed Operations
View
▪ Representation Layer
▪ User Interaction
▪ Connected to a model▪ Knows the connected model
▪ Registers for notifications
▪ Don’t store or manage data
9
Model vs. View
▪ Excitement
▪ Swearing
▪ Take a coffee break
▪ Look at API documentation
▪ More swearing
▪ Investigate the source code
▪ Even more swearing
▪ Being impressed by the elegant architecture
▪ Feeling like having finished the hunt for the Holy Grail
10
Phases I typically go through and did many times while preparing for this
Working with the Model
▪ Subscribe to Notifications
▪ Observer Pattern
▪ Build Custom Validations
11
Utilize the Model
Some techniques shown now could get you into trouble with your DBA
▪ Yes, it’s sometimes hard
▪ Yes, avoid doing such things if possible
▪ But if you need, then use the model.
12
Conclusion
enabling the adaptive enterprise
@commi235
moritz-klein-73161b70
commi235
http://mk-commi.blogspot.com
Moritz_Klein3