Artigo Clube Delphi 81 - Criando serviços do Windows

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

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

imagem_pdf.jpg

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 thread interna “rodará” continuamente, interceptará o horário e efetuará a cópia, do arquivo GDB.

Existem n aplicabilidades para os serviços, mas para ser mais objetivo o exemplo cabe bem. Então, mão na massa.

 

Iniciando o projeto

Para iniciar uma nova aplicação, clique em File>New>Other e selecione a opção Service Application (Figura 1).

 


Figura 1. Criando uma aplicação Service Application

 

Note que o Delphi cria o escopo do novo projeto (arquivo DPR) como mostrado na Listagem 1.

 

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?