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

Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
Sérgio Souza Costa
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
Luís Fernando Richter
 

Mais procurados (20)

Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
Metodologias de desenvolvimento de sistemas de informação
Metodologias de desenvolvimento de sistemas de informaçãoMetodologias de desenvolvimento de sistemas de informação
Metodologias de desenvolvimento de sistemas de informação
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Seminário Computação em Nuvem
Seminário Computação em NuvemSeminário Computação em Nuvem
Seminário Computação em Nuvem
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
UML
UMLUML
UML
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 

Destaque

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
eros.viggiano
 
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
Adriano Tavares
 
Neuropedagogia
NeuropedagogiaNeuropedagogia
Neuropedagogia
Lilith HD
 
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
Cleber Fonseca
 
Apostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiulaApostilas - cliente servidor - aula 1 - fabiula
Apostilas - cliente servidor - aula 1 - fabiula
Daniel Silveira
 

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

CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
taniamaciel
 
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
Luiz Cláudio Silva
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
guestea329c
 

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
 
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
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
 
Minicurso Smsi
Minicurso SmsiMinicurso Smsi
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
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 

Último

ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
azulassessoria9
 
TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.
TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.
TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.
FLAVIA LEZAN
 
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdfHistoria-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
andreaLisboa7
 

Último (20)

ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdfAparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisNós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
 
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
Slides Lição 7, Betel, Ordenança para uma vida de fidelidade e lealdade, 2Tr2...
 
TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.
TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.
TAMPINHAS Sílabas. Para fazer e trabalhar com as crianças.
 
Insegurança nunca mais tem afeta pessoas
Insegurança nunca mais tem afeta pessoasInsegurança nunca mais tem afeta pessoas
Insegurança nunca mais tem afeta pessoas
 
Sistema de Acompanhamento - Diário Online 2021.pdf
Sistema de Acompanhamento - Diário Online 2021.pdfSistema de Acompanhamento - Diário Online 2021.pdf
Sistema de Acompanhamento - Diário Online 2021.pdf
 
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdfHistoria-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
 
Alemanha vs União Soviética - Livro de Adolf Hitler
Alemanha vs União Soviética - Livro de Adolf HitlerAlemanha vs União Soviética - Livro de Adolf Hitler
Alemanha vs União Soviética - Livro de Adolf Hitler
 
Formação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSSFormação T.2 do Modulo I da Formação HTML & CSS
Formação T.2 do Modulo I da Formação HTML & CSS
 
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacionalBENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
BENEFÍCIOS DA NEUROPSICOPEDAGOGIA educacional
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
O que é, de facto, a Educação de Infância
O que é, de facto, a Educação de InfânciaO que é, de facto, a Educação de Infância
O que é, de facto, a Educação de Infância
 
662938.pdf aula digital de educação básica
662938.pdf aula digital de educação básica662938.pdf aula digital de educação básica
662938.pdf aula digital de educação básica
 
Poema - Aedes Aegypt.
Poema - Aedes Aegypt.Poema - Aedes Aegypt.
Poema - Aedes Aegypt.
 
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdfROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
ROTINA DE ESTUDO-APOSTILA ESTUDO ORIENTADO.pdf
 
Testes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdfTestes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdf
 

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} ] }