soa e apis: o que muda e o que segue!

Post on 22-Apr-2015

994 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Apresentação realizada por Marcilio Oliveira, COO da Sensedia, no Workshop "SOA e APIs: O que muda e o que Segue" em junho de 2013, no Rio de Janeiro.

TRANSCRIPT

&

o que muda, e o que segue…

Marcilio Oliveira - CTO marcilio.oliveira@sensedia.com

AGENDA

SOBRE A SENSEDIA

SOA Corporativamente

APIs

HISTÓRIAS

AGENDA √

AGENDA

SOBRE A SENSEDIA

SOA Corporativamente

APIs

HISTÓRIAS

SOBRE A SENSEDIA √

Sobre a Sensedia

Empresa brasileira, sediada em Campinas com escritórios em São Paulo, Rio de Janeiro e EUA

Profundo conhecimento em:

SOA (Arquitetura Orientada a Serviços)

API (Application Programming Interfaces)

Posicionada como visionária no Quadrante Mágico do Gartner em SOA

Melhores práticas & Governança SOA

Estratégia em Open APIs

Assessment & Roadmap em Enterprise Architecture

Outsourcing em Services Discovery, Design & Governance

Cloud Computing Adoption Plan

Mapeamento de Integrações

Design de processos de Continuous Integration

Big Data Estratégias

Frentes da Sensedia

Sobre a Sensedia

• Focused solutions for cost-conscious SOA Governance (Zapthink)

• Lightweight SOA in a down economy (Zapthink)

• Sensedia Drives value from SOA Software Projects (SOA Word Magazine)

• Learn to measure the ROI on SOA (IT Web)

• The right time to streamline unruly SOA projects (eBizq)

• SOA step-by-step (Executivos Financeiros)

• Top 6 concerns before adopting SOA (Computerword)

• Gartner AADI, Las Vegas

• SP SOA Forum

• Webinar: SOA Maturity Model

• Webinar: Lightweight SOA

Artigos, Whitepapers, Eventos e Webinars:

• Cursos de Pós-Graduação focados em componentização, SOA e reutilização de software.

• Consultores Sensedia são professores associados e palestrantes frequentes em conferencias sobre SOA

• Programas de capacitação In-Company

Parcerias e Iniciativas Educacionais

Propagação de Conhecimento

Warm up

Sobre Você

Suas expectativas

AGENDA

SOBRE A SENSEDIA

SOA Corporativamente

APIs

HISTÓRIAS

SOA Corporativamente √

Arquitetura Tradicional

10

Muito difícil de entender, manter e evoluir

Mundo de conexões “Ponto-a-Ponto” ou “caso a caso”

Visão de curto prazo

Arquitetura

de Serviços

SOA NÃO é:

SOA não é uma tecnologia

SOA não é um produto ou plataforma

Nenhum fornecedor pode vender SOA para você

SOA não é uma revolução ou “bala de prata”

SOA ≠ WebServices ≠ XML ≠ BPM

SOA não é “Puro Marketing”

13

WHAT’S

THAT?

Service-Oriented

Architecture

SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negócio interoperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.

Arquitetura Orientada a Serviços (SOA)

True North com SOA

1. Agilidade nas manutenções

2. Flexibilidade das aplicações

3. Redução de custos e reusabilidade

4. Alinhamento entre TI e Negócio

5. Transformação dos negócios

0

Tempo

% C

usto

de M

anute

nção d

e T

I

100

Custos de Manutenção ao Longo do Tempo

Curto Prazo

Manute

nção

Inovação

Manute

nção

Manu-

tenção

Inovação

Médio Prazo

Longo Prazo

Abordagem Tradicional

Abordagem SOA

A maior parte do orçamento de TI das empresas são gastos para manter as aplicações e integrações em funcionamento. As boas práticas, uso de tecnologias modernas, padronização e

reutilização impacta diretamente na otimização dos recursos de TI

1. Agilidade nas manutenções

Uma base de ativos compostos por serviços, componentes, regras e objetos

de negócio podem ser refatorados e recombinados para criar, evoluir e

