apex data services€¦ · / 64 @mathiasmag oradbdev.mathiasmagnusson.com evil ape or one could use...

Post on 02-May-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

APEX Data ServicesMathias Magnusson

Evil Ape

1 / 64

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 642

MeMathias Magnusson

Owner/Consultant at Evil Ape

Founder & Leader of SWEOUG

oradbdev.mathiasmagnusson.com / @mathiasmag

Oracle ACE

3 Membership Tiers Oracle ACE Director Oracle ACE Oracle ACE Associate

bit.ly/OracleACEProgram

500+ Technical Experts Helping Peers Globally

Connect:

Nominate yourself or someone you know: acenomination.oracle.com

@oracleaceFacebook.com/oracleaces

oracle-ace_ww@oracle.com

3

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

What is REST?

A standard web service API allowing HTTP-calls that:

Give every “thing” an ID Link things together Use standard methods Resources with multiple representations Communicate statelessly

6

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Let’s look at

• Remote Database

• REST Enabled SQL

• WEB Source

• Reading and writing

7

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Remote Database

• Is APEX-talk for REST Enabled SQL (ORDS)

• REST-enable in one database

• Access from another (where APEX runs)

8

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

The setup

ADW - Defining REST services

ATP - Using REST services

9

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Let’s start

Set up in ADW

1.Schema to use rest enabled SQL

2.Tables with auto rest enabled

10

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6411

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6412 @mathiasmag Evil Apeoradbdev.mathiasmagnusson.com

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6413

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6414

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6415

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6416

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6417

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6418

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6419

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6420

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6421

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Time to switch DB

Accessing from ATP

Getting data from Remote Database Set up Rest Enabled SQL Set up autorest on a table

22

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6423

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6424

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6425

Note: Endpoint ends with “ords/restdemo” I.e only referring the alias of the schema

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6426

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6427

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6428

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6429

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Next up - Web Service

• With SQL over REST covered

• Lets look at using the autorest table

30

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6431

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6432

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6433

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6434

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6435

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6436

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6437

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6438

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6439

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6440

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Created - Let’s use it

• Now that we got a brand new web service

• We’ll use it in an interactive report

41

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6442

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6443

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6444

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

But… How about updates

Reading is nice

But for a real solution we want to update

What would be GREAT would be to just edit an IG, click save and have it use proper REST

Well, one can always dream. Right?

45

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

OROne could use 19.2

The dream factory affectionately known as the Oracle APEX Development team makes dreams come true.

Nothing more needed than IR to make a full featured IG based on rest for select, insert, update, delete.

It is just AWSOME!

46

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6447

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

SEP

Let it be someone else’s problem.

Use a REST-service created by someone else.

48

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

What is the data

• Game with clans

• Clans has members

• Members collect cards

49

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6450

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6451

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6452

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Make a copy

• First API was “clan”

• Second is “player”

• Copy + path prefix + Data Profile

53

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6454

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6455

Was: clan + 2CCCP

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6456

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6457

Was: members - auto selected last time

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6458

@mathiasmag Evil Apeoradbdev.mathiasmagnusson.com/ 64

Build drill-down

• Nothing new really

• Just build as was always do in APEX

59

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6460

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6461

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6462

Note: No Auth here.

oradbdev.mathiasmagnusson.com@mathiasmag Evil Ape/ 6463

Q64 / 64 @mathiasmag Evil Apeoradbdev.mathiasmagnusson.com

top related