Colégio São Luis




     Tecnologia
Front-End/ Back-End




       Andressa J. Silveira
        Filipe dos Santos
           Hélio Metz




       São Leopoldo, 2013
ÍNDICE


  1. Introdução......................................................................................................... 02

  2.1. Computação Distribuída................................................................................ 03


  2.2. Exemplos de Computação Distribuída......................................................... 03


   3.1. Computação em Nuvem (Cloud Computing)............................................... 05
     3.1.1. Front-End/ Back-End na Computação em Nuvem................................ 05


   3.2. Computação em Cluster................................................................................. 06
     3.2.1. Front-End/ Back-End no Cluster Beowulf............................................ 06


   4. Front-End/ Back-End no Exchange Server.................................................... 07


  2. Bibliografia........................................................................................................ 10




                                                                                                         1|Página
1. INTRODUÇÃO

          O termo front-end/ back-end é um termo bem amplo quanto ao mundo
  computacional, e portanto, podemos encontrar mais de uma função ligada a ele.
  Podemos encontrar o termo front-end/ back-end ligado, por exemplo, aos
  profissionais programadores. Há alguns poucos anos passados, existiam
  fundamentalmente dois tipos de profissionais que trabalhavam com
  desenvolvimento de sites: o Webmaster e o Webdesigner. Porém, com o passar
  do tempo, muita coisa mudou. Novos tipos de profissionais ganharam espaço e
  passaram a fazer parte do processo de desenvolvimento web: o
  desenvolvedor Front-end e o desenvolvedor Back-end.

         No entanto, falaremos a respeito do front-end/ back-end ligado ao
  modelo computacional de computação distribuída, onde o termo se refere em
  uma classificação dentro dessa modalidade computacional, a qual é utilizada de
  forma mais eficiente, já que pode ser usada em computadores, celulares,, tablets
  entre outros.




       Fig.1: A computação distribuída pode ser utilizada em diversos dispositivos.




                                                                          2|Página
2.1. COMPUTAÇÃO DISTRIBUÍDA


          A computação distribuída é um modelo de computação, que funciona a
  partir não de um, mas sim, a partir de vários computadores. Então, ao invés de
  um único processador para executar todas as tarefas, são utilizados de centenas,
  e em algumas situações milhares, de processadores. A jogada está em dividir os
  dados (ou até mesmo os problemas) em porções menores que podem ser
  então tratadas por máquinas diversas.




  Fig.2: A Computação Distribuída pode ser organizada em nuvem (imagem da direita),
  em grade(imagem da esquerda) ou em cluster.



          Um uso bastante interessante da computação distribuída está em utilizar
  da capacidade de processamento da mesma enquanto essa não está sendo
  utilizada. Imagine por exemplo, em uma grande empresa ou cidade, a quantidade
  de computadores existentes, mas que em algum momento do dia estes estão
  ligados mas sem executar nenhuma atividade produtiva, como quando se está
  exibindo um protetor de tela. Aqui ideia é utilizareste tempo de processamento
  desperdiçado para fins mais uteis.


