Пусть есть некая служба А. Служба А через веб-морду предоставляет пользователю данные, пользователь выбирает нужный ему набор и сообщает свои реквизиты. Служба А запрашивает у веб-сервиса Б (по SOAP), имеет ли пользователь с такими реквизитами право на получение такого набора данных. Веб-сервис,на основе своих алгоритмов дает ответ- да\нет.
Если я ничего не путаю, то схема обработки выглядит так:
1) Клиент отправляет POST запрос с указанием желаемого набора и своих реквизитов
2) Сервлет инициирует соединение с веб-сервисом
3) Формирует SOAP запрос и отправляет веб-сервису
4) Получает ответ от веб-сервиса
5) Закрывает соединение с веб-сервисом
6) Отправляет ответ пользователю
Поскольку производительность все таки немного важна (служба, скорее всего, будет испытывать нагрузки), хотелось бы убрать постоянное создание и закрытие соединения с веб-сервисом, чтобы сервлет отрабатывал быстрее.
Вопрос: Существует ли _нечто_, что могло бы существовать на протяжении работы службы(не сервлета) и держать открытым соединение с веб-сервисом, чтобы сервлеты могли, при работе, сразу отправлять через это _нечто_ запросы и получать ответы?
note: Вообще я думаю о создании отдельного диспетчера с очередью, но хотелось бы знать, может в J2EE есть механизмы, упрощающие подобную процедуру. Очень не хочется возводить велосипед.
note2:в J2EE я новичок, так что сильно не ругайтесь.
Предположение: Возможно, убрав процедуру открытия\закрытия соединения я особо ничего не выиграю, так ли это?