Exploring AJAX from afar

SW
by Scott Wesley11 views·Updated Nov 29, 2017
Powered by AI

Need to present on this topic?

Create your own polished presentation in minutes. Just describe what you need.

Free to try, no credit card required

Slide outline

  1. Cloud
  2. Behaviour
  3. 1.3 billion km — > 70 light minutes
  4. Broadband
  5. Most IT projects
  6. Time to — to asynchronous communication
  7. -- behaviour
  8. Data
  9. APEX
  10. 3 — Enabled by what
  11. -- "broadband"
  12. User Experience
  13. 3 second lag
  14. Client — Now
  15. Big Data
  16. Analysing Defects

Transcript

Exploring AJAX from Afar

A low tech guide to understanding

web based applications

Scott Wesley

aims

- understand what ajax is

- understand how this affects interface design

- see what tools/capabilities available to developers

- occasional sneak peak under hood, because everyone's curious

- nerd up with cassini, because great analogy

replace this example sans inspect element

leave that for elsewhere

just showing simple id into table, refresh report region

wireframe basic report/form with submit

vs one page with just DA / modal

Where did the last 10 years go?

u/p

Who should be here?

evt

id

Who should be here?

{msg:"Titan"}

Agenda

{region_ppr:"<table>...</table>"}

space-nerd intro

Dynamic Actions

-> AJAX

how far?

single page applications

5.2 is coming

Libraries

with an undertone...

inspect element simple

is monitoring ajax just as easy?

I've done it without chrome's help for ages

email behaviour - queues

web service

Common Issues

What is AJAX?

AGENDA:

intro, cassini 5m

Concept -> diagrams 10m

Use Cases -> keyrelease, button w data-id, modal pages 10m

Debugging -> interactions 5m

Common issues 5m

Fav outcome -> inline dialogs 5m

and honour "afar"

common issue of session state

Session State - tell db what browser knows

DA - firing? doing? session state

Error handling

Debugging

AGENDA v2:

intro, cassini 5m

Look like 5m

Deep web 5m

interaction 10m

goal 5m

history 5m

Inline Dialogs

(not to scale)

enables web applications that behave like apps

Inspect Element

What is AJAX?

"don't wait for response"

"do stuff in the meantime"

"forget about page submission"

"make deep web more accessible to the world"

AJAX

WA Police

iPhone release

Google Suggest

What was first instance?

Sun: 8 light minutes

What does it look like for APEX?

"keep looking up"

concept is simple, so simple the first sample code is bleh

maybe show this later

Refresh Report

Dynamic Actions

Modals

What does it look like?

Interactive Report

Interactive Grid

OracleJET Charts

ugh!

#CassiniInspires

Imagery courtesy of NASA/ESA/JPL

Scott Wesley

grassroots-oracle.com

jQuery made it easier

// goto some URL

// show me the data it sends back

APEX made it "low code"

-- big data

</Presentation>

How does deep web work?

Read about RTG concerns

in newspaper

Watch launch

on TV

Watch Titan Descent

on desktop

Watch final descent

on mobile

2000 - Y2K

Google Suggest

iPhone release

Media aware of Cassini's impending doom

2000

1994

1986

1980

WA Police

1996

1990

Watch perspective

on VR

1984

1976

97 - Launch

94 - Political Hubhub

87 - Approved

84-86 Studied

82 Suggested

88 - ESA Officially Joined

98, 99 - Venus Flyby

83 Recommended

AJAX

99 - Earth Flyby

2000 Jupiter Flyby

Experience whatever next

generation invents

soccer?

jQuery

$ paying operations staff

ROI new tech; influencing next generation

1) Pages generated by PL/SQL

2) Conditions on render

3) APEX app is IDE

When did AJAX arrive?

probably beyond scope of this presentation

but show this as cycle. Forms segmented, apex cyclical

<

Oracle APEX

Oracle Forms

C# devs create Form Builder

Oracle devs create APEX Builder

Oracle devs use Form Builder

Oracle devs use APEX builder

10 years?

Oracle devs enhance APEX builder

Oracle devs use APEX builder

to enhance APEX builder

Oracle devs build APEX apps

How do we build

the user process

into a workflow

the user can self-learn

Submit entire page...

domain.com/index.html

Oracle JET

Web Service Integration

Universal Theme Evolution

Absorbing community effort

client

t

server

$64k

$64m

Oracle doing work for us

but re-usable

Plugin Framework

conditional

wysiwyg

- css

- javascript

- data -> html

They all bleed

client

server

Any website widget.

