大规模java项目解决方案

大规模java项目解决方案,java,ajax,jakarta-ee,ejb,frontend,Java,Ajax,Jakarta Ee,Ejb,Frontend,我想从头开始一个项目。我是一名java开发人员多年。不久前,我甚至为了好玩而编写了自己的mvc框架。现在我在一家使用内部框架的公司工作,我认为这完全是在浪费时间和金钱。我尊重与不同技术人员合作进行大型项目的想法。项目的分离非常重要;图形人员、前端开发人员、软件架构、软件开发人员、数据库专家等等。我不能冒险使用php这样的脚本语言 最近,我正在为一个大型项目的各个方面研究java技术。我的意思是,对于前端层,我遇到了非常著名的技术 春天 我的脸 壁毯 网页工具包 茧 速度 他们每个人都说这是最简单

我想从头开始一个项目。我是一名java开发人员多年。不久前,我甚至为了好玩而编写了自己的mvc框架。现在我在一家使用内部框架的公司工作,我认为这完全是在浪费时间和金钱。我尊重与不同技术人员合作进行大型项目的想法。项目的分离非常重要;图形人员、前端开发人员、软件架构、软件开发人员、数据库专家等等。我不能冒险使用php这样的脚本语言

最近,我正在为一个大型项目的各个方面研究java技术。我的意思是,对于前端层,我遇到了非常著名的技术

春天 我的脸 壁毯 网页工具包 茧 速度
他们每个人都说这是最简单、最快、最新的技术等等。当然,他们中只有一个人能掌握真相。我需要一种前端技术来快速实现ajax、客户/管理员安全、主题、模板、国际化、缓存静态页面、集群和支持ejb。它还应该有IDE支持、社区支持、丰富的文档和在线教程。不过,我还没有选择这些框架的经验。也许还有更好的?最重要的是,我不能冒险开始一项有发展限制的技术。对这一层有什么建议吗

对于业务层,我确信EJB和JPA。我甚至考虑为该层的外观设计一个web服务,以实现将来扩展的互操作性。但是,我不知道如何保护该层,因为它可以应用于其web服务级别,这对我来说仍然是一个问题。对于应用服务器,我正在考虑GlassFish

最后一个问题是应该选择什么IDE进行开发。关于将要使用的所有技术,IDE应该在每个步骤中帮助我,或者为我进行配置,或者帮助我使用其就绪向导进行配置。我想IDE会有合适的插件来使用这些技术

我知道我想要的太多了,但我希望能结合各种技术,在未来的计划中帮助我节省时间和金钱

我真的很高兴听到你们的反应,从更大的角度来看你们的经历


编辑:没有最终的答案,我知道。我只是接受建议。任何答复都将不胜感激

首先,你的问题不好。每种技术都有其光明的一面和黑暗的一面。要选择一些特定的技术,您需要在所有这些方面都有经验,以估计项目中可能出现的问题。根据您的定义:ajax的快速实现、客户/管理员安全、主题、模板、国际化、缓存静态页面、集群和对ejb的支持—90%的框架直接或使用一些插件支持所有这些

此外,各种技术可以更好地针对各种需求进行优化。你不可能拥有一个完美无瑕、尽可能做到最好的超级框架。考虑到该框架具有高度可扩展性和快速性,例如:Spring和/或Portlet将使一些小任务的配置变得困难

因此,我唯一能推荐的就是与谷歌Java Web框架进行比较,并希望得到最好的结果

关于IDE,我只能看到两种选择:IntellijIDEA和Eclipse。同样,没有明确的赢家,所以谷歌是你能获得的唯一信息来源

增加:
再次谈到框架,复杂的项目会同时使用其中的几个框架,从每个框架中提取最好的部分,以帮助满足特定的项目需求。但要有效地做到这一点,你需要成为所有混合技术的大师。

首先,你的问题不好。每种技术都有其光明的一面和黑暗的一面。要选择一些特定的技术,您需要在所有这些方面都有经验,以估计项目中可能出现的问题。根据您的定义:ajax的快速实现、客户/管理员安全、主题、模板、国际化、缓存静态页面、集群和对ejb的支持—90%的框架直接或使用一些插件支持所有这些

此外,各种技术可以更好地针对各种需求进行优化。你不可能拥有一个完美无瑕、尽可能做到最好的超级框架。考虑到该框架具有高度可扩展性和快速性,例如:Spring和/或Portlet将使一些小任务的配置变得困难

因此,我唯一能推荐的就是与谷歌Java Web框架进行比较,并希望得到最好的结果

关于IDE,我只能看到两种选择:IntellijIDEA和Eclipse。同样,没有明确的赢家,所以谷歌是你能获得的唯一信息来源

