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

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
elliando dias
 

Mais procurados (20)

Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
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
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 

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
 
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
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 

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

ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 

Último (20)

Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 

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