30
Oracle APEX como frontend para tu Java backend Alexis López Mónica Godoy

Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Oracle APEX como frontend para tu Java backend

Alexis LópezMónica Godoy

Page 2: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

@acelopezcowww.acelopez.com

Acerca de Alexis López

Page 3: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Acerca de Mónica Godoy

monicagodoymillan

Principal Product Manager Oracle APEX

Page 4: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Oracle APEX

● Plataforma de desarrollo low-code que permite crear aplicaciones asombrosas, escalables y seguras.

● Sin costos adicionales.

● Cualquier edición de base de datos. A partir de la 11g.

● Pruebalo gratis en https://apex.oracle.com/en/ https://cloud.oracle.com/es_ES/tryit

Page 5: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Oracle APEX

● Aplicación y diapositivas:○ https://apex.oracle.com/pls/apex/f?p=Groundbreakers

Page 6: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Backend

● Java RESTful API.

● Oracle Application Container Cloud

● MySQL Cloud Service●

Page 7: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●REpresentational State Transfer

/img/file.png

Page 8: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●RESTful APIs

SwaggerOpen API

ApiaryBluePrint

HTTP

frontend

backend

Page 9: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

HyperText Transfer Protocol

● Protocolo Petición-Respuesta● TCP● Encabezados como método de extensión

○ Authorization○ Cache-Control○ Content-type○ ...

Page 10: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

HyperText Transfer Protocol

● Verbos significativos○ GET, POST, PUT, PATCH, DELETE...

● Respuestas significativas○ 1xx -> Informativas○ 2xx -> Operaciones exitosas (200 OK, 201 Created…)○ 3xx -> Redireccionamiento (301 Moved Permanently, 304 Not Modified...)○ 4xx -> Errores de cliente (400 Bad Request, 404 Not Found…)○ 5xx -> Errores de servidor (500 Internal Server Error...)

Page 11: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

HyperText Transfer Protocol

GET / HTTP/1.1Host: developer.domain.orgAccept-Language: es

HTTP/1.1 200 OKContent-Length: 3000Content-Type: text/html

<html>...Cuerpo

PETICIÓN RESPUESTA

Recurso Versión

EncabezadosMétodo

Versión Respuesta

Desc. Rta.

Versión

Encabezados

Page 12: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●RESTful APIs - Algunas buenas prácticas

SSL Documentación

https://www.googleapis.com/blogger/v2/users/userId

https://www.googleapis.com/blogger/v3/users/userId

Versionamiento en URL

Page 13: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●RESTful APIs - Algunas buenas prácticas

POST /countries HTTP/1.1Host: midominio.com

{ “name”: ”Colombia”, “region”: “LAD”, ”code”: “CO”}

Nuevo recurso

HTTP/1.1 201 OKContent-Type: application/jsonLocation: /parks/1

Retornar el recurso creado/actualizado después de POST, PUT o PATCH

Page 14: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●RESTful APIs - Algunas buenas prácticas

HTTP/1.1 400 Bad Request{ “code”: ”ERR-01”, “message”: “Recurso ya existe”, ”description”: “Existe un parque

con el mismo nombre”}

HTTP/1.1 200 OKX-Rate-Limit-Limit: 1000X-Rate-Limit-Remaining: 590X-Rate-Limit-Reset: 1800…

Definir mensajes de error con información útil

PermitidasRestantes

Seg. restantes

Proveer info de límites de uso

Page 15: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●Tecnologías Java

JerseyJAX-RS JPA

CDI

Page 16: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Java RESTful API

●Patrón de Diseño: Entity Control Boundary (ECB)

http://www.cs.sjsu.edu/~pearce/modules/lectures/ooa/analysis/ecb.htm

Page 17: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Oracle Application Container Cloud

Page 18: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Oracle Application Container Cloud

●Tecnologías soportadas

Page 19: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Oracle Application Container Cloud

●Escalamiento automático

Page 20: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Web Source Modules

● Referencia a uno o más servicios web externos.

Módulo

Page 21: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Módulo

●Regiones

Page 22: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Wizard

Page 23: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Wizard

Page 24: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Operations

Page 25: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Web Credentials

● Basic Authentication○ Username○ Password

● OAuth2 Client Credentials Flow○ Client ID○ OAuth2 Client Secret

Page 26: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Autenticación

● Cuentas de Base de Datos● Cuentas de APEX● Directorio LDAP● Oracle Application Server Single Sign On● Social Sign In● Personalizado

Page 27: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

APEX_WEB_SERVICE

apex_web_service.make_rest_request(p_url => URLp_http_method => 'POST',p_body => '{

"user": "groundbreakers", "password": "12345"}'

);

Page 28: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Configuración

Page 29: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Próximo Evento

Page 30: Oracle APEX como frontend para tu Java backendJava RESTful API HyperText Transfer Protocol GET / HTTP/1.1 Host: developer.domain.org Accept-Language: es HTTP/1.1 200 OK Content-Length:

Gracias