SlideShare a Scribd company logo
1 of 26
|
KASS: Keep APEX Stupid Simple
or “How to create maintainable APEX pages”
Niels de Bruijn, Business Unit Manager APEX
Ratingen, 23/06/2014
|
MT AG
LEGAL STATUS AG (CORPORATION)
HEAD OFFICE RATINGEN, GERMANY
FOUNDING YEAR 1994
EMPLOYEES 190
HOLDING MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG)
business by integration
BUSINESS
INTELLIGENCE SOLUTIONS
SOCIAL BUSINESS
SOLUTIONS
MOBILE
SOLUTIONS
APPLICATION
DEVELOPMENT
INTEGRATION
SERVICES
IT SYSTEM
SERVICES
|
About me
 Niels de Bruijn, Business Unit Manager APEX
 Born in 1977, married, two daughters
 Started career in 2001 at Oracle in the Netherlands
 Since 12/2003 employed at MT AG in Ratingen
 Working with APEX since its inception back in 2004
 Responsible for sales/marketing/delivery of all kinds of APEX projects
- https://apex.mt-ag.com & http://www.apexsolutions.de
 As DOAG representative, responsible for the APEX community in Germany
 You can find me here:
- Online: Skype, Xing, LinkedIn, Twitter, Facebook
- Offline: DOAG Conference, DOAG Development Conference, ODTUG
Kaleidoscope, Regional APEX UserGroup (Meetup)
KASS: Keep APEX Stupid Simple3
|
My first APEX app in 2004
Easy understandable, right?
KASS: Keep APEX Stupid Simple4
|
APEX Guidelines
KASS: Keep APEX Stupid Simple5
 How to enforce guidelines:
- See presentation of Oliver Lemm
- “The APEX QA Plugin”
- Tue 24-JUN, 08:30 am - 09:30 am
 Packaged App: Standards Tracker
|
1.
Rapid Prototyping
APEX/FOEX
Wizards
KASS: Keep APEX Stupid Simple6
2.
Rapid
Application
Development
APEX
+(PL/)SQL
+jQuery
3.
Rapid
Rich Internet
Application
Development
APEX
+(PL/)SQL
+FOEX Plugins
Classification of modules in APEX projects
Complexity of module
End-user time
spent each day
with the module
b.
Mockup
APEX/FOEX
Wizards
Use Case
For example
“Access
Replacement”
Use Case
For example
“Forms
Replacement”
a.
Draft
Flipchart
/ Balsamiq
Requirements Engineering
For which implementation method am I going for?
Implementation Phase
|
Definition of a module
 One APEX application may consist of multiple modules
 A module covers certain business functionality and is used by a specific group of
end users
 A module normally has multiple APEX pages, for example:
- The module „User Maintenance“ consists of two APEX pages
(IR-page + SRU-page) und its target audience are administrators.
KASS: Keep APEX Stupid Simple7
|
How do you define „complex“?
 Not easy to define, but some elements of a complex module could be:
- that it writes data to multiple tables
- that there is (complex) business logic to respect
- that it contains client side behavior and dependencies between fields
- the page layout has multiple areas
- that the page can‘t be created by using APEX wizards
- that it is AJAX driven
KASS: Keep APEX Stupid Simple8
|
Some remarks
 The number of end users doesn‘t matter
 Chosen the wrong implementation method may lead to massive maintenance
costs!
 For each module, rethink your implementation method
KASS: Keep APEX Stupid Simple9
|
1.
Rapid Prototyping
APEX/FOEX
Wizards
KASS: Keep APEX Stupid Simple10
2.
Rapid
Application
Development
APEX
+(PL/)SQL
+jQuery
3.
Rapid
Rich Internet
Application
Development
APEX
+(PL/)SQL
+FOEX Plugins
Classification of modules in APEX projects
Complexity of module
End-user time
spent each day
with the module
b.
Mockup
APEX/FOEX
Wizards
a.
Draft
Flipchart
/ Balsamiq
Requirements Engineering
For which implementation method am I going for?
Implementation Phase
|
Requirements Engineering: Draft
Key features:
 Shows how the application or page may look like
 Can even be created during your conversation with the customer