transformar as aplicações da empresa

Dispositivos Fontes de Dados Usuários

2. Flexibilidade das aplicações

Nível de Reúso

Ativos Reutilizáveis

Aplicações

A 1 2

B 3 1 4 5

1

5

D 2 7 3 8

2

3

E 3 5 6

F 1 2 6

8

1 1 2 3 4

6 7 5 8

2 3

5 6 8

C 1 6 5 6

Identificados

Reutilizados

9

Criação e disponibilização de componentes e serviços para a reutilização cria a massa crítica para o aumento da produtividade

3. Redução de custos e reusabilidade

Processo de Negócio

Enterprise Services

Customer Relationship Management

Sales and Marketing

Production Planning Manufacturing

Inventory & Logistics Finance & HR

SFA Product LMS

Inv MGMT

B2B product

ERP.

SCM producti

nfo.

MES

DB ERP CRM

A propagação da base de serviços e o aculturamento SOA na organização cria a

sustentação primordial para a gestão por processos

4. Alinhamento entre TI e Negócios

A exposição de serviços de negócios para o mercado – parceiros, clientes,

comunidade de desenvolvedores independentes (ISV’s) – tem o potencial de transformar os

negócios das empresas

O exemplo acima ilustra o impacto que disponibilização da API de serviços de negócio teve no valor de mercado da Netflix

(comparando com seu principal competidor, a BlockBuster)

5. Transformação dos Negócios

APIs Públicas

Sobre os benefícios de SOA para sua empresa

[ ] Não sabemos exatamente os benefícios

[ ] Conhecemos os benefícios para a equipe de TI

[ ] Sabemos os benefícios para a área de Negócios

[ ] Sabemos os benefícios e temos um plano de ação

Vocês

Conhecem

o Arquiteto?

Como

diminuir a complexidade?

Abordagem Tradicional

Conexões Ponto-a-Ponto

ERP Aplicação

.NET WebService (Externo)

Aplicação JEE

Legacy (C/C++)

Mainframe (CICS Transaction

Gateway)

Pacote CRM (proprietário)

Custom point-to-point

connections

ERP Aplicação

.NET WebService (Externo)

Barramento de Serviços (ESB)

Enterprise Service Bus

JCA

JMS SOAP/ HTTP

SOAP/ HTTP

SOAP/ HTTP

SOAP/ HTTP

JCA

Aplicação JEE

Legacy (C/C++)

Mainframe (CICS Transaction

Gateway)

Pacote CRM (proprietário)

Transformação de Mensagem

Roteamento de Mensagem

Transparência de Localização

Conversão de Protocolo de Transporte

Enriquecimento de Mensagem

Segurança

Monitoria

Proxy ?????

Equipes,

fornecedores,

prazos, padrões,

direcionamentos,

falta de foco,

patrocínio...

Como sua empresa usa o Middleware?

[ ] Não temos middleware SOA

[ ] Não sei se temos serviços

[ ] Usamos como proxy

[ ] Usamos o middleware para fazer monitoramento, ou segurança, ou conversão de protocolos.

Barramento de serviços

ESB

Barramento de serviços

Não basta centralizar. É preciso ter controle! E boas práticas...

SOA Governance

ESB

Service Repository

Mas, como isso funciona?

ARQUITETURA

MADURA!

Leve “Just Enough Governance” é o

principal direcionador ao estabelecer as práticas

fundamentais da Governança SOA para gerar valor sem

adicionar overhead

Incremental Baseado em um Modelo de

Maturidade que aproveita as capacidades, conhecimento,

tecnologia e aplicações legadas para acelerar a

adoção SOA

Governança SOA Abordagem Lightweight

Ágil Projeto com fases curtas usando templates, guias, boas práticas e atividades

automatizadas para antecipar benefícios

tangíveis (“quick wins”)

Governança SOA: Repositório de Metadados

para componentes, serviços, sistemas, integrações e processos de negócio;

Políticas e Processos; Métricas objetivas e

relatórios customizáveis; Controle de ciclo de vida

dos ativos; Colaboração; Promoção de práticas de

