morpher.ru +7 (925) 336 9960
[email protected]
 
 
Мой Морфер

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

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

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

Содержание

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

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

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

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

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

«Морфер.Сервер» унаследовал от общедоступного веб-сервиса версии 3.0 его API и полностью повторяет его функционал.

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

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

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

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

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

Запрос: http://localhost/morpher/russian/declension?s=Пользователь

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

Morpher web service load tested with JMeter

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

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

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

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

Пользовательский словарь служит для оперативного исправления ошибок автоматического склонения. Он должен хранится в каталоге App_Data веб-сервиса в виде xml-файла с именем

  • UserDict.xml - для русского языка;
  • UserDictUkr.xml - для украинского языка.
Для казахского языка пользовательский словарь пока не реализован. Вы можете редактировать файл словаря вручную (формат словаря) или через API веб-сервиса (формат запросов).

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

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

  • IIS 7
  • .NET 4.5

Установка

  1. IIS Features Включите необходимые компоненты IIS. Для этого нажмите кнопку «Пуск», введите «Панель управления» («Control Panel»), включите отображение по категориям и выберите «Programs» — «Turn Windows features on or off». В открывшемся окне отметьте галочками как минимум те пункты, которые отмечены на рисунке справа:
  2. Add Application in IIS Распакуйте дистрибутив веб-сервиса в папку на локальном диске, например, C:\MorpherWebService. В пути не должно быть пробелов.
  3. Откройте IIS Manager:
    • Нажмите кнопку Start (Пуск) и наберите inetmgr.
    • Нажмите Enter.
  4. Добавьте приложение в IIS:
    • В окне Connections (слева) откройте узел с именем вашего компьютера (в примере на снимке экрана справа это SERGEY-VAIO).
    • Раскройте узел Sites.
    • Кликните правой кнопкой мыши на узле Default Web Site и выберите пункт меню Add Application. Add Application in IIS
    • В появившемся диалоговом окне:
      • В поле Alias введите название, которое потом станет частью URL веб-сервиса и будет отличать его от других ресурсов веб-сайта. Например, morpher.
      • В поле Physical path введите путь к папке, где находятся файлы веб-сервиса.
      • Нажмите OK.
  5. ISAPI and CGI Restrictions Включите ISAPI-модуль ASP.NET:
    • В окне Connections выберите снова узел с именем вашего компьютера.
    • В окне Default Web Site Home (посредине) установите «Group by» на «Category», найдите группу иконок Security и откройте в ней двойным кликом иконку ISAPI and CGI Restrictions.
    • В появившемся окне напротив строки ASP.NET v4.0 установите разрешение Allowed (разрешено).
  6. Протестируйте веб-сервис на локальном компьютере:
    • Откройте в браузере адрес http://localhost/morpher
    • Должна открыться страница "Веб-сервис склонения по падежам "Морфер":
    • На странице найдите ссылку под словами "Пример вызова функции склонения" и кликните по ней.
    • Должен появиться XML-документ со склонением примера.
  7. Протестируйте веб-сервис на другом компьютере в локальной сети:
    • Перейдите на другой компьютер в той же локальной сети.
    • Откройте в браузере адрес http://comp/morpher, где comp - имя компьютера, на котором установлен веб-сервис.
    • Повторите тестирование, как с локального компьютера.

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

История изменений

Дата Версия  
17.06.2019 3.4 Актуализация кодовой базы. Добавлена поддержка казахского языка. Обновление словарей и исправление ошибок.
21.12.2017 3.3 Обновление модулей склонения и исправление мелких ошибок.
16.11.2017 3.2 Добавлена поддержка украинского пользовательского словаря UserDictUkr.xml. Обновление словарей и исправление алгоритмов модулей склонений. Исправлена разбивка ФИО на составляющие. Исправлено склонение "Член Правления, директор по операциям".
25.09.2017 3.1 Ряд мелких исправлений. Добавлен местный падеж. Добавленна поддержка пользовательских словарей. Обновлен формат ответа и документация
23.06.2017 3.0 Основан на веб-сервисе 3.0, который имеет более логичную и расширяемую систему функций. Добавлена возможность ответа в формате JSON. SOAP больше не поддерживается (1С использует новый REST API клиент).


 

Библиотеки

© Сергей Слепов, 2003 - 2020.