Какую архитектуру можно использовать, если местоположение веб-службы постоянно меняется - PullRequest
0 голосов
/ 19 января 2019

Вы пишете программу, которая использует веб-службу погоды http://example.org/weather/weather.asmx.Это работает, но через 2 месяца веб-служба погоды больше не доступна на http://example.org/weather/weather.asmx.Вместо этого это предлагается в http://example.com/poschaci/temp.asmx.Месяц спустя URL снова меняется на http://example.net/w.asmx. Исследование показало, что веб-служба погоды никогда не будет предлагаться в одном месте.Его URL будет продолжать меняться.

Задание 1)

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

Задача 2)

Описать функционирование этой архитектуры!Кратко опишите задачи компонентов этой архитектуры!

Я читал о SOAP, REST и WSDL и т. Д., И я обнаружил, что для его создания нам необходимо использовать архитектуру REST.Хотел получить совет специалиста по этому вопросу.

Код отсутствует, так как это теоретический вопрос.

NA

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Задача 1) Дело не в архитектуре, а скорее в дизайне сервиса.Основанный на принципах проектирования услуг и 8 принципах разработки , этот сценарий в значительной степени нарушает множество определенных практик.Сервисный центр должен быть совместимым и обеспечивать возможность обнаружения сервисов.Способ предоставления услуги должен учитывать сценарий, при котором URL-адрес изменится.

Технически это может быть сделано путем использования DNS, обратного прокси-сервера или простого добавления определенного статического URL-адреса, который может выполнить вызов службы, и повторного вызова.Направьте на нужную операцию сервиса в терминологии SOAP или ресурс API в терминологии REST.

Он должен быть статическим, например http://example.org/weather.asmx, а weather.asmx будет содержать другие операции, которые могут быть вызваны и изменены динамически, но h ttp://example.org/weather.asmx должен быть постоянным.

Задача 2) ЕслиВы должны достичь этого с помощью REST, вы должны понимать основные функции HTTP-кодов и рабочий процесс без сохранения состояния.Развивайте свои навыки с помощью бесплатных онлайн-тренингов, например, от udemy.com по разработке API.

Я бы предложил следовать учебному пособию, блогу и видео-учебнику по теме " разработать и внедрить API с помощью учебника JAVA ".

0 голосов
/ 19 января 2019

Вы можете думать о веб-сервисе как об интерфейсе или API. Вы клиент этого интерфейса, API. Если интерфейс меняет вас как клиента, необходимо адаптировать ваш вызов. Нет хорошего способа справиться с этим. Обычно те, кто предоставляют API, должны поддерживать его стабильность и предлагать способы перехода на более новые версии и так далее. Но я полагаю, что вы не можете запросить это у службы погоды, о которой идет речь. Теперь, чтобы справиться с частой сменой интерфейса, вы можете сделать следующее: - создать свой собственный интерфейс, который определяет данные, которые вы хотите вернуть, это уровень абстракции. - код вашего клиента в соответствии с вашим интерфейсом, который вы можете контролировать изменения - реализовать свои интерфейсы, запросив метеослужбу 1 или метеослужбу 2. Это всего лишь отображение данных. Метеослужбы 1 и 2 могут быть совершенно разными службами, или вы можете думать об одной и той же службе с разными версиями. Никакой код вашего клиента не должен изменяться, только это сопоставление будет изменяться при изменении URL.

Это решение помогает вам легко переключаться между упомянутыми реализациями. То, что я описал, является решением вашей проблемы ООП, поэтому вам нужно будет использовать язык ООП, чтобы иметь полиморфное поведение.

Что касается последнего пункта, который вы могли бы выбрать, чтобы представить свой сервис (интерфейс, о котором я говорил выше) как сервис REST.

...