KASS: Keep APEX Stupid Simple11
|
1.
Rapid Prototyping
APEX/FOEX
Wizards
KASS: Keep APEX Stupid Simple12
2.
Rapid
Application
Development
APEX
+(PL/)SQL
+jQuery
3.
Rapid
Rich Internet
Application
Development
APEX
+(PL/)SQL
+FOEX Plugins
Classification of modules in APEX projects
Complexity of module
End-user time
spent each day
with the module
b.
Mockup
APEX/FOEX
Wizards
a.
Draft
Flipchart
/ Balsamiq
Requirements Engineering
For which implementation method am I going for?
Implementation Phase
|
Requirements Engineering: Mockup
Key features:
 Shows how the application or page may look like
 Enables end users to interact with the UI
 May have selected business processes implemented
 The result is thrown away
- Clear focus on speed versus maintainability (1-2 PT)
- Operates directly on the tables (no view-layer)
KASS: Keep APEX Stupid Simple13
|
1.
Rapid Prototyping
APEX/FOEX
Wizards
KASS: Keep APEX Stupid Simple14
2.
Rapid
Application
Development
APEX
+(PL/)SQL
+jQuery
3.
Rapid
Rich Internet
Application
Development
APEX
+(PL/)SQL
+FOEX Plugins
Classification of modules in APEX projects
Complexity of module
End-user time
spent each day
with the module
a.
Draft
Flipchart
/ Balsamiq
Requirements Engineering
For which implementation method am I going for?
Implementation Phase
b.
Mockup
APEX/FOEX
Wizards
|
1: „Rapid Prototyping“
Key features:
 Requirements are known, but not written down
 Features of APEX/FOEX are unknown
 Iterative development (daily alignment with the customer)
 Just like with MS Access, development could be done by the business
 Team: 1 developer, optionally 1 requirements engineer
 Complexity: live with the standard functionality
 Very Short “Time to Market“ (approx. 3 months)
 Applications normally targeted for usage by a small group of end users
 View/Package-layer between APEX and the tables should be established
 Single combined technical/functional spec. is authored during development
KASS: Keep APEX Stupid Simple15
|
1: „Rapid Prototyping“
KASS: Keep APEX Stupid Simple16
Items
Buttons
Fetch Data Process Data
Dynamic Actions
Redirect
|
1.
Rapid Prototyping
APEX/FOEX
Wizards
KASS: Keep APEX Stupid Simple17
2.
Rapid
Application
Development
APEX
+(PL/)SQL
+jQuery
3.
Rapid
Rich Internet
Application
Development
APEX
+(PL/)SQL
+FOEX Plugins
Classification of modules in APEX projects
Complexity of module
End-user time
spent each day
with the module
b.
Mockup
APEX/FOEX
Wizards
a.
Draft
Flipchart
/ Balsamiq
Requirements Engineering
For which implementation method am I going for?
Implementation Phase
|
2: „Rapid Application Development“ (RAD)
Key features:
 Requirements are known and mostly a functional specification is available
 Development done by IT
- Multiple developers are involved (“Enterprise APEX”)
(architects/(different kind of) developers/QA/PL/delivery manager)
- “Scrum” method with sprints during development
 Complexity of a module ranges from medium to complex
- The sky is the limit: „What works in the web, also works in APEX“
 Shift business logic from APEX to the database
 View/Package-layer between APEX and the tables
 Approach valid both for desktop apps as well as mobile apps
KASS: Keep APEX Stupid Simple18
|
2: RAD with custom fetch/save processes
KASS: Keep APEX Stupid Simple19
Items
Fetch Data Process
Data
Buttons
Dynamic Actions
Redirect
|
2: RAD – Example of a non-standard APEX page
Things you can do with jQuery
KASS: Keep APEX Stupid Simple20
|
1.
Rapid Prototyping
APEX/FOEX
Wizards
KASS: Keep APEX Stupid Simple21
2.
Rapid
Application
Development
APEX
+(PL/)SQL
+jQuery
3.
Rapid
Rich Internet
Application
Development
APEX
+(PL/)SQL
+FOEX Plugins
Classification of modules in APEX projects
Complexity of module
End-user time
spent each day
with the module
b.
Mockup
APEX/FOEX
Wizards
a.
Draft
Flipchart
/ Balsamiq
Requirements Engineering
For which implementation method am I going for?
Implementation Phase
|
3: „Rapid Rich Internet Application Development“
Key features:
 Like „Rapid Application Development“
- but limited to desktop apps
 Layout typically ranges from complex to extreme complex
 Logically one page, technically multiple APEX pages
 100% AJAX driven
