我何时应该在ColdFusion应用程序中使用Java?

时间:2009-03-16 15:43:36

标签: java coldfusion

问题的响应者当然知道ColdFusion是一个Java EE应用程序,可以访问所有底层Java类,支持JSP自定义标记库等。但我想知道的是何时用Java编写代码,将其编译为JAR,并用CFML引用它。

这完全是在使用Fusebox,Mach-II或Model-Glue等框架编写的CF MVC应用程序的上下文中。

5 个答案:

答案 0 :(得分:6)

我可以看到三个明显的原因可以跳转到Java:

  • 当现有的Java功能可以满足您的需求时(不要重新发明轮子)。

  • 当Java可以做比CF更好(或不同)的事情时。

  • 如果您发现了使用Java可以解决的性能问题。

总的来说,我不会编写新的 Java代码在CF中使用 - 我会寻找已经证实更多的现有类。

答案 1 :(得分:2)

理想情况下,您希望永远不要构建JAR。

如果您可以通过cfml进行java调用,请改为执行此操作,或者编写cfc来为您处理它。

如果存在自定义java功能,则需要构建尚不存在的功能,然后构建JAR。

我的一个例子是在Coldfusion中生成条形码。我本可以为优秀的Barbeque包编写一个java包装器。相反,我开始使用CFC,然后偶然发现了一个已经建成的CFC。

关于Java的奇妙之处是很少有问题是原创的或独特的。我们的问题已经解决了。 Java有很多为它构建的库。

我可能误会了一些话。

答案 2 :(得分:2)

我想了一段时间,对于一个大的CF应用程序,你应该从后面开始构建,在java中前进。

我认为CF非常适合两件事。 RAD和构建HTML页面。它不是一种通用语言。

如果你有广泛的业务逻辑,那么我认为你应该在java中构建它(或者在CFC中构建RAD,然后将它们用作java的包装器)。 Web前端只是业务逻辑的外观。您可能会发现计费和库存控制等问题可以更好地与其他前端配合使用。在java中拥有系统的核心允许这样做。

CF是一种越来越小众的技术。 CF开发人员很难找到。虽然我认为它是一种很棒的语言,但我认为从商业角度来看,在CF中构建一个大型应用程序可能会导致资金流失。将大部分应用程序保存在Java中可以让您从更大的开发人员库中获得大量应用程序的未来证明。

答案 3 :(得分:1)

我们有一个旧的CF6.1应用程序,其中包含java。迁移到较新的CF版本非常痛苦,因为o埋藏了java。

所以我说不要在Coldfusion应用程序中使用自己的java。

答案 4 :(得分:1)

最好的答案是,这取决于你的具体情况。你的员工在CF和Java方面的技能是什么?谁在设计和建筑方面更强大?预期的代码是什么?您是否期望在Java中做更容易做的事情?您是否正在重复使用已经用Java编写的其他地方的业务逻辑?我不打算打算将应用程序的代码分成两种语言。在需要之前不要引入复杂性。