Select Page

6.20. Operació

El manteniment actualitzat dels Inventaris s’obté considerant els Instruments com transaccions que els alteren mitjançant Operacions. Per tant l’Operació és la peça bàsica que aporta als Instruments el seu caràcter transaccional i sempre s’efectua entre un Instrument Operador contra el seu Inventari, (dada continguda entre els propis de l’Instrument).

Tots els elements de l’Inventari són susceptibles de ser creats, alterats o suprimits mitjançant Operacions específiques, per tant es classifiquen en funció de l’element al que afecten: d’Instruments, d’Atributs, d’Entitats, de Relacions i d’Assignacions.

Tipus d’Operacions

Operacions entre Versions


Permeten realitzar operacions massives amb una sola operació.

INSERT

Afegix a l’Inventari operat tots els elements continguts en l’Instrument operat. La inserció efectua una còpia dels elements de l’Instrument operador en la versió de l’Inventari operat, mantenint el seu UUID, de manera que des d’aquest moment hi ha dues instàncies de cada element, una vinculada al intrumento operador i altra vinculada a l’Inventari.

Els Atributs, Entitats o Relacions inserits quedaran com fills d’un element pare, dintre del nivell arrel de cada tipus d’element, amb caràcter d’Enunciat en el cas d’Atributs i del grup Carpeta en el cas d’Entitats i Relacions amb el nom d’Inserits “per: “ + [nom i versió de l’Instrument operador].

UPDATE

Afegix el contingut dels Atributs, Entitats i Relacions existents en l’Instrument Operador que tinguin idèntic UUID en l’Instrument operat. Els elements de l’Instrument operador haurien de tenir el mateix Caràcter Funcional en el cas dels Atributs i Grup en el cas de les Entitats i Relacions que les seves corresponents en l’Instrument operat.

REPLACE

Substituïx el contingut dels Atributs, Entitats i Relacions existents en l’Instrument Operador que tinguin idèntic UUID en l’Instrument operat. Els elements de l’Instrument operador haurien de tenir el mateix Caràcter Funcional en el cas dels Atributs i Grup en el cas de les Entitats i Relacions que les seves corresponents en l’Instrument operat.

DELETE (ALL, PARTIAL)

En el cas ALL elimina tots els elements de l’Inventari operat.

En el cas PARTIAL elimina els Atributs, Entitats i Relacions existents en l’Instrument Operador que tinguin idèntic UUID en l’Instrument operat. És una operació CASCADE per tant elimina els elements fills de l’element a eliminar encara que no s’hagin assenyalat en l’operació.

Operacions entre Atributs


INSERT (SIMPLE, CASCADE)

Afegix un nou Atribut a l’Inventari. La inserció efectua una còpia de l’Atribut de l’Instrument operador en la versió de l’Inventari operat, mantenint el UUID de l’Atribut, de manera que des d’aquest moment hi ha dues instàncies d’un mateix Atribut, una vinculada al intrumento operador i altra vinculada a l’Inventari. L’Atribut operador ha de tenir el Caràcter Funcional d’Atribut que definirà la seva funció en l’Inventari destinació.

Contingut addicional:

  • Atribut Operador: identificador de l’Atribut a afegir en l’Inventari operat.
  • Atribut Operat: en aquesta operació identifica a l’Atribut que actuarà com Atribut Pare en l’arbre d’Atributs de l’Inventari operat. Si no s’indica es crea un Atribut de caràcter Enunciat al final de l’arbre d’Atributs de l’Inventari operat amb el nom d’Aportats “per +…” +[nom de l’Instrument operador], aquest Enunciat s’assigna com Atribut “pare” a l’Atribut aportat i es recalcula l’ordre corresponent a la seva nova ubicació perquè quedi com l’últim Atribut “fill”.
  • Posició: posició en la qual ha de quedar el nou Atribut entre els seus Atributs “germans”. Suposa una renumeración dels ja existents. Si no s’indica passarà a ser l’últim
  • Abast: té dues opcions
    • Simple – quan l’operació afecta únicament a l’Atribut aportat.
    • Cascada – quan també afecta a tots els Atributs fills de l’Atribut operador.
  • Restriccions: si els Atributs aportats apunten a Atributs amb caràcter funcional d’Unitat “”, “Referència” , “Règim” que no existeixin prèviament en l’Inventari i no s’hagin aportat explícitament, aquests també s’aportaran com Atributs “fills” de l’aportat, de manera que l’Inventari mantingui la integritat referencial entre els seus Atributs. L’Atribut Operador ha de contenir les dades mínimes, en cas contrari serà rebutjada la transacció.

