morpher.ru 8 (499) 647 86 54
nowhere@morpher.ru
 
 

Веб-сервис склонения по падежам «Морфер.Сервер»

Веб-сервис, который всегда рядом

«Морфер.Сервер» – это веб-сервис, который работает в локальной сети вашего предприятия и предоставляет функции автоматического склонения всем его системам независимо от того, на каком языке они написаны. «Сервер» легко интегрируется с такими платформами как SAP, 1С, Axapta, Navision, с языками программирования Java, PHP и с любыми системами, поддерживающими интеграцию со сторонними сервисами по протоколу HTTP.

Содержание

История и мотивация создания продукта

Библиотека функций для склонения по падежам Morpher.dll существует с 2003 года и успешно используется на многих предприятиях России и ближнего зарубежья (отзывы пользователей). Пользователей устраивает качество склонения и скорость работы библиотеки. Однако тот факт, что код библиотеки написан на языке C#, затрудняет ее интеграцию с немикрософтовскими системами, такими как Java, Linux и другими. Для решения этого вопроса был создан веб-сервис, работающий на сайте morpher.ru и доступный бесплатно всем желающим.

Веб-сервис привлек внимание многих веб-программистов, работающих на PHP, Ruby, Python, а также программистов системы 1С. Веб-сервис активно используется (около миллиона запросов за 2 квартал 2013 года) и всем хорош, но некоторых пользователей не устроила относительно низкая скорость работы (несколько запросов в секунду), отсутствие гарантированной доступности сервиса и юридическая невозможность работы с персональными данными, охраняющимися по закону. Некоторые пользователи высказали желание иметь «такой же веб-сервис, только локальный».

Это и привело к созданию продукта «Морфер.Сервер», сочетающего в себе достоинства библиотеки (высокая скорость работы и доступность) и веб-сервиса (простота интеграции с любыми платформами, поддерживающими обмен по протоколу HTTP).

Отличия от общедоступного веб-сервиса Морфер.ру

«Морфер.Сервер» унаследовал от общедоступного веб-сервиса его API и бо́льшую часть реализации.

Это позволяет вам до приобретения «Морфер.Сервер» опробовать интеграцию с общим веб-сервисом, а после приобретения просто заменить домен в URL запроса. Все будет работать точно так же, только в сотни раз быстрее.

Отличия от общедоступного сервиса:

  • «Морфер.Сервер» лишен функций работы с учетными записями пользователей, аутентификации и тарификации.
  • На данный момент отсутствуют функции для украинского языка.

Склонение по падежам

Функция склонения по падежам на русском языке в точности совпадает с аналогичной функцией «глобального» веб-сервиса, см. описание функции GetXml.

Пропись чисел и денежных сумм

См. описание функции Propis.

Скорость работы веб-сервиса

С целью определения скорости работы веб-сервиса было проведено нагрузочное тестирование при помощи программы JMeter. Тест состоял в том, что один виртуальный пользователь (поток) посылал последовательно 1000 одинаковых запросов веб-сервису.

Запрос: http://localhost/morpher/WebService.asmx/GetXml?s=Соединенное%20Королевство

Результаты теста представлены на графике:

Morpher web service load tested with JMeter

Как видно из снимка экрана, скорость составила более 17 тысяч запросов в минуту (около 300 в секунду), что более чем достаточно для большинства задач.

Примечание по методике тестирования. На время проведения теста в программе JMeter необходимо закрывать вкладку с графиком. Было замечено, что при открытом графике скорость получается на порядок медленнее. Вероятно, программа JMeter тратит много времени на прорисовку графика. При тестировании сайта в Интернете этот эффект был бы почти незаметен, так как времена там на пару порядков больше.

Аналогичный тест при обращении к веб-сервису по локальной сети (100 Мбит) дал следующий результат:

Morpher web service load tested with JMeter

Сравнение скорости работы различных продуктов:

 Веб-сервис morpher.ru«Морфер.Сервер»Morpher.dll