reutilização;

Sensedia Repository

Framework SOA Sensedia

SOA Maturity Assessment

Lightweight SOA Governance Best Practiccs

Pacote de definições, processos, guias e boas práticas prontos para serem adaptados e utilizados

Conhecimento dos cenários internos

Conhecimento do acervo

Processo de Governança e Responsabilidades

Padrões fundamentais

Organização: Comunicação, Competências, Comportamentos e Métricas

Necessidades básicas para Governança SOA

Conhecimento dos cenários internos

Conhecimento do acervo

Processo de Governança e Responsabilidades

Padrões fundamentais

Organização: Comunicação, Competências, Comportamentos e Métricas

Necessidades básicas para Governança SOA

>

SOA foundation Levels

1 Silo

2 Integrated

3 Componentized

4 Service

5 Composite Services

6 Virtualized Services

7 Dynamically Re-Configurable Services

Business

Organization & Governance

Method

Application

Architecture

Information

Infrastructure &

Management

Maturidade SOA

1

2

3

4

5

6

7Business

Organization & Governance

Method

ApplicationArchitecture

Information

Infrastructure & Management

Radar de Competências

Hoje

Futuro

AS IS

TO BE

Radar de maturidade

Conhecimento dos cenários internos

Conhecimento do acervo

Processo de Governança e Responsabilidades

Padrões fundamentais

Organização: Comunicação, Competências, Comportamentos e Métricas

Necessidades básicas para Governança SOA

>

Como você sabe quais são seus serviços?

[ ] Eu não sei quais são meus serviços

[ ] Levantamento de serviços em diversos pontos (ESB, estações, relatórios de projetos, etc)

[ ] Planilha ou outra forma não específica

[ ] Repositório de serviços

Conhecimento dos cenários internos

Conhecimento do acervo

Processo de Governança e Responsabilidades

Padrões fundamentais

Organização: Comunicação, Competências, Comportamentos e Métricas

Necessidades básicas para Governança SOA

>

Seus serviços tem responsáveis?

[ ] Eu não sei quais são meus serviços

[ ] Temos a informação de quem crious

[ ] Temos a informação de quem criou e quem usa

[ ] Sabemos quem criou, quem usou, quem dá manutenção e o dono atual do serviço

Conhecimento dos cenários internos

Conhecimento do acervo

Processo de Governança e Responsabilidades

Padrões fundamentais

Organização: Comunicação, Competências, Comportamentos e Métricas

Necessidades básicas para Governança SOA

>

Existem padrões e boas práticas para construção de serviços?

[ ] Eu não sei se construímos serviços

[ ] Não existem boas práticas, depende do fornecedor

[ ] Existem boas práticas para implementação de projetos, nada específico para serviços

[ ] Existem boas práticas para serviços (design, segurança, escalabilidade, testes, etc).

Conhecimento dos cenários internos

Conhecimento do acervo

Processo de Governança e Responsabilidades

Padrões fundamentais

Organização: Comunicação, Competências, Comportamentos e Métricas

Necessidades básicas para Governança SOA

>

Que tipo de métricas são extraídas dos seus serviços?

[ ] Eu não sei quais são meus serviços

[ ] Eu sei quais são, mas não medimos nada

[ ] Métricas quantitativas (número

de serviços)

[ ] Métricas qualitativas (volume de chamadas, quantidades de reúso por projeto, ROI, etc)

Governança dos serviços?

Quais são meus

serviços?

Como organizar e

manter Reuso e

outros ROIs

Padronização e Cultura

Corporativa

True North com SOA e Cloud

1. Agilidade nas manutenções

2. Flexibilidade das aplicações

3. Redução de custos e reusabilidade

4. Alinhamento entre TI e Negócio

5. Transformação dos negócios

SOA então...

> Foco no bom desenvolvimento do serviço

> Controle das integrações

> Reuso interno e economia

> Métricas e Governança

> Agilidade no negócio

Public APIs

Enterprise SOA

AGENDA

SOBRE A SENSEDIA

SOA Corporativamente

APIs

HISTÓRIAS

APIs √