UPDATE

Afegix el contingut de l’Atribut operador al contingut de l’Atribut operat en els camps de Nom, Descripció i Dominis, i substituïx el contingut en els altres camps. L’Atribut operador haurà de tenir Caràcter Funcional de “Operation”.

Contingut addicional:

  • Atribut Operador: identificador de l’Atribut en l’Instrument operador.
  • Atribut Operat: identificador de l’Atribut en l’Inventari operat.

Restriccions: l’operació mai afecta al Caràcter Funcional de l’Atribut operat

REPLACE

Substituïx tot el contingut d’un Atribut existent en l’Inventari pel contingut de l’Atribut operador. L’Atribut operador haurà de tenir Caràcter Funcional de “Operation”.

Contingut addicional:

  • Atribut Operador: identificador de l’Atribut en l’Instrument operador
  • Atribut Operat: identificador de l’Atribut en l’Inventari operat.

Restriccions: la Substitució mai pot afectar al Caràcter Funcional de l’Atribut.

DELETE

Elimina l’Atribut afectat per l’operació. L’operació no necessita que estigui indicat l’Atribut Operador, per tant són operacions vinculades directament a la Versió operadora.

Contingut addicional:

  • Atribut Operat: identificador de l’Atribut en l’Inventari operat.

Restriccions, si l’Atribut a eliminar té Atributs fills en l’Inventari operat la transacció es rebutja ja que el sistema no pot establir en quina posició haurien de quedar els Atributs “orfes”. Per a això s’han d’eliminar prèviament els Atributs fills verificant l’ordre correcte de les operacions.

Operacions entre Entitats


INSERT (SIMPLE, CASCADE)

Afegix un nova Entitat a l’Inventari. La inserció efectua una còpia de l’Entitat de l’Instrument operador en la versió de l’Inventari operat, mantenint el UUID de l’Entitat, de manera que des d’aquest moment hi ha dues instàncies d’una mateixa Entitat, una vinculada al intrumento operador i altra vinculada a l’Inventari. L’Entitat operadora ha de pertànyer al Grup d’Entitat que definirà la seva funció en l’Inventari destinació.

Si és de tipus SIMPLE l’operació afecta únicament a l’Entitat aportada

Si és de tipus CASCADE l’operació també afecta a totes les seves Entitats filles en l’Instrument operador.

Contingut addicional:

  • Entitat Operadora: identificador de l’Entitat a afegir en l’Inventari operat.
  • Entitat Operada: en aquesta operació identifica l’Entitat que actuarà com Entitat Pare en l’arbre d’Entitats de l’Inventari operat. Si no s’indica es crea una Entitat de “Carpeta” al final de l’arbre d’Entitats de l’Inventari operat amb el nom d’Inserides “per: + %[nom i versió de l’Instrument operador], aquest Grup s’assigna com Entitat “pare” a l’Entitat aportada i es recalcula l’ordre corresponent a la seva nova ubicació perquè quedi com l’última Entitat “filla”.
  • Posició: posició en la qual ha de quedar la nova Entitat entre les seves Entitats “germanes”. Suposa una renumeración de les ja existents. Si no s’indica passarà a ser l’última.

Restriccions: abans de realitzar l’operació cal verificar que tots els Atributs aplicats a l’Entitat ja existeixen en l’Inventari de destinació mitjançant la seva UUID. Si no existeixen en el diccionari d’Atributs de l’Inventari operat, la transacció es rebutjarà. Això exigeix que si els Atributs estan definits pel mateix Instrument han d’haver estat aportats a l’Inventari en operacions prèvies, el que determina que sempre es verificaran primer les operacions d’Atributs, després les d’Entitats i finalment les de Relacions en l’ordre que estigui establert dintre de cada secció. L’Entitat Operadora ha de contenir les dades mínimes, en cas contrari serà rebutjada la transacció.

