La Apificación es el término comúnmente utilizado para indicar la adopción de integración mediante API. Esta adopción facilita la integración entre sistemas, ya sean internos o externos, así como una mejora en el control del intercambio de información entre componentes.
En este evento virtual, profundizamos en el concepto de API y en las funcionalidades alrededor de las API como mecanismos de seguridad, auditoría, monetización.
También mostramos las ventajas de incorporar una plataforma de control de API como Oracle Cloud API Gateway. Por último, presentamos varios casos de éxito; entre ellos, la Apificación bancaria para cumplimiento de la normativa PSD2.
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Avanttic evento virtual apificacion_oracle_cloud
1. Apificación de servicios en
Oracle Cloud
Evento virtual
29 de Abril de 2021
Antonio José Molina
Area Manager Integration Development
Alberto Cubillo Peinado
Arquitecto SOA
2. Agenda
Apificación de servicios en Oracle Cloud 2
• Características y ventajas de las APIs
• Oracle API Management
• API Platform
Características
Funcionalidades OOTB
Generación de una API REST
• API Gateway
Características
Funcionalidades OOTB
Generación de una API REST
• Experiencias
• Turno de preguntas
4. Apificación de servicios en Oracle Cloud 4
¿Qué es una API?
Características y ventajas de las APIs
• Una API es un conjunto de subrutinas, funciones y
procedimientos que ofrece cierta biblioteca para ser utilizado
por otro software como una capa de abstracción.
• Las APIs permiten que sus productos y servicios se
comuniquen con otros, sin necesidad de saber cómo están
implementados.
• Las APIs se pueden considerar como contratos, con
documentación que representa un acuerdo entre las partes.
5. Apificación de servicios en Oracle Cloud 5
¿Qué es una API?
Características y ventajas de las APIs
Las APIs son las puertas hacia un mundo digital
Social
Financial
Health
Productivity
Transportation
Devices
6. Apificación de servicios en Oracle Cloud 6
Ventajas
Características y ventajas de las APIs
• Independencia del lenguaje y de tecnologías
• Simplicidad
• Separación cliente / servidor
• Personalización y reutilización
• Escalabilidad
• Flexibilidad y portabilidad
• Aumento velocidad de desarrollo
10. Apificación de servicios en Oracle Cloud 10
Características
Apiary
• Apiary
o API Blueprint – Swagger
o Server Mock
o GitHub Sync
o Command Line Tools
o Traffic Inspector
o Test
13. Apificación de servicios en Oracle Cloud 13
Características
Oracle API Platform
Next-gen, hybrid architecture
• End-to-end capabilities to
Design. Publish.
Build. Consume.
Secure. Monitor.
Deploy.
Easy to use
• Completely new, simplified API management experience
• Support changing business demands
• Clear visibility into who is using APIs
• Operational flexibility –gateways can be deployed in the Cloud or on-premises
17. Apificación de servicios en Oracle Cloud 17
Funcionalidades OOTB – Request policies
Oracle API Platform
18. Apificación de servicios en Oracle Cloud 18
Funcionalidades OOTB – Security Policies
Oracle API Platform
Policies that determine who can send requests to your services.
19. Apificación de servicios en Oracle Cloud 19
Funcionalidades OOTB – Traffic Management Policies
Oracle API Platform
Policies that manage the volume of traffic sent to your services.
20. Apificación de servicios en Oracle Cloud 20
Funcionalidades OOTB – Interface Management Policies
Oracle API Platform
Policies that manage the service interfaces clients are permitted to access.
21. Apificación de servicios en Oracle Cloud 21
Funcionalidades OOTB – Routing Policies
Oracle API Platform
Policies that route requests to different service URLs depending on the requesting
application, the resource requested, and other conditions.
22. Apificación de servicios en Oracle Cloud 22
Funcionalidades OOTB – Other policies
Oracle API Platform
Policies not belonging to already described categories.
23. Apificación de servicios en Oracle Cloud 23
Funcionalidades OOTB – Response policies
Oracle API Platform
67. Apificación de servicios en Oracle Cloud 67
Caso de éxito
Experiencias de Apificación
• Oracle API Gateway para habilitar acceso desde el exterior
• Oracle FaaS a través de API Gateway
68. Apificación de servicios en Oracle Cloud 68
Caso de éxito
Experiencias de Apificación
Content and
Experience
SOACS
API Platform
Identity Manager
API Platform: Publicación de las APIs requeridas por directiva bancaria europea, PSD2.
Aplicación de políticas de seguridad y auditoría: Oauth, Oracle Management Cloud
Segmentación en APIs externas e internas: Gateways internos y externos
69. Apificación de servicios en Oracle Cloud 69
Caso de éxito
Experiencias de Apificación
Análisis, clasificación y listado de toda la información del bus de integración, servicios y APIs
Diseño de la nueva arquitectura de integración.
70. Apificación de servicios en Oracle Cloud
Beneficios
Experiencias de Apificación
70
Prototype
quickly to
collaborate &
align faster
Design /
Document /
Mock-Test
API Platform
& Apiary
Create APIs
& check
against
contracts
Build /
Test
API Platform /
App Dev &
Int. Platforms
Flexible
gateway
deployment
& built-in
security
View
operational
API metrics
Document
& publish
APIs for
reuse
Deploy /
Secure
Discover /
Consume
Manage /
Monitor
API Platform /
App Dev &
Int. Platforms /
Hybrid
API Platform
& OMC
API Platform &
Apiary
App Dev, Mobile
& Int. Platforms
TIME
Faster
Time to
Market
Lower
Cost
Development
• Reducir costes e
inversiones
• Promover el
intercambio de
información
• Disminuir el esfuerzo y
el tiempo
• Adaptación a procesos
avanzados
72. Alberto Cubillo Peinado
Arquitecto SOA
alberto.cubillo@avanttic.com
662 936 545
Antonio José Molina
Area Manager Integration Development
antoniojose.molina@avanttic.com
683 177 882
Editor's Notes
Independencia del lenguaje y de tecnologías: Las APIs nos permiten abstraernos del lenguaje en el que esté desarrollado el código de la funcionalidad que cubren, exponiendo una única interfaz.
Simplicidad: Esta abstracción del lenguaje de programación que haya por debajo, simplifica la forma en la que las aplicaciones se comunican con las APIs. Normalmente estas APIs son de tipo REST y utilizan objetos JSON muy estandarizados.
Separación cliente / servidor: Las APIs nos permiten separar la capa de presentación de la de la lógica de la aplicación, lo que permite que bloqueos en una capa no afecte a la otra capa.
Personalización: a través las APIs cualquier usuario o empresa pueden personalizar los contenidos y servicios que más utilizan.
Escalabilidad: Gracias a la separación entre el cliente y el servidor, el producto se puede escalar con un equipo de desarrollo sin que ello represente muchas dificultades.
Flexibilidad y portabilidad: es posible realizar una migración de un servidor a otro o practicar cambios en la base de datos en todo momento.
Aumento velocidad de desarrollo: Al basar los aplicativos en el consumo de APIs, se pueden abordar diversos desarrollos en paralelo ya que las interfaces de las APIs estarán generadas.
Oracle Cloud proporciona un conjunto completo de servicios para gestionar el ciclo de vida de las API (interfaces de programación de aplicaciones). Oracle Apiary permite a los diseñadores de API crear prototipos y validar las API fácilmente para que sus aplicaciones puedan comunicarse mejor entre sí. Oracle Cloud Infrastructure API Gateway proporciona a los desarrolladores la capacidad de exponer de forma segura las API de sus aplicaciones con fines comerciales o normativos. Oracle API Platform Cloud Service permite a los operadores de API supervisar y monetizar las API, en entornos en la nube locales, de Oracle Cloud y de terceros.
Oracle API Platform: solución PAAS. Fue la primera en adoptarse y tendrá una vida de 3 años.
Oracle API Gateway: solución integrada con OCI
Punto de vista diseñador, herramienta web, integración con Github, resaltado y validación de sintaxis, renderizado de la API,
lenguaje de descripción API Blueprint, admite Swagger y el estándar OpenAPI, servidor mock, test integrados, traffic inspector, command line tools.
Apiary permite la documentación de nuestras APIs tanto en lenguaje:
Swagger
Blueprint
Infraestructura no desatendida.
OAuth 2.0
Enforces using the OAuth 2.0 protocol, that access to this API is only available to request on behalf of one of the listed accounts.
•Key Validation
Enforces that a valid key is provided in the request. The key must be valid and the application must be in the "Registered" state for this API.
•Inbound WSS Username Token
Use an inbound WSS username token policy to enforce verification of credentials sent within the SOAP payload and allow only authorized users to access APIs
•Basic Authentication
Enforces using the Basic Auth protocol, that access to this API is only available to request on behalf of one of the listed accounts.
•Outbound WSS Username Token
Use an outbound WSS username token policy to enable an end-user identity to be passed over multiple hops before reaching the destination Web Service.
•IP Filter Validation
Validates the IP address of the requester. Based on the value of IP theaddress, determine whether to pass or reject value.
•CORS
Controls which domains are allowed to invoke this API.
Traffic Management Policies
Policies that manage the volume of traffic sent to your services.
•API Throttling–Delay
Enforces a limit on the number of requests to this API before introducing additional latency.
•Application Rate Limiting
Enforces a limit on the total number of requests to this API per application. Rejects any requests above the defined limit.
•API Rate Limiting
Enforces a limit on the total number of requests to this API. Rejects any requests above the defined limit. NOTE: this is different than the application-based rate limiting.
Interface Management Policies
Policies that manage the service interfaces clients are permitted to access.
•Header Field Filtering
Use the header field filtering policy to filter the request headers for length and format.
•Interface Filtering
Use an interface filtering policy to filter requests based on the resources and methods specified in the request.
•Redaction
Manages the fields and headers in the request or response payload. You can either explicitly include, or exclude, the headersand fields sent to the backend service (from the request flow) or sent to the client (from the response flow).
•Header Validation
Validates the presence and values of http headers. Can be used for security or to reduce the occurrence of failures/errors atthe service layer.
•Request Payload Validation
Use the Request Payload Validation policy to validate the request message body for length and format.
•Method Mapping
Use the method mapping policy to change the HTTP method of a request to another method you specify before passing it to the service.
•REST API to SOAP Service
Use the REST to SOAP to expose a SOAP service as a JSON REST service.
Routing Policies
Policies that route requests to different service URLs depending on the requesting application, the resource requested, and other conditions.
•Header-Based Routing
The request will be routed based on the header. Can be used for security or to reduce the occurrence of failures/errors at the service layer.
•Application-Based Routing
The request will be routed based on the application.
•Gateway-Based Routing
The request will be routed based on the gateway.
•Resource-Based Routing
The request will be routed based on the resource path. Can be used for security or to reduce the occurrence of failures/errors at the service layer.
•Other Policies
Policies not belonging to already described categories.
•Service Callout
Invokes the configured external service with or without payload, with the provided headers and process the incoming request on the basis of response HTTP Status Code from the external service.
•Logging
Writes a message to the log.
•Groovy Script
Executes Groovy script.
Podemos añadir
políticas de autenticación, bien con JWT generado desde IDCS (Oracle Identity Cloud Service), o bien una custom policy, que deberemos
implementar a través de una function (FaaS). En este punto podemos añadir políticas CORS (Intercambio de recursos de origen cruzado) y
limitar el número de invocaciones hacia nuestra API, filtrando por totales o por IP.
Para añadir las rutas, simplemente añadir el path, los métodos disponibles para ese route, y el tipo de back-end al que va a invocar.
Para cada ruta, podemos añadir también políticas CORS, transformaciones en los headers y query parameters de request y en los headers de
response.