Вашему сервису будет трудно, если он будет поддерживать состояние.
Сам факт, что вы описываете его в терминах базы данных Oracle и транзакций, указывает на проблему. Начните с «службы», которую компонент будет предоставлять, и мыслите с точки зрения интерфейса - входящие и исходящие сообщения. Если вы все сделаете правильно, у вас не будет никаких проблем.
Вам нужно будет принять решение SOAP против REST.
Если вы решите пойти в направлении SOAP, я думаю, что лучший способ разработки веб-сервисов - это использование подхода Spring «контракт сначала». Вы начнете с XSD для сообщений и будете работать оттуда. Вы не привязаны к серверу приложений таким образом. Это особенно хорошо, если вы уже используете Spring. Может помочь в подключении к базе данных и в декларативных транзакциях.