Мне скоро нужно реализовать интерфейс. Интерфейс должен будет предоставить контракт между веб-сервисом и «n» другими веб-службами для управления трафиком. Компания планирует сначала исследовать/протестировать с помощью одного сервиса управления трафиком и добавить его позже, когда они станут доступными. Я могу определить интерфейс, который является «общим» для этого единственного варианта использования, но проблема в том, что в любой момент в будущем нам может понадобиться связываться с другой веб-службой, которая может или не может быть совместима с интерфейсом, который у нас есть при этом время.Java и «общие» интерфейсы
I может изменить интерфейс Java по мере того, Это также означало бы обновление всех исполнителей интерфейса.
Я хотел бы знать, есть ли какие-либо шаблоны, которые были бы подходящими для этого. Почти как «динамическое расширение интерфейса» во время выполнения. Или любое умное использование Java-дженериков, которое позволило бы нам реализовать один интерфейс Java, который можно было бы использовать с любыми/всеми системами управления трафиком.
Подводя итог: Когда мы приходим к общению с любыми другими услугами третьих лиц, я хочу, чтобы на нашей стороне были минимальные усилия для их интеграции.
Любые мысли?
Это довольно неопределенный вопрос. Это не похоже на то, что у вас есть определенная проблема с вашим интерфейсом. Вы не даете нам намека на то, как это могло бы выглядеть. Вы спрашиваете о потенциальных новых провайдерах, которые еще не существуют. Вы не объяснили, что вы подразумеваете под интерфейсом (объекты, представляющие сообщение, клиент Java и т. Д.). Наконец, вы не указываете тип услуг, которые вы планируете использовать. Большие веб-сервисы? Веб-службы RESTful? – toniedzwiedz
Я понимаю, что это расплывчато, но это те требования, которые у меня есть. Наше веб-приложение предложит фабрике получить имплантацию интерфейса. Эта реализация будет использовать неизвестные службы. Мне интересно, есть ли какая-либо магия Java/интерфейса, которую мы можем использовать, чтобы облегчить задачу интеграции неизвестных служб позже по линии. Например, служба третьей стороны может потребовать 1 ... * запрос/ответы, прежде чем мы получим нужные нам данные. Каждый запрос может иметь 1 .. * параметры. Я знаю, что это расплывчато, и я подозреваю, что ответ отрицательный, но хотелось хотя бы спросить. – protectedmember
Вы не можете решить неопределенные, неопределенные требования с дополнительными уровнями косвенности. –