В 1997-8 годах на рынке было множество продуктов для серверов приложений. EJB и его кузены (JSP, Servlet, JDBC, JCA и т. Д.) Попытались стандартизировать метафору для программирования Java-приложений на стороне сервера.
Некоторые серверы приложений на рынке в то время были:
- NetDynamics - я думаю, что их продукт назывался Spider или что-то вроде
- Сервер приложений Kiva
- Netscape iPlanet
- IBM Websphere
- Lotus Domino
- Sybase Jaguar
- WebLogic Tengah
- Секанс
- Forte
- Oracle App Server - в те дни не зависел от WebLogic
- Ха
- SilverStream
- каучуковая смола
- Bluestone
- Аллер
- Novera
- Jonas
Было много других.
Эти продукты сервера приложений в практическом смысле определяли серверную платформу приложений. Они изобретали метафору объектно-ориентированного программирования на стороне сервера в Java. Как сопоставить HTTP-сессию с Java-объектом? Как обрабатывать HTTP-аутентификацию? Как обращаться с администрацией? Каждый серверный продукт делал это по-своему.
Многие из этих компаний были небольшими, а период полураспада компаний был коротким, может быть, 12 месяцев или около того. В какой-то момент люди, участвующие в WebLogic, посмотрели на поле и решили, что их слишком много; что Microsoft сможет победить каждого из них независимо и, таким образом, "выиграть" битву за платформу приложений на стороне сервера. Поэтому они решили объединиться и определить общий API, чтобы добиться более сильной конкурентной позиции по отношению к Microsoft. Это было рождение J2EE. Явным преимуществом для клиентов была мобильность платформы на стороне сервера.
В те дни компании серверов приложений были крошечными, поэтому значительный риск был связан с фиксацией определенного API сервера приложений. стандартизированные API, такие как Servlet, JSP и EJB, уменьшили часть этого риска и упростили для конкретной компании, скажем, NetDynamics, зная, что если NetD обанкротится, они смогут перевести свои программы в WebLogic. довольно легко. Переносимость платформы стала большой победой для потенциальных клиентов.