Select Page

Operaciones

O mantemento actualizado dos Inventarios obtense considerando os Instrumentos como transaccións que os alteran mediante Operacións. Por tanto a Operación é a peza básica que achega aos Instrumentos o seu carácter transaccional e sempre se efectúa entre un Instrumento Operador contra o seu Inventario, (dato contido entre os propios do Instrumento).

Todos os elementos do Inventario son susceptibles de ser creados, alterados ou suprimidos mediante Operacións específicas, por tanto clasifícanse en función do elemento ao que afectan: de Instrumentos, de Atributos, de Entidades, de Relacións e de Asignacións.

Tipos de Operacións

Operacións entre Versións


Permiten realizar operacións masivas cunha soa operación.

INSERT

Engade ao Inventario operado todos os elementos contidos no Instrumento operado. A inserción efectúa unha copia dos elementos do Instrumento operador na versión do Inventario operado,  mantendo o seu UUID, de forma que desde ese momento hai dúas instancias de cada elemento, unha vinculada ao intrumento operador e outra vinculada ao Inventario.

Os Atributos, Entidades ou Relacións  inseridos quedarán como fillos dun elemento pai, dentro do nivel raíz de cada tipo de elemento, con carácter de Enunciado no caso de Atributos e do grupo Cartafol no caso de Entidades e Relacións co nome de ?Inseridos por: ? + [nome e versión do Instrumento operador].

UPDATE

Engade o contido dos Atributos, Entidades e Relacións existentes no Instrumento Operador que teñan idéntico UUID no Instrumento operado. Os elementos do Instrumento operador deberán ter o mesmo Carácter Funcional no caso dos Atributos e Grupo no caso das Entidades e Relacións que os seus correspondentes no Instrumento operado.

REPLACE

Substitúe o contido dos Atributos, Entidades e Relacións existentes no Instrumento Operador que teñan idéntico UUID no Instrumento operado. Os elementos do Instrumento operador deberán ter o mesmo Carácter Funcional no caso dos Atributos e Grupo no caso das Entidades e Relacións que os seus correspondentes no Instrumento operado.

DELETE (ALL, PARTIAL)

No caso ALL elimina todos os elementos do Inventario operado.

No caso PARTIAL elimina os Atributos, Entidades e Relacións existentes no Instrumento Operador que teñan idéntico UUID no Instrumento operado. É unha operación CASCADE por tanto elimina os elementos fillos do elemento para eliminar aínda que non se sinalaron na operación.

Operacións entre Atributos


INSERT (SIMPLE, CASCADE)

Engade un novo Atributo ao Inventario. A inserción efectúa unha copia do Atributo do Instrumento operador na versión do Inventario operado,  mantendo o UUID do Atributo, de forma que desde ese momento hai dúas instancias dun mesmo Atributo, unha vinculada ao intrumento operador e outra vinculada ao Inventario. O Atributo operador debe ter o Carácter Funcional de Atributo que definirá a súa función no Inventario destino.

Contido adicional:

  • Atributo Operador: identificador do Atributo para engadir no Inventario operado.
  • Atributo Operado: nesta operación identifica o Atributo que actuará como Atributo Pai na árbore de Atributos do Inventario operado. Se non se indica créase un Atributo de carácter Enunciado ao final da árbore de Atributos do Inventario operado co nome de ”Achegados por” + [nome do Instrumento operador], este Enunciado asígnase como Atributo ?pai? ao Atributo achegado e se recalcula a orde correspondente á súa nova localización para que quede como o último Atributo ”fillo”.
  • Posición: posición na que debe quedar o novo Atributo entre os seus Atributos ”irmáns”. Supón unha renumeración dos xa existentes. Se non se indica pasará a ser o último.
  • Alcance: ten dúas opcións:
    • Simple – cando a operación afecta unicamente o Atributo achegado.
    • Fervenza – cando tamén afecta a todos os Atributos fillos do Atributo operador.
  • Restricións: se os Atributos achegados apuntan a Atributos con carácter funcional de ”Unidade”, ”Referencia” , ”Réxime” que non existan previamente no Inventario e non se achegaron explicitamente, estes tamén se achegarán como Atributos ”fillos” do achegado, de forma que o Inventario manteña a integridade referencial entre os seus Atributos. O Atributo Operador debe conter os datos mínimos, en caso contrario será rexeitada a transacción.

UPDATE

Engade o contido do Atributo operador ao contido do Atributo operado nos campos de Nome, Descrición e Dominios, e substitúe o contido nos demais campos. O Atributo operador deberá ter Carácter Funcional de ”Operation”.

Contido adicional:

  • Atributo Operador: identificador do Atributo no Instrumento operador.
  • Atributo Operado: identificador do Atributo no Inventario operado.

Restricións: a operación nunca afecta o Carácter Funcional do Atributo operado.

