SlideShare une entreprise Scribd logo
1  sur  36
Last Updated: Apr 2015
WSO2 API Manager y ESB la
plataforma perfecta para
evolucionar los servicios
2
AGENDA
• Introducción
• WSO2, Chakray
• Exponiendo Servicios Complejos del ESB en un API REST
• Veremos un ejemplo y hablaremos del patrón de fachada API
• OAuth 2.0, su implementación en API Manager
• Veremos su implementación y hablaremos de seguridad API
• Los 5 secretos mejor guardados del API Manager, que deberías conocer.
• Relacionaremos 5 peculiaridades muy interesantes y poco conocidas.
• Velocidad y escalamiento / alta disponibilidad
• Realizaremos alguna prueba en directo de velocidad.
• Preguntas y Respuestas.
Sanjiva
Weerawarana
Hola? Somos
MM
Venture Capital
$30
3
4
Una plataforma completa para crear negócios conectados
4
Mountain
View,
California,
USA
Bloomington
Indiana, USA
London,
United
Kingdom
Colombo,
Sri Lanka
São Paulo,
Brazil
Oficinas
5
Equipo
500+
6
Publication Category WSO2 Year
Gartner Magic Quadrant for Enterprise Application Platform as a Service Visionary 2014
Gartner Magic Quadrant for Application Services Governance Visionary 2013
Gartner Magic Quadrant for On-Premises Application Integration Suites Visionary 2013
Gartner Magic Quadrant for On-Premises Application Platforms Visionary 2013
The Forrester Wave API Management Platforms, Q1 Leader 2013
Gartner Magic Quadrant for Systematic SOA Application Projects Visionary 2012
Gartner Magic Quadrant for Systematic Application Integration Projects Visionary 2012
Gartner Magic Quadrant for SOA Infrastructure Projects Visionary 2012
The Forrester Wave Integrated SOA Governance, Q1 Strong Performer 2012
The Forrester Wave SOA Service Life-Cycle Management, Q1 Strong Performer 2012
The Forrester Wave Standalone SOA Management Solutions, Q4 Strong Performer 2011
Gartner Magic Quadrant for SOA Governance Technologies Visionary 2011
The Forrester Wave Enterprise Service Bus, Q2 Leader 2011
Presencia en estudios
del Mercado
7
+ de 250 Clientes
8
9
• "Enfoque brillante, amor a la modularidad, lo que permite una gran
flexibilidad. Estamos muy contentos de estar trabajando con WSO2 "
- Jim Crabbe, Senior Product Manager, Boeing
• "La extrema capacidad de soporte, es lo que nos cautivó con WSO2"
- Prakash Iyer, Vicepresidente del Software Arquitectura y Estrategia, CIO,
Trimble.
• “Con el uso de WSO2 ESB, habíamos sido capaces de proporcionar a los
clientes y nuestors socios la calidad y experiencia que esperan de eBay" -
Abhinav Kumar, Gerente senior de Ingeniería de Sistemas en eBay.
¿Y los clientes, que dicen?
10
Introducción
Jack A. Rider
Principal Software Architect & Consultant
Integration, Open Source, BPM, ECM, Portals
jack.rider [at] chakray.com
España +34 667770067
UK +44 (0) 7474742263
11
Introducción
• Grupo de consultores sénior enfocados en integración con WSO2
• Preferred Partner con presencia en Europa y Sudamérica.
• Especializado en servicios a integradoras.
• Suministra Training oficial on-line y presencial.
12
Introducción
CHAKRAY : “Palabra Quechua que describe el buen uso que en el mundo Andino se le ha dado a la
Tecnología para el trabajo con la tierra.”
Aportar la excelencia en la planificación, implantación , soporte y formación de
sistemas críticos WSO2
Misión:
Visión: • Ser una empresa de alta especialización sobre sistemas críticos WSO2.
• Sabemos que el principal activo es nuestro equipo.
• Sabemos colaborar con todos los “Stakeholders“ del proyecto dando soporte de
muy alta calidad a los negocios de sus clientes, gestionando y evolucionando
sus Sistemas de Información.
13
Exponiendo Servicios del ESB en un API REST
• Breve Ejemplo de cómo exponer servicios
14
Exponiendo Servicios del ESB en un API REST
• Patrón de Fachada
• Las fachadas nos protegen de la complejidad de las implementaciones internas
• Nos proveen de interfaces mas simples
• Proporcionan una coherente y superior experiencia de usuario.
• En nuestro caso además libera al desarrollador de preocupaciones como
• Gestionar la autorización a los consumidores
• Controlar su monitorización, monetización.
• Control en la limitación de uso (throttling)
• Simplifica la gestión del versionado
• Etc. Etc.
Wikimedia Commons
WSO2 Blogs : A pragmatic approach to the API facade-patternWSO2 Blogs : implementing an api façade with the wso2 API management platform
15
OAuth 2.0, implementación en API Manager
• La API es creada y publicada
• Se crea la Aplicación
• Se generan los Tokens
• Las APIs son subscritas en la Aplicación
• El consumidor obtiene el “Authorizacion Grant”
• El consumidor obtiene el “Access Token”
• El consumidor accede al recurso
OAuth (Open Authorization)
es un protocolo abierto,
propuesto por Blaine
Cook y Chris Messina, que
permite autorización segura
de una API de modo
estándar y simple para
aplicaciones de escritorio,
móviles y web.
Aplicación
cliente
Dueño del Recurso
Servidor de
Autorizaciones
Servidor de Recursos
Authorization Request
Authorization Grant
Authorization Grant
Access Token
Access Token
Resource
https://tools.ietf.org/html/rfc6749 http://es.wikipedia.org/wiki/OAuth
16
OAuth 2.0, implementación en API Manager
Dueño del Recurso
Servidor de
Autorizaciones
Servidor de Recursos
Authorization Request
Authorization Grant
Authorization Grant
Access Token
Access Token
Resource
Store y Key
Manager
API
Gateway
Publisher
Publica APIs
Çheck Access Token
Crea Apps & Subscribe a APIs
Publish APIs
Resources
Publish APIs
Desarrollador
Aplicación
cliente
17
OAuth 2.0, implementación en API Manager
Publisher
Publishes APIs
Desarrolador
1.- Logarse al Publisher:
2.- Añadir API.
18
19
OAuth 2.0, implementación en API Manager
Dueño del
recurso Store y
Key
Manager
Aplicación
Cliente
Creates Apps & Subscribes
to APIs
1.- Logarse al Store
2.- Añadir/Crear Aplicación
3.- Generar Subscription Keys
20
OAuth 2.0, implementación en API Manager
Dueño del
Recurso Store y
Key
Manager
Aplicación
Cliente
Creates Apps & Subscribes
to APIs
1.- Seleccionar API
2.- Seleccionar Application
3.- Pulsar “Subscribe”
21
OAuth 2.0, implementación en API Manager
Servidor de
Autorizaciones
Store y
Key
Manager
Aplicación
Cliente
Authorization Grant
Authorization Token
1.- Codificar B64 “Consumer key : Secret”
2.- Enviar Solicitud de Autorizacion
Consumer Key Consumer Secret B64 Encoded (Consumer key:Consumer Secret)
cfB4G2UpNPXThsiPLWnj0iFdv8wa C8ygxh9d3qtTaaW2fhyAobWaz
Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5
QW9iV2F6dElh
Request:
curl -k -v -d "grant_type=password&username=admin&password=admin" -H "Authorization: Basic
Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh, Content-Type:
application/x-www-form-urlencoded" https://localhost:8243/token
Response:
{"scope":"default","token_type":"Bearer","expires_in":3299,"refresh_token":"35328bcc6b129e7c0d88b46fba0d7cd","
access_token":"e6c0981142da2d806a8d397f9534a52"}
22
OAuth 2.0, implementación en API Manager
1.- Enviar petición con Bearer Header
Access Token
C8ygxh9d3qtTaaW2fhyAobWaz
Request: curl -v -X GET -H "Authorization: Bearer e6c0981142da2d806a8d397f9534a52" "http://localhost:8280/return_json/red"
Response: { "color_response": { "name": "red" }}
Servidor de
Recursos
API
Gateway
Aplicación
Cliente
Authorization
Request
Authorization Grant
Key
Manager
Resources
23
OAuth 2.0, implementación en API Manager
1.- Enviar petición con Bearer Header
Access Token
C8ygxh9d3qtTaaW2fhyAobWaz
Request: curl -v -X GET -H "Authorization: Bearer e6c0981142da2d806a8d397f9534a52" "http://localhost:8280/return_json/red"
Response: HTTP/1.1 401 Unauthorized <ams:message>Access Token Expired</ams:message>
Servidor de
Recursos
API
Gateway
Aplicación
Cliente
Authorization
Request
Authorization Grant
Key
Manager
24
OAuth 2.0, implementación en API Manager
Servidor de
Autorización
Aplicación
Cliente
Store y
Key
Manager
Authorization
Refresh
Authorization Token
New Refresh Token New Access Token
7b32865471a287a2a3ba8fd2220b1 c13e34f5acda279e862f4f6c7151f058
1.- Codificar B64 “Consumer key : Secret”
2.- Enviar petición Authorization Refresh.
Refresh Token B64 Encoded (Consumer key:Consumer Secret)
35328bcc6b129e7c0d88b46fba0d7cd Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh
Request:
curl -k -v -d "grant_type=refresh_token&refresh_token=35328bcc6b129e7c0d88b46fba0d7cd" -H "Authorization:
Basic Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh, Content-
Type: application/x-www-form-urlencoded" https://localhost:8243/token
Response:
{"scope":"default","token_type":"Bearer","expires_in":3600,"refresh_token":"7b32865471a287a2a3ba8fd2220b1","ac
cess_token":"c13e34f5acda279e862f4f6c7151f058"}
25
OAuth 2.0, implementación en API Manager
Servidor de
Autorización
Store y
Key
Manager
Aplicación
Cliente
Authorization
Refresh
Authorization Token
1.- Codificar B64 “Consumer key : Secret”
2.- Enviar Petición “Token revoke”
Refreshed Access Token B64 Encoded (Consumer key:Consumer Secret)
c13e34f5acda279e862f4f6c7151f058 Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh
Request:
curl -k -d "token=c13e34f5acda279e862f4f6c7151f058" -H "Authorization: Basic
Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh"
https://localhost:8243/revoke
Response: NO RESPONSE
26
Los 5 secretos mejor guardados del API Manager
• Templates
• Los templates son las plantillas Velocity que se encargan de generar el código Synapse desde nuestras
definiciones en el Publisher.
• Respuesta Javascript
• Podemos definir APIs que directamente ejecuten código javascript en vez de llamar a un EP.
• Los builders y los formatters
• Esto son clases que se ejecutaran en el proceso de entrada y salida del mensaje dependiendo del
“contenType”. Sirven por ejemplo para validar el contenido de los mensajes antes de procesarlo.
• Servicios web nativos que expone el API Manager
• Al igual que otros productos de WSO2, API Manager expone servicios web que pueden ser utilizados
desde herramientas externas. Por ejemplo podemos con “cURL” o “SoapUI” publicar un API.
• SoapUI Plugin
• http://smartbear.com/news/news-releases/wso2-as-api-integration-partner/
27
Los Templates
• Los Templates son las plantillas Velocity que se encargan de
generar el código Synapse desde nuestras definiciones en el
Publisher.
• Velocity (https://velocity.apache.org) es un sencillo motor de plantillas basado en Java
• Mediante su edición podemos automatizar la customización de nuestras APIs.
• Podemos añadir nuevos handlers.
• modificar comportamientos por defecto.
• En resumen tener control sobre la generación de nuevas APIs desde el Publisher.
• Veamos un template. [API-HOME]/repository/resources/api-templates
28
Respuesta Javascript
• El API Publisher permite definir “in-line” una respuesta
Javascript a las peticiones recibidas.
• Es una solución rápida, sencilla y elegante a funcionalidades básicas.
• Ejemplo de Javascript por defecto:
mc.setProperty('CONTENT_TYPE', 'application/json');
var body = mc.getProperty('uri.var.body');
mc.setPayloadJSON('{ "data" : "sample JSON"}');
29
Los builders y los formatters
•Clases que se ejecutaran en el proceso de entrada y salida del
mensaje dependiendo del “contentType”.
• Nos permite validar los payload de entrada y formatear los de salida, dependiendo del
“contentType” del mensaje.
• Son funcionalidades provistas por el motor de web services de AXIS2 que nos van
proporcionar control sobre los tipos de payload que recibimos y emitimos.
• Ver:
• https://docs.wso2.com/display/ESB480/Working+with+Message+Builders+and+
Formatters
• http://axis.apache.org
• Veamos como esta definido por defecto [AM-HOME]/repository/conf/axis2/axis2.xml
30
Servicios web nativos del API Manager
•API Manager expone servicios web que pueden ser utilizados
desde herramientas externas.
• Por ejemplo podemos con “cURL” o “SoapUI” publicar un API
• La plataforma Carbon, básicamente permite hacer cualquier operación que podamos
realizar con la consola, a través de servicios web.
• Cambiar a “false” en carbon.xml el valor de “<HideAdminServiceWSDLs>”
• Acceder a: https://localhost:9443/services/UserAdmin?wsdl
• Y 15 servicios mas: ServerAdmin, LoginStatisticsAdmin, etc.
• En el caso del API Manager, además podemos acceder a los servicios que proporciona
Jaggery (http://jaggeryjs.org), con los que están construidos el Publisher y el Store.
• Los ejemplos por excelencia, podemos encontrarlos en el paquete por defecto que nos
descargamos de WSO2.
• [AM-HOME]/samples/YoutubeFeeds.jag
31
API Plugin
•Smartbear, la compañía creadora de SoapUI, es desde marzo
del 2015, WSO2 API Integration Partner.
•La compañia a desarrollado un Nuevo plugin que
permite a los usuarios importer APIs desde el WSO2
API Manager a su familia de productos, Ready! API.
• http://smartbear.com/news/news-releases/wso2-as-api-integration-partner/
• http://smartbear.com/product/ready-api-family/overview/
32
Velocidad y escalamiento / alta disponibilidad
•Un mensaje en formato JSON/REST puede llegar al API Manager,
ser despachado al ESB, transformarse en XML/SOAP y ser
devuelto en ¡¡menos de 4 milisegundos!!. (en mi portátil)
33
Velocidad y escalamiento / alta disponibilidad
•Demostración.
• 2 Maquinas virtuales
• CentOS 6.5 Desktop 64 bit, RAM 3296m. 1 CPU
• 192.168.43.102  API Manager y Jmeter
• 192.168.43.101  ESB
34
Velocidad y escalamiento / alta disponibilidad
•Resultados
•Tiempos bajos de respuesta sostenidos
•Insignificantes tiempos de latencia entre API M. y ESB
35
Preguntas y Respuestas
Contact us !
Connect the World

Contenu connexe

Tendances

Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesWojciech Barczyński
 
Understanding container security
Understanding container securityUnderstanding container security
Understanding container securityJohn Kinsella
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistenceJanakiram MSV
 
Vertical Slicing Architectures
Vertical Slicing ArchitecturesVertical Slicing Architectures
Vertical Slicing ArchitecturesVictor Rentea
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryVirendra Bhalothia
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Edureka!
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - IntroductionKnoldus Inc.
 
Building a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istioBuilding a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istioSAMIR BEHARA
 
Squid Proxy Server
Squid Proxy ServerSquid Proxy Server
Squid Proxy Server13bcs0012
 
Deep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingDeep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingSreenivas Makam
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing Inho Kang
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Salesforce Developers
 

Tendances (20)

Aruba mobility access switch useful commands v2
Aruba mobility access switch useful commands v2Aruba mobility access switch useful commands v2
Aruba mobility access switch useful commands v2
 
Zero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with KubernetesZero downtime deployment of micro-services with Kubernetes
Zero downtime deployment of micro-services with Kubernetes
 
Understanding container security
Understanding container securityUnderstanding container security
Understanding container security
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistence
 
Vertical Slicing Architectures
Vertical Slicing ArchitecturesVertical Slicing Architectures
Vertical Slicing Architectures
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
 
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
Docker Commands With Examples | Docker Tutorial | DevOps Tutorial | Docker Tr...
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Campus Redundancy Models
Campus Redundancy ModelsCampus Redundancy Models
Campus Redundancy Models
 
Jenkins
JenkinsJenkins
Jenkins
 
OAuth2 - Introduction
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
 
Building a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istioBuilding a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istio
 
Squid Proxy Server
Squid Proxy ServerSquid Proxy Server
Squid Proxy Server
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Deep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingDeep dive into Kubernetes Networking
Deep dive into Kubernetes Networking
 
Docker compose
Docker composeDocker compose
Docker compose
 
Oracle Database Cloud Service
Oracle Database Cloud ServiceOracle Database Cloud Service
Oracle Database Cloud Service
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2Secure Development on the Salesforce Platform - Part 2
Secure Development on the Salesforce Platform - Part 2
 

En vedette

Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...
Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...
Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...WSO2
 
WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2
WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2 WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2
WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2 WSO2
 
Desafiando las transformaciones con WSO2 ESB
Desafiando las transformaciones con WSO2 ESBDesafiando las transformaciones con WSO2 ESB
Desafiando las transformaciones con WSO2 ESBWSO2
 
WSO2 DSS - Create a Data service
WSO2 DSS - Create a Data serviceWSO2 DSS - Create a Data service
WSO2 DSS - Create a Data serviceEmmerson Miranda
 
WSO2 API Manager - Accessing SOAP Service
WSO2 API Manager -  Accessing SOAP ServiceWSO2 API Manager -  Accessing SOAP Service
WSO2 API Manager - Accessing SOAP ServiceEmmerson Miranda
 
Agile SOA
Agile SOAAgile SOA
Agile SOAWSO2
 
WSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursorsWSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursorsEmmerson Miranda
 
WSO2 Identity Server
WSO2 Identity Server WSO2 Identity Server
WSO2 Identity Server WSO2
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management WSO2
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateRubén Aguilera
 
Open Source Data Services for Strategic SOA utilising WSO2 Data Services Server
Open Source Data Services for Strategic SOA utilising WSO2 Data Services ServerOpen Source Data Services for Strategic SOA utilising WSO2 Data Services Server
Open Source Data Services for Strategic SOA utilising WSO2 Data Services ServerWSO2
 
Sharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration BattlefieldSharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration BattlefieldWSO2
 
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerConsumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerIsildurMaC
 
Introducing the WSO2 Governance Registry 4 1.5
Introducing the WSO2 Governance Registry 4 1.5 Introducing the WSO2 Governance Registry 4 1.5
Introducing the WSO2 Governance Registry 4 1.5 WSO2
 
GFI - Soluciones con la plataforma open source de WSO2
GFI - Soluciones con la plataforma open source de WSO2GFI - Soluciones con la plataforma open source de WSO2
GFI - Soluciones con la plataforma open source de WSO2Javier Rodríguez Rodríguez
 
Implementación de autenticación federada con WSO2 Identity Server 5.1
Implementación de autenticación federada con WSO2 Identity Server 5.1Implementación de autenticación federada con WSO2 Identity Server 5.1
Implementación de autenticación federada con WSO2 Identity Server 5.1WSO2
 

En vedette (20)

Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...
Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...
Gestión de Identidades y Control de Acceso en los Servicios usando WSO2 Ident...
 
WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2
WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2 WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2
WSO2 Guest Webinar: Creando un Backend de Servicios y/o API con WSO2
 
Desafiando las transformaciones con WSO2 ESB
Desafiando las transformaciones con WSO2 ESBDesafiando las transformaciones con WSO2 ESB
Desafiando las transformaciones con WSO2 ESB
 
WSO2 DSS - Create a Data service
WSO2 DSS - Create a Data serviceWSO2 DSS - Create a Data service
WSO2 DSS - Create a Data service
 
WSO2 API Manager - Accessing SOAP Service
WSO2 API Manager -  Accessing SOAP ServiceWSO2 API Manager -  Accessing SOAP Service
WSO2 API Manager - Accessing SOAP Service
 
Agile SOA
Agile SOAAgile SOA
Agile SOA
 
WSO2 DSS - JENKINS
WSO2 DSS - JENKINSWSO2 DSS - JENKINS
WSO2 DSS - JENKINS
 
WS02 ESB Service Chaining
WS02 ESB Service ChainingWS02 ESB Service Chaining
WS02 ESB Service Chaining
 
WSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursorsWSO2 DSS - Calling stored procedures with cursors
WSO2 DSS - Calling stored procedures with cursors
 
WSO2 REST API Example
WSO2 REST API ExampleWSO2 REST API Example
WSO2 REST API Example
 
WSO2 Identity Server
WSO2 Identity Server WSO2 Identity Server
WSO2 Identity Server
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Open Source Data Services for Strategic SOA utilising WSO2 Data Services Server
Open Source Data Services for Strategic SOA utilising WSO2 Data Services ServerOpen Source Data Services for Strategic SOA utilising WSO2 Data Services Server
Open Source Data Services for Strategic SOA utilising WSO2 Data Services Server
 
Sharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration BattlefieldSharing Best Practices and Recommendations from the Integration Battlefield
Sharing Best Practices and Recommendations from the Integration Battlefield
 
Conociendo mule esb
Conociendo mule esbConociendo mule esb
Conociendo mule esb
 
Consumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API ManagerConsumo de APIs usando el WSO2 API Manager
Consumo de APIs usando el WSO2 API Manager
 
Introducing the WSO2 Governance Registry 4 1.5
Introducing the WSO2 Governance Registry 4 1.5 Introducing the WSO2 Governance Registry 4 1.5
Introducing the WSO2 Governance Registry 4 1.5
 
GFI - Soluciones con la plataforma open source de WSO2
GFI - Soluciones con la plataforma open source de WSO2GFI - Soluciones con la plataforma open source de WSO2
GFI - Soluciones con la plataforma open source de WSO2
 
Implementación de autenticación federada con WSO2 Identity Server 5.1
Implementación de autenticación federada con WSO2 Identity Server 5.1Implementación de autenticación federada con WSO2 Identity Server 5.1
Implementación de autenticación federada con WSO2 Identity Server 5.1
 

Similaire à WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios

Comparación de API y SOA
Comparación de API y SOAComparación de API y SOA
Comparación de API y SOADiego Suarez
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)marcwan
 
Mulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterMulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterLarry Magallanes
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI Informática
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...SOFTENG
 
[Webinar] Creando un "backend" con WSO2
[Webinar] Creando un "backend" con WSO2 [Webinar] Creando un "backend" con WSO2
[Webinar] Creando un "backend" con WSO2 Roger CARHUATOCTO
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
 
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIsForo innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIsBEEVA_es
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 Larry Magallanes
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 
App engine
App engineApp engine
App engineThirdWay
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020Ieva Navickaite
 
MuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerMuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerLarry Magallanes
 

Similaire à WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios (20)

Comparación de API y SOA
Comparación de API y SOAComparación de API y SOA
Comparación de API y SOA
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
¿Que son los microservicios?
¿Que son los microservicios?¿Que son los microservicios?
¿Que son los microservicios?
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
Mulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterMulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design Center
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
[Webinar] Creando un "backend" con WSO2
[Webinar] Creando un "backend" con WSO2 [Webinar] Creando un "backend" con WSO2
[Webinar] Creando un "backend" con WSO2
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
 
Kit para crear un Sitio Web Móvil asombroso!
Kit para crear un Sitio Web Móvil asombroso!Kit para crear un Sitio Web Móvil asombroso!
Kit para crear un Sitio Web Móvil asombroso!
 
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIsForo innovacion beeva 28 01-2014 -open business and the business of APIs
Foro innovacion beeva 28 01-2014 -open business and the business of APIs
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
App engine
App engineApp engine
App engine
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 
Servicios web
Servicios webServicios web
Servicios web
 
Avanttic evento virtual apificacion_oracle_cloud
Avanttic evento virtual apificacion_oracle_cloudAvanttic evento virtual apificacion_oracle_cloud
Avanttic evento virtual apificacion_oracle_cloud
 
MuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerMuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API Manager
 

Plus de WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Plus de WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios

  • 1. Last Updated: Apr 2015 WSO2 API Manager y ESB la plataforma perfecta para evolucionar los servicios
  • 2. 2 AGENDA • Introducción • WSO2, Chakray • Exponiendo Servicios Complejos del ESB en un API REST • Veremos un ejemplo y hablaremos del patrón de fachada API • OAuth 2.0, su implementación en API Manager • Veremos su implementación y hablaremos de seguridad API • Los 5 secretos mejor guardados del API Manager, que deberías conocer. • Relacionaremos 5 peculiaridades muy interesantes y poco conocidas. • Velocidad y escalamiento / alta disponibilidad • Realizaremos alguna prueba en directo de velocidad. • Preguntas y Respuestas.
  • 4. 4 Una plataforma completa para crear negócios conectados 4
  • 7. Publication Category WSO2 Year Gartner Magic Quadrant for Enterprise Application Platform as a Service Visionary 2014 Gartner Magic Quadrant for Application Services Governance Visionary 2013 Gartner Magic Quadrant for On-Premises Application Integration Suites Visionary 2013 Gartner Magic Quadrant for On-Premises Application Platforms Visionary 2013 The Forrester Wave API Management Platforms, Q1 Leader 2013 Gartner Magic Quadrant for Systematic SOA Application Projects Visionary 2012 Gartner Magic Quadrant for Systematic Application Integration Projects Visionary 2012 Gartner Magic Quadrant for SOA Infrastructure Projects Visionary 2012 The Forrester Wave Integrated SOA Governance, Q1 Strong Performer 2012 The Forrester Wave SOA Service Life-Cycle Management, Q1 Strong Performer 2012 The Forrester Wave Standalone SOA Management Solutions, Q4 Strong Performer 2011 Gartner Magic Quadrant for SOA Governance Technologies Visionary 2011 The Forrester Wave Enterprise Service Bus, Q2 Leader 2011 Presencia en estudios del Mercado 7
  • 8. + de 250 Clientes 8
  • 9. 9
  • 10. • "Enfoque brillante, amor a la modularidad, lo que permite una gran flexibilidad. Estamos muy contentos de estar trabajando con WSO2 " - Jim Crabbe, Senior Product Manager, Boeing • "La extrema capacidad de soporte, es lo que nos cautivó con WSO2" - Prakash Iyer, Vicepresidente del Software Arquitectura y Estrategia, CIO, Trimble. • “Con el uso de WSO2 ESB, habíamos sido capaces de proporcionar a los clientes y nuestors socios la calidad y experiencia que esperan de eBay" - Abhinav Kumar, Gerente senior de Ingeniería de Sistemas en eBay. ¿Y los clientes, que dicen? 10
  • 11. Introducción Jack A. Rider Principal Software Architect & Consultant Integration, Open Source, BPM, ECM, Portals jack.rider [at] chakray.com España +34 667770067 UK +44 (0) 7474742263 11
  • 12. Introducción • Grupo de consultores sénior enfocados en integración con WSO2 • Preferred Partner con presencia en Europa y Sudamérica. • Especializado en servicios a integradoras. • Suministra Training oficial on-line y presencial. 12
  • 13. Introducción CHAKRAY : “Palabra Quechua que describe el buen uso que en el mundo Andino se le ha dado a la Tecnología para el trabajo con la tierra.” Aportar la excelencia en la planificación, implantación , soporte y formación de sistemas críticos WSO2 Misión: Visión: • Ser una empresa de alta especialización sobre sistemas críticos WSO2. • Sabemos que el principal activo es nuestro equipo. • Sabemos colaborar con todos los “Stakeholders“ del proyecto dando soporte de muy alta calidad a los negocios de sus clientes, gestionando y evolucionando sus Sistemas de Información. 13
  • 14. Exponiendo Servicios del ESB en un API REST • Breve Ejemplo de cómo exponer servicios 14
  • 15. Exponiendo Servicios del ESB en un API REST • Patrón de Fachada • Las fachadas nos protegen de la complejidad de las implementaciones internas • Nos proveen de interfaces mas simples • Proporcionan una coherente y superior experiencia de usuario. • En nuestro caso además libera al desarrollador de preocupaciones como • Gestionar la autorización a los consumidores • Controlar su monitorización, monetización. • Control en la limitación de uso (throttling) • Simplifica la gestión del versionado • Etc. Etc. Wikimedia Commons WSO2 Blogs : A pragmatic approach to the API facade-patternWSO2 Blogs : implementing an api façade with the wso2 API management platform 15
  • 16. OAuth 2.0, implementación en API Manager • La API es creada y publicada • Se crea la Aplicación • Se generan los Tokens • Las APIs son subscritas en la Aplicación • El consumidor obtiene el “Authorizacion Grant” • El consumidor obtiene el “Access Token” • El consumidor accede al recurso OAuth (Open Authorization) es un protocolo abierto, propuesto por Blaine Cook y Chris Messina, que permite autorización segura de una API de modo estándar y simple para aplicaciones de escritorio, móviles y web. Aplicación cliente Dueño del Recurso Servidor de Autorizaciones Servidor de Recursos Authorization Request Authorization Grant Authorization Grant Access Token Access Token Resource https://tools.ietf.org/html/rfc6749 http://es.wikipedia.org/wiki/OAuth 16
  • 17. OAuth 2.0, implementación en API Manager Dueño del Recurso Servidor de Autorizaciones Servidor de Recursos Authorization Request Authorization Grant Authorization Grant Access Token Access Token Resource Store y Key Manager API Gateway Publisher Publica APIs Çheck Access Token Crea Apps & Subscribe a APIs Publish APIs Resources Publish APIs Desarrollador Aplicación cliente 17
  • 18. OAuth 2.0, implementación en API Manager Publisher Publishes APIs Desarrolador 1.- Logarse al Publisher: 2.- Añadir API. 18
  • 19. 19 OAuth 2.0, implementación en API Manager Dueño del recurso Store y Key Manager Aplicación Cliente Creates Apps & Subscribes to APIs 1.- Logarse al Store 2.- Añadir/Crear Aplicación 3.- Generar Subscription Keys
  • 20. 20 OAuth 2.0, implementación en API Manager Dueño del Recurso Store y Key Manager Aplicación Cliente Creates Apps & Subscribes to APIs 1.- Seleccionar API 2.- Seleccionar Application 3.- Pulsar “Subscribe”
  • 21. 21 OAuth 2.0, implementación en API Manager Servidor de Autorizaciones Store y Key Manager Aplicación Cliente Authorization Grant Authorization Token 1.- Codificar B64 “Consumer key : Secret” 2.- Enviar Solicitud de Autorizacion Consumer Key Consumer Secret B64 Encoded (Consumer key:Consumer Secret) cfB4G2UpNPXThsiPLWnj0iFdv8wa C8ygxh9d3qtTaaW2fhyAobWaz Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5 QW9iV2F6dElh Request: curl -k -v -d "grant_type=password&username=admin&password=admin" -H "Authorization: Basic Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh, Content-Type: application/x-www-form-urlencoded" https://localhost:8243/token Response: {"scope":"default","token_type":"Bearer","expires_in":3299,"refresh_token":"35328bcc6b129e7c0d88b46fba0d7cd"," access_token":"e6c0981142da2d806a8d397f9534a52"}
  • 22. 22 OAuth 2.0, implementación en API Manager 1.- Enviar petición con Bearer Header Access Token C8ygxh9d3qtTaaW2fhyAobWaz Request: curl -v -X GET -H "Authorization: Bearer e6c0981142da2d806a8d397f9534a52" "http://localhost:8280/return_json/red" Response: { "color_response": { "name": "red" }} Servidor de Recursos API Gateway Aplicación Cliente Authorization Request Authorization Grant Key Manager Resources
  • 23. 23 OAuth 2.0, implementación en API Manager 1.- Enviar petición con Bearer Header Access Token C8ygxh9d3qtTaaW2fhyAobWaz Request: curl -v -X GET -H "Authorization: Bearer e6c0981142da2d806a8d397f9534a52" "http://localhost:8280/return_json/red" Response: HTTP/1.1 401 Unauthorized <ams:message>Access Token Expired</ams:message> Servidor de Recursos API Gateway Aplicación Cliente Authorization Request Authorization Grant Key Manager
  • 24. 24 OAuth 2.0, implementación en API Manager Servidor de Autorización Aplicación Cliente Store y Key Manager Authorization Refresh Authorization Token New Refresh Token New Access Token 7b32865471a287a2a3ba8fd2220b1 c13e34f5acda279e862f4f6c7151f058 1.- Codificar B64 “Consumer key : Secret” 2.- Enviar petición Authorization Refresh. Refresh Token B64 Encoded (Consumer key:Consumer Secret) 35328bcc6b129e7c0d88b46fba0d7cd Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh Request: curl -k -v -d "grant_type=refresh_token&refresh_token=35328bcc6b129e7c0d88b46fba0d7cd" -H "Authorization: Basic Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh, Content- Type: application/x-www-form-urlencoded" https://localhost:8243/token Response: {"scope":"default","token_type":"Bearer","expires_in":3600,"refresh_token":"7b32865471a287a2a3ba8fd2220b1","ac cess_token":"c13e34f5acda279e862f4f6c7151f058"}
  • 25. 25 OAuth 2.0, implementación en API Manager Servidor de Autorización Store y Key Manager Aplicación Cliente Authorization Refresh Authorization Token 1.- Codificar B64 “Consumer key : Secret” 2.- Enviar Petición “Token revoke” Refreshed Access Token B64 Encoded (Consumer key:Consumer Secret) c13e34f5acda279e862f4f6c7151f058 Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh Request: curl -k -d "token=c13e34f5acda279e862f4f6c7151f058" -H "Authorization: Basic Y2ZCNEcyVXBOUFhUaHNpUExXbmowaUZkdjh3YTpDOHlneGg5ZDNxdFRhYVcyZmh5QW9iV2F6dElh" https://localhost:8243/revoke Response: NO RESPONSE
  • 26. 26 Los 5 secretos mejor guardados del API Manager • Templates • Los templates son las plantillas Velocity que se encargan de generar el código Synapse desde nuestras definiciones en el Publisher. • Respuesta Javascript • Podemos definir APIs que directamente ejecuten código javascript en vez de llamar a un EP. • Los builders y los formatters • Esto son clases que se ejecutaran en el proceso de entrada y salida del mensaje dependiendo del “contenType”. Sirven por ejemplo para validar el contenido de los mensajes antes de procesarlo. • Servicios web nativos que expone el API Manager • Al igual que otros productos de WSO2, API Manager expone servicios web que pueden ser utilizados desde herramientas externas. Por ejemplo podemos con “cURL” o “SoapUI” publicar un API. • SoapUI Plugin • http://smartbear.com/news/news-releases/wso2-as-api-integration-partner/
  • 27. 27 Los Templates • Los Templates son las plantillas Velocity que se encargan de generar el código Synapse desde nuestras definiciones en el Publisher. • Velocity (https://velocity.apache.org) es un sencillo motor de plantillas basado en Java • Mediante su edición podemos automatizar la customización de nuestras APIs. • Podemos añadir nuevos handlers. • modificar comportamientos por defecto. • En resumen tener control sobre la generación de nuevas APIs desde el Publisher. • Veamos un template. [API-HOME]/repository/resources/api-templates
  • 28. 28 Respuesta Javascript • El API Publisher permite definir “in-line” una respuesta Javascript a las peticiones recibidas. • Es una solución rápida, sencilla y elegante a funcionalidades básicas. • Ejemplo de Javascript por defecto: mc.setProperty('CONTENT_TYPE', 'application/json'); var body = mc.getProperty('uri.var.body'); mc.setPayloadJSON('{ "data" : "sample JSON"}');
  • 29. 29 Los builders y los formatters •Clases que se ejecutaran en el proceso de entrada y salida del mensaje dependiendo del “contentType”. • Nos permite validar los payload de entrada y formatear los de salida, dependiendo del “contentType” del mensaje. • Son funcionalidades provistas por el motor de web services de AXIS2 que nos van proporcionar control sobre los tipos de payload que recibimos y emitimos. • Ver: • https://docs.wso2.com/display/ESB480/Working+with+Message+Builders+and+ Formatters • http://axis.apache.org • Veamos como esta definido por defecto [AM-HOME]/repository/conf/axis2/axis2.xml
  • 30. 30 Servicios web nativos del API Manager •API Manager expone servicios web que pueden ser utilizados desde herramientas externas. • Por ejemplo podemos con “cURL” o “SoapUI” publicar un API • La plataforma Carbon, básicamente permite hacer cualquier operación que podamos realizar con la consola, a través de servicios web. • Cambiar a “false” en carbon.xml el valor de “<HideAdminServiceWSDLs>” • Acceder a: https://localhost:9443/services/UserAdmin?wsdl • Y 15 servicios mas: ServerAdmin, LoginStatisticsAdmin, etc. • En el caso del API Manager, además podemos acceder a los servicios que proporciona Jaggery (http://jaggeryjs.org), con los que están construidos el Publisher y el Store. • Los ejemplos por excelencia, podemos encontrarlos en el paquete por defecto que nos descargamos de WSO2. • [AM-HOME]/samples/YoutubeFeeds.jag
  • 31. 31 API Plugin •Smartbear, la compañía creadora de SoapUI, es desde marzo del 2015, WSO2 API Integration Partner. •La compañia a desarrollado un Nuevo plugin que permite a los usuarios importer APIs desde el WSO2 API Manager a su familia de productos, Ready! API. • http://smartbear.com/news/news-releases/wso2-as-api-integration-partner/ • http://smartbear.com/product/ready-api-family/overview/
  • 32. 32 Velocidad y escalamiento / alta disponibilidad •Un mensaje en formato JSON/REST puede llegar al API Manager, ser despachado al ESB, transformarse en XML/SOAP y ser devuelto en ¡¡menos de 4 milisegundos!!. (en mi portátil)
  • 33. 33 Velocidad y escalamiento / alta disponibilidad •Demostración. • 2 Maquinas virtuales • CentOS 6.5 Desktop 64 bit, RAM 3296m. 1 CPU • 192.168.43.102  API Manager y Jmeter • 192.168.43.101  ESB
  • 34. 34 Velocidad y escalamiento / alta disponibilidad •Resultados •Tiempos bajos de respuesta sostenidos •Insignificantes tiempos de latencia entre API M. y ESB
  • 36. Contact us ! Connect the World