У меня есть клиентское программное обеспечение, которое написано на C++/C# и базе данных. Теперь я не хочу, чтобы клиент напрямую обращался к базе данных, поэтому я подумал о размещении сервера приложений посередине. Это нужно получить от клиента короткий запрос, запросить базу данных для новых данных, выполнить некоторую фильтрацию (которая не может быть выполнена в sql), а затем вернуть данные клиенту.Сервер приложений Java без HTTP
Мой поиск такого программного обеспечения привел меня в Glassfish или Tomcat, но моя проблема в понимании заключается в том, что они всегда хотят поговорить с http с html/jsp. Поскольку большинство моих данных зашифровываются в любом случае, мне не нужны такие простые текстовые протоколы, и я был бы полностью доволен тем, что просто берет поток байтов. С другой стороны, было бы неплохо, если бы сервер обработал пул потоков для меня (не хочу реализовывать все это с нуля).
После более чем одного дня поиска/тестирования я еще более смущен, чем в начале (ejb, beans, servlet, websocket, ... так много вещей в google, прежде чем понимать только самые простые руководства).
TL; DR: как я могу получить Tomcat/Glassfish, чтобы просто открыть сокет и создать новый поток для каждого запроса без участия какого-либо HTML/CSS/JSP?
Если вы используете спокойные веб-службы, вы можете передавать параметры между клиентом и сервером. Это больше соответствует вашему планируемому подходу. Хорошее место для начала - https://spring.io/guides/gs/rest-service/. Используя конфигурацию пружины, вы можете настроить и настроить большинство своих ресурсов. Существует множество примеров. –
Одним словом: вы не делаете, если не будете массово злоупотреблять Tomcat. HTTP - это протокол самого низкого уровня, который Tomcat хочет поговорить. Что случилось с использованием HTTP и возвращением двоичных данных из сервлета? –
Вам не нужны HTML, CSS, JSP. Напишите простой сервлет, чтобы запросить базу данных и вернуть результат как XML, JSON или обычный текст. Или изобретать колесо и написать собственный протокол. Но тогда вам вообще не нужен сервер приложений. Недостаточно простого байтового потока. Вам необходимо передать некоторые параметры и вернуть результаты в структурированном формате, который ваш клиент понимает. По крайней мере, вам нужно реализовать какой-то базовый протокол. – vanje