SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
http://www.takenami.com.br




     Introdução a
Arquitetura de Sistemas
            Igor Takenami

       itakenami@gmail.com
    http://twitter.com/itakenami


            Versão 1.1
http://www.takenami.com.br



   Evolução na Arquitetura de Sistemas
• Necessidades do Usuário
  - Aplicações Modulares
  - Capacidade de Expansão
  - Fácil Manutenção
• Descentralização
  - Fornecedores diferentes fornecendo produtos para uma mesma
    solução
  - Viabilidade de Custo
  - Concorrência
• Dinâmica modificação na infra-estrutura e avanços da tecnologia
 disponível no mercado
http://www.takenami.com.br



         Arquitetura Monolítica
• Terminal burro
• Não possui capacidade de processamento
• Conexão a um servidor central
• Compartilhamento de recursos
• Altamente acoplada e centralizada
• Dependência de um único fornecedor de
 hardware e software
• Custo muito elevado
http://www.takenami.com.br



       Cliente/Servidor (2-Tier)
• Conhecida como 2 camadas
• Muito utilizado até hoje
• Resultado de evoluções tecnológicas
 - Surgimento do PC
• Dividir o processamento em 2 estações: a
 estação cliente e o servidor
http://www.takenami.com.br



        Cliente/Servidor (2-Tier)
• Fat Client
 - Problemas na atualização das regras de negócio e
   interface com o usuário
• Thin Client
 - Dependente do Banco de Dados
 - Problemas na atualização da interface com o usuário
• Problemas na atualização de versões no cliente
http://www.takenami.com.br



Fat Client
http://www.takenami.com.br



Thin Client
http://www.takenami.com.br



             Modelo WEB (3-Tier)
• Surgimento da Internet
• Modelo cliente/servidor passou a ser
 implementado em 3 camadas
• Arquitetura mantém 2 camadas lógicas
• Regras de negócio da aplicação estão acopladas a
 interface
• Acessado de um mesmo programa navegador
http://www.takenami.com.br



                Modelo WEB
• Servidor possui as telas e regras de negócio da
 aplicação
• Uma atualização (na interface ou nas regras de
 negócio) implica em atualizar somente o
 respectivo servidor
• Clientes deixam de processar a informação e
 passam a solicitar e receber respostas do
 servidor
http://www.takenami.com.br



Modelo WEB
http://www.takenami.com.br



       Modelo n Camadas (n-Tier)
• Evolução das tecnologias para implementação de
 sistemas distribuídos
• Necessidade de uma maior descentralização das
 camadas
• Desacopla fisicamente a interface da aplicação das
 regras de negócio
• Processamento pode ser distribuído para diversos
 servidores (hosts)
• Regras de negócio são independentes da interface
  - serviços para diversos tipos de aplicação
http://www.takenami.com.br



Modelo n Camadas
http://www.takenami.com.br




    Dispositivos, com exceção do
   navegador, precisavam acessar os
componentes de negócio diretamente e
 para isto teriam que ser compatíveis
com a tecnologia em que foi construído
http://www.takenami.com.br



                     WebServices
• Integração entre sistemas independente da tecnologia que foi
  desenvolvido
• Componentes passam a disponibilizar seus métodos através
  de serviços
• Utiliza a infra-estrutura da internet (TCP/IP) através de HTTP
  (como meio de transporte) assim como os navegadores
• Requisições HTTP com conteúdo dos pacotes em XML/SOAP
• Implementação no servidor WEB para receber o pacote XML/
  SOAP e interpretar a informação
• Implementação para transformar a resposta em XML/SOAP e
  devolver ao solicitante
http://www.takenami.com.br




  XML é utilizado para descrever um
conjunto de dados especificado através
   de um padrão aberto e conhecido
  como SOAP (Simple Object Access
               Protocol)
http://www.takenami.com.br



               SOAP Request
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Header/>
    <S:Body>
        <ns2:adicionar xmlns:ns2="http://eai.pos.unijorge/">
             <nome>Igor</nome>
             <cpf>123</cpf>
             <endereco>Av. X</endereco>
             <email>itakenami@gmail.com</email>
             <salario>1000.0</salario>
        </ns2:adicionar>
    </S:Body>
</S:Envelope>
http://www.takenami.com.br



              SOAP Response

