<< Clic para mostrar Tabla de Contenidos >> 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.
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:
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]"
Tenga presente que no se podrá actualizar la información contenida en atributos que hagan parte de la llave de negocio.
Hay dos formas de usar llaves de negocio
•Usandolo como un atributo de un tag: <Applicant businessKey="DocumentNumber = '123456'">
•O usandolo cómo un tag individual: <DocumentNumber>123456</DocumentNumber>
Tenga en cuenta que nunca puede usar ambos al mismo tiempo. |
Importante
Considere estos aspectos cuando utilice este tipo de XMLs:
1. Para entidades de tipo paramétrica, usted no podrá actualizar los registros o crear nuevos navegando a partir de una definición de llaves de negocio.
2. 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).
Last Updated 1/28/2022 3:59:56 PM