Sistema para gerenciar revendas de motocicletas

21 respostas
T

Olá pessoal,

Estou querendo fazer um sistema para gerenciar revendas de motocicletas, com as seguintes características:

  • Será acessado por 30 pessoas aproximadamente, inclusive via internet(matriz/filiais). Dependendo da expansão das empresas, pode chegar a mais de 100 acessos.
  • Usará impressora fiscal, NF-e, PAF-ECF, TEF…
  • Portabilidade. Windows, Linux e Mac, até mesmo Android e iOS se sobrar tempo.
  • Desempenho. Não importa se terei que investir em infra do lado servidor ou cliente. Maaaas, vi nesse fórum um comentário bem interessante. É melhor investir em 1 computador(servidor) a investir em 100 computadores(clientes).

Minhas dúvidas:

  • Que banco de dados usar? Pensei no Firebird, MySQL e PostgreSQL. Pelo que andei pesquisando, o PG é o mais robusto dentre esses 3.
  • Que linguagem usar? Pensei no Java, mas depois que a Oracle comprou a Sun, fiquei duvidoso em relação ao seu futuro($$). Não conheço Ruby, Python e Groovy. Muita gente fala sobre a praticidade de programar com essas linguagens.
  • Web ou Desktop? Sempre programei para desktop, mas ultimamente os software web tem chamado muito minha atenção.

Então, vocês poderiam me ajudar? :slight_smile:

21 Respostas

jweibe

A escolha da Base de dados eu ficaria com PostGreSQL dos 3 citados acho o mais robusto, e para um grande
fluxo de informações ele se comporta muito bem.
Quanto a linguagem de programação acho que a mais viável e aquele que você se sente confortável programando,
e não acho interessante escolher uma linguagem por que um ou outro falou que tal linguagem e melhor.
Quanto a plataforma de desenvolvimento, Web seria muito mais interessante para este caso, tendo em vista
a evolução do negócio e do sistema.

joaozarate

Olá thiagojrchaves, tudo bem?

Com relação ao banco de dados o MySQL ou PostgreSQL irá te atender. Eu optaria pelo PostgreSQL.

Você desenvolve para desktop em Java? Caso sim recomendo Java mesmo, caso não, eu recomendo Ruby os Rails… minha opnião

Acredito que para web seria a melhor devido a informação abaixo:

Luciano_Lopes

joaozarate:
Olá thiagojrchaves, tudo bem?

Com relação ao banco de dados o MySQL ou PostgreSQL irá te atender. Eu optaria pelo PostgreSQL.

Você desenvolve para desktop em Java? Caso sim recomendo Java mesmo, caso não, eu recomendo Ruby os Rails… minha opnião

Acredito que para web seria a melhor devido a informação abaixo:


Essa eu não entendi,um sistema em ruby guenta mais acessos do que um feito em java?Pode explicar isso?

T

Programei em Java desktop de 2007 até começo de 2010. Tem 1 ano e meio que só faço pequenos programas em Lazarus/Free Pascal para facilitar algumas coisas do dia a dia.
Se for pra aprender Java web, ruby, o que for, não tem problema. O importante pra mim é fazer um sistema que evolua com o tempo junto com a linguagem, e que essa linguagem seja sempre free e/ou open, e que seja portável.
Fazendo o programa web, tem como usar impressora fiscal? Acho que vi no site da Bematech que é possível.
Quanto ao banco de dados, realmente já tinha pensado com carinho no Postgre, mas caso eu use Java, não seria melhor usar o MySQL pelos 2 serem da Oracle?

R
  • Se for pra escolher 1 dos 3, vai pelo Postgres

  • Use o Java… esse negócio de trocar o certo pelo duvidoso só vai te dar dor de cabeça

  • Desktop ou web depende de como vc quer

T

Tanto faz. Não tem nenhuma exigência de ser desktop ou web.

A

thiagojrchaves:
Olá pessoal,