<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns2:adicionarResponse xmlns:ns2="http://eai.pos.unijorge/">
             <return>1</return>
        </ns2:adicionarResponse>
    </S:Body>
</S:Envelope>
http://www.takenami.com.br



   SOA - Arquitetura Orientada a Serviços
• Reuso de componentes (serviços)
• Centralização dos processos de negócio
 disponibilizados através de serviços
• Composição: Novos serviços são criados a partir
 de um determinado fluxo de serviços existentes
• Foco em reúso e negócio
• Facilita a integração de sistemas
http://www.takenami.com.br



                 Aplicação WEB
• Projetada para navegação por documentos no formato
 HTML
• Código de formatação de páginas (HTML) amarrado a
 código do sistema
• Modelo síncrono (Cliente/Servidor/Cliente)
• Perda de contexto
• Web 1.0
  - Super valorização das empresas que não existiam fisicamente
  - Bolha
http://www.takenami.com.br



                        Web 2.0
• Plataforma para utilização de serviços WEB com foco no
 usuário e usabilidade
• Navegação (em diversos formatos) e utilizando diversas
 tecnologias
• Ajax - Asynchronous Javascript And XML
  - Requisição sob demanda
  - Modelo assíncrono
  - Parte do processamento no cliente (Javascript)
• Novos formatos de integração entre sistemas: REST e
 JSON
http://www.takenami.com.br



                     REST
• Transferência de Estado Representacional
 (Representational State Transfer)
• Tese de doutorado escrita por Roy Fielding em
 2000
 - um dos principais autores da especificação do HTTP
• Utilizado para fazer integração entre sistemas,
 assim como os Web Services
http://www.takenami.com.br




        Significado prático de REST ?

Descreve qualquer interface web que utiliza
XML/JSON e HTTP sem as abstrações dos
    protocolos baseados em trocas de
               mensagem
http://www.takenami.com.br



Exemplo de REST
http://www.takenami.com.br



             Arquitetura REST
• Utiliza o protocolo HTTP não só como
 transporte, mas como parte de sua especificação
• Arquitetura baseado em requisições HTTP sem
 estado (stateless)
• Cada mensagem HTTP contém toda a
 informação necessária para o pedido
• Define um pequeno conjunto de operações
 como POST, GET, PUT e DELETE
• Sintaxe universal para identificação dos recursos
http://www.takenami.com.br



                      JSON
• JavaScript Object Notation. Formato leve para
 descrição de dados
• Subconjunto da notação de objeto de JavaScript
 - seu uso não requer Javascript exclusivamente
• Alternativa ao XML para descrição de dados
• Parse nativo em Javascript (eval)
http://www.takenami.com.br




{
    "id":1,
    "autor":"Jorge Amado",
    "livros":[
       {"titulo":"Tieta do Agreste","ano":1977},
       {"titulo":"Tocaia Grande","ano":1984}
    ]
}
http://www.takenami.com.br



          Formato JSON
{
    "id":1,
    "autor":"Jorge Amado",
    "livros":[
       {"titulo":"Tieta do Agreste","ano":1977},
       {"titulo":"Tocaia Grande","ano":1984}
    ]
}
http://www.takenami.com.br




Dúvidas ?

Mais conteúdo relacionado

Mais procurados

Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Annelise Gripp
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de SoftwareMarcelo Yamaguti
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geralsergiocrespo
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 

Mais procurados (20)

Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Análise e Modelagem de Software
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de Software
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Arquitetura de Software Visão Geral
Arquitetura de Software Visão GeralArquitetura de Software Visão Geral
Arquitetura de Software Visão Geral
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Mpsbr
MpsbrMpsbr
Mpsbr
 
Ihc Aula7
Ihc Aula7Ihc Aula7
Ihc Aula7
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 

Destaque

Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareeros.viggiano
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoMatheus Nani
 
Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...
Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...
Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...Ricardo Sul
 
Building Scalable Applications
Building Scalable ApplicationsBuilding Scalable Applications
Building Scalable Applicationsracx
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosFrederico Madeira
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorMarlon CP
 
A importância da arquitetura de software
A importância da arquitetura de softwareA importância da arquitetura de software
A importância da arquitetura de softwareAdriano Tavares
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Valdeir Frizzera
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlAdail Viana Neto
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidorConcurseira Le
 
