Migrar Desktop para Web

SQL Server

SQL

MySQL

PostgreSQL

PHP

Java

.NET

Engenharia de Software

Delphi

Automação Comercial

Modelagem

Firebird

27/08/2015

Preciso planejar e ver a viabilidade da migração de sistemas Desktop para WEB.

Hoje todos os sistemas são desenvolvidos em Delphi, com banco Firebird, e Desktop;

O principal sistema é para automação comercial. (NFe, Sped, Controle de estoque, financeiro... e assim vai...)

Gostaria de ouvir as opiniões dos colegas que trabalham com o desenvolvimento Web, em especial, com automação comercial...


Estamos para decidir:

Qual melhor linguagem usar? (Estamos tendenciosos ao Java)

Qual banco de dados? (O cliente poderá usar na nuvem o em um servidor local)

Quais framework, de acordo com a linguagem? (Queremos montar um ambiente com testes automatizados e integração contínua)...

Após decidirmos os passos acima, vamos buscar capacitação na linguagem e no banco de dados..

obrigado...
Fred Utsch

Fred Utsch

Curtidas 0

Melhor post

Jothaz

Jothaz

31/08/2015

Na minha visão pessoal, e bota pessoal nisso, prefiro o PostgreSql, por ele ser 100% open source, suportar melhor transasções ACID, seguir a padronização entre outras coisas. No caso no MySql, se decidir-se por ele, sugiro configurar a engine InnoDb que é mais robusta.

Tudo vai resume-se a preferencia pessoal e fica dificil sugerir algo. Eu tenho usado no MS SQL Server e não tenho do que reclamar, apesar de gostar muito do Oracle.

O mais recomendado seria ter um banco de dados para cada empresa/cliente. Mas o sistema deve ser multi-empresa para poder funcionar bem no caso de empresa que possuem Matriz/Filial e neste caso pode-se usar uma única base de dados.

Uma ótima solução é a virtualização, na empresa em que estou prestando serviço hoje estamos adotando esta solução, pois a empresa atua em mais de 40 países e com a virtualização, você divide bem seus dados além de poder aumentar o poder de processamento por demanda. Assim você pode investir mais em um server que vá atender a um maior volume de dados e não precisa investir tanto onde não há tanto volume assim.

Isto são conjecturas, pois não tenho acesso a sua documentação nem conheço o seu ambiente.
Somente você e sua equipe é que terão insumos suficientes para ter uma visão critica e completa do melhor caminho a tomar.

A equipe é compostar por quantos profissionais?
GOSTEI 1

Mais Respostas

Randrade

Randrade

27/08/2015

Olá Fred,
Essa é uma pergunta muito "optativa", mas tentarei lhe ajudar um pouco.
Apenas uma dúvida, quando você fala MIGRAR, você quer dizer colocar o sistema WEB, ou refazer um sistema do 0?

Pois você diz sobre Banco de Dados, etc. Está parecendo que irá começar um sistema do 0.
GOSTEI 0
Jothaz

Jothaz

27/08/2015

Só vendo a questão de maneira amplas, mas existe o Citrix, que apesar de ser uma solução paga, permite distribuir qualquer tipo de aplicação Desktop através de qualquer rede.

Nem sei se seria a abordagem que vocês pretende, contudo é uma possibilidade. Na empresa em que presto consultoria atualmente foi mais econômico que migrar de plataforma.
GOSTEI 0
Fred Utsch

Fred Utsch

27/08/2015

Na verdade vamos desenvolver o sistema do 0, corrigindo e evitando os problemas que temos hoje em nosso sistema desktop..
GOSTEI 0
Jothaz

Jothaz

27/08/2015

Na verdade vamos desenvolver o sistema do 0, corrigindo e evitando os problemas que temos hoje em nosso sistema desktop..


Então desconsidere minha sugestão do Citrix.

Bom a grosso modo qualquer linguagem vai disponibilizar ferramentas para cria uma boa aplicação e é questão de gosto. Eu prefiro:Java, .Net ou Ruby.