UPDATE (ADD, SUBTRACT)

Substituïx el contingut de l’Entitat operada pel contingut de l’Entitat operadora. L’Entitat operadora haurà de pertànyer al grup “Operator”.

Si és de tipus ADD aplicarà en l’Entitat operada els Atributs aplicats en l’Entitat operadora que no estiguin ja aplicats en ella amb els seus valors i crearà nous valors per als Atributs de l’Entitat operadora que ja estiguin aplicats prèviament en l’Entitat operada, afegint-los als ja existents. Afegirà a la geometria de l’Entitat operada la geometria de l’Entitat operadora.

Si és de tipus SUBTRACT eliminarà de l’Entitat operada els Atributs aplicats en l’Entitat Operadora i els seus valors. Sostraurà de la geometria de l’Entitat operada la geometria de l’Entitat operadora.

Contingut addicional:

  • Entitat Operadora: identificador de l’Entitat en l’Instrument operador.
  • Entitat Operada: identificador de l’Entitat en l’Inventari operat

Restriccions: l’Operació mai pot afectar al Grup d’Entitat.

REPLACE (ALL, PARTIAL)

Si és de tipus ALL substituïx tot el contingut d’una Entitat existent en l’Inventari pel contingut de l’Entitat operadora, inclosa la seva geometria. L’Entitat operadora haurà de pertànyer al grup “Operator”.

Si és de tipus PARTIAL substituïx el contingut de l’Entitat Operada que que estigui contingut en l’Entitat Operadora.

Contingut addicional:

  • Entitat Operadora: identificador de l’Entitat en l’Instrument operador.
  • Entitat Operada: identificador de l’Entitat en l’Inventari operat.

Restriccions: l’Operació mai pot afectar al Grup d’Entitat.

DELETE

Elimina l’Entitat afectada per l’operació. L’operació no necessita que estigui indicada l’Entitat operadora, per tant són operacions vinculades directament a la Versió operadora.

Contingut addicional

  • Entitat Operada: identificador de l’Entitat a eliminar en l’Inventari.

Restriccions: si l’Entitat té Entitats filles en l’Inventari operat la transacció es rebutja ja que el sistema no pot establir en quina posició haurien de quedar les Entitats “òrfenes”. Per a això s’han d’eliminar prèviament les Entitats filles verificant l’ordre correcte de les operacions.

Operacions entre Relacions


INSERT (SIMPLE, CASCADE)

Afegix una nova Relació a l’Inventari. L’aportació efectua una còpia de la Relació que passa a ser propietat de l’Inventari operat

Afegix un nova Relació a l’Inventari. La inserció efectua una còpia de la Relació de l’Instrument operador en la versió de l’Inventari operat, mantenint el UUID de la Relació, de manera que des d’aquest moment hi ha dues instàncies d’una mateixa Relació, una vinculada al intrumento operador i altra vinculada a l’Inventari. La Relació operadora ha de pertànyer al Grup de Relació que definirà la seva funció en l’Inventari destinació.

Si és de tipus SIMPLE l’operació afecta únicament a la Relació aportada.

Si és de tipus CASCADE l’operació afecta a totes les seves Relacions filles en l’Instrument operador.

Contingut addicional:

  • Relació Operadora: identificador de la Relació a afegir a l’Inventari operat.
  • Relació Operada: en aquesta operació identifica la Relació que actuarà com Relació Pare en l’arbre de Relacions de l’Inventari operat. Si no s’indica es crea una Relació de “Carpeta” al final de l’arbre de Relacions de l’Inventari operat amb el nom d’Aportades “per +…” +[nom de l’Instrument operador], aquest Grup s’assigna com Relació “pare” a la Relació aportada i es recalcula l’ordre corresponent a la seva nova ubicació perquè quedi com l’última Relació “filla”.
  • Posició: posició en la qual ha de quedar la nova Relació entre les seves Relacions “germanes”. Suposa una renumeración de les ja existents. Si no s’indica passarà a ser l’última.A