增加: 谈论
关于框架,复杂的项目会同时使用其中的几个框架,从每个框架中提取最好的部分,以帮助满足特定的项目需求。但要有效地做到这一点,你需要成为所有混合技术的大师。

几乎没有人能真正为你回答这个问题。就前端技术而言,其中一个框架适用于您,而其他框架则不适用。这完全取决于哪一个对你有意义。我的建议是把它们都试一下,挑一个你觉得最舒服的

尽管如此,我还是有一些建议。首先,不要局限于使用Java。如果是我,我会使用运行在jRuby上的RubyonRails作为前端,因为它是我使用过的开发web应用程序的最快框架。通过在jRuby上运行它,它允许您钩住Java,让Java及其库在后端完成所有繁重的工作。我将远离web服务,使用ReST实现一些东西

就IDE而言,一定要使用IntelliJ IDEA。这可能需要一点时间来适应,但它绝对是市场上最快的IDE。然而,Eclipse和Netbeans对于Java来说也非常好,而且稍微便宜一点


答案是,这要看情况而定。

几乎没有人能真正为你回答这个问题。就前端技术而言,其中一个框架适用于您,而其他框架则不适用。这完全取决于哪一个对你有意义。我的建议是把它们都试一下,挑一个你觉得最舒服的

尽管如此,我还是有一些建议。首先,不要局限于使用Java。如果是我,我会使用运行在jRuby上的RubyonRails作为前端,因为它是我使用过的开发web应用程序的最快框架。通过在jRuby上运行它,它允许您钩住Java,让Java及其库在后端完成所有繁重的工作。我将远离web服务,使用ReST实现一些东西

就IDE而言,一定要使用IntelliJ IDEA。这可能需要一点时间来适应,但它绝对是市场上最快的IDE。然而,Eclipse和Netbeans对于Java来说也非常好,而且稍微便宜一点


答案还是要看情况而定。

以上所有项目都是从简单的想法开始的。当他们获得吸引力时,他们都添加了一些对某些人有用但不一定对所有人都有用的相邻功能。换句话说,您必须进行深入的分析,以选择完美的框架

你不会找到一个完美的匹配,除非你恰好和几十个在特定框架上工作的人有着相同的想法,假设所有这些想法都是完全一致的。唯一完美的匹配是你自己写的,即使这样,你也会发现它并不完美,因为你在开发框架上的时间和精力有限;毕竟,您确实有一个程序要编写,框架开发时间与程序开发时间竞争


就IDE而言,在口味和风格上存在差异。我倾向于在Netbeans和Eclipse这两种老的替代产品之间进行选择,我下一个要使用的IDE将是IntelliJ Idea。要记住的是,大多数人只使用一个IDE,然后诋毁其他IDE,所以你真的无法得到一个好的比较。IDE花了太多的时间来真正学习一个人给出一个诚实无偏见的意见。一个好的候选人IDEX在某些人眼中是最差的,在其他人眼中是最好的

以上所有项目都是从简单的想法开始的。当他们获得吸引力时,他们都添加了一些对某些人有用但不一定对所有人都有用的相邻功能。换句话说,您必须进行深入的分析,以选择完美的框架

你不会找到一个完美的匹配,除非你恰好和几十个在特定框架上工作的人有着相同的想法,假设所有这些想法都是完全一致的。唯一完美的匹配是你自己写的,即使这样,你也会发现它并不完美,因为你在开发框架上的时间和精力有限;毕竟,您确实有一个程序要编写,框架开发时间与程序开发时间竞争


就IDE而言,在口味和风格上存在差异。我倾向于在Netbeans和Eclipse这两种老的替代产品之间进行选择,我下一个要使用的IDE将是IntelliJ Idea。要记住的是,大多数人只使用一个IDE,然后诋毁其他IDE,所以你真的无法得到一个好的比较。IDE花了太多的时间来真正学习一个人给出一个诚实无偏见的意见。一个好的候选人IDEX在某些人眼中是最差的,在其他人眼中是最好的

考虑到其他答案,我想说剩下的最大因素是你和你的团队的学习曲线。根据你对t的描述 在角色分离方面,您的主要关注点应该是选择一个总体框架,例如Spring。从那里,您的数据库人员可以为数据持久性选择他们想要的任何东西hibernate、jdbc等等,您的gui人员可以为前端tapestry、jsf等选择他们想要的任何东西

对于这样一个角色的明显分离,我最关心的是团队中的沟通。确保他们的沟通是高度开放的,尤其是在讨论界面设计时,因为这些将是项目成败的关键,特别是如果您选择Spring


就IDE而言,这是个人偏好。其他帖子中提到的Eclipse和IntelliJ是我听到最多的两个,Eclipse是我过去4到5年的标准IDE。我不熟悉IntelliJ,但我知道Eclipse有支持Spring、Hibernate和许多其他框架和ORM解决方案的插件。它还具有支持其他语言的插件,如Ruby和PHP。