APPs Application Software

APIs Application Programming

Interface

APPs = People Interaction APIs = Things Interaction

2003 2010 2015 2020

Em 2020 haverá 7,5 bilhões de pessoas no mundo e 50 bilhões de coisas conectadas

Praticamente todos os dispositivos eletrônicos estarão conectados à Internet

The Internet of Things

Durante 2008, o número de coisas conectadas à internet superou o número de pessoas no mundo

=

People on earth Connected Things

Always Synced / Multi-device / Searchable

ANTES

ANTES Always Synced / Multi-device / Searchable

Search / Annotate / Share

Discovery / Social / Instant

on-demand / Multi-device

Muito mais que só video

On-Demand / Instant Streaming / Accessible Everywhere

User-Generated Digital Map / Live Crowd-Sourced

Traffic Data

Interactive / Superior Quality Online / Accessible by

Anyone Anywhere Anytime

Keyless / Remote access / Shareble

Personal Journal / Social interaction / Media Rich

(video and audio)

Social

Mobile

Muito em Comum

Dados

Presença

Acesso

Cloud

Muito em Comum

Social Mobile

Cloud

PRESENÇA ACESSO

DADOS

ACESSO

DADOS

PRESENÇA

Social

Mobile

Cloud

Muito em Comum

O que são

APIs?

Dados ou funções de negócios expostos via web para outras aplicações consumirem APIs

Public APIs

Partners APIs

Internal APIs =

Enterprise SOA

HISTÓRIAS

que você precisa

conhecer

1 ALCANCE DAS PARCERIAS

2 ESTRATÉGIAS MULTI-DEVICES / MOBILE

3 PLATAFORMA / ECOSSISTEMA

4 INOVAÇÃO

História

Marketplace

Aumentar drasticamente a quantidade de produtos disponíveis

Engajar lojistas a aderirem ao Marketplace

Acelerar o processo de integração

Manter baixos os custos operacionais

Desafios

Portal com foco nos Desenvolvedores

Onboarding Descomplicado

Ambiente de Sandbox para Testes

Design das API em REST e JSON

Documentação Interativa

Controle de Tráfego das Chamadas

História

ALCANCE DAS

PARCERIAS

Outros Exemplos

PARTNER ACCESS

CUSTOMERS DIRECT

SECURITY

EASY HELLO WORLD

INNOVATION

REST & JSON

História

Streaming multi-devices

Permitir que o usuário assista e interaja com o conteúdo Netflix de onde quiser

Acelerar desenvolvimento de clients em novos devices

Controle do volume de acesso e segurança

Desafios

Segurança e Regras de Negócio Unificadas

Diferentes Estilos de Navegação

PUBLIC vs. PRIVATE

Valor de Mercado

O Impacto que o lançamento da API da Netflix teve em seu valor de mercado (comparado ao principal concorrente da Netflix, BlockBuster)

História

ESTRATÉGIA

MULTI-DEVICES / MOBILE

Outros Exemplos

BYOD

SSO

SECURITY

TIME TO MARKET

INNOVATION

OMNI-CHANNEL

História

Microblogging

Ampliar ao máximo a atração de conteúdo (tweets e imagens)

E ampliar também a propagação do conteúdo

