SlideShare uma empresa Scribd logo
1 de 45
Case CMS Abril ,[object Object],[object Object]
Case Requisitos Contexto Empresa Complexa Arquitetura Empregada Distribuída System of Systems REST Case CMS Abril System of Systems e Arquitetura (quase) Caótica AGENDA
CASE Criar  um  gerenciador  e  publicador  de conteúdo digital para o  Grupo Abril Case CMS Abril System of Systems e Arquitetura (quase) Caótica
REQUISITOS Matérias Criar um gerenciador e publicador de  conteúdo digital  para o Grupo Abril qual? Chamadas Estabelecimentos Imagens Atrações Carros Famosos Etc. Etc. Etc. Receitas Jogos Infográficos Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Criar um gerenciador e publicador de  conteúdo digital  para o Grupo Abril publicar onde? Web site Mobile iPad Web API It doesn’t matter... Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS
E o que mais temos que fazer? Funcionalidades cross marcas Case CMS Abril System of Systems e Arquitetura (quase) Caótica Anotação de conteúdo (Ranking, Comentários, etc.) Segurança e… Discovery Métricas Search Categorização Autenticação REQUISITOS
Escalar! Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS Aproximadamente 300 milhões Pageview/Mês Entre os 600 maiores sites do mundo
 
 
 
 
 
 
CONTEXTO Grupo Abril 15 Unidades de Negócio 85 Marcas 113 Sites                                 Muitos requisitos! Fonte: http://www.grupoabril.com.br / http://www.google.com/adplanner/static/top1000/ Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Um sistema complexo? Case CMS Abril System of Systems e Arquitetura (quase) Caótica CONTEXTO
Sistemas Adaptativos Complexos (CAS) Descentralizado Emergência Co-evolução Sub ideal Variedade Auto-organização Conectividade Regras simples Sistemas Aninhados À beira do caos Fronteiras CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
CAS: Web http://en.wikipedia.org/wiki/Internet CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
CAS: Revoadas CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
CAS: Empresa ,[object Object],[object Object],CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Forças sobre uma empresa Competição Aquisições Otimização de Negócio Business Economia Órgãos Regulatórios Desastre Natural Externa Processos Infra-estrutura Pessoas Interna CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
É preciso… Escalar em requisitos de negócio Absorver os mais diversos requisitos  Escalabilidade e performance Evolutivo, emergente e incremental CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
CMS:   Linked Data CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  Qual arquitetura que melhor acomoda esses requisitos e esse dinamismo? #comofaz? ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  ,[object Object],[object Object],[object Object],ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  ,[object Object],[object Object],[object Object],ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Winner is:  System of Systems (SoS) (Engenharia de Sistemas) …  dividir para conquistar ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
System of Systems ,[object Object],[object Object],[object Object],[object Object],[object Object],ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
+ REST: Interconectados Client–server Stateless Cacheable Layered system Uniform interface  A Web é REST! ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Não só REST, mas também HTTP ,[object Object],[object Object],[object Object],[object Object],[object Object],O HTTP é rei na Web! ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Alguns sistemas que já temos... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Independência de um sistema no SoS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Alguns sistemas que já conhecemos... CMS  Descentralizado Distribuído! REST, HTTP... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Identificação e Localização de um conteúdo (recursos) http://editorial.api.abril.com.br / materias /lula-inaugura-nova-hidroeletrica  http://editorial.api.abril.com.br / listas-editoriais /veja-10-mais    http://media.api.abril.com.br / imagens /482840AC3242   http://anotacoes.api.abril.com.br / comentarios /48284719280182   http://aapg.api.abril.com.br / usuarios /jcmlima   http://search.api.abril.com.br / indices /veja ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Identificação e Localização de um conteúdo (recursos) ,[object Object],ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Hypermedia as the engine of application state (HATEOAS) {      "link": [ {              "href": "http://anotacoes.api.abril.com.br/comentarios",              "rel": " self ",              "type": "application/json"          },          {              "href": "http://anotacoes.api.abril.com.br/comentarios/novo",              "rel": " novo ",              "type": "application/json"          },          {              "href":"http://anotacoes.api.abril.com.br/comentarios/busca/des criptor",              "rel": " search ",              "type": "application/opensearchdescription+xml"          }      ] } ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Baixo acoplamento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Restfulie tem contribuição da Abril ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Liberdade de implementação ... independência! Times pequenos...  ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Escalabilidade e tolerância a falha HTTP Cache-Control: Max-age=60 ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Monitoramento Webaliser ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
Pulveriza requisitos, paraleliza desenvolvimento Imagens: http://dryicons.com ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
O Ecossistema decide quem sobrevive... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica Evolução!
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Case CMS Abril System of Systems e Arquitetura (quase) Caótica CONCLUSÃO
That's all ,[object Object],David Lojudice Sobrinho [email_address] @dalssoft Julio César Lima [email_address] @jcmlima