Estou querendo fazer um sistema para gerenciar revendas de motocicletas, com as seguintes características:

  • Será acessado por 30 pessoas aproximadamente, inclusive via internet(matriz/filiais). Dependendo da expansão das empresas, pode chegar a mais de 100 acessos.
  • Usará impressora fiscal, NF-e, PAF-ECF, TEF…
  • Portabilidade. Windows, Linux e Mac, até mesmo Android e iOS se sobrar tempo.
  • Desempenho. Não importa se terei que investir em infra do lado servidor ou cliente. Maaaas, vi nesse fórum um comentário bem interessante. É melhor investir em 1 computador(servidor) a investir em 100 computadores(clientes).

Minhas dúvidas:

  • Que banco de dados usar? Pensei no Firebird, MySQL e PostgreSQL. Pelo que andei pesquisando, o PG é o mais robusto dentre esses 3.
  • Que linguagem usar? Pensei no Java, mas depois que a Oracle comprou a Sun, fiquei duvidoso em relação ao seu futuro($$). Não conheço Ruby, Python e Groovy. Muita gente fala sobre a praticidade de programar com essas linguagens.
  • Web ou Desktop? Sempre programei para desktop, mas ultimamente os software web tem chamado muito minha atenção.

Então, vocês poderiam me ajudar? :)

Honestamente, Firebird? Mesmo que seja muito pequena a aplicação não seria um movimento Não à Tecnologia? -> Leia -> http://www.vivenciaemtecnologia.com/firebird-o-barato-que-sai-caro/

O Java acho que nunca será pago, pois não é só a Oracle quem dita as regras e sim um conglomerado de empresas que fazem parte do consórcio JCP (Java Community Process).

Projeto que tem o perfil que você passou sempre olho no contexto Web.

Talvez para você brincar um pouquinho com Tecnologias você poderia usar EJB desta forma criaria duas interfaces uma Desktop e outra Web.

T

Sobre o FireBird, eu só cheguei a pensar, mas estava quase certo que vocês indicariam Postgree.
Criando um sistema web, para rodá-lo no cliente eu só teria que me preocupar com os navegadores correto?

joaozarate

thiagojrchaves:
Programei em Java desktop de 2007 até começo de 2010. Tem 1 ano e meio que só faço pequenos programas em Lazarus/Free Pascal para facilitar algumas coisas do dia a dia.
Se for pra aprender Java web, ruby, o que for, não tem problema. O importante pra mim é fazer um sistema que evolua com o tempo junto com a linguagem, e que essa linguagem seja sempre free e/ou open, e que seja portável.
Fazendo o programa web, tem como usar impressora fiscal? Acho que vi no site da Bematech que é possível.
Quanto ao banco de dados, realmente já tinha pensado com carinho no Postgre, mas caso eu use Java, não seria melhor usar o MySQL pelos 2 serem da Oracle?

Cara com relação a impressora fiscal em uma app web … essa eu tmb não sei…

Com relação ao que você disse[“mas caso eu use Java, não seria melhor usar o MySQL pelos 2 serem da Oracle?”] sobre o banco de dados, ao meu ver isso não tem nenhuma relação. Pode usar qualquer banco, independente se é “Oracle” ou não.

T

Eu sei que posso usar qualquer banco. O que eu quis dizer sobre o Java + MySQL serem da Oracle, seria alguma implementação que desse maior desempenho ao MySQL em relação aos outros bancos.

Continua a dúvida: Fazendo o programa web, tem como usar impressora fiscal?

nel

thiagojrchaves:
Eu sei que posso usar qualquer banco. O que eu quis dizer sobre o Java + MySQL serem da Oracle, seria alguma implementação que desse maior desempenho ao MySQL em relação aos outros bancos.

Continua a dúvida: Fazendo o programa web, tem como usar impressora fiscal?

Não sei te responder mas tem dois links interessantes para você ler:

Ao que eu li, rapidamente, para o seu caso em particular, me passa a impressão que uma aplicação Desktop seja a melhor solução, caso contrário, deves pensar bem na abordagem, tecnologia, análise entre outros que irá utilizar.

Abraços.

guilherme.dio

Pode optar por C#(C Sharp) também

T

Nada de soluções pagas.

Pelo que li a pouco sobre java web + impressora fiscal, da dificuldade de conciliar esses 2, estou pensando em fazer isso.

Enviei um email para Bematech, e eles responderam o seguinte:
Prezado,
Possuímos a OCX para comunicação via web com a impressora.
Segue link para download da OCX e do exemplo.
http://www.bematech.com.br/MA/arquivos/equipamentos/Drivers/2BemaFisc.zip