Количество склонений в сек0.5 - 5 (в зависимости от вашего пинга)60 (LAN) - 300 (localhost)> 5000

API пользовательского словаря

Пользовательский словарь служит для оперативного исправления ошибок автоматического склонения. Он хранится в файле userDict.xml в корневом каталоге веб-сервиса. Вы можете редактировать этот файл вручную (формат словаря) или через API веб-сервиса.

Для редактирования пользовательского словаря веб-сервис предоставляет набор функций, доступных через URL http://localhost/morpher/UserDict.asmx.

Список функций:

public Entry [] GetAllEntries ()

Возвращает все содержимое словаря.

public void AddOrUpdateEntry (Entry entry)

Добавляет новую статью или перезаписывает существующую.

public Entry GetEntryByLemma (string lemma)

Возвращает статью, найденную по лемме (начальной форме слова или словосочетания).

public void DeleteEntry (string lemma)

Удаляет статью с указанной леммой.

Системные требования

Для размещения у себя локального веб-сервиса вам понадобится компьютер или виртуальный сервер под управлением Windows со следующими установленными компонентами:

  • IIS 7
  • .NET 4.0

Установка

Add Application in IIS
  • Распакуйте дистрибутив веб-сервиса в папку на локальном диске, например, C:\MorpherWebService.
  • Скопируйте в папку C:\MorpherWebService\bin файл Morpher.dll.
  • Откройте IIS Manager:
    • Нажмите кнопку Start (Пуск) и наберите inetmgr.
    • Нажмите Enter.
  • Добавьте приложение в IIS:
    • В окне Connections (слева) откройте узел с именем вашего компьютера (в примере на снимке экрана справа это SERGEY-VAIO).
    • Раскройте узел Sites.
    • Кликните правой кнопкой мыши на узле Default Web Site и выберите пункт меню Add Application. Add Application in IIS
    • В появившемся диалоговом окне:
      • В поле Alias введите название, которое потом станет частью URL веб-сервиса и будет отличать его от других ресурсов веб-сайта. Например, morpher.
      • В поле Physical path введите путь к папке, где находятся файлы веб-сервиса.
      • Нажмите OK.
  • ISAPI and CGI Restrictions Включите ISAPI-модуль ASP.NET:
    • В окне Connections выберите снова узел с именем вашего компьютера.
    • В окне Default Web Site Home (посредине) найдите группу иконок Security и откройте в ней двойным кликом иконку ISAPI and CGI Restrictions.
    • В появившемся окне напротив строки ASP.NET v4.0 установите разрешение Allowed (разрешено).
  • Протестируйте веб-сервис на локальном компьютере:
    • Откройте в браузере адрес http://localhost/morpher
    • Должна открыться страница "Веб-сервис склонения по падежам "Морфер":
    • На странице найдите ссылку под словами "Пример вызова функции склонения" и кликните по ней.
    • Должен появиться XML-документ со склонением примера.
  • Протестируйте веб-сервис на другом компьютере в локальной сети:
    • Перейдите на другой компьютер в той же локальной сети.
    • Откройте в браузере адрес http://comp/morpher, где comp - имя компьютера, на котором установлен веб-сервис.
    • Повторите тестирование, как с локального компьютера.

Приобрести «Морфер.Сервер»


Комментарии

Semen 22.01.2016 04:07 UTC

Здравствуйте, не могу добавить словарь исключений в веб-сервер морфер. Пробовал создавать файл в корневом каталоге, потому что его там по умолчанию видимо нет. Пробовал через API, но не могу понять что и как нужно делать. Делал все как написано тут.
Помогите пожалуйста.



Добавить комментарий


 

Библиотеки

Заметили опечатку? Выделите слово мышкой и нажмите Ctrl-Enter. Система Orphus

© Сергей Слепов, 2003 - 2017. Перепечатка материалов сайта только с разрешения автора.