Worklight Adapters - Java与JavaScript

时间:2014-05-20 17:53:36

标签: java javascript adapter ibm-mobilefirst

使用JavaScript Worklight适配器调用Java代码有什么缺点吗?是否有性能损失或任何警告?

我问的原因是:1)我比Java更熟悉Java,2)Java比JavaScript强大得多。我很想让适配器总是调用Java类来完成所有的工作,但我只关心可能有一些原因我不应该这样做。

4 个答案:

答案 0 :(得分:3)

在适配器中使用Java意味着"适配器功能的扩展而不是替换"。 Worklight确实提供了完整的教程,甚至是在适配器中实现java的示例代码,可以在这里找到:

在适配器演示中使用Java:

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/04_08_Using_Java_in_adapters.pdf

在适配器示例中使用Java:

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/WorklightAdaptersProject.zip

正如在适配器中提到的使用java的示例意味着在案例中的扩展"其中JavaScript不足以实现[特定]功能,或者Java™类[已经]存在"。同样,这意味着"适配器功能的扩展,而不是替换"。

答案 1 :(得分:3)

我只能支持ravidor的声明。由于适配器中的所有JavaScript都是在Servlet内部基于Java的Rhino Javascript引擎和相同的Servlet Context中执行的,因此调用Java类或实例化Java对象不会产生影响。用Java运行复杂代码甚至可能更快。

然而,当离开Javascript并转移到Java时,您正在失去一些适配器的架构模块化。所有Java代码都在一个Java源文件夹中,所有代码都必须与完整的WL控制台一起部署。您正在失去可以独立维护和部署的适配器的松散和模块化特性。

此外,Worklight安全框架及其安全测试和领域都是为保护适配器程序而量身定制的。

此外,您正在丢失Javascript适配器自动执行的HTTP,SQL等网络通信的开箱即用代码。如果您回到Java并需要调用后端,则需要自己编写所有网络通信代码。以及一些JSON转换。

我们在项目中进行了讨论,最后我们将Java与更复杂的数据处理组件以及Javascript用于大部分网络调用和工作安全性。在一个项目中,我们甚至在Adapter Java端使用了完整的Groovy,它工作得相当不错。有时我们遇到了线程池等问题。

答案 2 :(得分:2)

从JavaScript Worklight适配器调用Java代码没有任何缺点 没有性能损失或任何其他警告。
如果您觉得编写Java而不是JavaScript更舒服,那么您应该这样做 从客户端调用适配器过程将调用JavaScript函数,您可以从中调用将返回到JavaScript函数的Java代码,并从那里使用调用结果响应客户端。

答案 3 :(得分:0)

如果您没有使用JAVA进行后端调用,那么AFAIK就不会有任何问题。如果您的Java发生变化,您可能需要重新部署战争。在另一种情况下,如果它是JavaScript,则很容易在worklight服务器中部署适配器