Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

Scott Wesley

@swesley_perth

FOEX

upload.wikimedia.org/wikipedia/commons/e/eb/Mount_Rainier_from_west.jpg

Scott

Sinkers

Jacko

T-bone

Kempy

APEX for Forms Developers

Chief Wadda

Ada

APEX

"clearly an APEX guy"

Pascal

Forms

BASIC

... Kscope19

who_am_i; -- ?

in the naughties...

age = 7

age := 29;

age := 14;

age := 20;

age := 18;

Learn APEX?

Peak

(cloud)

Forms

why me?

couldn't even pronounce it

value_error

www.foex.at/c/The_State_of_Oracle_APEX_Development_Report_2018.pdf

2018 State of APEX Development Report

Connor

AT

Hong

"Empty your mind..."

24 hours recuperation

learn & shape future

"Put water in the teapot

it becomes the teapot"

IDE

General Differences

Layout

Concepts

Terminology

Process

IDE

Dev Process

By Jeffrey Pang from Madison, NJ, USA - Rainier LinesUploaded by X-Weinzar, CC BY 2.0

commons.wikimedia.org/w/index.php?curid=15734617

Chuck Hasaged

Workflow

Session State

Forms Developer

Layout

Documentation

Tomcat

Security

Migration

Ada Lovetabs

APEX Developer

Doco, Forums, /ut, apex.world

IDE

Form (data block) properties

Best bits, simplified

Column properties

5.0

Translations

www.grassroots-oracle.com/2018/09/oracle-forms-to-apex-ide-transition.html

Wizards

Still a thing

Ubiquitous Attributes

:P1_ITEM

APEX Report with Form

Render

Generate HTML from PL/SQL

1. Render

3. Dynamic

Actions

2. Process

Process

Page Submit

Dynamic Actions

Event Triggers - browser style

Shared Components

Lists

Parameters

Vital

f?p:APP:PAGE:314159265359:REQ:NO::P1_EMPNO:1234

Record Groups

~ Report Column

~ Item

- Radio Group

- Select List

- Autocomplete

- Checkbox

...

Alerts

Final Confirmation

Dev Terminology

All very similar,

right?

Application

&SESSION.

Performance

Security

pk.add(:P1_ITEM);

Menu

Lists

(Label, Target,

Hierarchy, Condition)

Layer 8

Object Library

Universal Theme

Templates

User Interface Defaults

Visual Attributes

Template Options

Shared Components

Client

Development Process

Forms Standalone Launcher

Template

IDE

3) Close form

PDF

5) Open form

Tomcat

WebLogic

ORDS

4050 Internal Administration

Produce File

business data

IDE

4750

4500

4800

4000

Refresh

region

User thinks

101 Login / Menu App

4550

compile

when-anything

wnfi

- 102 Module A

Convert

Tomcat

Copy executables

read consistent

- 103 Module B

Submit page

In case you missed it...

Render page

IR / Charts / Drill

ORDS

- 104 Module C

blogs.oracle.com/apex/thats-a-classic-report-really

exe-qry

post-qry

- 110 Reports Module

post-qry

Page

Processing

chatty - per block, array size, pq

connection pool

Java

Business Data

schema

parsing schema

New Needs

Meta-data

apex_190100

- My Apps

Internal Feedback Loop

- Builder

data

Apps

4550 APEX Login

IDE

the fittest features survive

Feedback ... Different

- 4000 App Builder

C#

Forms

.fmx

Runtime

Selected Modules

ancient survivor

- 4500 SQL Workshop

- 4800 Team Development

IDE

- 4750 App Gallery

PL/SQL generating HTML

App is data

IDE just like Forms

Workflow

Session State

commons.wikimedia.org/wiki/File:Nisqually_Glacier_0900.JPG

Simple Interaction

User Flow

ora-00054 resource busy

"Record updated by another user"

Chuck updates

record in Forms

Tomcat

WebLogic

ORDS

Stateful

Stateless

commit;

rollback;

session alive?

?

if I would graph it

No POST;

No display of results prior to commit

