我有一个客户,他已经在生产中拥有一些应用程序,因此已经就下一个项目的生产环境做出了一些决定:
- Sun iPlanet 6.1 SP7(带 Apache)
- JDK 1.6
- 甲骨文网络逻辑 10 MP3
- 甲骨文 10g
- 1024 位 SSL
他们还为网络应用制定了一些企业标准:
- 雄猫
- 支柱
- 兼容 Safari、Firefox、IE6、IE7
我还被告知,这个应用程序可能不需要完整的 Java EE 5 环境(可能只有一个 Web 容器),但需要通过客户端 EJB 等与托管在单独 weblogic 实例上的应用程序进行通信,并执行各种 Web对其他公司服务的服务调用。
我的任务是为这个新团队(规模很小,可能只有 2 或 3 个人,包括我在内,但可能会在未来几个月内增长)做出一些决定。我想创建一个人们可以使用他们喜欢的 IDE 并在 localhost 上拥有良好开发体验的地方,但仍然可以顺利地在测试环境中进行部署,然后再部署到生产环境中。我的想法是,在本地工作站上 http 很好,但集成测试服务器应该看起来与生产服务器完全相同,并且所有流量都应该是 https 以确保我们能够准确地描述 prod 将是什么。
知道开发人员的本地工作站将高度多样化,并且可能在他们的本地工作站上运行 Mac OS X 10.6 (Snow Leopard) 或 Windows 7,但还需要指定一个通用的测试服务器:什么技术堆栈会给我们从本地开发到测试再到生产的顺利路径?
编辑:对不起,当我说技术堆栈时,我的意思是例如 Ant + JBoss + Tomcat + Oracle XE vs. Maven + Geronimo + Derby。基本上是我们需要在每台开发机器和测试服务器上安装的具体规范实现列表,为我们提供灵活的开发环境,并顺利过渡到测试和生产环境。
EDIT2:可能值得一提的是,这个应用程序,如果它需要保留任何信息(我假设将是这种情况),无论它是什么绝对不会复杂。它很可能类似于基本的产品数据库。