REPLACE

Substitúe todo o contido dun Atributo existente no Inventario polo contido do Atributo operador. O Atributo operador deberá ter Carácter Funcional de ”Operation”.

Contido adicional:

  • Atributo Operador: identificador do Atributo no Instrumento operador.
  • Atributo Operado: identificador do Atributo no Inventario operado.

Restricións: a Substitución nunca pode afectar o Carácter Funcional do Atributo.

DELETE

Elimina o Atributo afectado pola operación. A operación non necesita que estea indicado o Atributo Operador, por tanto son operacións vinculadas directamente á Versión operadora.

Contido adicional:

  • Atributo Operado: identificador do Atributo no Inventario operado.

Restricións, se o Atributo para eliminar ten Atributos fillos no Inventario operado a transacción rexéitase xa que o sistema non pode establecer en que posición deberían quedar os Atributos ?orfos?. Para iso débense eliminar previamente os Atributos fillos verificando a orde correcta das operacións.

Operacións entre Entidades


INSERT (SIMPLE, CASCADE)

Engade unha nova Entidade ao Inventario. A inserción efectúa unha copia da Entidade do Instrumento operador na versión do Inventario operado, mantendo o UUID da Entidade, de forma que desde ese momento hai dúas instancias dunha mesma Entidade, unha vinculada ao intrumento operador e outra vinculada ao Inventario. A Entidade operadora debe pertencer ao Grupo de Entidade que definirá a súa función no Inventario destino.

Se é de tipo SIMPLE a operación afecta unicamente á Entidade achegada .

Se é de tipo CASCADE a operación tamén afecta a todas as súas Entidades fillas no Instrumento operador.

Contido adicional:

  • Entidade Operadora: identificador da Entidade para engadir no Inventario operado.
  • Entidade Operada: nesta operación identifica a Entidade que actuará como Entidade Pai na árbore de Entidades do Inventario operado. Se non se indica créase unha Entidade de ”Cartafol” ao final da árbore de Entidades do Inventario operado co nome de ?Inseridas por: + [nome e versión do Instrumento operador], este Grupo asígnase como Entidade ”pai” á Entidade achegada e se recalcula a orde correspondente á súa nova localización para que quede como a última Entidade ”filla”.
  • Posición: posición na que debe quedar a nova Entidade entre as súas Entidades ”irmás”. Supón unha renumeración das xa existentes. Se non se indica pasará a ser a última.

Restricións: antes de realizar a operación é preciso verificar que todos os Atributos aplicados á Entidade xa existen no Inventario de destino mediante o seu UUID. Se non existen no dicionario de Atributos do Inventario operado, a transacción rexeitarase. Iso esixe que se os Atributos están definidos polo mesmo Instrumento deben ser achegados ao Inventario en operacións previas, o que determina que sempre se verificarán primeiro as operacións de Atributos, despois as de Entidades e finalmente as de Relacións na orde que estea establecido dentro de cada sección. A Entidade Operadora debe conter os datos mínimos, en caso contrario será rexeitada a transacción.

UPDATE (ADD, SUBTRACT)

Substitúe o contido da Entidade operada polo contido da Entidade operadora. A Entidade operadora deberá pertencer ao grupo ”Operator”.

Se é de tipo ADD aplicará na Entidade operada os Atributos aplicados na Entidade operadora que non estean xa aplicados nela cos seus valores e creará novos valores para os Atributos da Entidade operadora que xa estean aplicados previamente na Entidade operada, engadíndoos aos xa existentes. Engadirá á xeometría da Entidade operada a xeometría da Entidade operadora.

Se é de tipo SUBTRACT eliminará da Entidade operada os Atributos aplicados na Entidade Operadora e os seus valores. Subtraerá da xeometría da Entidade operada a xeometría da Entidade operadora.

Contido adicional:

  • Entidade Operadora: identificador da Entidade no Instrumento operador.
  • Entidade Operada: identificador da Entidade no Inventario operado.

Restricións: a Operación nunca pode afectar o Grupo de Entidade.

REPLACE (ALL, PARTIAL)

Se é de tipo ALL substitúe todo o contido dunha Entidade existente no Inventario polo contido da Entidade operadora, incluída a súa xeometría. A Entidade operadora deberá pertencer ao grupo ”Operator”.

Se é de tipo PARTIAL substitúe o contido da Entidade Operada que que estea contido na Entidade Operadora.

Contido adicional:

  • Entidade Operadora: identificador da Entidade no Instrumento operador.
  • Entidade Operada: identificador da Entidade no Inventario operado.

Restricións: a Operación nunca pode afectar o Grupo de Entidade.

DELETE

Elimina a Entidade afectada pola operación. A operación non necesita que estea indicada a Entidade operadora, por tanto son operacións vinculadas directamente á Versión operadora.

