Usando llaves de negocio en archivos XML

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Bizagi desde aplicaciones externas > API de Bizagi para aplicaciones externas > Conceptos preliminares para utilizar el API de Bizagi >

Usando llaves de negocio en archivos XML

Introducción

Al utilizar los servicios Web del API de Bizagi (la Capa SOA) desde una aplicación externa, usted querrá usar códigos únicos para que tanto Bizagi como su aplicación externa puedan tener la certeza de referenciar un mismo registro dado.

La unicidad de códigos e información se maneja en Bizagi a través del concepto de llaves de negocio. A través de él, usted podrá relacionar información nueva con un registro existente en Bizagi o actualizar estos valores por medio del API de Bizagi.

 

Es una buena práctica predefinir aquellas llaves de negocio para las entidades de su modelo de datos a las cuales aplique este concepto.

 

BusinessKeys01

 

Para mayor información acerca de la definición de llaves de negocio en las entidades, consulte Llaves de negocio

 

Cómo referenciar registros existentes

Cuando se cuentan con llaves de negocio predefinidas para las entidades (como se recomienda y se enseña en la imagen anterior), usted no necesitará preocuparse si un registro existe o no, y podrá enviar la información dentro del XML para que utilice y quede atado a ese registro en particular si es que ya existe.

Para ello, lo único que debe hacer es asegurarse de incluir todos los atributos que componen la definición de llave de negocio de esa entidad, como elementos en la estructura XML de su modelo de datos.

 

En el siguiente ejemplo, partimos de una entidad Cliente (Customer) que ya tiene una llave de negocio definida conjuntamente como el valor del Tipo de documento y Número de documento (DocumentType + DocumentNumber).

Solamente cuando el cliente no exista, se creará uno nuevo con la información enviada:

 

BusinessKeys03

 

 

Alternativa cuando las entidades no tienen llave de negocio predefinida

Existe una alternativa cuando no hay llave de negocios predefinidas para una entidad (o cuando no se pueden modificar y redefinir en un ambiente de producción): usted puede incluir la cláusula de businessKey como un atributo XML.

La sintaxis para utilizar este atributo es:

<[MiEntidad] businessKey="[MiAtributoLlaveDeNegocio]=[ValorLlaveDeNegocio]">

</[MiEntidad]>

 

Considere:

[MiEntidad]: Es el nombre exacto de la entidad que no tiene una llave de negocio predefinida.

[MiAtributoLlaveDeNegocio]: Es el nombre exacto del atributo que corresponde a la definición de la llave de negocio.

[ValorLlaveDeNegocio]: Contiene el valor que identifica a ese registro de manera única. Tenga presente que deberá ir dentro de comillas si se referencia a un atributo de tipo cadena.

Al tener una definición de llave de negocio compuesta, utilice AND para separar los atributos. Por ejemplo:

businessKey="[MiAtributoLlaveDeNegocio1]=[ValorLlaveDeNegocio1] AND [MiAtributoLlaveDeNegocio2]=[ValorLlaveDeNegocio2]"

 

BusinessKeys04

 

Tenga presente que no se podrá actualizar la información contenida en atributos que hagan parte de la llave de negocio.

 

 

Importante

Usted no debe involucrar ambas definiciones de manera simultánea (la definición en la entidad junto con la cláusula businessKey dentro del XML), y recuerde que predefinir las llave de negocio para las entidades desde Bizagi Studio es la práctica recomendada.

Predefinir llaves de negocio a nivel de entidad le ayuda a trabajar con la información que se controla dentro del negocio como tal (por ejemplo: con código, números seriales, números de identificación, etc), y evitar usar las llaves subrogadas que se utilizan internamente por Bizagi).