Neuropedagogia
NeuropedagogiaNeuropedagogia
NeuropedagogiaLilith HD
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarCleber Fonseca
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaDaniel Silveira
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisJanynne Gomes
 

Destaque (20)

Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...
Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...
Arquitetura Corporativa, Arquitetura de Soluções, Arquitetura de Negócio, Arq...
 
Building Scalable Applications
Building Scalable ApplicationsBuilding Scalable Applications
Building Scalable Applications
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas Distribuídos
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidor
 
A importância da arquitetura de software
A importância da arquitetura de softwareA importância da arquitetura de software
A importância da arquitetura de software
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
 
Neuropedagogia
NeuropedagogiaNeuropedagogia
Neuropedagogia
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Neuropedagogia
NeuropedagogiaNeuropedagogia
Neuropedagogia
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiula
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 

Semelhante a Introdução a Arquitetura de Sistemas

Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIgor Takenami
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a InternetLeonardo Soares
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsitaniamaciel
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
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
 
Boas práticas com Web Services
Boas práticas com Web ServicesBoas práticas com Web Services
Boas práticas com Web ServicesEvaldo Junior
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemCloves Moreira Junior
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieVivaldo Jose Breternitz
 

Semelhante a Introdução a Arquitetura de Sistemas (20)

Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a Serviços
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Minicurso Smsi
Minicurso SmsiMinicurso Smsi
Minicurso Smsi
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
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
 
Web service
Web serviceWeb service
Web service
 
Boas práticas com Web Services
Boas práticas com Web ServicesBoas práticas com Web Services
Boas práticas com Web Services
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvem
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Asp.net
Asp.netAsp.net
Asp.net
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
(A18) LabMM3 - Ajax
(A18) LabMM3 - Ajax(A18) LabMM3 - Ajax
(A18) LabMM3 - Ajax
 

Último

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 

Último (20)

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 