Banco de dados qualquer banco de dados SQL hoje é profissional e você não terá problemas e também e questão de gosto. Eu prefiro: Oracle, SQL Server ou PostgreSQL.

Na migração o importante é a equipe ter expertise na linguagem escolhida. Ter um bom arquiteto, documentar e testar.

Normalmente numa migra existe uma grande chance de se corrigir bugs da atual versão e acabar criando-se outros. Então esteja preparado.

Outro aspecto que pode pegar é a migração dos dados.

Finalizando esta é um decisão pessoal e somente você e sua equipe poderá definir qual caminho tomar, pois somente vocês conhecem seus pontos forte e fracos.

Boa sorte.
GOSTEI 0
Thiago Santana

Thiago Santana

27/08/2015

Na verdade vamos desenvolver o sistema do 0, corrigindo e evitando os problemas que temos hoje em nosso sistema desktop..


Então desconsidere minha sugestão do Citrix.

Bom a grosso modo qualquer linguagem vai disponibilizar ferramentas para cria uma boa aplicação e é questão de gosto. Eu prefiro:Java, .Net ou Ruby.

Banco de dados qualquer banco de dados SQL hoje é profissional e você não terá problemas e também e questão de gosto. Eu prefiro: Oracle, SQL Server ou PostgreSQL.

Na migração o importante é a equipe ter expertise na linguagem escolhida. Ter um bom arquiteto, documentar e testar.

Normalmente numa migra existe uma grande chance de se corrigir bugs da atual versão e acabar criando-se outros. Então esteja preparado.

Outro aspecto que pode pegar é a migração dos dados.

Finalizando esta é um decisão pessoal e somente você e sua equipe poderá definir qual caminho tomar, pois somente vocês conhecem seus pontos forte e fracos.

Boa sorte.


Faço das minhas palavras rsrs
Mas a linguagem prefiro o .NET utilizando MVC!
GOSTEI 0
Randrade

Randrade

27/08/2015

Já falaram acima tudo que eu poderia ter para falar.

Eu particularmente concordo com isso:
Mas a linguagem prefiro o .NET utilizando MVC!


Estou desenvolvendo alguns sistemas de grande porte utilizando esta linguagem, e não deixa nada a desejar.

Só irei fazer um adendo.
Aproveite agora que irá refazer o sistema, e realmente faça um sistema novo. Digo isso, pois já vivenciei casos de uma empresa falar que iria "refazer" o sistema, e implementar funcionalidades do antigo. Com a alegação que o prazo ou o investimento estava curto, acabaram refazendo um sistema com os mesmos problemas.
Dito isso, pegue esta frase do Jothaz, e guarde-á bem.

Na migração o importante é a equipe ter expertise na linguagem escolhida. Ter um bom arquiteto, documentar e testar.


Geralmente, o que deixa um software "com problemas" não é a linguagem, e sim que à utilizou!
GOSTEI 0
Jothaz

Jothaz

27/08/2015


Eu particularmente concordo com isso:

Citação:
Mas a linguagem prefiro o .NET utilizando MVC!


Tenho que concordar com o pessoal, ultimamente também prefiro o .NET com MVC, pois a produtividade, robustez e padronização do projeto, são monstruosas.
GOSTEI 0
Emilio Neto

Emilio Neto

27/08/2015

Sobre migração de sistema de web para desktop, o mais correto é fazer do zero?
GOSTEI 0
Jothaz

Jothaz

27/08/2015

Sobre migração de sistema de web para desktop, o mais correto é fazer do zero?


Não existe certo ou errado, existe a solução que se adapte melhor ao seu cenário.

Como eu postei se você em um sistema tem desktop que funciona e atende 100% você pode utilizar o Citrix para poder distribuí-lo como se fosse web. Tem um custo das licenças do Citrix, mas não vai ter de alterar nem um linha no seu sistema.

Agora se você quer mesmo mudar a plataforma e a linguagem terá de iniciar do zero ou quase.

