soa e apis: o que muda e o que segue!
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
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
?
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