Java作为后端平台。好的选择?

时间:2010-10-18 02:54:13

标签: java oracle open-source servlets backend

我的公司即将开始为我们的新产品构建后端。我们的想法是构建一个为每个上层产品(网站,移动网站,移动应用程序)生成资源的层,同时,它的一个重要部分将作为第三方开发人员的API提供。你知道,典型的启动方案。

我们计划使用Java Servlet技术构建我们的后端,因此我们的架构将依赖于Java,所以问题是:Oracle有什么影响吓跑开源知识的开发人员和像我这样的公司? / p>

我应该尝试寻找Java的替代方案吗?您是否想要远离Java?

这个问题不是关于Java平台的技术问题,而是甲骨文严厉意图的法律含义(我的主观观点)。

编辑:当然这个问题是主观的和议论性的,这就是我想要的答案:意见,意见是主观的和议论性的。

5 个答案:

答案 0 :(得分:2)

我怀疑Java将长期保持强大的后端平台。甲骨文除其他外,不想杀死金鹅。此外,还有太多基于Java的好后端组件,从Tomcat到消息传递,再到hibernate和spring,再到groovy和grails;市场不会让它们长期消失。

从技术上讲,Java非常适合复杂的后端和大规模的问题;如果你正在构建一些简单而轻量级的东西,那么使用像Rails这样的框架以及一个开源数据库通常就足够了。

Groovy和grails是从Rails的轻量级方法到完整的Java世界的一个很好的桥梁,虽然groovy有时可能是一点点,但有时候很奇怪。

答案 1 :(得分:2)

  

我们正计划建设我们的   使用Java Servlet技术的后端   所以我们的架构将是   依赖于Java,所以问题是:   甲骨文吓跑开源知识的含义是什么?   像我这样的开发商和公司?

是吗?上次我检查JBoss和Spring都很强劲。 Scala被认为是替代Java的强大替代方案(或者它将为JVM上的应用程序/系统开发塑造 next 最佳语言。)

你到底指的是什么?我不跟随。现在,如果您正在与Oracle及其堆栈(以及所有集成解决方案,如Oracle Financials)进行直接竞争,那么您可能会担心一些事情。

或者如果您(或打算)做违反(或可能被解释为法院违规)Java许可协议的事情,那么您可能不得不担心Oracle(因为它有可能追求他们,太阳确实有。)

因此,您需要更加务实和客观,并明确定义您的产品角色与Oracle产品的确切关系。基于此,您必须决定是否对JVM进行投资是一个好的决定。

  

我应该尝试寻找替代品   爪哇?

取决于您想要实现的目标。像这样的问题过于宽泛和开放,无法以有意义的方式得到回答。

  

您是否想要远离Java?

从好奇心和多样化我的技能的角度来看,是的。但是,如果我负责开发后端产品,我会使用JVM。我可能会尝试使用Java并利用该平台上15年的集体知识。或者我会尝试Scala。但我会坚持使用JVM。

对于这些类型的东西,Oracle或者没有Oracle,JVM在稳定性,可扩展性和丰富知识方面是最佳选择。从技术角度来看,Erlang VM可能会更好,但与为JVM构建类似的团队相比,你很难建立一个有才华的团队。

答案 2 :(得分:1)

发现一篇文章讨论the future of Java,日期为05.03.10。

好的,从同一个链接得出结论,

  在转动和交易的同时   企业界很少影响   开发者社区作为一个整体,   甲骨文将收购Sun公司   多年来影响深远的影响   来。而盈利的同时   个别Oracle产品可能没有   作为开发人员,最关心你   有趣的观点仍然是:

- Combination of HotSpot and JRockit into an uber-JVM
- Unification of the Java SE and Java ME APIs
- Increased investment in JavaFX onto more platforms
- Continued integration of dynamic languages into the JVM.

答案 3 :(得分:1)

我会推荐Java作为后端平台,我目前在一家专门为公司提供软件业务解决方案的公司工作,我们几乎所有的工作都围绕着在后端使用Java。

我不确定你的后端是否会被网络驱动。我想说看一下使用Spring框架和Hibernate Database支持。 Spring非常支持使用Hibernate和许多其他工具,这就是我支持它的原因。与限制您仅使用某些工具的其他框架不同,Spring在允许您使用它集成许多不同的库,工具和框架方面做得非常出色。这很好,因为我们非常清楚,技术总是在变化,现在流行的东西可能需要在未来改变。

作为后端解决方案的Java在开始时需要更多的工作,因为它反对像Rails这样的轻量级方法,但是一旦你完成所有设置(数据库,构建文件等),那么它就不适合竞争了。

如果您最终采用Java路线,请考虑使用Maven进行构建。 Ant也很好,只需要设置一些工作。

答案 4 :(得分:0)

...你排除了任何特定的技术和原因吗? .Net是一种选择吗?