Por exemplo se seu sistema for em Java o C# para desktop, dependendo de como foi desenvolvido, muito código poderá ser aproveitado. Eu mesmo trabalhei em um projeto de migração de C# para .Net C# e como o projeto desktop já usava MVC e camadas, aproveitamos muita coisa.

Agora outra linguagens não, terá de fazer do zero.

E também depende do que você vai migra para qual você vai migrar. Por exemplo ser for de VB.Net para Java não vai dar para aproveitar.
GOSTEI 0
Emilio Neto

Emilio Neto

27/08/2015

Nada é fácil, já participou de projetos assim, tem muita diferença entre começar do zero algo novo ou refazer de sistema ja existente mas em outra plataforma?
GOSTEI 0
Fred Utsch

Fred Utsch

27/08/2015

Nada é fácil, já participou de projetos assim, tem muita diferença entre começar do zero algo novo ou refazer de sistema ja existente mas em outra plataforma?


Na verdade ainda não tive oportunidade de participar de projetos assim...

O objetivo é começar do zero utilizando técnicas para implantar a integração contínua, que, por vários fatores, não estamos conseguindo implantar em nosso sistema desktop desenvolvido em delphi.


Gostaria de mais contribuições...

Principalmente a respeito de integração contínua e banco de dados...

Ex: Utilizar apenas 1 banco para várias empresas ou utilizar 1 banco para cada empresa?
GOSTEI 0
Jothaz

Jothaz

27/08/2015

Emilio Neto,

Tudo depende do cenário, uma migração de um sistema que a equipe conheça em sua totalidade, principalmente os pontos fracos, pode ser muito mais fácil que iniciar um projeto do zero ou migrar um sistema que a equipe não conheça. Na migração leva-se sempre a vantagem de ter algo que já funciona e seria mais fácil de se entender o que é o sistema faz.
Dependendo do tipo de sistema, começar do zero requer que você entenda o negócio e as vezes pode ser um complicador. Já atuei em projetos dos quais não tinha conhecimento na área, tais como: precificação, importação/exportação, manejo de gado, logística, analise laboratorial, engenharia e etc. Em que é mais complicado por ter-se de familiarizar-se com o assunto e como o assunto não é trivial demanda mais esforço.
No final você acaba se familiarizando e passa a conhecer do assunto.

Fred Utsch,

Quantas empresas?
Qual a escalabilidade?
E matriz e filial?
São seus clientes ou ele tem matriz e filial?
Qual banco de dados você pretende usar?
GOSTEI 0
Fácil Ltda

Fácil Ltda

27/08/2015

Emilio Neto,

Tudo depende do cenário, uma migração de um sistema que a equipe conheça em sua totalidade, principalmente os pontos fracos, pode ser muito mais fácil que iniciar um projeto do zero ou migrar um sistema que a equipe não conheça. Na migração leva-se sempre a vantagem de ter algo que já funciona e seria mais fácil de se entender o que é o sistema faz.
Dependendo do tipo de sistema, começar do zero requer que você entenda o negócio e as vezes pode ser um complicador. Já atuei em projetos dos quais não tinha conhecimento na área, tais como: precificação, importação/exportação, manejo de gado, logística, analise laboratorial, engenharia e etc. Em que é mais complicado por ter-se de familiarizar-se com o assunto e como o assunto não é trivial demanda mais esforço.
No final você acaba se familiarizando e passa a conhecer do assunto.

Fred Utsch,

Quantas empresas?
Qual a escalabilidade?
E matriz e filial?
São seus clientes ou ele tem matriz e filial?
Qual banco de dados você pretende usar?



Obrigado pela resposta...


São em média, 200 clientes diferentes...

Sobre o banco de dados, estamos pesquisando a melhor solução...

Estamos discutindo sobre MySQL e PostGrees. E levantando os pontos positivos e negativos em se utilizar 1 banco de dados para todos os clientes
ou 1 banco de dados para cada cliente....

Tem alguma sugestão?
GOSTEI 0
Emilio Neto

Emilio Neto

27/08/2015

Quando se tem um sistema pronto fica até mais facil, se entender como realmente o sistema funciona e como deve funcionar.
GOSTEI 0
POSTAR