T

Usando o Java Web Start não resolve esse problema? Pelo que vi sobre o Java Web Start, ele copia os arquivos para o computador, e executa a aplicação localmente. Ou estou errado?

ruivo

thiagojrchaves:
Olá pessoal,

Estou querendo fazer um sistema para gerenciar revendas de motocicletas, com as seguintes características:

  • Será acessado por 30 pessoas aproximadamente, inclusive via internet(matriz/filiais). Dependendo da expansão das empresas, pode chegar a mais de 100 acessos.
  • Usará impressora fiscal, NF-e, PAF-ECF, TEF…
  • Portabilidade. Windows, Linux e Mac, até mesmo Android e iOS se sobrar tempo.
  • Desempenho. Não importa se terei que investir em infra do lado servidor ou cliente. Maaaas, vi nesse fórum um comentário bem interessante. É melhor investir em 1 computador(servidor) a investir em 100 computadores(clientes).

Minhas dúvidas:

  • Que banco de dados usar? Pensei no Firebird, MySQL e PostgreSQL. Pelo que andei pesquisando, o PG é o mais robusto dentre esses 3.
  • Que linguagem usar? Pensei no Java, mas depois que a Oracle comprou a Sun, fiquei duvidoso em relação ao seu futuro($$). Não conheço Ruby, Python e Groovy. Muita gente fala sobre a praticidade de programar com essas linguagens.
  • Web ou Desktop? Sempre programei para desktop, mas ultimamente os software web tem chamado muito minha atenção.

Então, vocês poderiam me ajudar? :)

Olha, me deu vários tipo de medo agora. NMHO, já começou errado. Você vai fazer um sistema desse tamanho (pela descrição, parece que vai ter MUITA importância pros clientes) e você não sabe sequer avaliar que modelo de sistema vai fazer? Na boa, sem querer parecer chato ou pessimista, mas larga mão, pq, além de arrumar dor de cabeça pra você, isso tá com cara de que vai dar muita m*** pro cliente.

Antes de perguntar se vai fazer web ou desktop, você tem que conhecer bem a estrutura do seu cliente para aí então, inferir como será feito. Vou lançar algumas perguntas e você tente responder antes de decidir.

  • Você sabe se todos os clientes terão acesso à internet?
  • Se tiver que atualizar a versão do software, será online, será visitando todos os clientes ou vai enviar cds, dvds, pendrive para eles próprios atualizarem?
  • Se o sistema ficar fora do ar, os clientes poderão continuar trabalhando normalmente?
  • Qual a tolerância dos clientes a falhas? Qual o prejuízo que eles podem ter se o sistema cair em dias de faturamento, por exemplo?
  • Os clientes realmente precisarão acessar o sistema via Android ou iOS ?
  • O modelo das impressoras fiscais são o mesmo em TODAS os clientes? Ou você terá que fazer ‘versões’ para cada impressora que encontrar pelo caminho?

E tem outras que provavelmente irão surgir numa conversa com o cliente.

Veja, são perguntas que você deve fazer a si e aos clientes ANTES de iniciar qualquer implementação. E digo isso pq tenho experiência em desenvolvimento de software web pra uma grande rede de concessionárias de carros, e, cara, quando dava uma m*** em dias de faturamento e de enviar pedido pra fábrica eles ficavam MUITO, mas MUITO irritados mesmo, do tipo que você provavelmente não conhece, e isso é extremamente desagradável.

Portanto, eu só peço a você que avalie todas essas coisas antes de começar a pensar no desenvolvimento. Com muitas dessas perguntas respondidas, muitas vezes o modelo surge naturalmente.

T