Introdução a Arquitetura de Sistemas

  • 1. http://www.takenami.com.br Introdução a Arquitetura de Sistemas Igor Takenami itakenami@gmail.com http://twitter.com/itakenami Versão 1.1
  • 2. http://www.takenami.com.br Evolução na Arquitetura de Sistemas • Necessidades do Usuário - Aplicações Modulares - Capacidade de Expansão - Fácil Manutenção • Descentralização - Fornecedores diferentes fornecendo produtos para uma mesma solução - Viabilidade de Custo - Concorrência • Dinâmica modificação na infra-estrutura e avanços da tecnologia disponível no mercado
  • 3. http://www.takenami.com.br Arquitetura Monolítica • Terminal burro • Não possui capacidade de processamento • Conexão a um servidor central • Compartilhamento de recursos • Altamente acoplada e centralizada • Dependência de um único fornecedor de hardware e software • Custo muito elevado
  • 4. http://www.takenami.com.br Cliente/Servidor (2-Tier) • Conhecida como 2 camadas • Muito utilizado até hoje • Resultado de evoluções tecnológicas - Surgimento do PC • Dividir o processamento em 2 estações: a estação cliente e o servidor
  • 5. http://www.takenami.com.br Cliente/Servidor (2-Tier) • Fat Client - Problemas na atualização das regras de negócio e interface com o usuário • Thin Client - Dependente do Banco de Dados - Problemas na atualização da interface com o usuário • Problemas na atualização de versões no cliente
  • 8. http://www.takenami.com.br Modelo WEB (3-Tier) • Surgimento da Internet • Modelo cliente/servidor passou a ser implementado em 3 camadas • Arquitetura mantém 2 camadas lógicas • Regras de negócio da aplicação estão acopladas a interface • Acessado de um mesmo programa navegador
  • 9. http://www.takenami.com.br Modelo WEB • Servidor possui as telas e regras de negócio da aplicação • Uma atualização (na interface ou nas regras de negócio) implica em atualizar somente o respectivo servidor • Clientes deixam de processar a informação e passam a solicitar e receber respostas do servidor
  • 11. http://www.takenami.com.br Modelo n Camadas (n-Tier) • Evolução das tecnologias para implementação de sistemas distribuídos • Necessidade de uma maior descentralização das camadas • Desacopla fisicamente a interface da aplicação das regras de negócio • Processamento pode ser distribuído para diversos servidores (hosts) • Regras de negócio são independentes da interface - serviços para diversos tipos de aplicação
  • 13. http://www.takenami.com.br Dispositivos, com exceção do navegador, precisavam acessar os componentes de negócio diretamente e para isto teriam que ser compatíveis com a tecnologia em que foi construído
  • 14. http://www.takenami.com.br WebServices • Integração entre sistemas independente da tecnologia que foi desenvolvido • Componentes passam a disponibilizar seus métodos através de serviços • Utiliza a infra-estrutura da internet (TCP/IP) através de HTTP (como meio de transporte) assim como os navegadores • Requisições HTTP com conteúdo dos pacotes em XML/SOAP • Implementação no servidor WEB para receber o pacote XML/ SOAP e interpretar a informação • Implementação para transformar a resposta em XML/SOAP e devolver ao solicitante
  • 15. http://www.takenami.com.br XML é utilizado para descrever um conjunto de dados especificado através de um padrão aberto e conhecido como SOAP (Simple Object Access Protocol)
  • 16. http://www.takenami.com.br SOAP Request <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header/> <S:Body> <ns2:adicionar xmlns:ns2="http://eai.pos.unijorge/"> <nome>Igor</nome> <cpf>123</cpf> <endereco>Av. X</endereco> <email>itakenami@gmail.com</email> <salario>1000.0</salario> </ns2:adicionar> </S:Body> </S:Envelope>
  • 17. http://www.takenami.com.br SOAP Response <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:adicionarResponse xmlns:ns2="http://eai.pos.unijorge/"> <return>1</return> </ns2:adicionarResponse> </S:Body> </S:Envelope>
  • 18. http://www.takenami.com.br SOA - Arquitetura Orientada a Serviços • Reuso de componentes (serviços) • Centralização dos processos de negócio disponibilizados através de serviços • Composição: Novos serviços são criados a partir de um determinado fluxo de serviços existentes • Foco em reúso e negócio • Facilita a integração de sistemas
  • 19. http://www.takenami.com.br Aplicação WEB • Projetada para navegação por documentos no formato HTML • Código de formatação de páginas (HTML) amarrado a código do sistema • Modelo síncrono (Cliente/Servidor/Cliente) • Perda de contexto • Web 1.0 - Super valorização das empresas que não existiam fisicamente - Bolha
  • 20. http://www.takenami.com.br Web 2.0 • Plataforma para utilização de serviços WEB com foco no usuário e usabilidade • Navegação (em diversos formatos) e utilizando diversas tecnologias • Ajax - Asynchronous Javascript And XML - Requisição sob demanda - Modelo assíncrono - Parte do processamento no cliente (Javascript) • Novos formatos de integração entre sistemas: REST e JSON
  • 21. http://www.takenami.com.br REST • Transferência de Estado Representacional (Representational State Transfer) • Tese de doutorado escrita por Roy Fielding em 2000 - um dos principais autores da especificação do HTTP • Utilizado para fazer integração entre sistemas, assim como os Web Services
  • 22. http://www.takenami.com.br Significado prático de REST ? Descreve qualquer interface web que utiliza XML/JSON e HTTP sem as abstrações dos protocolos baseados em trocas de mensagem
  • 24. http://www.takenami.com.br Arquitetura REST • Utiliza o protocolo HTTP não só como transporte, mas como parte de sua especificação • Arquitetura baseado em requisições HTTP sem estado (stateless) • Cada mensagem HTTP contém toda a informação necessária para o pedido • Define um pequeno conjunto de operações como POST, GET, PUT e DELETE • Sintaxe universal para identificação dos recursos
  • 25. http://www.takenami.com.br JSON • JavaScript Object Notation. Formato leve para descrição de dados • Subconjunto da notação de objeto de JavaScript - seu uso não requer Javascript exclusivamente • Alternativa ao XML para descrição de dados • Parse nativo em Javascript (eval)
  • 26. http://www.takenami.com.br { "id":1, "autor":"Jorge Amado", "livros":[ {"titulo":"Tieta do Agreste","ano":1977}, {"titulo":"Tocaia Grande","ano":1984} ] }
  • 27. http://www.takenami.com.br Formato JSON { "id":1, "autor":"Jorge Amado", "livros":[ {"titulo":"Tieta do Agreste","ano":1977}, {"titulo":"Tocaia Grande","ano":1984} ] }