2.2. EXEMPLOS DE COMPUTAÇÃO DISTRIBUÍDA


           Dois exemplos práticos de computação distribuída, é do programa
  SETI@Home da Universidade de Berkley, e do programa Folding@home da
  Universidade        de      Stanford.     No     caso     do      SETI@Home
  (http://setiathome.ssl.berkeley.edu/), o objetivo é de processar a enorme
  quantidade       de     dados      recebidos    de    radiotelescópios    pelo
  mundo em busca de sinais indicadores vida inteligente fora da Terra, ou seja, o
  programa é uma espécie de “caça-ETs” de verdade. No site, as pessoas possuem
  a possibilidade fazer o download da aplicação que será instalada como um

                                                                     3|Página
protetor de tela do computador. O programa recebe os dados pela Internet, e faz
o processamento enquanto seu computador está ligado mas não está em uso,
devolvendo assim, as informações coletadas para análise.




 Fig.3:O programa SETI utiliza da Computação Distribuida na busca de vida inteligente
                                    fora da Terra.



       Já o programa Folding@home (http://folding.stanford.edu/), tem o
objetivo de estudar a estrutura das proteínas relacionadas com a cura de doenças
como Alzheimer, Cancer, Parkinson entre outras. Seu funcionamento é bastante
similar ao SETI. uma informação importante é a de que o grupo do
Folding@home se comprometeu a divulgar todas as descobertas do projeto de
forma livre na Internet, fazendo assim com que outros pesquisadores do mundo
todo possam utilizar dos mesmos dados em suas próprias pesquisas.




Fig.4: Já o Folding, da Stanford, utiliza desta tecnologia na pesquisa de proteínas
ligadas a cura de doenças como Alzheimer e Parkinson.




                                                                       4|Página
3.1. COMPUTAÇÃO EM NUVEM (CLOUD COMPUTING)


           A Computação em Nuvem é um dos modos de execução da computação
   distribuída. Computadores na nuvem são configurados para trabalhar juntos, e os
   diversos aplicativos usam o poder da computação coletiva como se estivessem
   sendo executados em um único sistema. Antes da computação em nuvem, Web
   sites e aplicativos baseados em servidor eram executados em um sistema
   específico. Já com o advento da computação em nuvem, recursos são usados
   como um computador virtual anexado.




   Fig.5 :Com a Computação em Nuvem é possível interligar diferentes dispositivos.



3.1.1. FRONT-END/ BACK-END NA COMPUTAÇÃO EM NUVEM

           O Front-End/Back-End pode ter seu uso encontrado na computação em
   nuvem. Esses dois elementos são conectados por meio de uma rede, geralmente
   a Internet.

          O front-end é o meio por onde o usuário interage com o sistema. O
   mesmo é composto de um cliente de computador, ou a rede de computadores de
   um empreendimento, e os aplicativos usados para acessar a nuvem. Já o back-
   end é a própria nuvem. Ele fornece os aplicativos, computadores, servidores e
   armazenamento de dados que criam a nuvem de serviços.



                                                                           5|Página
3.2. COMPUTAÇÃO EM CLUSTER

          Cluster é denominado um sistema que relaciona dois ou mais
   computadores para que estes trabalhem de maneira conjunta no intuito de
   processar uma tarefa. Estas máquinas dividem entre si as atividades de
   processamento e executam este trabalho de maneira simultânea. A computação
   em cluster muitas vezes acaba se tornando como uma solução viável porque os
   nós podem até mesmo ser compostos por computadores simples, como PCs de
   desempenho mediano. Juntos, eles formam um sistema de processamento com
   capacidade suficiente para dar conta de determinadas aplicações que, se
   atendidas por supercomputadores ou servidores sofisticados, exigiriam
   investimentos muito maiores.




                   Fig.6: Cluster antigo formado por vários desktops.




3.2.1. BACK-END/FRONT-END NO CLUSTER BEOWULF

   O Beowulf faz referência a um padrão de clustering disponibilizado pela NASA
em 1994 e amplamente adotado desde então.

   Clusters Beowulf tem como uma de suas características de que entre os nós,
necessita haja pelo menos um que atue como mestre para exercer o controle dos
                                                                        6|Página
demais. Essas máquinas mestres são as chamadas front-end. As demais, são as
denominadas back-end. Há a possibilidade de existir mais de um nó no front-end
para que cada um realize tarefas específicas, como monitoramento, por exemplo.




                   Fig.7:Exemplo básico de um cluster Beowulf.




                                                                 7|Página
4. EXEMPLO DE FRONT-END/BACK-END NO EXCHANGE SERVER
         Muitos profissionais têm dúvida sobre design de soluções Exchange
  Server quando o assunto é utilização de servidores front-end e/ou back-end, a
  pergunta mais freqüente é: onde utilizar da melhor forma estes recursos? O
  primeiro passo é definirmos as funções do Exchange que podem ser dois tipos
  Back-end e Front-end

         Back-End

         É a função default de qualquer Exchange Server, é onde ficam as
  mailboxes dos usuários, pode desempenhar também as funções de OWA, OMA,
  POP, SMTP, RPC over HTTP/HTTPS e IMAP. Todo servidor Exchange não
  configurado para ser um front-end é automaticamente um back-end server.

         Front-End
         O servidor front-end é configurado especificamente para esta função, ele
  não hospeda nenhuma mailbox de usuário. Ele recebe as solicitações de acesso
  dos clientes e funciona como um proxy para estes clientes. Para o usuário que
  está externo ele "acredita" que o seu servidor de mensagens é front-end. É
  importante ressaltar que o Front-End não possui nenhuma informação
  (mensagens) dos usuários.




  Fig. 8: Cenário onde uma empresa com dois servidores back-end (Servidor_A e
  Servidor_B) com 5 usuários distribuídos da seguinte forma: Servidor_A possui os
  usuários Usuario1 e Usuario2; Servidor_B possui os usuários Usuario3, Usuario4 e
  Usuario5. Na empresa possui um firewall que protege a rede Interna da internet. Todos
  os usuários acessam externamente o Exchange Server.




                                                                         8|Página
Fig. 9: No mesmo cenário, utilizando o recurso do fron-end, a administração fica muito
mais simpes e segura, os servidores da rede interna não estarão publicados na internet,
haverá somente uma publicação de cada protocolo para o servidor Front-End.


       Podemos observar que sem duvida a alta disponibilidade é uma das
vantagens do Exchange Server, e a mesma é implementanda de acordo com a
função que ele (o Exchange Server) desempenha. O Back-End usa Cluster
devido a sua natureza que são os dados propriamento ditos (mailboxes de
usuários), enquanto que o Front-End pode utilizar Load Balancing porque não
há nenhuma informação única nestes servidores (os dados: mailboxes estão no
back-end), simplesmente desempenham a função de proxy para usuários
externos.




                                                                        9|Página
BIBLIOGRAFIA

http://www.infowester.com/cluster.php
http://imasters.com.br/artigo/3818/tecnologia/computacao-distribuida/
http://www.inf.ufsc.br/~frank/INE5418/1.Fundamentos-Slides.pdf
http://technet.microsoft.com/pt-br/library/cc668442.aspx
http://www.webmaster.pt/desenvolvedor-web-parte2-front-end-back-end-
10447.html
http://www.ibm.com/developerworks/br/cloud/library/cl-cloudintro/




                                                              10 | P á g i n a

Tecnologia front end back-end

  • 1.
    Colégio São Luis Tecnologia Front-End/ Back-End Andressa J. Silveira Filipe dos Santos Hélio Metz São Leopoldo, 2013
  • 2.
    ÍNDICE 1.Introdução......................................................................................................... 02 2.1. Computação Distribuída................................................................................ 03 2.2. Exemplos de Computação Distribuída......................................................... 03 3.1. Computação em Nuvem (Cloud Computing)............................................... 05 3.1.1. Front-End/ Back-End na Computação em Nuvem................................ 05 3.2. Computação em Cluster................................................................................. 06 3.2.1. Front-End/ Back-End no Cluster Beowulf............................................ 06 4. Front-End/ Back-End no Exchange Server.................................................... 07 2. Bibliografia........................................................................................................ 10 1|Página
  • 3.
    1. INTRODUÇÃO O termo front-end/ back-end é um termo bem amplo quanto ao mundo computacional, e portanto, podemos encontrar mais de uma função ligada a ele. Podemos encontrar o termo front-end/ back-end ligado, por exemplo, aos profissionais programadores. Há alguns poucos anos passados, existiam fundamentalmente dois tipos de profissionais que trabalhavam com desenvolvimento de sites: o Webmaster e o Webdesigner. Porém, com o passar do tempo, muita coisa mudou. Novos tipos de profissionais ganharam espaço e passaram a fazer parte do processo de desenvolvimento web: o desenvolvedor Front-end e o desenvolvedor Back-end. No entanto, falaremos a respeito do front-end/ back-end ligado ao modelo computacional de computação distribuída, onde o termo se refere em uma classificação dentro dessa modalidade computacional, a qual é utilizada de forma mais eficiente, já que pode ser usada em computadores, celulares,, tablets entre outros. Fig.1: A computação distribuída pode ser utilizada em diversos dispositivos. 2|Página
  • 4.
    2.1. COMPUTAÇÃO DISTRIBUÍDA A computação distribuída é um modelo de computação, que funciona a partir não de um, mas sim, a partir de vários computadores. Então, ao invés de um único processador para executar todas as tarefas, são utilizados de centenas, e em algumas situações milhares, de processadores. A jogada está em dividir os dados (ou até mesmo os problemas) em porções menores que podem ser então tratadas por máquinas diversas. Fig.2: A Computação Distribuída pode ser organizada em nuvem (imagem da direita), em grade(imagem da esquerda) ou em cluster. Um uso bastante interessante da computação distribuída está em utilizar da capacidade de processamento da mesma enquanto essa não está sendo utilizada. Imagine por exemplo, em uma grande empresa ou cidade, a quantidade de computadores existentes, mas que em algum momento do dia estes estão ligados mas sem executar nenhuma atividade produtiva, como quando se está exibindo um protetor de tela. Aqui ideia é utilizareste tempo de processamento desperdiçado para fins mais uteis. 2.2. EXEMPLOS DE COMPUTAÇÃO DISTRIBUÍDA Dois exemplos práticos de computação distribuída, é do programa SETI@Home da Universidade de Berkley, e do programa Folding@home da Universidade de Stanford. No caso do SETI@Home (http://setiathome.ssl.berkeley.edu/), o objetivo é de processar a enorme quantidade de dados recebidos de radiotelescópios pelo mundo em busca de sinais indicadores vida inteligente fora da Terra, ou seja, o programa é uma espécie de “caça-ETs” de verdade. No site, as pessoas possuem a possibilidade fazer o download da aplicação que será instalada como um 3|Página
  • 5.
    protetor de telado computador. O programa recebe os dados pela Internet, e faz o processamento enquanto seu computador está ligado mas não está em uso, devolvendo assim, as informações coletadas para análise. Fig.3:O programa SETI utiliza da Computação Distribuida na busca de vida inteligente fora da Terra. Já o programa Folding@home (http://folding.stanford.edu/), tem o objetivo de estudar a estrutura das proteínas relacionadas com a cura de doenças como Alzheimer, Cancer, Parkinson entre outras. Seu funcionamento é bastante similar ao SETI. uma informação importante é a de que o grupo do Folding@home se comprometeu a divulgar todas as descobertas do projeto de forma livre na Internet, fazendo assim com que outros pesquisadores do mundo todo possam utilizar dos mesmos dados em suas próprias pesquisas. Fig.4: Já o Folding, da Stanford, utiliza desta tecnologia na pesquisa de proteínas ligadas a cura de doenças como Alzheimer e Parkinson. 4|Página
  • 6.
    3.1. COMPUTAÇÃO EMNUVEM (CLOUD COMPUTING) A Computação em Nuvem é um dos modos de execução da computação distribuída. Computadores na nuvem são configurados para trabalhar juntos, e os diversos aplicativos usam o poder da computação coletiva como se estivessem sendo executados em um único sistema. Antes da computação em nuvem, Web sites e aplicativos baseados em servidor eram executados em um sistema específico. Já com o advento da computação em nuvem, recursos são usados como um computador virtual anexado. Fig.5 :Com a Computação em Nuvem é possível interligar diferentes dispositivos. 3.1.1. FRONT-END/ BACK-END NA COMPUTAÇÃO EM NUVEM O Front-End/Back-End pode ter seu uso encontrado na computação em nuvem. Esses dois elementos são conectados por meio de uma rede, geralmente a Internet. O front-end é o meio por onde o usuário interage com o sistema. O mesmo é composto de um cliente de computador, ou a rede de computadores de um empreendimento, e os aplicativos usados para acessar a nuvem. Já o back- end é a própria nuvem. Ele fornece os aplicativos, computadores, servidores e armazenamento de dados que criam a nuvem de serviços. 5|Página
  • 7.
    3.2. COMPUTAÇÃO EMCLUSTER Cluster é denominado um sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas máquinas dividem entre si as atividades de processamento e executam este trabalho de maneira simultânea. A computação em cluster muitas vezes acaba se tornando como uma solução viável porque os nós podem até mesmo ser compostos por computadores simples, como PCs de desempenho mediano. Juntos, eles formam um sistema de processamento com capacidade suficiente para dar conta de determinadas aplicações que, se atendidas por supercomputadores ou servidores sofisticados, exigiriam investimentos muito maiores. Fig.6: Cluster antigo formado por vários desktops. 3.2.1. BACK-END/FRONT-END NO CLUSTER BEOWULF O Beowulf faz referência a um padrão de clustering disponibilizado pela NASA em 1994 e amplamente adotado desde então. Clusters Beowulf tem como uma de suas características de que entre os nós, necessita haja pelo menos um que atue como mestre para exercer o controle dos 6|Página
  • 8.
    demais. Essas máquinasmestres são as chamadas front-end. As demais, são as denominadas back-end. Há a possibilidade de existir mais de um nó no front-end para que cada um realize tarefas específicas, como monitoramento, por exemplo. Fig.7:Exemplo básico de um cluster Beowulf. 7|Página
  • 9.
    4. EXEMPLO DEFRONT-END/BACK-END NO EXCHANGE SERVER Muitos profissionais têm dúvida sobre design de soluções Exchange Server quando o assunto é utilização de servidores front-end e/ou back-end, a pergunta mais freqüente é: onde utilizar da melhor forma estes recursos? O primeiro passo é definirmos as funções do Exchange que podem ser dois tipos Back-end e Front-end Back-End É a função default de qualquer Exchange Server, é onde ficam as mailboxes dos usuários, pode desempenhar também as funções de OWA, OMA, POP, SMTP, RPC over HTTP/HTTPS e IMAP. Todo servidor Exchange não configurado para ser um front-end é automaticamente um back-end server. Front-End O servidor front-end é configurado especificamente para esta função, ele não hospeda nenhuma mailbox de usuário. Ele recebe as solicitações de acesso dos clientes e funciona como um proxy para estes clientes. Para o usuário que está externo ele "acredita" que o seu servidor de mensagens é front-end. É importante ressaltar que o Front-End não possui nenhuma informação (mensagens) dos usuários. Fig. 8: Cenário onde uma empresa com dois servidores back-end (Servidor_A e Servidor_B) com 5 usuários distribuídos da seguinte forma: Servidor_A possui os usuários Usuario1 e Usuario2; Servidor_B possui os usuários Usuario3, Usuario4 e Usuario5. Na empresa possui um firewall que protege a rede Interna da internet. Todos os usuários acessam externamente o Exchange Server. 8|Página
  • 10.
    Fig. 9: Nomesmo cenário, utilizando o recurso do fron-end, a administração fica muito mais simpes e segura, os servidores da rede interna não estarão publicados na internet, haverá somente uma publicação de cada protocolo para o servidor Front-End. Podemos observar que sem duvida a alta disponibilidade é uma das vantagens do Exchange Server, e a mesma é implementanda de acordo com a função que ele (o Exchange Server) desempenha. O Back-End usa Cluster devido a sua natureza que são os dados propriamento ditos (mailboxes de usuários), enquanto que o Front-End pode utilizar Load Balancing porque não há nenhuma informação única nestes servidores (os dados: mailboxes estão no back-end), simplesmente desempenham a função de proxy para usuários externos. 9|Página
  • 11.