Your SlideShare is downloading. ×
  • Like
Introdução a Arquitetura de Sistemas
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Introdução a Arquitetura de Sistemas

  • 14,590 views
Published

Slides utilizados para introduzir os conceitos básicos sobre o tema

Slides utilizados para introduzir os conceitos básicos sobre o tema

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
14,590
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
470
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
  • 6. http://www.takenami.com.br Fat Client
  • 7. http://www.takenami.com.br Thin Client
  • 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
  • 10. http://www.takenami.com.br Modelo WEB
  • 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
  • 12. http://www.takenami.com.br Modelo n Camadas
  • 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
  • 23. http://www.takenami.com.br Exemplo de REST
  • 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} ] }
  • 28. http://www.takenami.com.br Dúvidas ?