Открыть главное меню

Изменения

10 байт добавлено, 3 года назад
м
оформление
 
== Методы разработки ==
Существуют средства [[Автоматизация|автоматизации]] разработки веб-служб, разделяющиеся на две основные группы. При разработке снизу-вверх сначала пишутся имплементирующие классы, а из их исходного текста генерируются WSDL-файлы, документирующие службу. Недостатком этого метода является подверженность Java-классов частым изменениям. При подходе сверху-вниз сначала подготавливается WSDL, а из него генерируется скелет Java-класса, имплементирующего службу. Этот путь считается более трудным, зато приводит к более чистым и лучше защищенным от изменений решениям. Пока формат сообщений, которыми обмениваются заказчик и исполнитель, не меняется, изменения в каждом из них не нарушают взаимодействия. Эта техника называется иногда "«contract first"», так как исходной точкой является WSDL ("«договор"» между заказчиком и исполнителем).
 
== Преимущества ==
* Веб-службы обеспечивают взаимодействие программных систем независимо от платформы. Например, Windows-C#-клиент может коммуницировать с Java-сервером, работающим под [[Linux]].
* Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию [[XML]] достигается простота разработки и отладки веб-служб.
* Использование интернет-протокола обеспечивает [[HTTP]]-взаимодействие программных систем через [[межсетевой экран]]. Это значительное преимущество, по сравнению с такими технологиями, как [[CORBA]], [[DCOM]] или Java [[RMI]]. С другой стороны, веб-службы не привязаны намертво к HTTP - могут использоваться и другие протоколы.
 
== Недостатки ==
* Меньшая производительность и больший размер сетевого трафика по сравнению с технологиями [[RMI]], [[CORBA]], [[DCOM]] за счёт использования текстовых XML-сообщений. Однако на некоторых [[веб-сервер]]ах возможна настройка сжатия сетевого трафика.
 
* Аспекты безопасности. Ответственные веб-службы должны использовать кодирование, возможно - требовать аутентификации пользователя. Достаточно ли здесь применения [[HTTPS]], или предпочтительны такие решения, как XML Signature, [[XML Encryption]] или [[SAML]] - должно быть решено разработчиком.
 
== Примеры ==