考虑到其他答案的外观,我想说剩下的最大因素是您和您的团队的学习曲线。鉴于您对角色分离的描述,您的主要关注点应该是选择一个总体框架,例如Spring。从那里,您的数据库人员可以为数据持久性选择他们想要的任何东西hibernate、jdbc等等,您的gui人员可以为前端tapestry、jsf等选择他们想要的任何东西

对于这样一个角色的明显分离,我最关心的是团队中的沟通。确保他们的沟通是高度开放的,尤其是在讨论界面设计时,因为这些将是项目成败的关键,特别是如果您选择Spring


就IDE而言,这是个人偏好。其他帖子中提到的Eclipse和IntelliJ是我听到最多的两个,Eclipse是我过去4到5年的标准IDE。我不熟悉IntelliJ,但我知道Eclipse有支持Spring、Hibernate和许多其他框架和ORM解决方案的插件。它还有支持其他语言的插件,比如Ruby和PHP。

好吧,我要冒险给出具体的建议,因为我认为这个问题是可以回答的

我将简单地推荐我的堆栈

我的堆栈前端是条纹,后端是Glassfish/JavaEE5

Stripes是一个简单的动作或MVC,无论什么能让你的船浮起来,它都有一个小而强大的声音社区。它通过一个插件与JPA紧密集成,这是一本关于这个主题的非常好的、最新的打印机书籍,以及优秀的参考文档。它的主要呈现技术是带有JSP标记和EL的JSP

它不像JSF/MyFaces那样是一个组件框架,所以它的实现更简单,生命周期也更简单。它在Ajax中工作得非常好

Stripes的关键因素是,它基于HTTP请求周期,它为您完成了大部分繁重的工作,但非常轻量级。这很容易理解。创建一个基本Stripes应用程序需要web.xml中的几行代码和两个jar,其中一个是log4j。如果您可以使用HTTP进行思考,那么条纹非常适合您

在后端,我将只使用EJB和GlassFish。JavaEE6和GFv3已经推出一段时间了。它在JavaEE5上提供了许多新特性,GlassFish提供了大多数您想要使用的web服务技术。JavaEE6和Spring在一个点一个点的基础上几乎是平等的,既然您在看GF,那么您也可以使用EJB,因为它就在那里,并且集成在盒子中。如果您使用的是Tomcat,那么Spring可能是一个不错的选择

就这样。这就是你所需要的,我不知道你想要Velocity做什么,如果你愿意,你可以简单地添加它,但我不会在页面上使用它,就个人而言,现代JSP比IMHO好得多

Glassfish将保护您的web服务,您可以在web应用程序中使用Java EE安全,您可以在后端EJB和web应用程序及web服务之间共享逻辑。这一切都是开箱即用的,只需15分钟的配置就可以让Stripes运行

我使用NetBeans,但所有其他ide都可以工作。NetBeans很好,因为它与Glassfish集成在一起。少了一件要配置的东西。下载它,启动它,它就工作了

有一个用于NetBeans的Stripes插件,我不使用。我看没有必要。一旦将几行内容添加到web.xml中并从网站上剪切和粘贴,就再也看不到条纹了。从这里开始,一切都是简单的注释

除非您对组件框架的所有复杂性和学习曲线有着压倒性的需求,否则它不会比Stripes更好,而GF w/Java EE 6已经为您准备好了所需的一切

总之,Stripes发行版来自www.stripesframework.org ,从NetBeans.org下载NetBeans,从strips-stuff.sourceforge.net下载striperist。这是一个岩石坚实的基础,无论你想把它带到哪里。
请到Stripes的freenode上的Stripes IRC,我们将回答您的任何问题或点击邮件列表。

好吧,我将冒险给出具体建议,因为我认为这个问题可以回答

我将简单地推荐我的堆栈

我的堆栈前端是条纹,后端是Glassfish/JavaEE5

Stripes是一个简单的动作或MVC,无论什么能让你的船浮起来,它都有一个小而强大的声音社区。它通过一个插件与JPA紧密集成,这是一本关于这个主题的非常好的、最新的打印机书籍,以及优秀的参考文档。它的主要呈现技术是带有JSP标记和EL的JSP

它不像JSF/MyFaces那样是一个组件框架,所以它的实现更简单,生命周期也更简单。它在Ajax中工作得非常好

Stripes的关键因素是,它基于HTTP请求周期,它为您完成了大部分繁重的工作,但非常轻量级。这很容易理解。创建一个基本Stripes应用程序需要web.xml中的几行代码和两个jar,其中一个是log4j。如果您可以使用HTTP进行思考,那么条纹非常适合您

