Em um ambiente WEB a execução é centralizada no servidor onde o aplicativo está hospedado e sua atualização é simples, basta substituir a versão antiga pela nova no servidor, que todos clientes estarão atualizados.
Mas e quanto ao cenário desktop? É nesse contexto que o componente TWebUpdate age, trazendo recursos que facilitam a criação de aplicações que se auto atualizam não só pela WEB, mas por outros meios como FTP e pastas compartilhadas em rede.
Veja neste artigo como toda complexidade é abstraída, simplificando a atualização de aplicativos.
No âmbito comercial do cenário de software, a plena existência de um aplicativo rodando nas diversas estações de usuário, acaba por exigir uma série de fatores que por vezes ultrapassam as questões de negócio e mercadológicas.
Um bom exemplo disso se dá pela própria atualização do software em questão, que acaba por envolver diversos aspectos que fogem do escopo central ao qual a aplicação visa atender.
Logo, independente do aplicativo controlar Vendas, Estoque, Fluxo de Caixa ou servir como um utilitário de integração de dados ou envio de e-mails, é certo que uma inteligência concorrente para sua atualização, quando necessária, deverá existir.
Exatamente neste ponto é que surge então o TWebUpdate, um componente não-visual da empresa TMS Software, cujas capacidades são traduzidas nos diversos recursos disponibilizados para uso, estritamente relacionados à atualização de arquivos de modo geral.
Logo, sua abrangência acaba por cobrir toda a área de software e seus arquivos relacionados, o que inclui o próprio executável de uma aplicação. Assim, na prática, sua utilização está muito ligada ao cenário de “atualizadores”, servindo como elemento central na construção de utilitários desse tipo.
TMS Software
A TMS Software desenvolve componentes para os mais variados fins. Em tempos mais recentes, seu nome esteve cada vez mais envolvido no cenário Delphi, a partir de sua parceria com a Embarcadero, cujo resultado se deu na forma de cessão de pacotes de componentes aos proprietários de licenças da ferramenta.
Seu extenso leque de componentes é direcionado às duas principais plataformas de desenvolvimento da ferramenta – Visual Component Library (VCL) e FireMonkey (FMX) – atendendo a cenários Desktop, Mobile e Web. TDBAdvSpinEdit, TDBAdvNavigator, TAdvSmoothCalculator e TPlannerCalendar são alguns exemplos de componentes. Ainda relacionado ao Delphi, outro produto TMS já bastante popular em meio à comunidade é o TMS Aurelius, um framework ORM (mapeamento objeto-relacional), cuja abordagem pode ser encontrada em edições anteriores desta mesma revista.
TMS WebUpdate
O TMS WebUpdate é um componente essencialmente VCL, parte integrante do TMS Component Pack suportado pelo Delphi 7. Em razão do nome de sua classe, comercialmente, o componente é tratado como TWebUpdate. Devido à sua característica fundamental, sua aplicação prática é toda direcionada ao desenvolvimento de aplicações Desktop, Win32 quanto Win64.
Sua função básica é prover a distribuição de arquivos de forma rápida e facilitada, com base nas tratativas de transferência de arquivos já tradicionais no âmbito tecnológico: via rede, FTP ou HTTP/HTTPS.
Adicionalmente, o formato de distribuição envolvido pode envolver quatro opções relevantes, sentenciadas por arquivos normais, arquivos de diferença (patch difference files), arquivos CAB ou arquivos compactados LZ.
Apesar de poder lidar com arquivos de um modo geral, toda a popularidade do TWebUpdate se volta à atualização de aplicações, deixando a plena impressão de sua exclusividade para este ponto.
Isso se justifica dada sua excelência em lidar com transferência de arquivos e recorrência do tema em meio à comunidade de desenvolvedores, visto que esse tipo de “atualização” sistêmica se mostra como uma constante em ambientes corporativos e comerciais.
Além disso, do ponto de vista comercial, toda essa caracterização imposta ao TWebUpdate, relacionada à exclusiva atualização de aplicação, faz com que ele se torne um dos grandes nomes, em termos de componente, atualmente disponíveis no mercado.
Principais características
Tomando como base as proposituras expostas pela própria fabricante, o TWebUpdate acaba por fundamentar um emaranhado de recursos e otimizações, que dão forma às suas principais características:
· Simples e de fácil utilização;
· Extensa capacidade de personalização para o processo de atualização de aplicativos;
· Plenamente utilizável para atualização de aplicativos, componentes e dados;
· Recurso de detecção automática de novas versões da aplicação;
· Mecanismo de auto atualização;
· Download de novas versões via rede, FTP ou HTTP/HTTPS;
· Trabalho com várias formas de detecção de novas versões, cuja verificação pode ser baseada em diversos aspectos como recursos, data, checksum e tamanho de arquivo;
· Suporte a formas customizadas de verificação de versão;
· Suporte a atualizações parciais;
· Mostra de informações “What’s new” (o que há de novo) durante o processo de atualização;
· Tratativas de UAC do sistema operacional (Windows);
· Inclui assistente (Wizard) opcional interno que guiará o usuário através do processo de atualização da aplicação;
· Inclui utilitário de suporte (Update Builder) para criar e automatizar a geração de arquivos de controle de atualização;
· Produção de logs e estatísticas.
Download e instalação
O TWebUpdate, assim como a grande maioria dos componentes produzidos pela TMS, é um produto pago, que acaba por envolver uma licença comercial de uso.
Neste ponto, o componente pode ser adquirido tanto de forma individual, quanto via TMS Component Pack, sendo parte integrante do pacote que engloba os principais componentes TMS. Tal qual já é de praxe em produtos comerciais, uma versão gratuita de avaliação do TWebUpdate é disponibilizada ao grande público (ver seção Links ao final do artigo), sendo esta a opção ideal para os contatos iniciais com o componente.
Diferente de alguns componentes, a instalação do TWebUpdate ocorre de forma bastante simplificada, por meio do acionamento de um simples executável, que dá origem a um Wizard de instalação já tradicional no meio tecnológico.
Tal assistente guiará o ...