KASS: Keep APEX Stupid Simple22
|
3: „Rapid Rich Internet Application Development“
KASS: Keep APEX Stupid Simple23
| KASS: Keep APEX Stupid Simple
3: „Rapid Rich Internet Appl. Development“
24
SQL Report
defines meta data
FOEX
Plugins
(AJAX) Processes
No page
processing
anymore!
|
Summary
So, how do we keep APEX stupid simple?
 Setup Development Guidelines
- Use Packaged App „Standards Tracker“
- Use QA Plugin to automatically check your standards
 See presentation of Oliver on Tue 24-JUN between 08:30 am - 09:30 am
 For each module, decide your implementation method
- Rapid Prototyping
- Rapid Application Development
- Rapid Rich Internet Application Development
KASS: Keep APEX Stupid Simple25
|
Q&A
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: info@mt-ag.com
https://apex.mt-ag.com

More Related Content

What's hot

Creating custom reports ora app express apex listener
Creating custom reports  ora app express apex listenerCreating custom reports  ora app express apex listener
Creating custom reports ora app express apex listener
Darnette A
 
Apex behind the scenes
Apex behind the scenesApex behind the scenes
Apex behind the scenes
Enkitec
 
Printing with APEX: PL/PDF
Printing with APEX: PL/PDFPrinting with APEX: PL/PDF
Printing with APEX: PL/PDF
Enkitec
 

What's hot (20)

Intro on Oracle Application express - APEX
Intro on Oracle Application express - APEXIntro on Oracle Application express - APEX
Intro on Oracle Application express - APEX
 
20160307 apex on_the_rocks
20160307 apex on_the_rocks20160307 apex on_the_rocks
20160307 apex on_the_rocks
 
Creating custom reports ora app express apex listener
Creating custom reports  ora app express apex listenerCreating custom reports  ora app express apex listener
Creating custom reports ora app express apex listener
 
Apex behind the scenes
Apex behind the scenesApex behind the scenes
Apex behind the scenes
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
 
Apex RnD APEX 5 - Printing
Apex RnD APEX 5 - PrintingApex RnD APEX 5 - Printing
Apex RnD APEX 5 - Printing
 
Apex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tourApex 5.1 migration and templates - APAC webinar tour
Apex 5.1 migration and templates - APAC webinar tour
 
APEX connects Jira
APEX connects JiraAPEX connects Jira
APEX connects Jira
 
Oracle APEX for Beginners
Oracle APEX for BeginnersOracle APEX for Beginners
Oracle APEX for Beginners
 
Oracle APEX plugins - AUSOUG Connect 2016
Oracle APEX plugins - AUSOUG Connect 2016Oracle APEX plugins - AUSOUG Connect 2016
Oracle APEX plugins - AUSOUG Connect 2016
 
Printing with APEX: PL/PDF
Printing with APEX: PL/PDFPrinting with APEX: PL/PDF
Printing with APEX: PL/PDF
 
APEX 5.1 features - AUSOUG Connect 2016
APEX 5.1 features - AUSOUG Connect 2016APEX 5.1 features - AUSOUG Connect 2016
APEX 5.1 features - AUSOUG Connect 2016
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integration
 
APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
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
 
REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best Practices
 
Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)Oracle APEX Introduction (release 18.1)
Oracle APEX Introduction (release 18.1)
 
APEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurierenAPEX richtig installieren und konfigurieren
APEX richtig installieren und konfigurieren
 
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud ServicesOracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
Oracle APEX, Oracle Autonomous Database, Always Free Oracle Cloud Services
 
Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...Application Express - A web development environment for the masses - and for ...
Application Express - A web development environment for the masses - and for ...
 

Similar to MT AG - KASS - Keep APEX Stupid Simple

Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
Neha Singh
 
Mohamed Ali CV (1)
Mohamed Ali CV (1)Mohamed Ali CV (1)
Mohamed Ali CV (1)
mohamed ali
 
Resume Sr. Solution Designer
Resume Sr. Solution DesignerResume Sr. Solution Designer
Resume Sr. Solution Designer
Zahid Hussain
 

Similar to MT AG - KASS - Keep APEX Stupid Simple (20)

Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
 
Database@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UIDatabase@Home : Data Driven Apps : Core-dev or Low Code UI
Database@Home : Data Driven Apps : Core-dev or Low Code UI
 
Openobject Intro
Openobject IntroOpenobject Intro
Openobject Intro
 