在后端,我将只使用EJB和GlassFish。JavaEE6和GFv3已经推出一段时间了。它在JavaEE5上提供了许多新特性,GlassFish提供了大多数您想要使用的web服务技术。JavaEE6和Spring在一个点一个点的基础上几乎是平等的,既然您在看GF,那么您也可以使用EJB,因为它就在那里,并且集成在盒子中。如果您使用的是Tomcat,那么Spring可能是一个不错的选择

就这样。这就是你所需要的,我不知道你想要Velocity做什么,如果你愿意,你可以简单地添加它,但我不会在页面上使用它,就个人而言,现代JSP比IMHO好得多

Glassfish将保护您的web服务,您可以在web应用程序中使用Java EE安全,您可以在后端EJB和web应用程序及web服务之间共享逻辑。这一切都是开箱即用的,只需15分钟的配置就可以让Stripes运行

我使用NetBeans,但所有其他ide都可以工作。NetBeans很好,因为它与Glassfish集成在一起。少了一件要配置的东西。下载它,启动它,它就工作了

有一个用于NetBeans的Stripes插件,我不使用。我看没有必要。一旦将几行内容添加到web.xml中并从网站上剪切和粘贴,就再也看不到条纹了。从这里开始,一切都是简单的注释

除非您对组件框架的所有复杂性和学习曲线有着压倒性的需求,否则它不会比Stripes更好,而GF w/Java EE 6已经为您准备好了所需的一切

总之,Stripes发行版来自www.stripesframework.org,NetBeans下载来自NetBeans.org,Stripes-stuff.sourceforge.net。这是一个岩石坚实的基础,无论你想把它带到哪里。
请到Stripes的freenode上的Stripes IRC,我们将回答您的任何问题或点击邮件列表。

我甚至在不久前编写了自己的mvc框架,只是为了好玩——说到底,您可能会后悔没有继续使用它。事实上,比目前著名的技术更好的技术很可能是稍后会出名的技术,而不是现在。你的列表中有一半已经因为过时而出名了。

不久前我甚至写了自己的mvc框架,只是为了好玩——说到底,你可能会后悔没有继续使用它。事实上,比目前著名的技术更好的技术很可能是稍后会出名的技术,而不是现在。你的名单中有一半已经因为过时而出名。

当然,只有一份能够掌握真相。事实上,他们中的任何人都不可能掌握真相:-但通常,他们都掌握了真相的一部分:我需要一种前端技术来。。。。它还应该有IDE支持、社区支持、丰富的文档和在线教程。-这真的很适合这个季节。不幸的是,圣诞老人条款不适用于编程框架:/@Jules:赞成将圣诞老人条款与编程相结合-@朱尔斯:人们期待圣诞老人能创造奇迹:当然,只有一个圣诞老人能掌握真相。事实上,他们中的任何人都不可能掌握真相:-但通常,他们都掌握了真相的一部分:我需要一种前端技术来。。。。它还应该有IDE支持、社区支持、丰富的文档和在线教程。-这真的很适合这个季节。不幸的是,圣诞老人条款不适用于编程框架:/@Jules:赞成将圣诞老人条款与编程相结合-@朱尔斯:圣诞老人有望创造奇迹:我知道所有的框架都以某种方式支持一切。
在这里,我最感兴趣的是在更短的时间内开发,使用一个可靠的框架可以避免可能发生的最常见/特定问题。我正在寻找一个最先进的网络框架,并没有每个人都喜欢的“艺术”。每种“艺术”都有自己的受众。“最先进的”框架也是如此:我知道所有框架都以某种方式支持一切。在这里,我最感兴趣的是在更短的时间内开发,使用一个可靠的框架可以避免可能发生的最常见/特定问题。我正在寻找一个最先进的网络框架,并没有每个人都喜欢的“艺术”。每种“艺术”都有自己的受众。“最先进的”框架也是如此:我要用ruby来检查它。只有一件事,jRuby到底是如何与java、jvm或ws-rpc(换句话说,业务层)通信的?我与Ruby没有任何关系,但还有Grails Groovy on Rails,它使用与Ruby on Rails类似的概念制作,完全是java。我将在Ruby中动手检查一下。只有一件事,jRuby到底是如何与java、jvm或ws-rpc(换句话说,业务层)通信的?我与Ruby没有任何关系,但还有Grails Groovy on Rails,它使用与Ruby on Rails类似的概念制作,完全是java。我喜欢你的回答,非常感谢你的详细回答。听起来很有希望!我喜欢你的回答,非常感谢你详细的回答。听起来很有希望!首先谢谢你的回答。我没有找到最终的答案。我只是想听听个人的意见。首先谢谢你的回答。我没有找到最终的答案。我只是想听听个人的意见。