Полагаю, у вас нет проблем с настройкой службы WMS на MapServer. Проверьте, работает ли это с настольным клиентом ГИС или простой веб-страницей OpenLayers.
Для разработки клиента WMS я бы построил поверх библиотеки GDAL . Это также включено в MapServer.
GDAL имеет возможность читать изображения
с удаленного сервера WMS, и лечить
их, как и любой другой источник данных:
Это означает, что он может принять
изображения и конвертировать их в любой другой
формат, от JPEG2000 до GeoTIFF.
http://crschmidt.net/blog/archives/285/producing-a-large-image-from-openaerialmap/
В качестве дополнительного бонуса GDAL включает в себя Привязки Python , которые помогут при написании сценариев.
http://pypi.python.org/pypi/GDAL/
Вам также понадобится libcurl для доступа к URL. libcurl также имеет привязки Python - http://curl.haxx.se/libcurl/python/
libcurl также включен в MapServer, который сам может быть как сервером WMS, так и клиентом. Вы также можете проверить исходный код C ++, чтобы узнать, как работает клиент MapServer - https://trac.osgeo.org/mapserver/browser/branches/branch-5-6/mapserver/mapwmslayer.c
Служба WMS возвращает изображение (за исключением нескольких дополнительных мета-служб), поэтому разработка будет основываться на построении правильных запросов WMS на основе действий пользователя.
Если вы хотите добиться высокой производительности, взгляните на TileCache , который будет кешировать результаты WMS на сервере для более быстрого использования (а также кешировать локально).