Веб-служба DataService
Glossary Item Box
Общая информация
В приложении bpm'online реализована веб-служба DataService на основе .NET фреймворка ServiceStack.
ServiceStack — это фреймворк для создания Microsoft .NET и Mono веб-служб и веб-приложений. Он является альтернативой таким фреймворкам, как WCF, ASP.NET MVC и ASP.NET Web API. ServiceStack особенно подходит для разработки REST веб-служб. Используя ServiceStack, можно быстро создать API, который может быт размещен на любом хостинге (IIS, Windows Service, Self-host или Mono).
Основные возможности ServiceStack:
- конечные точки в стиле REST и SOAP;
- автоконфигурирование форматов данных, включая XML, JSON, HTML, CSV и JSV;
- plain-old CLR objects (POCO) в качестве входящих и исходящих объектов;
- валидация и простой синтаксис;
- контейнер Inversion of Control (IoC);
- Object-Relational Mapping (ORM);
- механизм кеширования (поддерживаются Memcached и Redis);
- отсутствие внешних библиотек.
Служба DataService приложения bpm'online
Перечень контрактов данных DataService можно узнать, выполнив следующий запрос:
// Формат строки запроса к DataService. http(s)://[Адрес приложения bpm'online]/[Номер конфигурации]/dataservice/metadata // Пример строки запроса к DataService. http(s)://example.bpmonline.com/0/dataservice/metadata
В результате выполнения запроса отобразится страница с полным перечнем поддерживаемых контрактов данных службы DataService (рис. 1). Большинство классов-контрактов данных, предоставляемых службой DataService, имеют служебное назначение и не рекомендуются для использования сторонними разработчиками.
Рис. 1. — Перечень контрактов данных DataService приложения bpm'online
Полный список и описание контрактов данных службы DataService приведены в таблице 1.
Таблица 1. — Службы DataService приложения bpm'online
Служба | Описание |
---|---|
SchemaDesignerRequest | Класс запроса к дизайнеру схем. Не рекомендуется использовать. |
EntitySchema | Класс схемы объекта. Не рекомендуется использовать. |
ClientUnitSchema | Класс клиентской схемы. Не рекомендуется использовать. |
RemoveEntitySchemaRequest | Класс запроса на удаление схемы объекта. Не рекомендуется использовать. |
RemoveClientUnitSchemaRequest | Класс запроса на удаление клиентской схемы. Не рекомендуется использовать. |
EntitySchemaRequest | Класс запроса на получение экземпляра схемы объекта. Не рекомендуется использовать. |
ClientUnitSchemaRequest | Класс запроса на получение экземпляра клиентской схемы. Не рекомендуется использовать. |
ProcessUserTaskSchemaRequest | Класс запроса на получение cхемы действия пользователя бизнес-процесса. Не рекомендуется использовать. |
UpdatePackageSchemaDataRequest | Класс запроса на обновление данных схемы пакета. Не рекомендуется использовать. |
ProcessSchemaRequest | Класс запроса на получения экземпляра схемы процесса. Не рекомендуется использовать. |
ContractProcessSchema | Класс контракта схемы процесса. Не рекомендуется использовать. |
RemoveProcessSchemaRequest | Класс запроса на удаление схемы процесса. Не рекомендуется использовать. |
InsertQuery | Класс запроса на добавление записи раздела. |
UpdateQuery | Класс запроса на обновление записи раздела. |
DeleteQuery | Класс запроса на удаление записи раздела. |
SelectQuery | Класс запроса на выбор записей раздела. |
BatchQuery | Класс пакетного запроса. |
UserProfile | Класс профиля пользователя. Не рекомендуется использовать. |
QueryProfile | Класс профиля запроса. Не рекомендуется использовать. |
QuerySysSettings | Класс запроса на получение списка системных настроек. Не рекомендуется использовать. |
PostSysSettingsValue | Класс установки значения системной настройки. Не рекомендуется использовать. |
PostSysSettingsValues | Класс установки значений системных настроек. Не рекомендуется использовать. |
Filters | Класс фильтров. |
QueryModuleDescriptors | Класс запроса на получение дескрипторов модулей. Не рекомендуется использовать. |
ClientLoggerDataContract | Класс данных клиентского лога. Не рекомендуется использовать. |
PostClientLog | Класс публикации клиентских логов. Не рекомендуется использовать. |
UploadFile | Класс выгрузки файла. Не рекомендуется использовать. |
GetTelephonyConfig | Класс получения конфигурационных настроек телефонии. Не рекомендуется использовать. |
InsertSysSettingRequest | Класс запроса на добавление системной настройки. Не рекомендуется использовать. |
UpdateSysSettingRequest | Класс запроса на редактирование системной настройки. Не рекомендуется использовать. |
DeleteSysSettingRequest | Класс запроса на удаление системной настройки. Не рекомендуется использовать. |
GetTests | Класс получения всех Unit-тестов. Не рекомендуется использовать. |
RunTests | Класс запуска Unit-тестов. Не рекомендуется использовать. |