У меня есть клиент, у которого уже есть несколько приложений в производстве, и поэтому он уже принял некоторые решения о том, какой будет производственная среда для этого следующего проекта:
- Sun iPlanet 6.1 SP7 (с / apache)
- JDK 1.6
- Oracle Weblogic 10 MP3
- Oracle 10g
- 1024-битный SSL
У них также есть некоторые корпоративные стандарты для веб-приложений:
- Tomcat
- Struts
- Совместимость с Safari, Firefox, IE6, IE7
Мне также сказали, что этому приложению, скорее всего, не понадобится полная среда Java EE 5 (возможно, только веб-контейнер), но ему нужно будет взаимодействовать с ним, размещенным в отдельном экземпляре weblogic, через клиентские EJB и т. Д. выполнять различные вызовы веб-службы для других корпоративных служб.
Мне было поручено принять решение о том, как будут выглядеть наши среды разработки и тестирования для этой новой команды (небольшой, возможно, 2 или 3 человека, включая меня, но может вырасти в ближайшие месяцы). Я хочу создать такой, чтобы люди могли использовать любимую среду IDE и иметь хороший опыт разработки на локальном хосте, но при этом иметь плавный путь к развертыванию в тестовой среде, а затем снова к производственной среде. Я думаю, что на локальных рабочих станциях http в порядке, но сервер тестирования интеграции должен выглядеть точно так же, как рабочий сервер, и весь трафик должен быть https, чтобы быть уверенным, что мы получаем точное представление о том, какой продукт будет.
Знание того, что локальные рабочие станции разработчиков будут сильно различаться и могут работать под управлением Mac OS X 10.6 (Snow Leopard) или Windows 7 на своих локальных рабочих станциях, но необходимо также определить общий тестовый сервер: какой технологический стек даст нам хороший плавный путь от локальной разработки, тестирования и производства?
EDIT: Извините, когда я говорю технологический стек, я имею в виду, например, Ant + JBoss + Tomcat + Oracle XE против Maven + Geronimo + Derby. В основном это список конкретных реализаций спецификаций, которые нам нужно будет установить на каждую машину разработки и тестовый сервер, что дает нам гибкую среду разработки и плавный переход к тестовой и производственной средам.
EDIT2: Вероятно, стоит упомянуть, что это приложение, если ему нужно будет сохранять какую-либо информацию вообще (что, я предполагаю, будет , будет ), независимо от того, что это, определенно не будет сложным. По всей вероятности, это будет что-то вроде элементарной базы данных о продуктах.