Mais conteúdo relacionado

Semelhante a Case CMS Abril - System of Systems e Arquitetura (quase) Caótica.

Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsHoracio Ibrahim
 
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem Agile Trends
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureLuciano Condé
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoDavid Robert Camargo de Campos
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWSAmazon Web Services LATAM
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Projetos de Software com Visual Studio Team System
Projetos de Software com Visual Studio Team SystemProjetos de Software com Visual Studio Team System
Projetos de Software com Visual Studio Team SystemRicardo Serradas
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetPanorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetElvis Fusco
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkLuciano Condé
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Jonathan Baraldi
 
Azure Stack - O poder da nuvem em seu datacenter
Azure Stack - O poder da nuvem em seu datacenterAzure Stack - O poder da nuvem em seu datacenter
Azure Stack - O poder da nuvem em seu datacenterVitor Meriat
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas InternetLuiz Domingues
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...anybalrocha
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Luciano Condé
 

Semelhante a Case CMS Abril - System of Systems e Arquitetura (quase) Caótica. (20)

Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
 
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
Gleison Tavares Diolino (Serpro) - Estaleiro: mais que uma nuvem
 
Desenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL AzureDesenvolvendo para o Windows Azure e SQL Azure
Desenvolvendo para o Windows Azure e SQL Azure
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
Começando com aplicações serverless na AWS
 Começando com aplicações serverless na AWS Começando com aplicações serverless na AWS
Começando com aplicações serverless na AWS
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Projetos de Software com Visual Studio Team System
Projetos de Software com Visual Studio Team SystemProjetos de Software com Visual Studio Team System
Projetos de Software com Visual Studio Team System
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2
 
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetPanorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity Framework
 
Intro aspnet webapi
Intro aspnet webapiIntro aspnet webapi
Intro aspnet webapi
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1
 
Azure Stack - O poder da nuvem em seu datacenter
Azure Stack - O poder da nuvem em seu datacenterAzure Stack - O poder da nuvem em seu datacenter
Azure Stack - O poder da nuvem em seu datacenter
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas Internet
 
Apostila asp
Apostila aspApostila asp
Apostila asp
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4
 

