Como implementar o gerenciamento de licenças para instalação de aplicativos da web no local (de preferência multiplataforma)?[fechado]

StackOverflow https://stackoverflow.com/questions/51338

  •  09-06-2019
  •  | 
  •  

Pergunta

Eu tenho um aplicativo da web em execução em uma pilha LAMP baseada no Gentoo.Meus clientes compram o software como serviço e eu hospedo tudo.No entanto, há alguma demanda para implantação local nas próprias redes dos clientes.

Atualmente, como hospedo o sistema, não há gerenciamento de licenças integrado no aplicativo.Eu cobro com base nas contas dos usuários e na capacidade de dados (é um aplicativo de processamento e análise para medição de dados) e apenas configuro tudo o que o cliente paga e o cliente não pode configurar essas coisas sozinho.Mesmo sem instalação no local, isso deve ser alterado para melhor escalabilidade.

Estou procurando uma estrutura de gerenciamento de licenças e/ou abordagens típicas que você mesmo implementou ou que funcionou bem em outro lugar.Meus requisitos são:

  • "suficientemente seguro" em vez de "nível militar"
  • muito discreto
  • impedir que o proprietário de uma licença execute o sistema em múltiplas plantas quando ele licenciou apenas uma
  • tornar o número de contas de usuário e a capacidade de dados razoavelmente à prova de adulteração e fáceis de atualizar/downgrade
  • funcionar sem conexão à Internet (ter um sistema totalmente independente seria o principal ponto para optar pela solução no local), embora possa ser aceitável se for necessária uma conexão temporária durante a instalação

Para alguns dos cenários locais, haveria a necessidade de algum sistema operacional específico, normalmente alguma versão do Windows Server, mas várias distribuições Linux também estão se tornando mais populares, especialmente no setor público.

Do ponto de vista do usuário, estou bastante satisfeito com o gerenciamento de licenças no FogBugz, parece que Joel Spolsky está satisfeito com ele do ponto de vista do fornecedor, e é multiplataforma, então seria uma ótima referência do que eu estou visando.

Foi útil?

Solução

Não.Cada hora que você gasta escrevendo um sistema de chave de licença é uma hora que você não gasta corrigindo bugs ou adicionando recursos.Ao escrever um sistema de gerenciamento de licenças, você está gastando recursos para reduzir o valor do seu produto!

Proteja os direitos autorais do seu código, tenha um advogado e esteja pronto para processar qualquer pessoa que viole seus direitos autorais e dê um basta no dia.

Outras dicas

Eu vi uma empresa que implanta seu sistema web no local usando uma imagem VM Linux pré-construída.Os clientes o executam no VMWare e você não precisa se preocupar com o sistema operacional real dos sistemas clientes.Além disso, eles não fornecem logins para o sistema Linux real que executa o servidor web, então os usuários finais não podem realmente entrar e modificar nada.

Não tenho certeza de como eles lidam com os limites de licenciamento, mas eles estão lá.Pode ser o caso de fornecer uma imagem de VM atualizada sempre que um cliente solicitar mais licenças de usuário.

Embora isso não aborde diretamente a necessidade de impedir a execução de várias instâncias.Eu acho que você sempre pode fazer algum tipo de sistema de chave de ativação com base na configuração do sistema.

Tenho certeza de que você pode obter o número de série da CPU na maioria dos sistemas operacionais;você poderia usar isso, afinal se eles transplantarem a CPU é seguro presumir que a máquina antiga não estaria mais em uso?

Em segundo lugar, um serviço web poderia ser usado para descobrir a capacidade atual de dados e quanto o cliente pagou.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top