CodeCharge Studio RAD tool
CodeCharge Studio RAD toolCodeCharge Studio RAD tool
CodeCharge Studio RAD tool
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
Workshop About Software Engineering Skills 2019
Workshop About Software Engineering Skills 2019Workshop About Software Engineering Skills 2019
Workshop About Software Engineering Skills 2019
 
Zaghdoudi Nizar_CV_EN
Zaghdoudi Nizar_CV_EN  Zaghdoudi Nizar_CV_EN
Zaghdoudi Nizar_CV_EN
 
Mohamed Ali CV (1)
Mohamed Ali CV (1)Mohamed Ali CV (1)
Mohamed Ali CV (1)
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Mohamad_Naman_Idlepi_DEV
Mohamad_Naman_Idlepi_DEVMohamad_Naman_Idlepi_DEV
Mohamad_Naman_Idlepi_DEV
 
SharePoint Best Practices Conference 2013
SharePoint Best Practices Conference 2013SharePoint Best Practices Conference 2013
SharePoint Best Practices Conference 2013
 
Full Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future ScopeFull Stack Web Development: Vision, Challenges and Future Scope
Full Stack Web Development: Vision, Challenges and Future Scope
 
[Webinar with Oceane Consulting] Using Vaadin to Integrate Nuxeo and Liferay
[Webinar with Oceane Consulting] Using Vaadin to Integrate Nuxeo and Liferay [Webinar with Oceane Consulting] Using Vaadin to Integrate Nuxeo and Liferay
[Webinar with Oceane Consulting] Using Vaadin to Integrate Nuxeo and Liferay
 
Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 
CAST for Oracle Applications
CAST for Oracle ApplicationsCAST for Oracle Applications
CAST for Oracle Applications
 
GENESIIS Porjects
GENESIIS PorjectsGENESIIS Porjects
GENESIIS Porjects
 
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speechVue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
Vue Storefront - Progressive Web App for Magento (1.9, 2.x) - MM18DE speech
 
Resume Sr. Solution Designer
Resume Sr. Solution DesignerResume Sr. Solution Designer
Resume Sr. Solution Designer
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack Development
 

More from Niels de Bruijn

MT AG New Features APEX 4.2
MT AG New Features APEX 4.2MT AG New Features APEX 4.2
MT AG New Features APEX 4.2
Niels de Bruijn
 
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
Niels de Bruijn
 
MT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEXMT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEX
Niels de Bruijn
 
MT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEXMT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEX
Niels de Bruijn
 

More from Niels de Bruijn (13)

Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & Betrieb
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBA
 
Packaged Applications in APEX 5.0
Packaged Applications in APEX 5.0Packaged Applications in APEX 5.0
Packaged Applications in APEX 5.0
 
Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfen
 
APEX 5.0, und sonst?
APEX 5.0, und sonst?APEX 5.0, und sonst?
APEX 5.0, und sonst?
 
MT AG New Features APEX 4.2
MT AG New Features APEX 4.2MT AG New Features APEX 4.2
MT AG New Features APEX 4.2
 
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
 
MT AG APEX goes Mobile
MT AG APEX goes MobileMT AG APEX goes Mobile
MT AG APEX goes Mobile
 
MT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEXMT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEX
 
MT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEXMT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEX
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 