1 connection

per user

Oracle

WLS

Anything you've seen on the net.

Wants / Needs

apex.oracle.com/pls/apex/f?p=12345

mydomain.com/order/3141592

session_id

client

server

Tell the database what the browser knows

10k requests / hour

Test Plan

~10 connections

1) Dynamically generate a page

2) click a thing

3) set a value

4) instigate change

Know process

if A then B

PL/SQL

generates

HTML

"stateless"

anything you've seen a website do

requirements

Tester

Developer

Stakeholders

Business Analyst

a) click a thing

b) set a value

c) instigate change

don't think this is needed

Trigger Dynamic Action

OnChange: P50_MOON

JS: Call AJAX

Click Button

P50_MOON = 7782

$s('P50_MOON', "#EMPNO#");

See what's

produced

Toggle CSS

settings

(hidden)

data-id="#EMPNO#"

you have a RAD tool that can do this?!

running on your oracle data set?

change your business

really is like building lego

client

client

server

server

https://apex.oracle.com/pls/apex/f?p=27882:50:109550235194089::NO::

change your business!

1) Dynamically generate pages

2) click a thing

3) set a value

4) instigate change

We can manipulate most things

on an APEX web page

like we manipulate data in a table

no more jQuery mobile theme

5.2 User Interface changes

ok google,

pretend you're a mobile device

Render

Process

AJAX

How does this affect UI design?

Date User Elapsed

All APEX interaction logged

1

Day job

2

Jan 2005 - Titan Lander

3

JavaScript

CSS

Images

4

Dreamworks

Cloud

5

stateful

feature rich

middle tier memory hog

6

Behaviour

(JavaScript)

7

Orbiting Saturn

Launch

Cassini Project Length

8

> 70 light minutes

Cassini (NASA)

Huygens Lander (ESA)

1.3 billion km

9-11 AU

9

Broadband

10

Most IT projects

11

"Page item to submit"

12

Time to

to asynchronous communication

add perspective

13

JInitiator

14

James Webb Space Telescope

15

741451

P1_NICK

Science Guy

16

1.5m km

L2 Lagrange point

17

jInitiator

18

~384,000 km

1.3 light seconds

19

July 2004 - Saturn Orbital Insertion

20

Phone type

21

Developing with APEX

is like building lego

22

JavaScript

Console

23

-- behaviour

5.0 Locked browser

5.1 Truly Asynchronous

24

Disintegrated on entry due to

feet vs metres calculation

1999 Mars Climate Orbiter

25

CGI-bin

Data

26

(byo integration)

same same

27

Value

Session ID

Item

123456

Marie Roach

P1_NAME

28

APEX

29

...Before next step

30

3

Enabled by what

technologies?

31

741451

Bill Nye

P1_NAME

32

-- "broadband"

33

Analysing 635GB Data

34

User Experience

35

3 second lag

36

Testers

Mechanics

37

Managers

Understand how the

sausage is made

38

Fundamentals

39

PL/SQL: add_member()

p_n001 => :P50_MOON

40

javascript

and XML

<probe>cassini</probe>

41

Network throttling

42

Interactive

Applications

43

Orientation

44

Value

Session ID

Item

741451

-

P1_MOON

45

AJAJ

and JSON

{"probe" : "cassini"}

46

space_nerd := 3

47

User eXperience (UX)

48

Hubble 400km

49

Book

50

Value

Session ID

Item

741451

7782

P1_MOON

51

Now

90s

Future

Client

(Browser)

Middle Tier

(ORDS

/ WLS

/ Tomcat)

Database Tier

(Oracle DB)

52

Big Data

53

Video

54

space_nerd := 12

55

@swesley_perth

56

comparisons

What's AJAX?

How does it work?

capability

history

browser

Tools

session state

What's in it for me?

debug

User Experience (UX)

57

Partial Page Refresh

Refresh: Moon collection report

58

Fax

Calendar

Telex

Camera

Recorder

Radio

GPS

59

Forum

60

"George Hrab - Far"

youtu.be/dF2HG1PVZok

61

Client runs Applet with jInitiator

62

Test Plan

63

Devop

-des-admin-ba

Don't fear nasty bits

64

Business Analysts

Capabilities

65

c:\temp

66

Analysing Defects

67

submitting entire page

68

Afar

10 AU

1.5m km

500+ kms

30000 ft

69

Each

navigation

Each record

post-query

Each button

Every event

Pessimistic locking

70

space_nerd := 11

71

Oracle devs create APEX apps within APEX apps

Everyone uses browser