powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
7 сообщений из 7, страница 1 из 1
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935474
antonyjee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть веб-сервис (O) и контракт в виде wsdl. Работа с веб-сервисом предполагается через веб-сервис посредник (P).

Веб-сервис посредник (P) практически не отличается от оригинала (O) - различия в некоторых полях запроса и ответа.
Схема работы примерно такая:

1. Приложение вызывает веб-сервис посредник, на основе данных запроса от приложения формируется и подается запрос в оригинальный веб-сервис, причем по сути этот будет тот же запрос плюс минус пара полей

[Приложение] -----request-----> [Веб-сервис посредник(P)] -----request-----> [Веб-сервис(O)]


2. Оригинальный веб-сервис отвечает, веб-сервис на основе данных ответа формирует ответ для приложения, опять же по сути это будет тот же самый ответ оригинального сервис плюс минус пара полей

[Приложение] <-----response----- [Веб-сервис посредник(P)] <-----response----- [Веб-сервис(O)]

Посоветуйте как лучше реализовать веб-сервис посредник?

В данный момент проблема в том что классы ответов очень комплексные и как следствие создавать на основе ответа (O) ответ (P) процесс довольно трудоемкий. Но wsdl (O) и wsdl (P) практически идентичны и соотвественно классы практически идентичны, есть ли какое-нибудь архитектурное решение чтобы избежать ненужной и чреватой ошибками работы?
...
Рейтинг: 0 / 0
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935543
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) XSLT - получаем сырой XML, трансофрмируем его к нужному виду, делаем POST на удаленный веб-сервис;
2) Jibx - получили сырой XML, преобразовали его к value object'ам по одному маппингу, потом преобразовали обратно в XML уже по другому мапипнгу, POST на удаленный веб-сервис.
...
Рейтинг: 0 / 0
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935588
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,
Почему именно JiBX?
В исходной постановке вопросе сериализация выглядит оверхедом. При выборе решения тут я бы всё же исходил из возможных будущих требований к этому посреднику. Если ограничится изначальной постановкой задачи, то возможно даже простейшая поточная обработка текста подойдёт.

SAX должен ещё хорошо в концепицию вписаться, с ним легко и сбрасывать поток без изменения и накапливать в ожидании некоторых данных и анализировать конкретные значения.
...
Рейтинг: 0 / 0
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935612
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JIBx это просто как идея, что можно сделать маршаллинг/анмаршаллинг, как одно из решений.
SAX/StAX - это, пожалуй, самое быстродейственное решение в принципе, но в то же время и самое "грязное" с точки зрения количества java-кода, который к тому же невозможно экстернализовать. Так что тут все зависит от деталей контекста задачи автора.
...
Рейтинг: 0 / 0
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935656
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomJIBx это просто как идея, что можно сделать маршаллинг/анмаршаллинг, как одно из решений.
когда нужно поменять "некоторые поля", то затраты на маршалинг могут быть несоизмеримыми.

svenomсамое "грязное" с точки зрения количества java-кода
Почему??? На SAX вообще меньше всего кода будет. Всё что не нужно обрабатывать просто копируется как есть. Всё что нужно - заменяется. Если проанализировать нужно в одном месте, а заменить в другом, то тоже делается проще некуда - дампим в буфер, пока не будет всех данных для замены.

svenomкоторый к тому же невозможно экстернализовать.

Это как?
...
Рейтинг: 0 / 0
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935698
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczsvenomсамое "грязное" с точки зрения количества java-кода
Почему??? На SAX вообще меньше всего кода будет. Всё что не нужно обрабатывать просто копируется как есть. Всё что нужно - заменяется. Если проанализировать нужно в одном месте, а заменить в другом, то тоже делается проще некуда - дампим в буфер, пока не будет всех данных для замены.Ну это и есть та самая громоздкость. Даже при средней сложности структуры XML работа с SAX быстро превращается в АДъ. Например, надо вам заменить тег с именем NAME1, вложенный в определенный тег NAME2, но при этом NAME1 встречается и в других местах. Что вы будете делать? Отслеживать "состояние" вашей позиции. А если у вас 5 таких мест? 5 состояний уже отслеживаете. Перебросить значение из одного места в другое? Еще + 1 состояние. А если вам в начало отправляемого документа надо вставить значение из конца исходного документа? Еще бОльшая жопа - SAX то у нас one-way. Как результат - трудноподдерживаемое спагетти. Поэтому самый true-подход здесь XSLT - чистенько и экстернализуемо. Но, конечно, несколько медленнее, чем SAX/StAX, которые можно потоково читать, потоково процессить (но, как я уже показал выше, не всегда), и потоково выдавать в сокет приемника.

Blazkowiczsvenomкоторый к тому же невозможно экстернализовать.Это как?SAX/StAX: изменились правила обработки XML - придется править Java-код.
XSLT: просто поменяли экстернализованные шаблончеги.
...
Рейтинг: 0 / 0
Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
    #37935717
antonyjee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Предполагается что приложение-посредник (частью которого является веб-сервис посредник) будет заниматься контролем доступа, ведением различной истории, рассылкой писем и т.д.
О, работать с чистым xml мне не приходило в голову. Спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как лучше реализовать прокси (типа промежуточный или посредник) веб-сервис?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]