MT AG - KASS - Keep APEX Stupid Simple

  • 1. | KASS: Keep APEX Stupid Simple or “How to create maintainable APEX pages” Niels de Bruijn, Business Unit Manager APEX Ratingen, 23/06/2014
  • 2. | MT AG LEGAL STATUS AG (CORPORATION) HEAD OFFICE RATINGEN, GERMANY FOUNDING YEAR 1994 EMPLOYEES 190 HOLDING MT-IFS GMBH (RATINGEN), MT-IFS SARL (LUXEMBURG) business by integration BUSINESS INTELLIGENCE SOLUTIONS SOCIAL BUSINESS SOLUTIONS MOBILE SOLUTIONS APPLICATION DEVELOPMENT INTEGRATION SERVICES IT SYSTEM SERVICES
  • 3. | About me  Niels de Bruijn, Business Unit Manager APEX  Born in 1977, married, two daughters  Started career in 2001 at Oracle in the Netherlands  Since 12/2003 employed at MT AG in Ratingen  Working with APEX since its inception back in 2004  Responsible for sales/marketing/delivery of all kinds of APEX projects - https://apex.mt-ag.com & http://www.apexsolutions.de  As DOAG representative, responsible for the APEX community in Germany  You can find me here: - Online: Skype, Xing, LinkedIn, Twitter, Facebook - Offline: DOAG Conference, DOAG Development Conference, ODTUG Kaleidoscope, Regional APEX UserGroup (Meetup) KASS: Keep APEX Stupid Simple3
  • 4. | My first APEX app in 2004 Easy understandable, right? KASS: Keep APEX Stupid Simple4
  • 5. | APEX Guidelines KASS: Keep APEX Stupid Simple5  How to enforce guidelines: - See presentation of Oliver Lemm - “The APEX QA Plugin” - Tue 24-JUN, 08:30 am - 09:30 am  Packaged App: Standards Tracker
  • 6. | 1. Rapid Prototyping APEX/FOEX Wizards KASS: Keep APEX Stupid Simple6 2. Rapid Application Development APEX +(PL/)SQL +jQuery 3. Rapid Rich Internet Application Development APEX +(PL/)SQL +FOEX Plugins Classification of modules in APEX projects Complexity of module End-user time spent each day with the module b. Mockup APEX/FOEX Wizards Use Case For example “Access Replacement” Use Case For example “Forms Replacement” a. Draft Flipchart / Balsamiq Requirements Engineering For which implementation method am I going for? Implementation Phase
  • 7. | Definition of a module  One APEX application may consist of multiple modules  A module covers certain business functionality and is used by a specific group of end users  A module normally has multiple APEX pages, for example: - The module „User Maintenance“ consists of two APEX pages (IR-page + SRU-page) und its target audience are administrators. KASS: Keep APEX Stupid Simple7
  • 8. | How do you define „complex“?  Not easy to define, but some elements of a complex module could be: - that it writes data to multiple tables - that there is (complex) business logic to respect - that it contains client side behavior and dependencies between fields - the page layout has multiple areas - that the page can‘t be created by using APEX wizards - that it is AJAX driven KASS: Keep APEX Stupid Simple8
  • 9. | Some remarks  The number of end users doesn‘t matter  Chosen the wrong implementation method may lead to massive maintenance costs!  For each module, rethink your implementation method KASS: Keep APEX Stupid Simple9
  • 10. | 1. Rapid Prototyping APEX/FOEX Wizards KASS: Keep APEX Stupid Simple10 2. Rapid Application Development APEX +(PL/)SQL +jQuery 3. Rapid Rich Internet Application Development APEX +(PL/)SQL +FOEX Plugins Classification of modules in APEX projects Complexity of module End-user time spent each day with the module b. Mockup APEX/FOEX Wizards a. Draft Flipchart / Balsamiq Requirements Engineering For which implementation method am I going for? Implementation Phase
  • 11. | Requirements Engineering: Draft Key features:  Shows how the application or page may look like  Can even be created during your conversation with the customer KASS: Keep APEX Stupid Simple11
  • 12. | 1. Rapid Prototyping APEX/FOEX Wizards KASS: Keep APEX Stupid Simple12 2. Rapid Application Development APEX +(PL/)SQL +jQuery 3. Rapid Rich Internet Application Development APEX +(PL/)SQL +FOEX Plugins Classification of modules in APEX projects Complexity of module End-user time spent each day with the module b. Mockup APEX/FOEX Wizards a. Draft Flipchart / Balsamiq Requirements Engineering For which implementation method am I going for? Implementation Phase
  • 13. | Requirements Engineering: Mockup Key features:  Shows how the application or page may look like  Enables end users to interact with the UI  May have selected business processes implemented  The result is thrown away - Clear focus on speed versus maintainability (1-2 PT) - Operates directly on the tables (no view-layer) KASS: Keep APEX Stupid Simple13
  • 14. | 1. Rapid Prototyping APEX/FOEX Wizards KASS: Keep APEX Stupid Simple14 2. Rapid Application Development APEX +(PL/)SQL +jQuery 3. Rapid Rich Internet Application Development APEX +(PL/)SQL +FOEX Plugins Classification of modules in APEX projects Complexity of module End-user time spent each day with the module a. Draft Flipchart / Balsamiq Requirements Engineering For which implementation method am I going for? Implementation Phase b. Mockup APEX/FOEX Wizards
  • 15. | 1: „Rapid Prototyping“ Key features:  Requirements are known, but not written down  Features of APEX/FOEX are unknown  Iterative development (daily alignment with the customer)  Just like with MS Access, development could be done by the business  Team: 1 developer, optionally 1 requirements engineer  Complexity: live with the standard functionality  Very Short “Time to Market“ (approx. 3 months)  Applications normally targeted for usage by a small group of end users  View/Package-layer between APEX and the tables should be established  Single combined technical/functional spec. is authored during development KASS: Keep APEX Stupid Simple15
  • 16. | 1: „Rapid Prototyping“ KASS: Keep APEX Stupid Simple16 Items Buttons Fetch Data Process Data Dynamic Actions Redirect
  • 17. | 1. Rapid Prototyping APEX/FOEX Wizards KASS: Keep APEX Stupid Simple17 2. Rapid Application Development APEX +(PL/)SQL +jQuery 3. Rapid Rich Internet Application Development APEX +(PL/)SQL +FOEX Plugins Classification of modules in APEX projects Complexity of module End-user time spent each day with the module b. Mockup APEX/FOEX Wizards a. Draft Flipchart / Balsamiq Requirements Engineering For which implementation method am I going for? Implementation Phase
  • 18. | 2: „Rapid Application Development“ (RAD) Key features:  Requirements are known and mostly a functional specification is available  Development done by IT - Multiple developers are involved (“Enterprise APEX”) (architects/(different kind of) developers/QA/PL/delivery manager) - “Scrum” method with sprints during development  Complexity of a module ranges from medium to complex - The sky is the limit: „What works in the web, also works in APEX“  Shift business logic from APEX to the database  View/Package-layer between APEX and the tables  Approach valid both for desktop apps as well as mobile apps KASS: Keep APEX Stupid Simple18
  • 19. | 2: RAD with custom fetch/save processes KASS: Keep APEX Stupid Simple19 Items Fetch Data Process Data Buttons Dynamic Actions Redirect
  • 20. | 2: RAD – Example of a non-standard APEX page Things you can do with jQuery KASS: Keep APEX Stupid Simple20
  • 21. | 1. Rapid Prototyping APEX/FOEX Wizards KASS: Keep APEX Stupid Simple21 2. Rapid Application Development APEX +(PL/)SQL +jQuery 3. Rapid Rich Internet Application Development APEX +(PL/)SQL +FOEX Plugins Classification of modules in APEX projects Complexity of module End-user time spent each day with the module b. Mockup APEX/FOEX Wizards a. Draft Flipchart / Balsamiq Requirements Engineering For which implementation method am I going for? Implementation Phase
  • 22. | 3: „Rapid Rich Internet Application Development“ Key features:  Like „Rapid Application Development“ - but limited to desktop apps  Layout typically ranges from complex to extreme complex  Logically one page, technically multiple APEX pages  100% AJAX driven KASS: Keep APEX Stupid Simple22
  • 23. | 3: „Rapid Rich Internet Application Development“ KASS: Keep APEX Stupid Simple23
  • 24. | KASS: Keep APEX Stupid Simple 3: „Rapid Rich Internet Appl. Development“ 24 SQL Report defines meta data FOEX Plugins (AJAX) Processes No page processing anymore!
  • 25. | Summary So, how do we keep APEX stupid simple?  Setup Development Guidelines - Use Packaged App „Standards Tracker“ - Use QA Plugin to automatically check your standards  See presentation of Oliver on Tue 24-JUN between 08:30 am - 09:30 am  For each module, decide your implementation method - Rapid Prototyping - Rapid Application Development - Rapid Rich Internet Application Development KASS: Keep APEX Stupid Simple25
  • 26. | Q&A 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: info@mt-ag.com https://apex.mt-ag.com

Editor's Notes

  1. KASS: Keep APEX Stupid Simple or "How to Create Maintainable APEX Pages"
  2. Screenshot Erftverband Fixed headers, column Überschriften vertikal Auswahllisten zum Vorschlag (editierbar) Clientseitige Validierung Breite wird ermittelt Meldung falls nicht gespeichert
  3. - Die Transaktionsebene in FOEX 1.2.x ist pro Komponente (Speichern Button löst pro Komponente eine Validierung/Speichern Aktion aus)
  4. - Die Transaktionsebene in FOEX 1.2.x ist pro Komponente (Speichern Button löst pro Komponente eine Validierung/Speichern Aktion aus)