Определение ссылок на веб-сервисы ASP.NET - PullRequest
0 голосов
/ 04 сентября 2008

На моей повседневной работе у нас есть веб-серверы с балансировкой нагрузки, которые общаются с серверами приложений с балансировкой нагрузки через веб-сервисы (и в последнее время WCF). В любое время у нас есть 4-6 разных групп, которые могут добавлять новые веб-сайты или сервисы или использовать существующие сервисы. У нас, наверное, около 20-30 различных веб-приложений и соответствующих сервисов.

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

В идеале, мы бы лучше контролировали эту ситуацию, и мы пытаемся получить контроль над ней, но это занимает некоторое время. Одна вещь, которую мы хотели бы сделать, это узнать больше о том, что все взаимосвязи между веб-сайтами и серверами приложений.

Я использовал Reflector для поиска зависимостей между сборками, но хотел бы иметь возможность видеть шаблоны трафика между сервисами.

Какие есть варианты для попытки наметить отношения веб-службы? В основном мы говорим в основном о внутренних службах (веб-приложение, приложение-приложение, пакет-приложение и т. Д.). Сверху головы я могу придумать два способа приблизиться к нему:

  • Анализ сборок для любых веб-ссылок. Недостатком здесь является то, что не все это веб-ссылки, и я не уверен, как перечислены соединения WCF. Тем не менее, это будет, по крайней мере, началом для поиска 80% соединений. Кто-нибудь знает какие-либо инструменты, которые могут сделать этот анализ? Как я уже сказал, я использовал Reflector для ссылок на сборки, но ничего не могу найти для веб-ссылок.
  • Возможно, подключитесь к IIS и пассивно отслеживайте входящий и исходящий трафик и каким-то образом выясняйте, что вызывается и откуда. Мы смотрим на инструменты предприятия, которые могут помочь, но пройдет некоторое время, прежде чем они будут внедрены (и будут стоить дорого) Но есть ли что-нибудь, что могло бы помочь быстро и дешево? В частности, один инструмент (AmberPoint) может подключаться к IIS на серверах и отслеживать входящий и исходящий трафик, добавляет немного особого соуса и начинает строить карту трафика. Очень красиво, но стоит в комплекте.

Я знаю, я знаю, как, черт возьми, вы попали в этот беспорядок в первую очередь? Бьет меня, просто пытается помочь нам получить контроль над ним и выйти из него.

Спасибо, Matt

Ответы [ 2 ]

2 голосов
/ 05 сентября 2008

Самый простой способ - просмотреть журналы, но если в нем нет реферрера, вам также может понадобиться следить за тем, что выходит с вашего веб-сервера на сервер приложений. Вы можете использовать такие инструменты, как Wireshark или Microsoft Network Monitor, чтобы увидеть этот трафик.

Другое «решение», которым я пользуюсь, заключается в том, чтобы привязать определенный веб-сервер к серверу приложений, а затем запустить его через пакет и посмотреть, что он устанавливает на сервере приложений. Возможно, вы могли бы сделать это в тестовой среде, чтобы изучить влияние на пользователей сайта.

0 голосов
/ 06 сентября 2008

Вам нужен реестр сервисов (UDDI ??) ... Если бы у вас были средства для каталогизации этих сервисов и их потребителей, это значительно облегчило бы эту работу по обнаружению зависимостей. Это не простое решение, хотя. Для создания каталога требуется время и документация.

Я думаю, что самым быстрым решением будет запрос ваших журналов IIS и поиск исходных URL-адресов, которые исходят от ваших собственных серверов. По крайней мере, вы сможете отследить, с каких серверов приходят ваши потребители.

Кроме того, если у вас уже есть какой-то механизм аутентификации, вы можете отследить, кто использует конкретный сервис, на основе логина.

Вы правы насчет AmberPoint. Существуют и другие инструменты, которые каталогизируют трафик службы и предоставляют отчеты, показывающие, что происходит с вашими службами. Systinet, SOA Software и Actional также имеют продукты, аналогичные Amberpoint, но, как мне кажется, Amberpoint имеет бесплатную версию.

...