|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
Есть кучка SOAP веб-сервсиов, с одинаковым wsdl (т.е. отличаются только адреса этих сервисов). Задача сделать клиент для каждого сервиса (т.е. задеплоить на веб-сервер несколько клиентов, каждый из которых будет работать со своим сервисом). Пока делаю так: 1. Один общий проект, в котором генерим клиент на базе wsdl средствами ide (нетбинз) 2. В одном из классов (из тех, что сгенерированны по wsdl) перед тем как сбилдить, руками прописываем нужный адрес сервиса. 3. Билдим, даем варнику нужное имя и деплоим на сервер. 4. Повторяем 2-3 по числу пар клиент-сервер Но по-моему, это корявый подход. Поэтому вопрос . Какова зе бест практис в такой ситуации? Когда штук 20 веб-сервисов с одинаковым интерфейсом и для каждого надо сделать отдельный клиент и задеплоить на одном сервере. Например хотелось бы доставать линк на требуемый сервис по настройкам в БД (вместе с другими настройками клиента) по имени приложения например. То есть перед сборкой в конфиге прописываем параметр типа "имя приложения" и дальше по нему из БД тащим все настройки клиента. Пока начал курить спринг с его @Configuration, может там что путное найдется. А возможно будет ситуация, когда надо наоборот быстро перекомпилить все клиенты, а не собирать по одному из одного шаблонного проекта. Тогда наверно проще иметь кол-во проектов по пол-ву клиентов и не мучиться. А возможно например что-то общее вынести в библиотеку и если что, то менять только ее с передеплоем приложений. Наверняка есть варианты автоматизированной сборки скриптами, пока не смотрел. В общем как по-человечьи сейчас делают? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 20:45 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
Если спринг то там есть профили. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 21:15 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDS В одном из классов (из тех, что сгенерированны по wsdl) перед тем как сбилдить, руками прописываем нужный адрес сервиса. Я вот это не понял "ВААЩЕ". 1.Вы сгенерировали классы на основе wsdl ...он как я понял одинаков...разные только url ну так вперёд Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 21:21 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
та даже профили не нужны, в спринге проперти можной туевой хучей способов передать извне в рантайме. Главное чтоб клиент умел этот адрес подхватывать - именно в эту сторону и нужно копать ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 21:23 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
Ок, спасибо всем откликнувшимся. Тогда буду пробовать дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 22:03 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSОк, спасибо всем откликнувшимся. Тогда буду пробовать дальше. Смотрите в сторону Factory Method дезайн патерн. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 00:15 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSЕсть кучка SOAP веб-сервсиов, с одинаковым wsdl (т.е. отличаются только адреса этих сервисов). Задача сделать клиент для каждого сервиса (т.е. задеплоить на веб-сервер несколько клиентов, каждый из которых будет работать со своим сервисом). Не совсем понятно что ты собираешся делать. Деплой - это вообще другое. Это не про разработку. Почитай про всякие там Jenkins, TeamCity, Octopus. Задачи девопса должны решаться девопскими инструментами. Распиливание задачи на 20 или на 200 веб-сервисов - это не инженерная а больше организационная задача. Если ты будешь делать сам - то делай как угодно. Но в качестве метрики эффективности бери количество мышко-кликов. Чем их меньше тем твоя автоматизация лучше. Spring конфигурируется дохрена способами и там нет идейно-правильного или вообще неправильного. Профили - это тоже гуд. Можно юзать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 00:59 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSКогда штук 20 веб-сервисов с одинаковым интерфейсом и для каждого надо сделать отдельный клиент и задеплоить на одном сервере. Перед ними сделать ОДИН веб сервис. Они же одинаковы. Например, есть 20 одинаковых mail.ru с одинаковым API дайПочту() Так? irbis_all прав. Снаружи вызов одного ВЕБ ПРИЛОЖЕНИЯ, а в коде перебирай рандомно свои адреса. Только смысл то какой? Это балансировщик получается)). Ну или ты понятия не имеешь что такое SOAP. JDSНапример хотелось бы доставать линк на требуемый сервис по настройкам в БД (вместе с другими настройками клиента) по имени приложения например. Посмотри балансировщик ngnix ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 07:19 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
irbis_al Код: java 1. 2.
я так понял, у него они разные и 20 штук Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 07:31 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp , балансировщик нужен например в кластере, у меня не кластер, а именно разные SOAP клиент-сервер, но с одинаковым интерфейсом. Как заметил myton , задача действительно ближе к девопс видимо, но пытаюсь еще решить средствами из другой задачи собственно разработки ) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 07:36 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSбалансировщик нужен например в кластереда. Ты так и описал задачу. Кластер это несколько ОДИНАКОВЫХ СЕРВИСОВ. Прочти вики что такое кластер. JDSзадача действительно ближе к девопс видимо,ты внятно её не описал. Мы тут все и гадаем. Тебе даже код пример дали. И вообще принято каждому ответить, раз вопрос задал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 07:41 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
ТС, все методы 20ти сервисов одинаковы. А данные получаемые? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 07:42 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSдевопсну и девопс тебе скажет что нужно 1 веб приложение и деплоить нужно одно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 07:48 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
PetroNotC Sharpirbis_al Код: java 1. 2.
я так понял, у него они разные и 20 штук Код: java 1. 2. 3. 4.
Да нет же ...функция возвращает уже готового клиента Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 08:27 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
irbis_al, Да. Поэтому смысл постановки такого изврата и задачи у меня полностью теряется. irbis_al Код: java 1.
Рандомно))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 08:53 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
Ребят, пока все понятно, буду ковырять дальше, спасибо большое. PetroNotC Sharp , в общем у меня не кластер в любом случае. Условно, сеть офисов и с каждым обмен своими сообщениями, но формат одинаковый. Да можно сделать одно приложение и раскидывать по разным точкам, можно сделать приложение в неск потоков, но (пока) рассматривается вариант именно каждому офису свое клиентское приложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 09:08 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSУсловно, сеть офисов и с каждым обмен своими сообщениями, но формат одинаковый.допустим. JDSДа можно сделать одно приложение и раскидывать по разным точкам, можно сделать приложение в неск потоков, но (пока) рассматривается вариант именно каждому офису свое клиентское приложение.чудак человек. Десктоп? Тогда прчему нельзя сказать что каждому офису ОДИН И ТОТ ЖЕ КЛИЕНТпод названием " а ля эксель"? Веб? Тогда расшифруй "каждому офису своё приложение"? Жесть какая то. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 09:33 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp , не десктоп. Сервисы. Да можно запилить одно приложение а-ля ексель и запустить их 20 штук с передачей параметров (с каким офисом общаться в частности). Можно сделать одно многопоточное, но пока делаем от простого по количеству точек, в каждом варианте свои плюсы минусы. Просто как минимум каждое приложение еще общается на вход и выход с другими сервисами, при этом внутри сообщений нет как таковой диспетчеризации (не от меня зависит), те сопоставление идет только на уровне адресов. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 09:52 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDSМожно сделать одно многопоточноеэкземпляр это не поток JDSПросто как минимум каждое приложение еще общается на вход и выход с другими сервисами, при этом внутри сообщений нет как таковой диспетчеризации (не от меня зависит), те сопоставление идет только на уровне адресов. Микросервисы замутили, а нужность обосновать забыли. Тему можно закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:01 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDS, Хотя бы термин Фасад/корпоративный API изучи. Там нет страшных слов потоки. Может пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:03 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp , почему-то упорно полагаете, что я только вчера с Луны), кластеры почитать, экземпляр не поток и тд) По ответам ребят вроде бы все понятно, смотрю дальше. Поэтому да, тему можно закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:12 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDS, Я сужу чисто по данному топик а не о вас. Много слов про потоки, а они вообще не при чем. Задачу не обрисовали сразу. Решение не озвучено. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:20 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
JDS, Грубо говоря вы хотите вместо Код: java 1. 2.
или Код: java 1. 2.
сделать 20 штук на одном томкате servis1.war,.... servis20.war. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:32 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
Обычно мы собирали 2 артифакта. Один - толстый джар (fat-jar) который содержал весь проект с потрахами и другой артифакт - zip или tar архив который содержал сет конфигов под целевую конфигурацию. Конфиги могут быть чем угодно. Yaml, json, properties. Могут быть даже Groovy классами. Важно чтобы они вставлялись в приложение как обойма в пистолет. +Надо оставить хоть несколько properties для местных админов чтоб они могли вбить туда ключики к амазону или какие-то критичные пароли которые нельзя хардкодить. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:57 |
|
Дублирование одинаковых веб-сервисов
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, да, все правильно поняли. Но это каждое отдельное приложение еще должно автоматом стартовать и в фоне выполнять и другую работу, это пока повесил на WebListener, который при инициализации запускает эту работу в отдельном потоке, поэтому упомянул про них. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 11:02 |
|
|
start [/forum/topic.php?fid=59&fpage=25&tid=2121196]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 195ms |
0 / 0 |