Case CMS Abril - System of Systems e Arquitetura (quase) Caótica.

  • 1.
  • 2. Case Requisitos Contexto Empresa Complexa Arquitetura Empregada Distribuída System of Systems REST Case CMS Abril System of Systems e Arquitetura (quase) Caótica AGENDA
  • 3. CASE Criar um gerenciador e publicador de conteúdo digital para o Grupo Abril Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 4. REQUISITOS Matérias Criar um gerenciador e publicador de conteúdo digital para o Grupo Abril qual? Chamadas Estabelecimentos Imagens Atrações Carros Famosos Etc. Etc. Etc. Receitas Jogos Infográficos Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 5. Criar um gerenciador e publicador de conteúdo digital para o Grupo Abril publicar onde? Web site Mobile iPad Web API It doesn’t matter... Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS
  • 6. E o que mais temos que fazer? Funcionalidades cross marcas Case CMS Abril System of Systems e Arquitetura (quase) Caótica Anotação de conteúdo (Ranking, Comentários, etc.) Segurança e… Discovery Métricas Search Categorização Autenticação REQUISITOS
  • 7. Escalar! Case CMS Abril System of Systems e Arquitetura (quase) Caótica REQUISITOS Aproximadamente 300 milhões Pageview/Mês Entre os 600 maiores sites do mundo
  • 8.  
  • 9.  
  • 10.  
  • 11.  
  • 12.  
  • 13.  
  • 14. CONTEXTO Grupo Abril 15 Unidades de Negócio 85 Marcas 113 Sites                                 Muitos requisitos! Fonte: http://www.grupoabril.com.br / http://www.google.com/adplanner/static/top1000/ Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 15. Um sistema complexo? Case CMS Abril System of Systems e Arquitetura (quase) Caótica CONTEXTO
  • 16. Sistemas Adaptativos Complexos (CAS) Descentralizado Emergência Co-evolução Sub ideal Variedade Auto-organização Conectividade Regras simples Sistemas Aninhados À beira do caos Fronteiras CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 17. CAS: Web http://en.wikipedia.org/wiki/Internet CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 18. CAS: Revoadas CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 19.
  • 20. Forças sobre uma empresa Competição Aquisições Otimização de Negócio Business Economia Órgãos Regulatórios Desastre Natural Externa Processos Infra-estrutura Pessoas Interna CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 21. É preciso… Escalar em requisitos de negócio Absorver os mais diversos requisitos Escalabilidade e performance Evolutivo, emergente e incremental CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 22. CMS: Linked Data CONTEXTO Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 23.   Qual arquitetura que melhor acomoda esses requisitos e esse dinamismo? #comofaz? ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 24.
  • 25.
  • 26. Winner is: System of Systems (SoS) (Engenharia de Sistemas) … dividir para conquistar ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 27.
  • 28. + REST: Interconectados Client–server Stateless Cacheable Layered system Uniform interface A Web é REST! ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 29.
  • 30. Alguns sistemas que já temos... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 31.
  • 32. Alguns sistemas que já conhecemos... CMS  Descentralizado Distribuído! REST, HTTP... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 33. Identificação e Localização de um conteúdo (recursos) http://editorial.api.abril.com.br / materias /lula-inaugura-nova-hidroeletrica  http://editorial.api.abril.com.br / listas-editoriais /veja-10-mais    http://media.api.abril.com.br / imagens /482840AC3242   http://anotacoes.api.abril.com.br / comentarios /48284719280182   http://aapg.api.abril.com.br / usuarios /jcmlima   http://search.api.abril.com.br / indices /veja ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 34.
  • 35. Hypermedia as the engine of application state (HATEOAS) {      "link": [ {              "href": "http://anotacoes.api.abril.com.br/comentarios",              "rel": " self ",              "type": "application/json"          },          {              "href": "http://anotacoes.api.abril.com.br/comentarios/novo",              "rel": " novo ",              "type": "application/json"          },          {              "href":"http://anotacoes.api.abril.com.br/comentarios/busca/des criptor",              "rel": " search ",              "type": "application/opensearchdescription+xml"          }      ] } ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 36.
  • 37. Liberdade de implementação ... independência! Times pequenos... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 38. Escalabilidade e tolerância a falha HTTP Cache-Control: Max-age=60 ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 39. Monitoramento Webaliser ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 40. Pulveriza requisitos, paraleliza desenvolvimento Imagens: http://dryicons.com ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica
  • 41. ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
  • 42. ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica evolução?
  • 43. O Ecossistema decide quem sobrevive... ARQUITETURA Case CMS Abril System of Systems e Arquitetura (quase) Caótica Evolução!
  • 44.
  • 45.