Contido adicional:

  • Entidade Operada: identificador da Entidade para eliminar no Inventario.

Restricións: se a Entidade ten Entidades fillas no Inventario operado a transacción rexéitase xa que o sistema non pode establecer en que posición deberían quedar as Entidades ?orfas?. Para iso débense eliminar previamente as Entidades fillas verificando a orde correcta das operacións.

Operacións entre Relacións


INSERT (SIMPLE, CASCADE)

Engade unha nova Relación ao Inventario. A achega efectúa unha copia da Relación que pasa a ser propiedade do Inventario operado.

Engade unha nova Relación ao Inventario. A inserción efectúa unha copia da Relación do Instrumento operador na versión do Inventario operado,  mantendo o UUID da Relación, de forma que desde ese momento hai dúas instancias dunha mesma Relación, unha vinculada ao intrumento operador e outra vinculada ao Inventario. A Relación operadora debe pertencer ao Grupo de Relación que definirá a súa función no Inventario destino..

Se é de tipo SIMPLE  a operación afecta unicamente á Relación achegada .

Se é de tipo CASCADE a operación afecta a todas as súas Relacións fillas no Instrumento operador.

Contido adicional:

  • Relación Operadora: identificador da Relación para engadir ao Inventario operado.
  • Relación Operada: nesta operación identifica a Relación que actuará como Relación Pai na árbore de Relacións do Inventario operado. Se non se indica créase unha Relación de ”Cartafol” ao final da árbore de Relacións do Inventario operado co nome de ”Achegadas por” + [nome do Instrumento operador], este Grupo asígnase como Relación ”pai” á Relación achegada e se recalcula a orde correspondente á súa nova localización para que quede como a última Relación ”filla”.
  • Posición: posición na que debe quedar a nova Relación entre as súas Relacións ?irmás?. Supón unha renumeración das xa existentes. Se non se indica pasará a ser a última.A

Restricións: Antes de realizar a operación é preciso verificar que todos os Atributos aplicados á Relación xa existen no Inventario de destino mediante o seu UUID. Se non existen no dicionario de Atributos do Inventario operado, a transacción rexeitarase. Iso esixe que se os Atributos están definidos polo mesmo Instrumento deben ser achegados ao Inventario en operacións previas, o que determina que sempre se verificarán primeiro as operacións de Atributos, despois as de Entidades e finalmente as de Relacións na orde que estea establecido dentro de cada sección. A Relación Operadora debe conter os datos mínimos, en caso contrario será rexeitada a transacción.

UPDATE (ADD, SUBTRACT)

Substitúe o contido da Relación operada polo contido da Relación operadora. A Relación operadora deberá pertencer ao grupo ”Operator”.

A operación non afectará os elementos obxecto da relación.

Se é do tipo ADD aplicará na Relación operada os Atributos Aplicados na Relación operadora que non estean xa aplicados nela cos seus valores e creará novos valores para os Atributos da Relación operadora que xa estean Aplicados previamente na Relación operada, engadíndoos aos xa existentes. Engadirá á xeometría da Relación operada a xeometría da Relación operadora.

Se é do tipo SUBTRACT eliminará da Relación operada os Atributos Aplicados na Relación Operadora e os seus valores. Subtraerá da xeometría da Relación operada a xeometría da Relación operadora.

Contido adicional:

  • Relación Operadora: identificador da Relación no Instrumento operador.
  • Relación Operada: identificador da Relación no Inventario operado.

REPLACE

Substitúe todo o contido dunha Relación existente no Inventario polo contido da Relación operadora, incluída a súa xeometría. A Relación operadora deberá pertencer ao grupo ”Operator”.

Contido adicional:

  • Relación Operadora: identificador da Relación no Instrumento operador.
  • Relación Operada: identificador da Relación no Inventario operado.

Restricións: a Operación nunca pode afectar o Grupo de Relación nin alos elementos afectados pola Relación.

DELETE

Elimina a Relación afectada pola operación. A operación non necesita que estea indicada a Relación operadora, por tanto son operacións vinculadas directamente á Versión operadora.

Contido adicional:

  1. Relación Operada: identificador da Relación para eliminar no Inventario.

Restricións: se a Relación ten Relaciones fillas no Inventario operado a transacción rexéitase xa que o sistema non pode establecer en que posición deberían quedar as Relacións ”orfas”. Para iso débense eliminar previamente Relaciónelas fillas verificando a orde correcta das operacións.

Operacións entre Asignacións


INSERT SIMPLE

Engade unha nova Asignación á Entidade ou Relación afectada. A inserción efectúa unha copia da Asignación do Instrumento operador na versión do Inventario operado, mantendo o UUID da Asignación, de forma que desde ese momento hai dúas instancias dunha mesma Asignación, unha vinculada ao intrumento operador e outra vinculada ao Inventario.

