quinta-feira, 19 de novembro de 2009

Desenvolvimento profissional em access: é possível ?

Decidi falar sobre este tema um tanto polêmico: o Access, afinal, é ou não é uma ferramenta de desenvolvimento profissional? Mas mais do que a velha ladainha do que dá ou não dá pra ser feito, também quero oferecer algumas recomendações.

Assim, este artigo não é exatamente técnico, mas um compartilhar da minha opinião e experiência, em especial para as pessoas que trabalham com access ou que pensam em se aprofundar nesta ferramenta.

Quando menciono o desenvolvimento em Access, vejo muitos gerentes de TI respirando fundo, programadores revirando os olhos e alguns usuários respirando aliviados. Há ainda um certo preconceito contra as aplicações em Access, que têm até algum fundo de verdade. Mas como profissional que se dedica 100% à ferramenta posso dizer de cara que é possivel desenvolver em access e viver bem assim. Não dá pra construir um império, mas no fim das contas alguma outra linguagem permite?

Listo abaixo as vantagens do access. Alguns itens são velhos conhecidos, outros podem proporcionar alguns insights interessantes.

- O desenvolvimento é muito, mas muuuuuito mais rápido que em qualquer outra ferramenta.
- A construção das aplicações exige muito menos linhas de código, portanto é mais simples de se dar

manutenção.

- É uma ferramenta flexivel, com boa performance em rede
- Possibilita a criação de interfaces ricas e agradáveis, que oferecem ganhos de produtividade aos usuários
finais.
- Possui, de longe, o melhor gerador de relatórios que existe.
- Proporciona um excepcional retorno sobre o invertimento (ROI) e um baixo risco.
- Integração com os outros aplicativos do pacote office
- Integração com diversos bancos de dados
- Pode ser usado offline
- É excelente para entrada de dados

Agora, como toda ferramenta, o access tem as suas limitações, que listo e comento:

- Não é feito para web, embora possa se conectar a um servidor SQL remoto.
- Nivel de segurança e integridade inferior ao dos servidores de bancos de dados
- Escalabilidade limitada: o limite de uma base Access é de 2 Gb (embora possa conectar-se ao SQL server)
- Exige instalação do programa ou do runtime (versão que permite o uso da aplicação sem a necessidade de
licença) o que torna a implantação mais complexa que uma aplicação web.

O melhor naquilo que faz

A partir destas características, é possivel saber onde o access se encaixa ou não: para aplicações individuais, grupos de trabalho e pequenas ou médias empresas o Access é uma excelente opção. Por outro lado, eu não abriria uma conta em um banco que usasse o access para controlar as contas-corrente.

Situações onde o access se sai excepcionalmente bem:


Aplicações de informações gerenciais e de inteligência

Embora os desenvolvedores dos grandes sistemas ERP tenham o discurso de controle total da informação (gastando muitos milhares de dolares nisto) a maioria deixa muito a desejar em termos de relatórios e análises gerenciais. O que ocorre nas empresas é o download de arquivos texto seguido de um trabalho complementar em excel. Em um cenário como este o access pode ler os arquivos TXT ou os dados da base ERP e apresentar resultados melhores de maneira mais flexivel. Só o tempo liberado dos profissionais já justifica o investimento.


Controles departamentais específicos

Vários departamentos têm necessidades de desenvolvimento específicas, que não possuem sistemas prontos no mercado ou que não justificam a compra de um elefante branco. Por exemplo, a área de garantia de uma metalurgica pode ter uma aplicação para registrar os laudos ao invés de utilizar diversas planilhas. Além de otimizar o trabalho, um sistema pode proporcionar relatórios e estatisticas que não existiriam em outra situação.


Pequenas empresas

A menos que exista um sistema bem feito para o segmento (e hoje há sistemas para quase tudo) e que atenda as necessidades da pequena empresa, o access pode ser uma porta de entrada para a informatização, com a criação de controles de vendas, clientes ou estoque de maneira absolutamente personalizada.


Uma questão de evolução

