我有一个客户已经在生产中有一些应用程序,因此已经就下一个项目的生产环境做出了一些决定:
他们还有一些针对网络应用的企业标准:
我还被告知这个应用程序可能不需要完整的Java EE 5环境(可能只是一个Web容器),但需要通过客户端EJB等与单独的weblogic实例上托管的应用程序进行通信。对其他公司服务执行各种Web服务调用。
我被赋予了一个任务,就这个新团队的开发和测试环境看起来会做出一些决定(很小,可能是2到3人,包括我,但可能会在未来几个月内增长)。我想创建一个人们可以使用他们喜欢的IDE并在localhost上拥有良好开发经验的人,但仍然可以在测试环境中顺利部署,然后再到生产环境。我的想法是在本地工作站上http很好但是集成测试服务器看起来应该与生产服务器完全一样,并且所有流量都应该是https,以确保我们能够准确地描绘出什么样的产品。
了解开发人员本地工作站的变化很大,并且可能在他们的本地工作站上运行Mac OS X 10.6(Snow Leopard)或Windows 7,但是还需要指出一个常见的测试服务器:什么是技术堆栈会给我们一条从本地开发,测试到生产的良好平滑路径吗?
编辑:对不起,当我说技术堆栈时,我的意思是例如Ant + JBoss + Tomcat + Oracle XE与Maven + Geronimo + Derby。基本上是我们需要在每台开发机器和测试服务器上安装的具体规范实现列表,它们为我们提供了灵活的开发环境,并且平稳过渡到测试和生产环境。EDIT2:可能值得一提的是,这个应用程序,如果它需要保留任何信息(我假设将成为案例),无论它是什么绝对不会复杂。很可能它将类似于一个基本的产品数据库。
答案 0 :(得分:4)
我会选择:
如果您打算使用不同的IDE,那么 Maven 可能是一个好主意,因为它允许从pom.xml配置每个IDE(在IntelliJ / NetBeans中运行良好)。但我能给你的最好建议就是这个。
快乐的黑客攻击
答案 1 :(得分:1)
当你说“技术堆栈”时,你真正不清楚究竟是什么问题,你的意思是服务器,库,构建工具吗?无论如何,这里有一些轻率的建议:
答案 2 :(得分:0)
测试环境应该完全复制生产。还要对测试环境进行性能测试。如果硬件是一个问题,集群中的服务器数量需要限制,那么在测试中创建的服务器数量会减少,但会复制与产品相同的环境,即说iplanet(apache) )+ weblogic + oracle db等......
就本地环境而言,您可以使用Tomcat(因为您只需要Web容器),对于ejb客户端,您可以捆绑jar并进行远程调用(如果您正在远程调用某个远程应用程序)如果你通过本地ejbs进行本地通话,那么你将不得不在本地盒子上使用weblogic进行开发。
尝试使用相同的IDE(尽管它主要是开发人员的选择)。就操作系统而言,它并不重要,因为如果您使用的是兼容的IDE,那么您将只从中构建代码。
还要确保IDE与tomcat(如果您使用它)或weblogic紧密结合,以便在调试模式下运行代码。
一个非常重要的事情,首先决定代码结构,然后在版本控制中检查,以便用户在任何ide中签入/签出相同的结构。因此,所有开发人员共享相同的结构。 在每个版本中对cvs或版本控制中的代码进行分支,然后从头部进行签出。同样非常重要的是使用单个构建文件并维护设置文档以在本地框上构建环境。 另外关于使用框架选择你最熟悉的编码和维护。这样你将减少代码中的错误数量。现在大多数人使用Spring / Hibernate组合,但这取决于它是否适合你的项目。 希望这会有所帮助。