我们有一个使用 Java/Java EE/Spring 批处理构建的应用程序(比如核心应用程序)。这个应用程序包含所有的业务逻辑,并被打包成一个 jar 文件。
现在,我们有了另一个使用 Spring MVC 构建的 Web 应用程序 Hibernate。这个 Web 应用程序为用户提供了一个 UI 来配置我们的核心应用程序。此 Web 应用程序使用核心应用程序的 jar 通过引用配置来执行业务任务。现在,我们希望将这些应用程序作为产品分发给各个公司。但众所周知,jars/wars 是可以反编译的。
因此,我们可以做些什么来保存我们的 IP?
目前我们正在尝试 DashO(来自 Preempitve 的 java 混淆器)。即使经过混淆处理,也可以使用反编译器读取代码。尽管代码阅读起来要复杂得多,但可以阅读业务逻辑。
保护我们的 IP 的最佳做法是什么?使我们的应用程序更安全的各种方法是什么?
编辑:请注意,我们必须向我们的客户分发 WAR,这是令人担忧的主要原因。