Restriccions: abans de realitzar l’operació cal verificar que tots els Atributs aplicats a la Relació ja existeixen en l’Inventari de destinació mitjançant la seva UUID. Si no existeixen en el diccionari d’Atributs de l’Inventari operat, la transacció es rebutjarà. Això exigeix que si els Atributs estan definits pel mateix Instrument han d’haver estat aportats a l’Inventari en operacions prèvies, el que determina que sempre es verificaran primer les operacions d’Atributs, després les d’Entitats i finalment les de Relacions en l’ordre que estigui establert dintre de cada secció. La Relació Operadora ha de contenir les dades mínimes, en cas contrari serà rebutjada la transacció.

UPDATE (ADD, SUBTRACT)

Substituïx el contingut de la Relació operada pel contingut de la Relació operadora. La Relació operadora haurà de pertànyer al grup “Operator”.

L’operació no afectarà als elements objecte de la relació.

Si és del tipus ADD aplicarà en la Relació operada els Atributs Aplicats en la Relació operadora que no estiguin ja aplicats en ella amb els seus valors i crearà nous valors per als Atributs de la Relació operadora que ja estiguin Aplicats prèviament en la Relació operada, afegint-los als ja existents. Afegirà a la geometria de la Relació operada la geometria de la Relació operadora.

Si és del tipus SUBTRACT eliminarà de la Relació operada els Atributs Aplicats en la Relació Operadora i els seus valors. Sostraurà de la geometria de la Relació operada la geometria de la Relació operadora.

Contingut addicional:

  • Relació Operadora: identificador de la Relació en l’Instrument operador.
  • Relació Operada: identificador de la Relació en l’Inventari operat.

REPLACE

Substituïx tot el contingut d’una Relació existent en l’Inventari pel contingut de la Relació operadora, inclosa la seva geometria. La Relació operadora haurà de pertànyer al grup “Operator”.

Contingut addicional:

  • Relació Operadora: identificador de la Relació en l’Instrument operador.
  • Relació Operada: identificador de la Relació en l’Inventari operat.

Restriccions: l’Operació mai pot afectar al Grup de Relació ni alos elements afectats per la Relació.

DELETE

Elimina la Relació afectada per l’operació. L’operació no necessita que estigui indicada la Relació operadora, per tant són operacions vinculades directament a la Versió operadora.

Contingut addicional:

  1. Relació Operada: identificador de la Relació a eliminar en l’Inventari

Restriccions: si la Relació té Relacions filles en l’Inventari operat la transacció es rebutja ja que el sistema no pot establir en quina posició haurien de quedar les Relacions “òrfenes”. Per a això s’han d’eliminar prèviament les Relacions filles verificant l’ordre correcte de les operacions.

Operacions entre Assignacions


INSERT SIMPLE

Afegix una nova Assignació a l’Entitat o Relació afectada. La inserció efectua una còpia de l’Assignació de l’Instrument operador en la versió de l’Inventari operat, mantenint el UUID de l’Assignació, de manera que des d’aquest moment hi ha dues instàncies d’una mateixa Assignació, una vinculada al intrumento operador i altra vinculada a l’Inventari.

L’Assignació a inserir utilitza una Entitat o una Relació portadora en l’Instrument operador, Entitat o Relació que haurà de ser del grup Operador i que es rebutja una vegada executada l’Operació.

Contingut addicional:

  • Assignació Operadora: identificador d’Assignació a afegir en l’Entitat o Relació de l’Inventari operat amb tots els seus Valors inclosos.
  • Grup d’Assignació: quan aquesta indicat l’Assignació crea un Grup propi d’Assignació si no existeix prèviament en l’Entitat operada, si ja existeix integra en aquest Grup la nova Assignació.
  • Entitat / Relació Operada: identifica l’Entitat o Relació destinació de l’Atribut Aplicat.

Restriccions: abans de realitzar l’operació cal verificar que tots els Atributs implicats en les Assignacions tenen en el seu Domini d’Assignació el grup de l’Entitat o Relació de destinació. L’Assignació ha de contenir les dades mínimes, en cas contrari serà rebutjada la transacció.

UPDATE (ADD, SUBSTRACT)

