Repensando o ESB: sua arquitetura SOA, usando APIs

Post on 21-Feb-2017

200 views 2 download

Transcript of Repensando o ESB: sua arquitetura SOA, usando APIs

Fábio Rosatofabio.rosato@sensedia.com @frosato

Repensando o ESB: sua Arquitetura SOA, usando APIs

Fábio RosatoProfessional Services Manager & Teacherfabio.rosato@sensedia.com@frosato

Quick Facts

● API Management

● Serviços

● Soluções

História

Fundada em 2007

Gartner SOA MQ 2009

API Suite 2012

Forrester Report 2016

Bases

Campinas

São Paulo

Rio de Janeiro

USA

API Experience

2015 - 250 pessoas

2016 - 550 pessoas

Origens

http://apix.com.br/

Varejo / eCommerce

Banking

Payments

Seguros

High Tech

Outros

Clientes

Sensedia API Management Suite

O API Management Suite da Sensedia permite maior

controle da estratégia de APIs da sua empresa.

Serviços

● Services Design

● Blueprints

● Microservices

● Security Models

Strategy

● Assessment

● Roadmap

● Open APIs

● Backend Connections

● Middlewares

● ESB

● API Gateway

Design Implement

● Governance

● DEV Engagement

● Metrics & ROI

Run

Serviços

● Open Innovation

● Developers Engagement

● Aceleração de APPs

Hackathon

● API Feedback

● Open Innovation

● Onboarding de Parceiros

● Boost de Integrações

● Developers Engagement

Hackdays

Agenda

SOA & ESB

Por que utilizar APIs internamente?

API-Front

SOA E ESB

Arquiteturas Complexas

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

RESTful

SOA: ESB para Serviços

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

ESB – Enterprise Services Bus

A ideia seria ter serviços de negócios, interoperáveis e reutilizáveis

RESTful

Enterprise Service Bus Stack

Heavy-weight

ESB Gaps Comuns

• Plataformas de ESB normalmente não foram construídas pensando em APIsREST/JSON• Adicionado depois• Suporte muitas vezes pobre

• Falta de um developer portal• Facilitar self-service para

onboarding e consumo das APIs• Limitado suporte para Swagger 2.0• Implantações complexas• Verborrágico

• Limitado suporte para modelos de segurança de APIs• OAuth 2.0• OpenID• JWT 1.0

• Alto custo de• Aquisição• Desenvolvimento• Sustentação• Escala

Por que utilizar APIsinternamente?

A ideia das APIs é Descomplicar, provendo um

mecanismo simples, seguro, escalável para

um desenvolvedor construir suas soluções

desacopladas no menor tempo possível.

Tipos de APIs

Restricted

Restritas a parceiros autorizados

Open

Abertas para qualquer desenvolvedor

Private

Uso limitado a equipes internas da

empresa

Tipos de APIs

Front-End

Backend

HTTP/REST

App-Client

API

Single Page App (SPA)

App-Backend

Mobile, Wearable

Backend

HTTP/RESTAPI

Mobile, Wearable Apps

App-App

AppBackend

AppBackend

HTTP/RESTAPI

Integration Architecture

MicroservicesMicroservice #1

HTTP/RESTAPI

Microservice #2

HTTP/RESTAPI

Microservice #n

HTTP/RESTAPI

Application - Backend

Webinar Microserviceshttp://bit.ly/Sensedia_microservices

API Front

AP

I Fro

nt

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

API Front

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Bac

ken

d

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful

Proteção contra ataquesAlertasAutenticação e Autorização Transformação de ProtocolosComposição de chamadasConexões com legadosGerenciamento de versões

DoSCross-Site Scripting (XSS)SQL InjectionsXML TreatJSON TreatAmeaças de Identidade

Também:

Responsabilidades do API Front

Controle de QuotasSpike ArestAnomalias de TráfegoDesempenho da APICachingRastreabilidadeCalls TracerDesempenho do BackendSmart Design (API-First)Enriquecimento de Mensagens

Mediação, Transformação e Conexão

API-FrontHTTP/REST

Backend

ESB

Cenário 1

* Garantir todas as responsabilidades do API-Front pode ser custoso

API-FrontHTTP/REST

Backend

ESB

Cenário 2

* Observe os GAPs que o ESB tem sozinho para essa responsabilidade

API-FrontHTTP/REST

Backend

Cenário 3

API Gateway

API-FrontHTTP/REST

Backend

Cenário 3

API Gateway

• Considere utilizar um API Developers Portal mesmo para os desenvolvedores internos

• Facilitar self-service para onboarding e consumo das APIs

• Simplifica a governança Portal APIs IMAhttp://hackathon.ima.sp.gov.br/

AP

I Fro

nt

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

ArquiteturaFutura

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Bac

ken

d

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful

AP

I Fro

nt

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Bac

ken

d

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful

API Gateway

ArquiteturaFutura

AP

I Fro

nt

API Facade

Mediate

RESTAPI

RESTAPI

RESTAPI

RESTAPI

Mainframe Comercial apps

Databases

Custom appsSaaS apps

SOAP RSSRemote

ProtocolsREST

like RPC

System Layer

Services Layer

Bac

ken

d

Webinar Design de APIs RESTfulhttp://bit.ly/Sensedia_APIsRest

App

Microservice #1 Microservice #n

RESTful

API Gateway

ArquiteturaFutura

ESB

1

2

3

Você pode ter uma arquitetura baseada em serviços usando APIs

ESB não precisa estar presente na sua infraestrutura

Usando APIs internas seu backendestará habilitado para um cenário digital

Obrigado!

Fábio Rosatofabio.rosato@sensedia.com @frosato

http://downloads.sensedia.com/webinar-repensando-esb-com-api-gateway/

Repensando o ESB: sua Arquitetura SOA, usando APIs