Decidi falar sobre este tema em meu primeiro artigo para o iMasters, tratando deste assunto um tanto polêmico: o Access, afinal, é ou não é uma ferramenta de desenvolvimento profissional?
Assim, este artigo não é exatamente técnico. É 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 com tranquilidade que é possível desenvolver em Access e viver bem assim (uma boa remuneração e uma consciência tranqüila).
As vantagens do Access
Listo abaixo as principais vantagens do Access. Alguns itens são velhos conhecidos, outros podem proporcionar alguns insights interessantes.
- O desenvolvimento é muito, mas muito mais rápido que em qualquer outra linguagem de programação.
- 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
- Pode se conectar 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 (mas pode conectar-se ao SQL server)
- Exige instalação do Access ou da versão 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 de seus clientes.
Agora, para ter uma noção mais clara, veja algumas 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 dólares em propaganda para isto) 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 consistentes de maneira mais flexível e automatizada. Só o tempo liberado dos profissionais já justifica o investimento em uma aplicação deste tipo.
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 com um custo competitivo.
Uma questão de evolução
A meu ver, o ponto central desta discussão é este: o Access ocupa um espaço em uma “cadeia alimentar” 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. Em seguida, escalando a pirâmide, temos aplicações mais formais em VB, ASP (ou PHP ou Delphi) e por último os grandes sistemas de gestão.
Se observarmos, os três exemplos que apresentei como cenários de uso do Access são situações onde a principal tarefa é substituir o Excel. Às vezes para ser substituído por uma ferramenta do nível seguinte depois de um tempo.
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 suas necessidades às vezes estranhas) e a equipe de informática, quanto o assunto é Access, muitos gerentes de TI desejam simplesmente proibir totalmente seu uso na empresa.
Como disse, tudo tem seu motivo, e vejo três grandes razões para esta situação:
- Muitos bancos de dados são 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 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 protótipos 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 uma zona de conforto. É preciso conhecer e se aperfeiçoar outras técnicas e tecnologias, e em elementos relacionados indiretamente, como design (já o visual e a praticidade de uma aplicação é responsável por 50% da percepção de qualidade pelo cliente), a compreensão do negócio do cliente, conhecimento sobre processos de trabalho e qualidade.
Programar profissionalmente é 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, seja com outra ferramenta de desenvolvimento. Na verdade o aprendizado é o único bem que nos acompanha e que não é alvo de impostos.
Obrigado pela leitura, boa sorte em sua jornada e até a próxima!