Facilitar o enriquecimento do conteúdo (mashups, #hashtags, TT)

Desafios

Solução/ Resultado

+13 BI DE API CALLS / DIA

+75% DE TODO O TRÁFEGO VIA API

História

PLATAFORMA /

ECOSSISTEMA

Outros Exemplos

SAAS

MONETIZATION

DEVELOPER ACCESS

API DESIGN

ENGAGEMENT

SCALABILITY

História

Banco Mundial

Divulgar resultados e dados sobre localização e gastos dos projetos globais

Permitir a exploração, transformação e enriquecimento desses dados

Criar formas inovadoras de interação

Desafios

HACKATHON

*Hack no sentido de programação exploratória e divertida e não a cyber-crime

HACK + MARATHON

Hackathon realizado em Jun/2012

Diversas categorias: Big Data, Visualization, Anti-Corruption, Citizen Engagement

App inovador incorporado pelo banco

http://www.rhok.org/blog/power-open-crowd-sourced-ideas-crowd-powered-solutions

História

INOVAÇÃO

Outros Exemplos

DEVELOPER ACCESS

ENGAGEMENT

PRIZES

API DESIGN

CHALLENGES

ENERGY DRINK

construídas em 1 dia durante o Hackathon da Kraft Foods realizado em Jun/2012

40 novas APPs

de usar o Google Glass foram geradas durante o Glass Foundry hackathon realizado em Fev/2013

80 maneiras

inovadoras

Outras fontes de ideias!

1 ALCANCE DAS PARCERIAS

2 ESTRATÉGIAS MULTI-DEVICES / MOBILE

3 PLATAFORMA / ECOSSISTEMA

4 INOVAÇÃO

O

DAS

Atributos

para APIs

de Sucesso

5 tributos para APIs de Sucesso

Valor

Planejamento

Flexibilidade

Controle

Suporte

5 tributos para APIs de Sucesso

Valor – Encontre a raíz de valor da sua API:

• Dado (Weather.com, Klout, Xignite)

• Serviço (Telefonica, Salesforce)

• Audiência (Facebook)

• Mercado (Amazon, Novapontocom)

• Acesso (Sabre Network)

1

Proposição de Valor

API boa em serviço ruim é

como batom em porco!

5 tributos para APIs de Sucesso

2 Planejamento

– Design das APIs

– Patterns de projeto

– Arquitetura de infraestrutura

– Tecnologias envolvidas

– Focado na audiência

5 tributos para APIs de Sucesso

3 Flexibilidade

– Entregue: Poder de escolha, Controle e Opções avançadas

– TTFHW: “Time to First Hello World”

• Passos claros;

• Alternativa free ou trial;

• Processo simplificado de sign-up,

• Documentação simples,

• Exemplos de código e ferramentas

5 tributos para APIs de Sucesso

4 Controle

– Gerenciamento:

• Security, Keys, Monitoring, Reporting, Scaling, Rate limiting, Versioning

– Medição:

• Performance & Traffic, Developers & Apps, Quality, Marketing, Revenue, Trends

5 tributos para APIs de Sucesso

5 Suporte

– Developer Experience (DX):

• Sim, desenvolvedor também é

um ser humano

• Mecanismos de colaboração

(forum, wiki etc)

– Community Engagement

• “Develop it and they will come” = FALSO

Barreiras / Desafios

• Incertezas de negócio

Canibalizar outros canais (?)

• Spaguettiware

• Infraestrutura disponível

Hardware e software (middleware)

Opções na nuvem (?)

• Aspectos de Segurança

• Equipe / Expertise

• Prioridade no Backlog

Pronto

para

APIs

API

?

APIs

Benefícios alvo [PRIORIZE DE 1 (MAIS PRIORITÁRIO) A 6 (MENOS PRIORITÁRIO) ]

Prioridade

Receitas e Modelos de Negócio

Construção de Marca

Velocidade no Desenvolvimento de Aplicativos

Múltiplos canais e Estratégia Mobile

Redução de Custos Operacionais

Inovação em Produtos e Serviços

APIs

Barreiras / Desafios [PRIORIZE DE 1 (MAIS PRIORITÁRIO) A 6 (MENOS PRIORITÁRIO) ]

Prioridade

Incertezas de Negócio

Spaguettiware

Infraestrutura Disponível

Aspectos de Segurança

Equipe / Expertise

Prioridade no Backlog

Sensedia

API Solution

Solução de APIs Sensedia

1- Ferramentas || 2 – Serviços de Consultoria

Core Service Components

Sensedia API Solution

Core Technology Components

API Gateway

API Community

Portal

API Manager

• Documentation • API Browsing • Forums, … • Sign up • Issue Tracking • Test calls • SDK’s Download • My API Usage

• Lifecycle • Versioning • Client Keys

Management • Set Policies

(quota & limits) • Deploy (sandbox

& production) • API Discoverer

• API Analytics - Subscriptions - API Calls - Performance - Errors - Limits & Quotas by API or Key

• Security (OAuth 2.0) • Protocol Transformation • Policy Enforcement • Exception handling • Alerts & Notification • Traffic Control

and Debug

Core Technology Components

API Gateway

Community Portal

API Manager

ESB

Business Application 1

Business Application 2

Developers

REST API Traffic

Web Browser

Policy Deploy

Internal Call

Get API Usage

Publish

Monitoring

Internal Services Discovery

• Custom Mobile Apps or Widgets • Partners Applications • Clients and Independent Developers

Core Service Components

Sensedia API Suite

Plan

Build Run

Core Service Components

Sensedia API Suite

Plan

Build Run

Alinhamento de modelo de negócio, Validação de GAPs, audiência e roadmap

Core Service Components

Sensedia API Suite

Plan

Build Run

Alinhamento de modelo de negócio, Validação de GAPs, audiência e roadmap

Infraestrutura de APIS e definição/evolução das práticas. Design e implementação da API

Core Service Components

Sensedia API Suite

Plan

Build Run

Monitoramento de uso, suporte à comunidade e evolução

Alinhamento de modelo de negócio, Validação de GAPs, audiência e roadmap

Infraestrutura de APIS e definição/evolução das práticas. Design e implementação da API

Core Service Components

Sensedia API Suite

Plan

Build Run

Monitoramento de uso, suporte à comunidade e evolução

Alinhamento de modelo de negócio, Validação de GAPs, audiência e roadmap

Infraestrutura de APIS e definição/evolução das práticas. Design e implementação da API

Core Service Components

Planning Stage: Scope and value Business Model Target Audience (Engaging) Internal services GAPs and roadmap

Build Stage: Infrastructure Definition and Deploy RESTFull Design Best Practices Basic Documentation Adoption accelerators:

SDKs (C#, PHP, Java) Custom mobile apps and widgets

Internal services GAP: Enablement

Run Stage: Understand API usage Support Users Community Developers Onboarding /

Key Management Prepare for Change

Sensedia API Suite

Plan

Build Run

Plan: Alinhamento de modelo de negócio,

Validação de GAPs, Audiência e Roadmap

Build: Definição/evolução das práticas.

Design e implementação da API

Run: Monitoramento de uso,

suporte à comunidade e evolução

Ciclo 1

Plan

Build Run

Plan: Alinhamento de modelo de negócio,

Validação de GAPs, Audiência e Roadmap

Build: Definição/evolução das práticas.

Design e implementação da API

Run: Monitoramento de uso,

suporte à comunidade e evolução

Ciclo 1

Plan

Build Run

Ciclo 2

Plan

Build Run

Plan: Alinhamento de modelo de negócio,

Validação de GAPs, Audiência e Roadmap

Build: Definição/evolução das práticas.

Design e implementação da API

Run: Monitoramento de uso,

suporte à comunidade e evolução

Ciclo 1

Plan

Build Run

Ciclo 2

Plan

Build Run

Ciclo 3

Plan

Build Run

Solução de APIs Sensedia

1- Ferramentas || 2 – Serviços de Consultoria

Core Service Components

Sensedia API Solution

Core Technology Components

API Gateway

API Community

Portal

API Manager

Dúvidas?

APIs

NIVEL DE DISCUSSÃO DE APIS NA EMPRESA [MARQUE MAIS DE UM, CASO SE APLIQUE]

[ ] Nunca discuto.

[ ] Valor técnico percebido, apenas isso.

[ ] Valor de negócio percebido, fora da área

técnica.

[ ] Iniciativa em discussão.

[ ] Existe um plano de implantação de APIs, em

implantação.

[ ] Iniciativa descartada anteriormente.

[ ] Existem APIs abertas.

APIs

EM QUE ÁREAS APIS GERARIAM VALOR [MARQUE MAIS DE UM, CASO SE APLIQUE]

[ ] Marketing

[ ] Comercial

[ ] Canais

[ ] Tecnologia

[ ] Produtos e Serviços (de negócio)

[ ] Atendimento

[ ] Outras: ______________________________

Takeways

Taxa de crescimento de APIs

Based on directory of 8,000 web APIs listed at ProgrammableWeb, Nov 2012 2000 Nov/2012

API Billionaires Club

1.1 billion API calls / day (April 2011)

1.4 billion API calls / day (May 2012)

1 billion API calls / day (May 2012)

1 billion API calls / day (Q1 2012)

1 billion API calls / day (January 2012)

13 billion API calls / day (May 2011)

Approx. 75% of all traffic via API

5 billion API calls / day (October 2009)

5 billion API calls / day (April 2010)

Source: ProgrammableWeb Founder John Musser’s

905 billion S3 objects (+ 1 billion / day)

API Billionaires Club

1.1 billion API calls / day (April 2011)

1.4 billion API calls / day (May 2012)

1 billion API calls / day (May 2012)

1 billion API calls / day (Q1 2012)

1 billion API calls / day (January 2012)

13 billion API calls / day (May 2011)

Approx. 75% of all traffic via API

5 billion API calls / day (October 2009)

5 billion API calls / day (April 2010)

905 billion S3 objects (+ 1 billion / day)

Source: ProgrammableWeb Founder John Musser’s

Foco no desenvolvedor!

Processos de onboarding

“Time to First Hello World”

Simplificação tecnológica

REST!

o que muda ...

Arquitetura de Serviços

Controle e boas práticas

Padronização

Design!!!

... o que segue

Que tal:

developers.[you].com

?

OBRI

GADO

Marcilio Oliveira - CTO marcilio.oliveira@sensedia.com @marcilioso

www.sensedia.com/br

OLHANDO

DE PERTO

REST

Padrões corporativos

API Protocols and Styles

Based on directory of 5,100 web APIs listed at ProgrammableWeb, February 2012

REST = Representational State Transfer

Alternativa ao SOAP

Características:

Utiliza XML sobre HTTP

Baseia-se em URIs e Recursos

Aproveita as operações comuns de POST, GET, PUT, DELETE

Mais simples de usar e leve que SOAP

REST Services

Recursos e URLs:

http://www.boeing.com/aircrafts/747

http://www.weather.com/current/zips/90020

https://graph.facebook.com/cocacola

https://graph.facebook.com/kleberbacili

REST Services

REST vs. SOAP Eligibility

Aspect SOAP REST Client Target Internal Public

Request volume Moderate High

Distributed Transaction / Orchestration WS-* / BPEL Not Standardized

Data Consistency Semantics Mostly ACID Mostly Eventual

Strong Typed Contracts Yes / WSDL / XSD Not Standardized

Security WS-Security Basic / Digest / OAuth / OpenID

Application Tooling Very Mature Not Mature

Application Language Support Good Best

Interoperability Between Vendors Very Mature Not Mature

Simples?

SOAP POST /GetStock HTTP/1.1

Host: www.example.org

Content-Type: applicaNon/soap+xml

<?xml version="1.0"?> <soap:Envelope

xmlns:soap=”http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle=”http://www.w3.org/ 2001/12/soap-encoding">

<soap:Body xmlns:m=”http://www.example.org/stock">

<m:GetStockPrice>

<m:StockName>IBM</m:StockName>

</m:GetStockPrice>

</soap:Body>

</soap:Envelope>

REST GET hXp://example.org/stock/IBM

Simples?

{

"symbol": ”IBM",

"price": 94.72,

}

<?xml version="1.0"?>

<soap:Envelope

xmlns:soap="http://www.w3.org/2001/12/soap-

envelope"

soap:encodingStyle="http://www.w3.org/2001/12/so

ap-encoding">

<soap:Body

xmlns:m="http://www.example.org/stock">

<m:GetStockPriceResponse>

<m:Price>34.5</m:Price>

</m:GetStockPriceResponse>

</soap:Body>

</soap:Envelope>

XML JSON

REST Services

Limitações:

Ausencia de definição de contrato formal

Inabilidade para controle de transaçoes

Definiçoes de segurança mais limitadas

Limitação na orquestração de serviços

top related