我如何获得网络应用程序的许可?

时间:2012-01-10 12:49:22

标签: java web-services soap licensing project-management

我有五个应用程序驻留在服务器上。其中一些应用程序基于套接字(C / C ++),其他应用程序基于Web(Java,PHP)。我需要根据可以访问的用户数量,功能类型和用户类型为这些应用程序提供许可证。我应该使用什么样的商业模式?我有一些想法:

  1. 创建将安装在许可证数据上的java webservice,以及 当用户登录任何服务器时,所有服务器都将与之通信 以上申请。
  2. 执行基于套接字的服务器。
  3. 在每台服务器上安装一个lisence文件,并使每个服务器进行通信 单独使用其文件并充当许可证规则。
  4. 如果您有其他解决方案,请拍摄。

    问候。

2 个答案:

答案 0 :(得分:2)

解决方案#1可能是最优雅的解决方案,因为它集中了所有许可逻辑。任何更改都可以在一个地方完成。许可服务器的主要缺点(与#3等本地许可文件相比)是性能和对许可服务器可用性的依赖。如果许可服务器出现故障,您希望应用程序执行什么操作?阻止所有访问?暂时允许所有访问?

答案 1 :(得分:0)

我去过那里并做到了。我想就每种方法提出一些重要问题。

关键信息是您为什么要阻止未经许可的用户使用您的软件?这是一个向公众开放的应用程序吗?这是为了保护/支持销售和合同义务吗?您的用户是友好的(可能会意外添加新用户)还是恶意用户(会故意添加他们没有许可证的用户)?

您的客户是否可以访问您的软件配置?它运行的硬件?

  

创建将安装在许可证数据上的java webservice,以及   当用户登录任何服务器时,所有服务器都将与之通信   以上申请。

如果许可证服务器出现故障或运行缓慢,会发生什么?这会阻止登录吗?在每次登录时调用许可证服务器会减慢登录速度,足以惹恼用户吗?

谁将维持这项服务?谁将添加/更新许可证?

您如何确保与许可证服务器的通信安全?

  

执行基于套接字的服务器。

这与第一个选项的整体方法相同。你应该从“我有一个远程许可证服务器”的角度来考虑这一点。用于与该服务器通信的协议和技术很重要,但不如整体设计重要。

  

在每台服务器上安装一个lisence文件,并使每个服务器进行通信   它的文件单独作为许可证规则。

您将如何生成和分发这些许可证文件?您/您的支持团队会这样做还是客户?

您如何保护许可证文件?其中包含数字的许可证文件可以,但实际上并不足以实施许可限制。签名文件更好一步。加密安全的文件是最好的,但可能有点过分。