Afegix o substituïx els Valors de l’Assignació d’origen a l’Assignació de destinació

Si és de tipus ADD afegirà a l’Assignació Operada els Valors continguts en l’Assignació operadora.

Si és de tipus SUBSTRACT eliminarà de l’Entitat operada les Assignacions amb idèntic UUID als existents en l’Entitat Operadora.

Contingut addicional:

  • Assignació Operadora: identificador de l’Assignació en l’Instrument operador.
  • Assignació Operada: identificador de l’Assignació en l’Inventari operat.
  • Grup d’Assignació: quan aquesta anotat l’Assignació crea un Grup propi d’Assignació si no existeix prèviament en l’Entitat operada. Si l’Assignació Operada ja era membre d’altre Grup la mou al Grup d’Assignació. Si no s’indica l’Assignació Operada es manté en el seu Grup si ho tingués.

Restriccions: l’Operació només es pot efectuar entre Assignacions els Atributs de les quals tinguin la mateixa Manera d’Expressió.

REPLACE (ALL, PARTIAL)

Si és de tipus ALL substituïx tots les Assignacions amb l’Assignació Operadora. El seu efecte és idéntixo al REPLACE ALL entre Entitats.

Si és de tipus PARTIAL substituïx només l’Assignació Operada per l’Operadora

Contingut addicional:

  • Assignació Operadora: identificador de l’Assignació en l’Instrument operador.
  • Assignació Operada: identificador de l’Assignació en l’Inventari operat.
  • Grup d’Assignació: quan aquesta anotat l’Assignació crea un Grup propi d’Assignació si no existeix prèviament en l’Entitat operada. Si l’Assignació Operada ja era membre d’altre Grup la mou al Grup d’Assignació. Si no s’indica l’Assignació Operada es manté en el seu Grup si ho tingués.

Restriccions: l’Operació només es pot efectuar entre Assignacions els Atributs de les quals tinguin la mateixa Manera d’Expressió.

DELETE

Elimina de l’Entitat l’Assignació amb Idèntic UUID que l’Assignació operadora.

Contingut addicional:

  • Assignació Operadora: identificador de l’Assignació en l’Instrument operador.
  • Assignació Operada: identificador de l’Assignació en l’Inventari operat.

Ejecución


Execució Les Operacions són executades pel motor transaccional de uThings en dos entorns:

  • Entorn de proves. En aquest entorn l’operador pot seleccionar una o diverses operacions i executar-les en un entorn que permet visualitzar els seus resultats sense afectar a l’Inventari ni a l’historial dels elements involucrats. L’ordre d’execució produïx un informe de resultats que indica les operacions efectuades amb èxit o els problemes i restriccions que han impedit la seva execució. Com es va indicar prèviament l’ordre de precedencia que s’executaran les operacions determina l’èxit del resultat final quan l’Instrument operador defineix vàries, atès que en ocasions els resultats poden no ser coherents si no s’executen en un ordre determinat. Per tant l’entorn de Proves és molt important en dos moments,a) en temps d’edició, de manera que el redactor de l’instrument pugui visualitzar en línia el resultat de les seves propostes sobre l’Inventari i b) en temps de tramitació, de manera que el tècnic encarregat de la seva revisió pugui verificar que el resultat s’ajusta als requisits tècnics i jurídics que comporti.
  • Entorn real. En aquest entorn l’operador de uThings efectua les operacions contra l’Inventari operat en manera real. De manera que quan aprova el resultat les modificacions seran immediatament visibles en la publicació per Internet de uThings. L’execució de les operacions en aquest entorn real es pot retrotraer en tot moment sempre que s’efectuï una volta enrere ordenada i completa que asseguri el manteniment de la consistència de les dades de l’Inventari. Aquestes operacions de tornada enrere poden quedar consignades en l’historial de cada element. La permanència en uThings de tots els Instruments i les seves operacions assegura que en tot moment és possible la reconstrucció dels Inventaris partint des de la seva posició inicial.

Les Operacions sempre s’executen en l’entorn competencial de cada Àmbit per tant no hi ha possibilitat que operacions executades en un Ambito afectin a Inventaris d’altres Àmbits.