Artigo Clube Delphi 81 - Criando serviços do Windows

Neste artigo vamos elaborar um pequeno sistema, capaz de efetuar automaticamente a cópia de um banco de dados IB/FB todos os dias, em um horário pré-agendado.

Esse artigo faz parte da revista Clube Delphi Edição 81. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Win32

Criando serviços do Windows

 

A entrada maciça dos sistemas operacionais da Microsoft baseados em tecnologia NT (New Technology), como por exemplo: Windows XP, 2000 e 2003, trouxe para o desenvolvedor Win32 uma vantagem sem igual em relação aos antigos SO’s: os Windows Services ou Serviços do Windows. Com eles é possível desenvolver sistemas automatizados que realizam determinadas tarefas continuamente ou em momentos pré-agendados, com/sem a interação do usuário.

Um exemplo disso é o próprio Windows, que aproveita a sua própria tecnologia para efetuar diversas tarefas, tais como: Instalação de Programas, Horário do Windows, Atualizações Automáticas, entre outras. Todas elas encontradas em Painel de Controle>Ferramentas de Sistema>Serviços.

Neste artigo vamos elaborar um pequeno sistema, capaz de efetuar automaticamente a cópia de um banco de dados IB/FB todos os dias, em um horário pré-agendado.

 

Porque usar Serviços?

Se olharmos um pouco para o passado, mais especificamente para os antigos sistemas operacionais, veremos que era bastante complicado desenvolver tarefas automatizadas que rodassem em tempo real e que funcionassem mesmo que o usuário não logasse na rede. Essa, certamente, é uma das principais vantagens dos serviços.

Podemos determinar que o servidor faça uma checagem de rotina no banco de dados a cada n horas sem intervenção do usuário. Se dispuséssemos apenas de Windows 95 ou 98, teríamos que desenvolver um aplicativo que executado continuamente, faria nossa checagem, mas para isso o usuário deveria logar na rede para que o software fosse disparado e aberto, talvez com uma entrada no registro do Windows ou uma ação de arquivo de lote (BAT). Isso, com certeza, tornaria o aplicativo dependente do usuário.

Porém, se desenvolvermos um Service, o mesmo é adicionado na lista de tarefas do Windows e executado assim que a máquina é ligada, e mesmo que o servidor esteja em modo de standby, o serviço continua funcionando.

 

Entendendo o projeto

Para entendermos melhor, vamos desenvolver uma aplicação básica que fará uma cópia simples do banco para uma nova pasta. O exemplo terá um arquivo de inicialização (INI) com a Hora, Origem e Destino da cópia (você pode adaptar para verificar juntamente os minutos). Uma " [...] continue lendo...

Artigos relacionados