Quanto à clientes, não se preocupe. Eu sou meu cliente :slight_smile:
A revenda de motocicletas é da minha família, no qual trabalho desde o começo de 2010.
Como disse antes, eu programei em Java desktop de 2007 até o começo de 2010. Até então, tenho feito alguns programas bem pequenos em Lazarus/FreePascal para algumas coisas do dia a dia.
O motivo de querer fazer um sistema para gerenciar a revenda, é minha insatisfação junto ao sistema que temos atualmente, e que é alugado.
Respondendo suas perguntas:

  • Todos terão acesso à internet obrigatoriamente. Para faturar as motocicletas, peças e serviços, temos que estar conectados(NF-e e NFs-e).
  • A atualização será ao abrir o sistema, caso seja desktop. Se tiver uma atualização, o sistema vai lá e baixa.
  • Não é necessario os clientes acessarem o sistema via Android ou iOS. Isso seria um “plus”.
  • O sistema deve suportar as impressoras fiscais mais vendidas, tipo Bematech, Daruma…

O que poderia ser feito para que o sistema continuasse funcionando caso a internet falhe, seria colocar um servidor(web-based ou não) em cada filial. O ideal mesmo seria um servidor único.

T

É assim que funciona no sistema que temos hoje.

WellingtonRamos

Achei que tinha respondido… Acho que vi o preview e esqueci de submeter…

thiagojrchaves:
Estou querendo fazer um sistema para gerenciar revendas de motocicletas, com as seguintes características:

  • Será acessado por 30 pessoas aproximadamente, inclusive via internet(matriz/filiais). Dependendo da expansão das empresas, pode chegar a mais de 100 acessos.
  • Usará impressora fiscal, NF-e, PAF-ECF, TEF…
  • Portabilidade. Windows, Linux e Mac, até mesmo Android e iOS se sobrar tempo.
  • Desempenho. Não importa se terei que investir em infra do lado servidor ou cliente. Maaaas, vi nesse fórum um comentário bem interessante. É melhor investir em 1 computador(servidor) a investir em 100 computadores(clientes).

Sugiro utilizar o SGBD que você se sentir mais a vontade. Entretanto, dependendo do volume de dados e do hardware do servidor, você pode escolher entre os SGBDs express da Oracle, SQL Server ou DB2.

Essa história de pagar é “Teoria da Conspiração” :wink:
Mas não se negue a aprender outras linguagens, vale a pena.

Eu faria uma mescla: Web para a parte administrativa/gerencial, Desktop para a parte de Vendas (facilitando a parte de impressão, sendo distribuido por Java Web Start).
Como sugestão, poderia utilizar aplicação mobile para cadastrar novos veículos e utilizaria o celular para tirar as fotos e já adicionar tudo no sistema :wink:

Mas os dados seriam servidos/alimentados por WebService independente do ambiente escolhido (Desktop/Web/Mobile).

WellingtonRamos

Nada de soluções pagas.
C# não é pago, mas a suite do visual studio sim :wink: Porém, estará amarrado ao Windows :expressionless:

Pelo que li a pouco sobre java web + impressora fiscal, da dificuldade de conciliar esses 2, estou pensando em fazer isso.

Enviei um email para Bematech, e eles responderam o seguinte:
Prezado,
Possuímos a OCX para comunicação via web com a impressora.
Segue link para download da OCX e do exemplo.
http://www.bematech.com.br/MA/arquivos/equipamentos/Drivers/2BemaFisc.zip
Hmm. Neste caso, você teria que configurar um pool de impressão e, ao escolher imprimir, mandaria para esse pool. Porém, como resolveria esse problema no caso de ter diversas filiais físicas?

WellingtonRamos

É para isso sim. Mas será que não vale a pena essa mescla de tecnologias? O web service seria bom, especialmente para aplicações mobile. A interface web permite que o usuário possa entrar na aplicação de qualquer lugar (inclusive um tablet, por exemplo, algo que ainda não é possível via java web start) sem a necessidade de baixar qualquer coisa numa lan house por exemplo, caso esteja viajando mas seja necessário fazer algo (que não seja, necessariamente venda).

Sem contar que, pela interface web, você pode ter um site próprio exlusivo para a loja em questão, com as motos da loja, contatos e sincronismo. Moto vendida é baixada do site.

WellingtonRamos

Nesse caso, prefiro um sistema de cache, sem servidor. Mas se optar pelo servidor em cada filial, tenha um central e mantenha todos sincronizados com os mesmos dados (e um indicador na aplicação de que está “local”).

Criado 28 de junho de 2011
Ultima resposta 29 de jun. de 2011
Respostas 21
Participantes 10