Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Статикой считаются такие виды объектов, как, например, персонадокументкодконтакт и так далее. 


Кроме того, некоторые объекты связаны друг с другом при помощи отношения "многие-ко-многим", в этом случае при помощи API можно работать не только с самими объектами, но и с их связями (так называемые Relations).


Для работы со статикой существует 2 типа API:


  • Простой CRUD - позволяет выполнять простые операции с примитивными объектами базы данных (например, "Контакт", "Документ", "Код").
    На каждый тип объектов в общем случае распространяется три типа операций:
    1) получить список объектов в рамках области видимости;
    2) сохранить/удалить или отредактировать объект;
    3) операция выгрузки объекта по первичному ключу (например, для контактов: получить список контактов по идентификатору персоны (List), получить конкретный контакт по его идентификатору (Get), изменить или создать новый контакт (Save)).
    При этом внутри объекта нет никаких связей с другими сущностями - например, в "Персоне" нет документов и ссылок на коды. Данный API следует использовать в том случае, если требуется проводить низкоуровневые операции с объектами, так как API позволяет контролировать, в том числе, и сложные связи, как, например, зависимость кодов от типов услуг или других кодов.

    При использовании данного механизма все бизнес-объекты представлены в виде плоских структур с полями примитивных типов (строка, число, дата и т. д.).

  • Orchestrated API - удобное API с инкапсулированной бизнес-логикой, предназначенное для выполнения высокоуровневых операций. Также ряд методов этого API позволяет работать с объектами старой и новой версии одновременно.
    При использовании данного механизма все бизнес-объекты представлены в виде иерархических структур со всеми зависимостями.

! Вопрос производительности запросов - ключевой при выборе типа API для вашего приложения.


Например, в Orchestrated API, чтобы поменять один контакт, надо выгрузить всю персону, поменять контакт и все загрузить заново обратно в систему, что приведет к выполнению целой серии запросов к БД, а в CRUD, чтобы поменять контакт, нужно просто передать всю его информацию. Также CRUD позволяет проводить атомарные операции - например, получить все контакты, привязанные к персоне с определенным id_Person.


____


  • No labels