WebMatrix e o processo de publicação de aplicações

O desenvolvimento de aplicações web ha algum tempo deixou de ser algo trivial. Se adicionarmos a este fato o de que a internet mudou gradativamente seu paradigma, temos um novo ambiente constituído. Neste ambiente, dentre as muitas características presentes, citamos: reutilização de código e a presença marcante de aplicações engines e/ou aplicações do tipo CMS (Content Management System).

É neste cenário que o WebMatrix encontra-se inserido. Conforme apresentado em outros artigos aqui mesmo no portal, WebMatrix é uma ferramenta integrada de desenvolvimento que disponibiliza a desenvolvedores (através de robustos recursos para codificação, tais como: code complete, suporte nativo a HTML5, CSS3, Javascript, PHP, helpers, etc.) e usuários finais (através da Web App Gallery), um ambiente sóbrio para criação de websites em diversos níveis.

O WebMatrix é uma ferramenta gratuíta desenvolvida pela Microsoft e você efetuar o download no site oficial do produto: http://bit.ly/MS_WebMatrix.

Aqui no treinamento temos vários artigos que cobrem muitos aspectos sobre o WebMatrix. A seguir, apresento alguns deles:

  • WebMatrix: o que ele traz e porque você deveria conhecê-lo
  • Criando aplicações web com WebMatrix
  • Instalando o WordPress no Windows com WebMatrix
  • WebMatrix + WordPress = Fazendo a web de forma mais simples

Do que trata este artigo?

O fluxo de construção de aplicações de qualquer natureza pode ser resumido em três etapas fundamentais: a concepção/especificação da ideia; a projeção/implementação e transformação da ideia em código; publicação da aplicação.

De forma geral, desenvolvedores e técnicos envolvidos em um projeto de software tradicional ou web, concentram esforços na segunda etapa, isto é, o processo de implementação das aplicações. Assim, naturalmente a terceira etapa (tão importante quanto a segunda) acaba recebendo menor atenção e alguns problemas acabam surgindo um função disso.

Neste texto daremos atenção especial para o processo de publicação de aplicações web utilizando WebMatrix. Assim, não cobriremos o processo de desenvolvimento de novas aplicações pois, os artigos acima apresentam boas abordagens sobre isso.

O que significa "publicação" de uma aplicação web?

Aplicações web possuem peculiaridades em relação as demais aplicações. Uma destas peculiaridades é o processo de publicação.

Para que uma aplicação web possa funcionar, é preciso que a mesma esteja hospedada em um ambiente específico. Este ambiente, fornece todos os requisitos e demais tecnologias para que a referida aplicação possa ser executada. O ambiente ao qual nos referimos é um servidor (um computador com recursos poderosos) que hospeda tanto os arquivos da aplicação web como estruturas orbitantes a estas (como bancos de dados, por exemplo).

O processo de publicação é aquele que possibilita a transferência dos arquivos e demais estruturas do site/aplicação do ambiente local (o computador onde foi desenvolvido) para o ambiente remoto (servidor web, mencionado no parágrado anterior). A Figura 1 ilustra este processo.

Figura 1. Ilustrando o processo de transferência de arquivos

FTP ou WebDeploy?

O processo de publicação de uma aplicação web (ilustrado na Figura 1) pode ser realizado de diversas formas. WebMatrix, ferramenta alvo de nosso estudo neste texto, disponibiliza em seu ambiente de publicação duas destas metodologias (as duas principais) - FTP (File Tranfer Protocol) e WebDeploy. Nas linhas a seguir, apresentamos estas metodologias em maiores detalhes.

  • FTP: Esta metodologia utiliza um protocolo específico para a transferência de arquivos através da rede - o protocolo FTP. Basicamente a função deste protocolo garantir a transferência segura dos arquivos da origem até o destino. Muito embora funcione muito bem, este modelo possui algumas limitações. A seguir apresento as principais:
    • Processo manual: o processo de publicação via FTP é manual, assim, quaisquer atualizações em arquivos da aplicação precisam ser enviados novamente um a um. Isto torna-se um problema a medida em que a aplicação cresce e o número de arquivos para administrar também.
    • Dificuldade com bancos de dados: uma situação não coberta pela abordagem FTP é a publicação de bases de dados de forma automática, isto é, uma vez criado no computador local o banco de dados, o usuário necessita gerar um backup ou script SQL (Structured Query Language) do mesmo para só então, em um segundo momento, utilizar este arquivo de apoio para estruturar este banco de dados junto a aplicação.
  • WebDeploy: O processo de publicação via WebDeploy também disponível no WebMatrix é a reunião das melhores características do processo mencionado anteriormente com a solução dos problemas do mesmo. WebDeploy é um utilitário acoplado ao WebMatrix que realiza todo o processo de publicação. Algumas ações implementadas:
    • Validação do ambiente remoto em relação ao ambiente local
    • Publicação automática dos arquivos do site
    • Publicação automática de bancos de dados
    • Configuração automática dos arquivos para o ambiente remoto
  • A ferramenta de WebDeploy precisa apenas dos parâmetros de publicação do ambiente remoto. O restante é com a ferramenta.