No Global Temporary Tables

No Package Persistent Variables

No hour-long locks

~100 humans per tech

No mid-PL/SQL user prompts

workflow is different

Sharing Connections

Explicit commits rarely necessary

Pessimistic -> Optimistic Locking

GTTs -> APEX Collections -> DIY

Session State - table(session, item, value)

workflow is different

Session State is just a

table of data

Tomcat

ORDS

Execute Query

Session State

just a table of data

App Workflow

gonna be different

APEX

Layout

Forms Layout

"wysiwyg"

APEX World

responsive

10"

4"

23"

42

Universal Theme

"I may not have gone where I intended to go,

but I think I have ended up where I needed to be"

- DA

apex.oracle.com/ut

for

Components

+ Business Analysts

#Kscope19

Grid Layout

width / 12

Oracle Forms

Developers

Button Position

Button Builder

Universal Theme

responsive

mobile aware

evolving

Documentation

flatearthinsanity.blogspot.com/2016/09/flat-earth-follies-incredible-shrinking.html

apex.oracle.com/shortcuts

.hlp not like 'Win10%'

Syntax?

Never SQL

&ENAME!HTML.

Scott Wesley

Still lots

True/False

JS Documentation

Universal Theme

Documentation

grassroots-oracle.com

inline

Security

apex.oracle.com/ut

apex.oracle.com/bookmarks

By Troy Mason - Flickr, CC BY 2.0,

commons.wikimedia.org/w/index.php?curid=2043872

Mapping Behaviour

Authentication

Business Role

Social

LDAP

DB

SSO

Users

'Y' in (:F_ADMIN, :F_DEV)

Tomcat

WebLogic

Admin

Developer

User

ORDS

Roles

@swesley_perth

Authorisation

Conditions

Show if x = y

:P1_STATUS = 'Q'

www.grassroots-oracle.com/2013/05/performance-of-apex-conditions.html

Authorisation Schemes

Re-usable condition

- Buttons

- Regions

- Pages (branches)

- Links

...

:F_SEC_FOO = 'Y'

Grants

Query custom security table

SET_ITEM_PROPERTY(pi_item, NAVIGABLE, PROPERTY_TRUE);

SET_ITEM_PROPERTY(pi_item, INSERT_ALLOWED, PROPERTY_TRUE);

SET_ITEM_PROPERTY(pi_item, UPDATE_ALLOWED, PROPERTY_TRUE);

Forms Menu Security

Awkward

Lists .. of links

Security

Authentication

Decoupled

Authorisation

All about conditions

Go granular!

" "

Migration

"conversion"

commons.wikimedia.org/wiki/File:Mt._Rainer-Reflection_Lake.JPG

Different Behaviour

Decades of change

Digital Natives

New needs

Balance Legacy

"Digital Transformation"

f101 Login / Menu App

- 103 Module E

- 102 Module A

- 104 Module F

- 110 Reports Module

Tomcat

WebLogic

ORDS

Different release cycle

Defined scope

User set

New privileges

Share credentials

Share Business Data

Forms Log

What's being used?

Revision

Similar

Similar

Similar

Very Different

Architecture

IDE

Control

Workflow

Session state

Layout

Security

Migration

Adaptable

Very Different

More Flexible

Piece-meal

Lunch & Learn

Room 6c @ 1pm Today

Scott Spendolini (Moderator)

Dimitri Gielis – Peter Raganitsch - Vincent Morneau – Scott Wesley

AOP

FOEX

PWA

(me)

awkward bits

4) Copy to server

.fmx

.plx

.mmx

Dynamic

Actions

data

apex_190100

Dynamic Action

314159

:DATA_BLOCK.column

:PARAMETER.empno

:CONTROL.item

Est. 1834

< 'Seattle' 1853

Conditional Display

Conditional Security

Conditional Release

:APP_USER

has

'AB3C'

Maybe. PL/SQL

Rare. Maybe PL/SQL

HTML

Views

1) Compile Form

ctrl-shift-k, t

Ada thinks (+lunch)

