Navegando hacia información enlazada

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Servicios OData > Conceptos básicos > Servicios de consulta >

Navegando hacia información enlazada

Introducción

Bizagi provee servicios OData, que manejan un amplio conjunto de recursos, alguno de ellos le permiten obtener mayor información luego de realizar una primera invocación.

La siguiente sección describe cómo interpretar la información enlazada perteneciente a una entidad relacionada o una colección, de manera que pueda traer detalles adicionales por demanda y cumpiendo con mejores prácticas orientadas al rendimiento.

 

Alcance del recurso

El recurso para navegar hacia mayor detalle dado por información enlazada se ejecuta por medio del método HTTP GET, y se define como navigations

Este le permite obtener datos de aquellos atributos que no son retornados la primera vez, como colecciones o como entidades relacionadas que se configuran para este manejo por medio del editor de atributos de OData, como se describe en Configurar qué información de negocio se retorna.

 

OData_navigations9

 

URL del recurso

La posibilidad de consultar valores para entidades relacionadas es soportada por todos estos recursos:

[url_del_proyecto_bizagi]/odata/data/stuff([ID_stuff])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/stuff([ID_stuff])/values([ID_value])/navigations([ID_navigation]))/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/stuff([ID_stuff])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/searches([ID_search])/results([ID_result])/navigations

[url_del_proyecto_bizagi]/odata/data/searches([ID_search])/results([ID_result])/navigations([ID_navigation])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/searches([ID_search])/results([ID_result])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/processes([ID_process])/cases([ID_case])/navigations

[url_del_proyecto_bizagi]/odata/data/processes([ID_process])/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/processes([ID_process])/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/cases([ID_case])/navigations

[url_del_proyecto_bizagi]/odata/data/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations

[url_del_proyecto_bizagi]/odata/data/cases([ID_case])/navigations([ID_navigation])/values([ID_value])/navigations([ID_navigation])/values([ID_value])/navigations

 

 

Ejemplo

La siguiente imagen muestra como se puede enviar un HTTP GET para este recurso, al usar como ejemplo lo siguiente:

[url_del_proyecto_bizagi]/odata/data/proceso([ID_proceso])/cases([ID_caso])/navigations

 

Considere:

[ID_proceso]: Corresponde al ID del proceso como es retornado al invocar [url_del_proyecto_bizagi]/odata/data/processes

[ID_caso]: Corresponde al ID del caso como es retornado al invocar [url_del_proyecto_bizagi]/odata/data/processes([ID_process])/cases

 

Comience por obtener el ID del proceso:

[url_del_proyecto_bizagi]/odata/data/processes

 

OData_navigations5

 

Para dicho ejemplo, se considera el uso de navigations desde el proceso Triage que tiene ID = 6d5e481e-baf5-47da-9e8a-4f984f3e2ed8 :

[url_del_proyecto_bizagi]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)

Dentro del detalle que se consulta inicialmente, nótese que tanto Patient_Triageresults como SelectedHospital, son atributos que vienen como información de tipo Link, y ello significa que estos atributos relacionados usan información enlazada.

 

OData_navigations4

 

Por lo tanto, cuando se consultan casos de este proceso, ya sabemos que el detalle sobre los resultados triage del paciente o el hospital seleccionado, estarán disponibles únicamente a través del recurso navigations.

Tomando como ejemplo el caso con ID = 352, entonces obtenemos el detalle para ese caso, excepto para aquellos que son de tipo enlace -Link y que necesitan de una invocación adicional (los que no se enseñanan abajo):

[url_del_proyecto_bizagi]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)/cases(352)

 

OData_navigations8

 

 

Para confirmar cuales son aquellos atributos que necesitan de navegación posterior, se puede invocar

[url_del_proyecto_bizagi]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)/cases(352)/navigations y enseña esos 2 atributos (Patient_Triageresults y SelectedHospital).

Tal invocación muestra el ID de la información que se puede navegar hacia ella.

En este ejemplo,navegar hacia la información de SelectedHospital significa usar el ID c41d7f0f-2372-41e1-9cc1-da440e201817:

 

OData_navigations6

 

Para obtener los valores finales  esto se hace sencillamente invocando:

[url_del_proyecto_bizagi]/odata/data/processes(6d5e481e-baf5-47da-9e8a-4f984f3e2ed8)/cases(352)/navigations(c41d7f0f-2372-41e1-9cc1-da440e201817)/values:

 

OData_navigations7