Cenário/Problema
Uma empresa de vendas de produtos (online e offline) optou pela plataforma Seafile (partilha de ficheiros), para centralizar um conjunto de informação relativa aos produtos, dos vários fornecedores.
Assim, cada fornecedor envia de forma regular para a sua respectiva área de trabalho no Seafile, um ficheiros CSV com os seus produtos (EAN, SKU, Stock, Tempos de Entrega, etc).
Depois, a empresa vai ler os vários ficheiros (CSV) armazenados em cada área de trabalho dos fornecedores e incorporar no ERP.
O nosso cliente, usa o ERP da Cegid Primavera, e precisava de uma solução para carregar os produtos para o Seafile.
Sobre a plataforma Seafile
O Seafile - www.seafile.com - é uma plataforma de sincronização e partilha de arquivos. Numa lógica de funcionamento, muito semelhante ao Google Drive ou DropBox.
O Seafile é composto essencialmente por 3 componentes:
- Software Servidor - onde são armazenados os ficheiros e que agrega uma série de funcionalidades.
- Softwares Clientes - que se ligam ao servidor e permitem todo um conjunto de funcionalidades
- Seafile Drive - software que permite criar um drive virtual no computador, com ligação ao Seafile.
A componente Software Servidor do Seafile tem duas versões disponíveis:
- Open Source - gratuita
- Pro Edition - custo por subscrição (custo por utilizador)
Em ambas as versões, as empresas precisam de instalar (Self-Hosted) o Seafile num servidor Linux.
Para além do Software Servidor, a Seafile disponibiliza também uma série de Softwares de Sincronização (open source e gratuitos) que se ligam ao servidor Seafile. Existem versões para Microsoft Windows, Mac, Linux, Android e iPhone.
Descrição da Solução Desenvolvida à Medida
Criação de um Software - para Microsoft Windows - responsável por:
- Ler os produtos (SKU, EAN, Preço, Stock, tempo de entrega, etc) da base de dados do Cegid Primavera (um query à base de dados do Primavera).
- Manipular os dados de acordo com alguns critérios e regras comerciais pré-definidas pelo nosso cliente.
- Criar um ficheiro CSV.
- Carregar o ficheiro csv para a respectiva área de cliente no Seafile através da utilização de API.
- Automatização - Repetir o processo pelo menos uma vez por dia.
De forma a tornar o programa flexível e adaptável a alterações às regras comerciais do nosso cliente, foi dada especial atenção à criação de um ficheiro de configuração. As regras prendem-se essencialmente com o tempo de entrega dos produtos de acordo com o stock disponível e a marca do produto em questão. Através do ficheiro de configuração também é possível ajustar o ritmo de actualização do ficheiro csv.
O programa corre 24h/7d num computador da empresa, de forma autónoma e contínua.
Outra abordagem, sem passar pela criação de um programa.
Comecemos pela criação do ficheiro csv com os produtos. Poderia ser feito via PowerShell (linha de comandos + scripts), através de um query à base de dados do Cegid Primavera. As regras comerciais, teriam que ser incorporadas directamente no query à base de dados.
O carregamento do ficheiro para o servidor Seafile, poderia ser feito, por exemplo, através do Software Client de forma automática (sincronização de conteúdos de uma pasta), ou copiando-o através do PowerShell, com a utilização de um drive virtual (instalação do Seafile Drive).
A utilização do Windows Task Scheduler, permitiria correr o script do PowerShell periodicamente.
No entanto, depois de analisar os vários cenários, achamos que o desenvolvimento de um programa à medida (software simples) era a solução mais robusta.
Conclusão
No contexto atual, é fundamental que as PME implementem soluções capazes de comunicar com uma série de sistemas de informação, internos ou externos à empresa.
O que leva, inevitavelmente, a um aumento da complexidade do sistema de informação das empresas, e está associado a um aumento de custos em tecnologia e desenvolvimento.
É o preço a pagar, para as empresas serem competitivas nos dias de hoje.