A Figura 2 apresenta de publicação via WebDeploy.

Figura 2. Tela de parametrização da ferramenta WebDeploy no WebMatrix

Onde publico meu site? De onde vêem os dados para configurar WebDeploy?

Olhando para a Figura 2, fica evidente que algumas informações são requeridas para que o processo de publicação via WebDeploy ocorra. Se você possui pouca vivência com o ambiente de desenvolvimento web, a pergunta que pode surgir aqui é: onde consigo estas informações?

Voltando um pouco no texto, nos deparamos com a Figura 1. Nela está ilustrado o processo de publicação e fica evidente que, os arquivos e demais estruturas de um site/aplicação ficam hospedados em um servidor remoto. Estes servidores possuem endereços e credenciais de segurança que garantem tanto ao usuário quanto a empresa que mantém este servidor online, que apenas usuários autorizados estão realizando acesso ao mesmo.

Para que um site possa ser hospedado e entre em ambiente de produção, o desenvolvedor (ou outro profissional envolvido no processo de publicação) deve procurar uma empresa de hospedagem de aplicações web. Estas empresas são conhecidas popularmente como hosters e são as responsáveis em primeira instância, por garantir que o ambiente de produção esteja saudável (entenda-se: container web corretamente configurado, link de internet sem gargalo, segurança implementada, estrutura para bancos de dados online, etc.). Evidentemente que, a manutenção de todos estes serviços funcionando exige mão de obra especializada e o hoster, possui um alto custo de manutenção.

Após escolher a empresa de hospedagem de sua confiança, é preciso escolher o plano que melhor se adapta as necessidades de seu site (por exemplo: se seu site/aplicação for escrito em PHP, você precisará escolher um plano Windows com suporte a PHP e banco de dados MySQL ou SQL Server, etc.). Serviços como número de contas de e-mail, tráfego mensal de dados, número de bases de dados, dentre outros, são fatores que também devem ser igualmente analisados antes da contratação do plano.

Os hosters brasileiros oferecem basicamente dois tipos de estruturas de hospedagem: compartilhada e dedicada. A seguir apresentamos as linhas gerais de ambas.

  • Hospedagem compartilhada: neste modelo de serviço, existe um servidor físico que possui a capacidade de hospedar n aplicações web. Este servidor dispõe de todos os requisitos técnicos para atender a demanda suportada em suas especificações. As n aplicações presentes neste servidor compartilham todos os recursos: processador, link de internet, memória (RAM / ROM), container web, etc., daí vem o nome "hospedagem compartilhada". Este modelo de hospedagem de forma geral é mais barato de ser adquido e é indicado para sites/aplicações pequenas, cujo tráfego de dados e o número de visitas não seja tão elevado. Aqui, o usuário final não se preocupa com o processo de manutenção de seu site - o hoster é o responsável por isso.
  • Hospedagem dedicada (VPS): neste modelo, ao contratar um plano, o usuário recebe uma máquina virtual (o processo de virtualização quem realiza é o hoster) dedicada para que sua aplicação possa funcionar. Aqui, o usuário é o dono da máquina (o ambiente é dedicado) e portanto, todo processo de manutenção fica por sua conta, entretanto, todas as operações que o usuário desejar realizar e complementos que desejar instalar ele pode fazer sem permissão prévia da empresa de hospedagem. Este modelo é recomendado para aplicações médias e grandes e, de forma geral, é um pouco mais onerosa em relação ao modelo compartilhado.

Após escolher a empresa de sua preferência e contratar plano que mais se adequa as suas necessidades, você receberá junto ao hoster as informações para parametrizar sua tela de WebDeploy do WebMatrix e aí sim, tudo está pronto para a publicação.

Os parceiros da Microsoft Brasil no quesito hospedagem

A Microsoft Brasil possui parceiros em todas as suas áreas de atuação. Para a Microsoft, empresas parceiras são aquelas que possuem credibilidade no mercado e que oferecem serviços/produtos com excelência e, no ambiente de hoster para WebMatrix também.

A Microsoft está firmando parceria com os principais hosters brasileiros para suportar em sua infraestrutura aplicações provenientes do WebMatrix. As parcerias são sempre benéficas para o usuário final, pois promoções, preços diferenciados nos principais ambientes do Brasil são gerados.

Hoje o principal parceiro Microsoft para hospedagem dedicada de WebMatrix é a Rede Host. O ambiente é homologado pelo time de especialistas da Microsoft e os preços são acessíveis tanto para hospedagem compartilhada quanto para virtual private server.

Tags:

Follow the Discussion

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.