Notas do Editor

  1. Grandes topicos: - Arquitetura Emergente tentar mostrar que Arquitetura também pode ser evolutiva e Arq != BDUF - Arquitetura de Sistemas Distribuidos O que nos levou a usar essa abordagem - Reforcar: Conhecer RESTFUL
  2. Requisitos e contexto: tentar explicar a bucha... :) ... vamos viajar um pouco na maionese pra entender nossa empresa.
  3. Pq não utilizar soluções de mercado? Necessidades especificas de requisitos, escalabilidade e principalmente extensibilidade .alem de ser estratégico
  4. Conteúdo na Abril é o nosso maior asset. Centenas de jornalistas, blogueiros, colunistas, etc - Maior grupo de mídia impressa do país e um dos maiores do mundo Grande variedade de conteúdo, desde fichas de carros, fotos de modelos, notícias políticas, resenhas de atrações, infantil, saude, adulto, etc, etc, etc, etc - Conteúdo de nicho ! Calda Longa !
  5. O conteudo deve ser apresentado em varias formas Explorar o melhor de cada media
  6. A Abril é uma corporcao formada por diversas empresas, que cuidam de 1 ou mais marcas, Sinergia existe mas nao é tao explorada no paper & ink Muitas        Culturas        Nichos        Requisitos
  7. A Abril é uma corporcao formada por diversas empresas, que cuidam de 1 ou mais marcas, Sinergia existe mas nao é tao explorada no paper & ink Muitas        Culturas        Nichos        Requisitos
  8. Empresa decentralizada! As unidades de negócios + Marcas + Pessoas: formam um sistema É facil ver que a quantidade de requisito é :        - Gigante        - Evolutivos        - Dinamicos (e mutaveis!)        - CONFLITANTES!
  9. Não é um sistema computacional...  mas sistema na definicao:  é um conjunto de elementos interconectados para formar algo : CORPORACAO ABRIL
  10. Assim como a revoada, temos forcas agindo na abril        - BUSINESS : Inerentes ao Negocio        - EXTERNAS : Inerentes a Sociedade onde a empresa atua        - INTERNAS
  11. Requisitos conflitantes, requisitos não incrementais. Equipe grande -> necessidade de um esforço grande de orquestração e gerenciamento
  12. Os dados precisam estar relacionados para: - Descoberta + organica - Search Recomendacao Retenção ! Cross pollination
  13. - A WEB é ASSIM !!!
  14. QUE É SoS ?? Dividir para conquistar ! Varios sistemas em que CADA UM tem as caracteristicas acima
  15. - Cada sistema pode ser um client e/ou um server. - HTTP é um protocolo Stateless = Escalabilidade horizontal ( REQUISITO ATENDIDO : ESCALABILIDADE) - Cacheable pois os recursos podem ser cacheados em camadas intermediarias = varnishd (REQUISITO : ESCALABILIDADE + TOLERANCIA FALHA) - Layerd System = Dominios , Camada de Cache, Sites,  Caches, CDN Web so escala por causa disto! Code on demand = not yet Uniform Interface = Utilizamos HTTP como protocolo de aplicacao e nao como protocolo de transporte.
  16. HTTP é o nosso portugues... nossa uniform interface Latencia pode ser alta, porém infra adequada ajuda….. Nao deve ser transparente aos desenvolvedores…. Rede importa!
  17. Um CMS distribuido! O conteudo esta em varios sistemas. Não exite centralizador. Não entrar em detalhe de cada sistema... só para entender o tamanho do SoS
  18. Sistemas do SoS: um elemento do sistema É autonomo, mas pode ter dependencias
  19. Os sistemas emergem das necessidades de negócio. Separation of concern, porém duplicidade podem existir, assim como conflito.
  20. PQ? Porque não ter um ID e um Localizador?  Porque não existe um repositório central para fazer o de-para (sistema descentralizado).   Tambem garante um unico ID em todo o sistemas (se localiza, identifica).
  21. Lembrar que é um Json
  22. - Linkagem de dados  - Navegacao entre dados é semantica (via rel)
  23. Codigo ruim! Sem maquina de estado! Apenas demostracao. - FACIL DE LER - FACIL DE MANTER Conhece: - Entry point - Navegacao possivel - Um pouco do conteudo (hash) - HTTP verbs Nao conhece: - Estrutura do objeto predefinida - Estrutura dos metodos - Content-type - URLs - Estruturas intermediarias
  24. Equipe grande -> necessidade de um esforço grande de orquestração e gerenciamento Aqui tem Eng. De Software!
  25. É premissa que sistemas falham, logo uma aplicacao que utilize-se de outra deve estar pronta para trabalhar com a provavel falha ou indiponibilidade de outra aplicacao (como indisponiblidade)
  26. Faz décadas que monitoramos HTTP!!!!!! Monitoramento interno do SoS === Monitoramento Externo! Ferramentas + Know how disponivel!
  27. SoS permite PARALELIZAR requisitos 1 MACRO FEATURE = DIVERSAR features pequenos em diversos sistemas…. LEMBRA SEMPRE DE SEPARATION OF CONCERNS! ALGUEM TEM QUE TER VISAO DO TODO Porem implica em mais cuidado no gerenciamento de dependencias!  
  28. Falar da idéia de sistemas intercontectados…
  29. Existem muitas variaveis no ecosistema: Politica, cultura, novas tecnologias, moda, etc.