A Asignación para inserir utiliza unha Entidade  ou unha Relación portadora no Instrumento operador, Entidade ou Relación que deberá ser do grupo Operador e que se refuga unha vez executada a Operación.

Contido adicional:

  • Asignación Operadora: identificador de Asignación a engadir na Entidade ou Relación do Inventario operado con todos os seus Valores incluídos.
  • Grupo de Asignación: cando esta indicado a Asignación crea un Grupo propio de Asignación se non existe previamente na Entidade operada, se xa existe integra nese Grupo a nova Asignación.
  • Entidade / Relación Operada: identifica a Entidade ou Relación destino do Atributo Aplicado.

Restricións: antes de realizar a operación é preciso verificar que todos os Atributos implicados nas Asignacións teñen no seu Dominio de Asignación o grupo da Entidade ou Relación de destino. A Asignación debe conter os datos mínimos, en caso contrario será rexeitada a transacción.

UPDATE (ADD, SUBSTRACT)

Engade ou substitúe os Valores da Asignación de orixe á Asignación de destino

Se é de tipo ADD engadirá á Asignación Operada os Valores contidos na Asignación operadora.

Se é de tipo SUBSTRACT eliminará da Entidade operada as Asignacións con idéntico UUID aos existentes na Entidade Operadora.

      Contido adicional:

  • Asignación Operadora: identificador da Asignación no Instrumento operador.
  • Asignación Operada: identificador da Asignación no Inventario operado.
  • Grupo de Asignación: cando esta anotado a Asignación crea un Grupo propio de Asignación se non existe previamente na Entidade operada. Se a Asignación Operada xa era membro doutro Grupo móvea ao Grupo de Asignación. Se non se indica a Asignación Operada mantense no seu Grupo se o tivese.

Restricións: a Operación só se pode efectuar entre Asignacións cuxos Atributos teñan o mesmo Modo de Expresión.

REPLACE (ALL, PARTIAL)

Se é de tipo ALL substitúe todos as Asignacións coa Asignación Operadora. O seu efecto é idéntixo ao REPLACE ALL entre Entidades.

Se é de tipo PARTIAL substitúe só a Asignación Operada pola Operadora

Contido adicional:

  • Asignación Operadora: identificador da Asignación no Instrumento operador.
  • Asignación Operada: identificador da Asignación no Inventario operado.
  • Grupo de Asignación: cando esta anotado a Asignación crea un Grupo propio de Asignación se non existe previamente na Entidade operada. Se a Asignación Operada xa era membro doutro Grupo móvea ao Grupo de Asignación. Se non se indica a Asignación Operada mantense no seu Grupo se o tivese.

Restricións: a Operación só se pode efectuar entre Asignacións cuxos Atributos teñan o mesmo Modo de Expresión.

DELETE

Elimina da Entidade a Asignación con Idéntico UUID que a Asignación operadora.

Contido adicional:

  • Asignación Operadora: identificador da Asignación no Instrumento operador.
  • Asignación Operada: identificador da Asignación no Inventario operado.

Execución


As Operacións son executadas polo motor transaccional de uThings en dúas contornas:

  • Contorna de probas. Nesta contorna o operador pode seleccionar unha ou varias operacións e executalas nunha contorna que permite visualizar os seus resultados sen afectar o Inventario nin ao historial dos elementos involucrados. A orde de execución produce un informe de resultados que indica as operacións efectuadas con éxito ou os problemas e restricións que impediron a súa execución. Como se indicou previamente a orde de precedencia en que se executarán as operacións determina o éxito do resultado final cando o Instrumento operador define varias, dado que en ocasións os resultados poden non ser coherentes se non se executan nunha orde determinada. Por tanto a contorna de Probas é moi importante en dous momentos,a) en tempo de edición,  de forma que o redactor do instrumento poida visualizar en liña o resultado das súas propostas sobre o Inventario e b) en tempo de tramitación, de forma que o técnico encargado da súa revisión poida verificar que o resultado se axusta aos requisitos técnicos e xurídicos que comporte.
  • Contorna real. Nesta contorna o operador de uThings efectúa as operacións contra o Inventario operado en modo real. De forma que cando aproba o resultado as modificacións serán inmediatamente visibles na publicación por Internet de uThings. A execución das operacións nesta contorna real pódese retrotraer en todo momento a condición de que se efectúe unha volta atrás ordenada e completa que asegure o mantemento da consistencia dos datos do Inventario. Estas operacións de volta atrás poden quedar consignadas no historial de cada elemento. A permanencia en uThings de todos os Instrumentos e as súas operacións asegura que en todo momento é posible a reconstrución dos Inventarios partindo desde a súa posición inicial.

As Operacións sempre se executan na contorna competencial de cada Ámbito por tanto non hai posibilidade de que operacións executadas nun Ambito afecten a Inventarios doutros Ámbitos.