При разработке Web-сервисов, опираются на последовательность следующих стандартных этапов:
- описание Web-сервиса;
- вызов Web-сервиса;
- кодирование данных;
- транспортировка.
Web-сервисы могут взаимодействовать, анализировать и обрабатывать данные динамически, поэтому у отдельных компонент программного обеспечения есть возможность взаимодействовать более открыто.
Концепция распределенных систем дает возможность создавать и совершенствовать клиентские приложения теми программистами, которые сами не принимали участия в разработке программного обеспечения Web-сервисов, поэтому разрабатываемые Web-сервисы обязаны быть комфортными для пользователя и "самодокументируемыми". Как и входные группы в рекламном обеспечении, они должны отображать все данные, приходящие от веб-сервера (серверный компонент - картинки, таблицы, текст). Какие картинки и тексты отправлять браузеру – решает веб-сервер. Типичный пример клиентского модуля - браузеры: Mozilla, Chrome, Internet Explorer, Opera и т.д.
"Тонкие" клиенты относительно недороги и служат своеобразным проводником между пользователем и серверным модулем, обрабатывающим пользовательские запросы и генерирующим ответ. При практической реализации систем с использованием Web-технологии существенное внимание следует уделять правильному разделению функциональных обязанностей, возлагаемых на основное клиентское приложение на Web-сервис.
Можно сделать клиентское приложение «тонким», например, сохранив за ним лишь отправку необработанных исходных данных и отображение окончательных результатов расчета (без дополнительной обработки у клиента). В этом случае сервис должен решать задачи окончательного формирования структуры входных данных, их обработки и формирования результатов в той именно форме, которая должна отображаться на клиентском приложении. Так осуществляют работы многие современные CMS, генерирующие по шаблонам страницу у клиента.
Независимо от типа и вида «клиента» («толстый» или «тонкий») вызов Web-сервиса реализуем одинаковым способом, и для одного и того же Web-сервиса можно использовать клиентские приложения на многих языках программирования – подобно тому, как качественные световые короба пригодны для наружного рекламирования различных услуг и продукции.
В целях обеспечения максимальной степени кроссплатформенности Web-сервисов часто используют язык Java. Для тестирования разработанных Web-сервисов и проверки возможности их использования в гетерогенных средах реализуются автономные клиентские приложения, написанные как на языке Java, так и на языке С++. Разработанные Web-сервисы могут быть размещены произвольным образом в одном или нескольких узлах сети Интернет. Возможно также размещение их корпоративной сети Интернет.
|