Сравнение технологий по созданию и использованию web-сервисов
Для поддержки web-сервисов надо только установить пакет от Apache Software Foundation — Apache Axis (http://ws.apache.org/axis/). Всю установку Apache Axis можно тоже свести к простой разархивации дистрибутива и копированию библиотек Axis из каталога lib/ в common/lib/ и каталога webapps/axis/ в каталог webapps/ сервера Tomcat. После этого Tomcat будет работать еще и как SOAPи WSDL-сервер. Первый… Читать ещё >
Сравнение технологий по созданию и использованию web-сервисов (реферат, курсовая, диплом, контрольная)
Архитектура платформ Java и .Net
Кроссплатформенность
Java: является кроссплатформенной средой. Если для необходимой платформы существует JDK, то и Java будет функционировать.
.NET: была полностью разработана Microsoft и может работать только на операционных системах Microsoft. На сегодняшний день единственной платформой является только Windows.
Многоязычность.
Java: Единственной языковой основой является язык программирования Java.
NET: Платформа является, если так можно выразиться, языконезависимой. Если для данного языка программирования создан механизм отображения в MSIL, то его можно смело применять в разработке.
Среда исполнения.
Java: Исходные тексты Java-программы компилируются в байт-код, который интерпретируется (выполняется) виртуальной Java-машиной каждый раз при выполнении. Для работы приложения на Java требуется поставить на клиента JRE (Java Runtime Environment).
.NET: Схема работы .NET-платформы во многом схожа. Выполнением программы заведует CLR (аналог JVM). При этом программа должна быть предварительно скомпилирована в Microsoft Intermediate Language — MSIL-код (аналог байт-кода.
Инструментальные средства по созданию и использованию web-сервисов.
На выбор средств разработки влияют их.
- · распространенность
- · доступность
- · простота развертывания
- · пристрастия программиста
MS Visual Studio.
- · Это платный продукт.
- · Долгая инсталляция продукта.
- · Занимает много места на диске.
- · Обеспечивает быстрое и легкое развертывание web-сервисов
- · Web Services Enhancements 3.0 — это инструментарий для Microsoft Visual Studio .NET и Microsoft .NET Framework, который позволяет значительно упростить разработку безопасных web-сервисов, совместимых с последними версиями спецификаций WS-Security, WS-Trust, WS-SecureConversation и WS-Addressing.
Создание web-сервиса сводится к выполнению следующих шагов:
- · выбор нового типа проекта — ASP.NET Web Service;
- · написание кода функции;
- · добавление атрибута [Webmethod] в части определения функции;
- · выбор команды Project I Build — Visual Studio .NET компилирует код и внедряет его на web-сервер.
Атрибут [ Webmethod] указывает компилятору на необходимость сделать этот метод доступным для web-клиентов. Помимо этого автоматически создается страница с описанием web-сервиса, где находятся информация о доступных методах, а также тестовая форма для вызова web-сервиса.
Если же вызвать web-сервис с параметром? WSDL, вы получите XML-документ, содержащий подробное описание данного сервиса. Этот документ, содержащий все открытые функции сервиса, входные параметры и их типы данных, а также возвращаемые функциями типы данных, создается Visual Studio .NET автоматически. После создания web-сервиса можно использовать протокол HTTP для передачи ему входных параметров и получения результатов. Простейшее тестирование web-сервиса сводится к указанию в браузере адреса сервиса и необходимых данных. С помощью Visual Studio .NET очень просто создать клиентское приложение, потребляющее функции web-сервиса. Все, что необходимо для этого сделать, — это добавить ссылку на соответствующий сервис в проекте клиентского приложения. Команда Add Web Reference запускает диалоговую панель, с помощью которой можно искать существующие web-сервисы на локальном компьютере, в Internet или в универсальном UDDI-реестре. Поскольку WSDL-документ содержит всю необходимую информацию о web-сервисе, Visual Studio .NET может автоматически сгенерировать необходимый для использования этого сервиса код. После того как ссылка на сервис добавлена к проекту, мы можем использовать сервис как обычный объект.
Axis и Apache Tomcat.
- · Apache Tomcat широко распространен
- · Доступен бесплатно (http://tomcat.apache.org/)
- · Быстро ставится.
- · Работает на любой платформе, где есть Java
- · Славится надежностью
- · Поддержка современных стандартов
Для поддержки web-сервисов надо только установить пакет от Apache Software Foundation — Apache Axis (http://ws.apache.org/axis/). Всю установку Apache Axis можно тоже свести к простой разархивации дистрибутива и копированию библиотек Axis из каталога lib/ в common/lib/ и каталога webapps/axis/ в каталог webapps/ сервера Tomcat. После этого Tomcat будет работать еще и как SOAPи WSDL-сервер.
Отличительной особенностью Axis является наличие в нем утилит (WSDL2java, java2WSDL), позволяющих автоматизировать некоторые стадии создания веб-сервиса и клиента к нему, а также обширной сопроводительной документации и примеров.
Задача развертывания web-сервисов на любой платформе быстро решается с помощью Apache Axis и Java.
Можно легко написать обертку в виде jws-класса для приложения и таким образом обеспечить доступ к нему, как к web-сервису. В зависимости от требований и имеющихся возможностей организовать обращение к web-сервисам на Java из клиентских приложений можно разными способами.
Серверы Apache и IIS.
Самым популярным программным обеспечением признано бесплатное ПО Apache, которое занимает почти 50 процента рынка — около 77 миллионов сайтов, затем идет продукция компании Microsoft.
Выбор веб-сервера.
Первый критерий выбора — аппаратное обеспечение сервера. Существует два основных решения — выделенный сервер и размещение на уже существующем сервере, настроив маршрутизацию трафика на брандмауэре. IIS может быть установлен только на ОС MS Windows. Apache может быть установлен как на ОС семейства UNIX, так и на MS Windows.
Доступность. Apache распространяется бесплатно. MS Internet Information Server распространяется по лицензии.
Сравнение трудоемкости.
Знающему и технологию Java и технологию .Net программисту потребуется примерно одинаковое количество времени для разработки web-сервиса. Но, если разработчик не знаком с какой-либо из этих технологий, то естественно лучше разрабатывать в знакомой уже технологии. Т. к знакомство с новой технологией может занять большую часть всего времени создания web-сервиса.
Если же разработчик не знаком ни с одной из этих технологий, то на мой взгляд, проще и быстрее разобраться и создать web-сервис используя MS Visual Studio.Net.
На основе написанных web-сервисов видно, что число строк кода сервиса, написанного средствами MS Visual Studio и web-сервиса, написанного при помощи Axis, выполняющих одинаковые действия, практически одинаково.
Простой сервис, возвращающий список данных из одной таблицы базы данных занимает 29 строк в MS Visual Studio.Net и 33 строки, написанный при помощи Axis.
Сравнение времени работы и устойчивости web-сервисов.
MS Visual Studio, IIS. | Axis, Apache. | ||
Время отклика. | 0.015 сек. | 0.016 сек. | |
Время работы web-сервиса, возвращающего записи из одной таблицы БД (около 30 000 записей). | 0,41 сек. | 0,88 сек. | |
Время работы web-сервиса, принимающего в качестве параметра большой массив значений. | 0,9 сек. | 4,3 сек. | |
Время работы передачи данных от web-сервиса к клиенту. | 0,004 сек. | 0,01 сек. | |
Устойчивость web-сервиса ко множеству подключений. | 287 подключений. | 568 подключ. | |
1. Время отклика Проведено тестирование времени отклика web-сервисов. Время отклика практически одинаковое.
2. Время работы web-сервиса, возвращающего записи из одной таблицы БД (около 30 000 записей) Проведено 100 испытаний и вычислено среднее время.
MS Visual Studio, IIS — 0,41 сек.
Axis, Apache — 0,88 сек.
Axis заметно уступает по времени выполнения данного web-сервиса. На IIS практически в 2 раза быстрее.
3. Время работы web-сервиса, принимающего в качестве параметра большой массив значений.
Проведено 100 испытаний и вычислено среднее время.
MS Visual Studio, IIS — 0,9 сек.
Axis, Apache — 4,3 сек.
Разница во времени возросла. На Apache время выполнения больше в 4,7 раза, чем на IIS.
4. Время работы передачи данных от web-сервиса к клиенту.
Среднее время в результате 100 испытаний:
MS Visual Studio, IIS — 0,04 сек.
Axis, Apache — 0,01 сек.
Данный тест опять подтверждает большую скорость первой технологии.
5. Устойчивость web-сервиса ко множеству подключений Проведена попытка сделать 1000 одновременных подключений к web-сервису.
MS Visual Studio, IIS — выдержал 287 подключений.
Axis, Apache — 568 подключений.
Данный тест показывает, что Apache Axis более устойчив ко множеству подключений.
Из данных сравнений видно, что web-сервис, созданный при помощи .Net и развернутый на web-сервере IIS работает быстрее, за меньшее время возвращает данные, чем web-сервис, реализованный при помощи Apache Axis. Причем разница во времени возрастает при увеличении объема передаваемых значений от клиента к сервису. Но зато web-сервис на IIS проигрывает по устойчивости ко множеству подключений.