WebLogic

Session State

108423351101145

P1_EMPNO

314159

Session ID

Item

Value

Dynamic Actions

Triggers

from users

API(:P1_ID)

Refresh

Region

Ada thinks

Chuck

IDE

Business Roles

DB Accounts

Privileges

Canvas

history.nasa.gov/SP-350/ch-13-4.html

Forms Usage of 1 Month

(Log visit pre-form)

https://twitter.com/sspendol/status/973698402088292352/photo/1

super_user

b) import

(n)

API{DML}

commit;

Frequent

Regular

Handball

Hardcore

APEX Upgrades

Starting off

... or Go Declarative

www.grassroots-oracle.com/2013/05/performance-of-apex-conditions.html

what

when

who

hash comparison of data

still same?

.

Developer changes code

Partial Page Refresh

Updated data

Session from pool

PL/SQL

Developer Behaviour

Layer 8

Outcome

Page + Message

Users

Business Roles

Privileges

Report

Select report

Page

Session from pool

PL/SQL

swesley

Usual - SQL, PL/SQL calls

Sunday Symposium

+ Geek night

Wednesday

Tuesday

+ ACE Day

Thursday Morning

Monday

+ community event

= 50+ hours

+ Special Event

Flood of hits

No impact on wait time

Hide Button

T

W

M

Weekend

Template Options

oracle

commons.wikimedia.org/wiki/File:Siamese_Crocodile_white_background.jpg

&P1_ITEM.

HTML

level of access?

Authorisation

Page

Region

Item

Item

:P1_ITEM

SQL

https://apex.oracle.com/pls/apex/f?p=42:6100

Editor

Video

Tomcat

ORDS

Dynamic Action

- Refresh Region

Navigator

with tabs

2) Copy to server

.bat

#SmartDB

Ada

Apex

(Quick Edit, PL/SQL)

Blog

Book

Page

Form

Menu

Ada thinks

HR clicks button

DB Accounts

Social Sign-In

Shared Components

Community

Welcoming

Forms

Cookie Name

Session ID

User Interface Defaults

Theme

POST;

PDF

twitter.com/shakeeb

.fmx

.plx

.mmx

.rep

www.hq.nasa.gov/alsj/a13/a13_LIOH_Adapter.html

commons.wikimedia.org/wiki/File:Changyuraptor.png

Privilege

  • View User {A}
  • Edit User {B}
  • Reset User Password {C}
  • Deactivate User {D}
  • Change User Role {E}

a) export

f101.sql

  • Workspace Admin {ABC}
  • Developer {BC}
  • End User {D}

Runtime

2) Refresh Page

Parsing Schema

who?

Authentication

:DATA_BLOCK.column

:PARAMETER.empno

:CONTROL.item

~100 users each tech

APEX scales to

handle pressure

PL/SQL Package

Program Unit

APEX

Seattle

25hr travel

APEX scales to

handle flood

Developer Behaviour

Business Behaviour

drive

potential

real world

fundamentals

natural selection

https://www.adaptnetwork.com/sports/snow/filip-flisar-ski-cross-jetpack/

WebLogic

IF has_role() THEN

set_item_property()

30hr travel

Region

Block

Undo

Compile

Revert

Form

Select record ID = 314

Page

Session from pool

PL/SQL

All

delightfully

programmers

should

read

creative

information

Lists

PLL

Forum

B

A

APEX

job

#actions

+1

- Module A

- Module B

- Module C

- Reports*n

from devs

- Builder

- My Apps

(OAuth2)

LDAP

APEX

Custom

1) Save changes

Throttle

Device

Orientation

#SmartDB

when-new-form-instance

log_form_visit

(p_current_form => name_in('SYSTEM.CURRENT_FORM')

,p_user => GET_APPLICATION_PROPERTY(username)

);

Properties

"Extending EBS with Oracle APEX"

www.oracle.com/technetwork/developer-tools/apex/learnmore/apex-ebs-extension-white-paper-345780.pdf

Learn more about creating dynamic, engaging presentations with Prezi