O ponto central desta discussão é este: o access ocupa um espaço em uma “cadeia de automação” onde temos o excel na base como a grande massa de dados, em seguida o access com informações estruturadas e um bom nivel de automação. Depois, temos aplicações mais formais em VB, ASP (ou PHP ou Delphy) e por último os grandes sistemas de gestão.

Se observarmos, os três exemplos que apresentei são situações onde o access chega para substituir o excel para, depois de um tempo, ser talvez substituido por uma ferramenta do nivel seguinte.

O diagrama abaixo permite observar as necessidade e características dos sistemas em cada nível:


E porque tem gente não pode ouvir falar em Access?


Em alguns departamentos de TI, há uma grande resistência ao uso do Access. Enquanto sempre houve uma relação de amor e odio entre os usuários e a equipe de informática, quanto o assunto é access, muitos desejam proibir totalmente seu uso nas empresas, muitas vezes não instalando o produto mesmo quando o usuário tem a licença do Office Professional.

Como disse, tudo tem seu motivo, e vejo três grandes razões:

- Bancos de dados criados pelos usuários sem orientação e acompanhamento que são planejados de maneira
muto pobre e não podem passar por manutenção sem o empenho de recursos de tempo significativos.

- Bancos de dados (geralmente os mesmos da situação anterior) são empurrados para a área de TI que se vê
obrigada a dar suporte a eles.

- Histórias de lentidão e corrupção de dados, de um tempo em que as redes eram pouco confiáveis, os computadores eram lentos e o access não tinha os mecanismos de estabilidade e performance que possui hoje.

É um fato que estas situações ocorrem e que os departamentos de TI são colocados em becos sem saída. Portanto é compreensível que o Access seja tão desprezado. Entretanto, acredito que seja mais uma questão de orientação aos usuários e posicionamento do departamento. Excluir simplesmente o access é como eliminar um elo da cadeia alimentar: por um lado as planilhas se proliferam e se tornam aplicações em um emaranhado de vinculos e macros (causando um custo de ineficiencia para a empresa) e por outro, sem os aplicativos access para servir de prototipos e experiência, aumentam-se os custos de análise e programação para dar o salto do Excel para uma aplicação formal.

O profissional é você .

O ponto fundamental do desenvolvimento profissional em access não está na ferramenta, entretanto, mas na pessoa que desenvolve. Um programador que comete alguns dos pecados capitais de programação, como criar a sua aplicação na base do assistente ou usando só tons de cinza, que sai desenvolvendo sem planejar ou que ainda tem aquele pensamento retrógrado que os usuários são inferiores, não tem como desenvolver profissionalmente em access, ou em qualquer ferramenta.

Para desenvolver profissionalmente é preciso ser um bom profissional. Encarar este trabalho como arte e ciência, estudando e pesquisando continuamente, sem se acomodar em um conjunto de ferramentas que criou a muito tempo atrás. É preciso conhecer outras técnicas e tecnologias, estudar design (o visual e a praticidade de uma aplicação é responsável por 50% da percepção de qualidade pelo cliente), buscar a compreensão do negócio do cliente.

É um caminho longo, mas não necessariamente dificil. Pelo contrário, cada passo é um objetivo em si: tudo que vamos aprendendo passa a ser usado durante toda a nossa carreira, seja com o access, com outra ferramenta de desenvolvimento ou até mesmo em outra área de atuação.


2 comentários:

  1. Olá Miguel,
    Parabéns, tudo que você escreveu é a mais pura verdade. Muitas pessoas me dizem que não sabem para que serve o Access. Nessa fase da minha carreira (Gestor Comercial), tenho me deparado com planilhas Excel horrendas e que são veneradas pelos gestores. Aplicações essas que poderiam serem desenvolvidas em Access e gerar resultados melhores. É isso, parabéns!

    ResponderExcluir
  2. O único problema do access - mas que pode ser driblado - é o uso ao mesmo tempo por vários usuários. Ele gera um arquivo temporário (Se ñ me engano .ldb) que ñ permite usos simultaneos. Verificando as permissões de acesso a esse arquivo isso pode ser corrigido, possibilitando várias estações usando o mesmo arquivo que permanece em servidor, por exemplo. Fica aí a dica.

    ResponderExcluir