Configurazione della gestione delle identità (IMAN)
Il file di configurazione IMANConfig.xml viene utilizzato per configurare gli attributi di identità e altri attributi di un tipo e un'origine per le origini dei bundle in base ai tipi di dati SIM. Consente al processo TAL di elaborare vari bundle da differenti sistemi di creazione e di assegnare un'identità a singoli oggetti. Gli attributi vengono utilizzati per generare l'ID IMAN. Questa configurazione è obbligatoria. Il file si trova nel percorso INSERVICE_HOME\InS_SW\Config\Applications\DataProcess\Config\Common\Templates\IMANIntegration.
Servigistics InService fornisce l'utilità Configuratore per facilitare il processo di creazione e aggiornamento di questo file di configurazione. Il Configuratore fornisce un'entità TAL contenente la proprietà IMAN per questi aggiornamenti. La proprietà IMAN consente di rinominare o modificare le priorità di caricamento origine. Ciò è possibile nella sezione Origini della proprietà.
Le origini riportate di seguito sono di sola lettura.
È possibile utilizzare l'icona del segno più

per aggiungere altre origini per l'organizzazione. Questa operazione crea una copia dell'origine PTC e aggiunge la nuova origine a
IMANConfig.xml. Esempio:
È possibile modificare la priorità di caricamento origine di un'origine facendo clic sull'icona accanto all'origine, quindi trascinando e rilasciando l'origine nel punto desiderato nell'ordine.
Per rendere le modifiche effettive, è necessario pubblicare tutte le modifiche TAL apportate nel Configuratore e riavviare il server JBoss. Per ulteriori informazioni su questa utilità, consultare Utilizzo dell'utilità Configuratore distribuzione di Servigistics InService in the Guida alla distribuzione di Servigistics InService.
Parte della configurazione IMAN non può essere eseguita nel Configuratore. Nelle sezioni che seguono tale configurazione viene descritta in modo dettagliato.
Configurazione del nome di origine in IMAN
L'elemento PublishInfo.xml del bundle contiene un parametro Bundle-Source che identifica il proprietario del bundle. Se questa proprietà non esiste, il processo TAL utilizza di default la proprietà orgName da Rootobjects dell'origine del bundle. Di seguito è riportato un esempio di proprietà orgName.
Nel file IMANConfig.xml, è necessario definire un Source name e i dettagli sugli attributi aziendali di identificazione per i diversi tipi di dati. Questi attributi possono essere comuni a tutti i tipi di business object oppure differire per ciascun oggetto. Se l'origine non è configurata, è probabile che il processo TAL fallisca.
Utilizzando la configurazione di origine del bundle in genere è possibile trovare un oggetto. Se l'oggetto non viene trovato (perché lo stesso oggetto è già stato caricato da un'origine diversa), è possibile configurare in quali origini effettuare la ricerca. In genere questa situazione si verifica quando due differenti origini dispongono di due differenti insiemi di attributi di identificazione.
Si consideri, ad esempio, uno scenario in cui delle PARTS vengono caricate da un'origine denominata SAP i cui attributi di identificazione sono contrassegnati come orgName e objNumber. Si intende tuttavia ottenere una parte da un'origine differente denominata PTC il cui attributo di identificazione è URI. In questo caso, non è possibile trovare alcuna parte con URI, dal momento che la stessa origine non è disponibile in SAP. Il sistema non crea neppure una nuova parte. Per risolvere il problema, occorre eseguire una ricerca a cascata.
Di seguito è descritto come configurare la ricerca a cascata.
<Source name="com.cat.ncr">
<Type name="PARTS" CascadeSeq="SAP,PTC" >
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
</Source>
Per un determinato Type name, se l'oggetto non viene trovato nel database utilizzando un attribuito di identificazione, la ricerca viene eseguita utilizzando l'attributo di identificazione dell'origine fornita nella sequenza a cascata. È necessario assicurarsi che l'origine menzionata nella sequenza a cascata utilizzi solo quelle proprietà come gli attributi di identificazione (che sono disponibili come identificatori o altri attributi nell'origine corrente); in caso contrario, si verifica un errore.
Il caso precedente è un caso di utilizzo valido se gli IdentifyingAttributes di SAP contengono objNumber e orgName. Se contiene familyCode, si verifica un errore in quanto l'origine PTC non dispone di tale attributo.
Configurazione delle priorità in IMAN
Il Configuratore consente di definire l'origine principale per il contenuto. Definire nel file IMANConfig.xml altre eventuali origini necessarie. In questo caso, creare una copia dell'origine PTC, modificare l'origine name e aggiornare l'SourceID su -1 come indicato di seguito.
<Source SourceID="-1" name="ABC" priority="3">
Ogni origine di bundle viene fornita con una priorità per attivare o disattivare gli aggiornamenti a qualsiasi oggetto. Un'origine con la priorità più alta è autorizzata ad apportare qualsiasi modifica all'oggetto con un'origine avente una priorità uguale o più bassa. Il contrario invece non è consentito. Questo comportamento viene configurato attraverso il file di configurazione IMANConfig.xml durante la definizione di un'origine. Gli attributi di priorità accettano solo valori interi. Un valore più alto indica una priorità più alta. Per poter aggiornare o eliminare un oggetto non di sua proprietà, un'origine deve disporre di una priorità uguale o superiore rispetto all'origine effettivamente proprietaria. In caso contrario, l'operazione viene ignorata.
Ad esempio, una parte denominata PL1 appartiene all'origine ABC. Ogni volta che l'origine PTC tenta di aggiornare la parte, gli aggiornamenti sono consentiti poiché la priorità di PTC è superiore a quella di ABC. Il tentativo da parte di ABC di aggiornare un oggetto di proprietà di PTC non è invece consentito in quanto la priorità di ABC è inferiore a quella di PTC.
Di seguito è riportato un esempio di file di configurazione IMANConfig.xml.
<IMANConfig>
<Source SourceID="4" name="CSV" priority="4">
<Type name="PDFM">
<IdentifyingAttributes>
<Property name="objNumber" primary="true" reference="PDF Code|Document Code"/>
<Property name="orgName" primary="true" reference="$$ORGNAME$$"/>
<Property name="PTC_DD_LANGUAGE" reference="File Name_|Description_"/>
<Property name="SIM.authoringLanguage" reference="$$AUTHORED_DOC_LANGUAGE$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="IEXML">
<IdentifyingAttributes>
<Property name="objNumber" primary="true" reference="XML Code|Document Code"/>
<Property name="orgName" primary="true" reference="$$ORGNAME$$"/>
<Property name="PTC_DD_LANGUAGE" reference="File Name_|Description_"/>
<Property name="SIM.authoringLanguage" reference="$$AUTHORED_DOC_LANGUAGE$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="GRAPHIC">
<IdentifyingAttributes>
<Property name="objNumber" primary="true" reference="GRAPHIC Code|Document Code"/>
<Property name="orgName" primary="true" reference="$$ORGNAME$$"/>
<Property name="PTC_DD_LANGUAGE" reference="File Name_|Description_"/>
<Property name="SIM.authoringLanguage" reference="$$AUTHORED_DOC_LANGUAGE$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="PARTS">
<IdentifyingAttributes>
<Property name="objNumber" reference="Part Code"/>
<Property name="orgName" reference="orgname|$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="PI">
<IdentifyingAttributes>
<Property name="objNumber" reference="concat(Model,'_',SN)"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="BOM">
<IdentifyingAttributes>
<Property name="objNumber" reference="Object Number"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="GROUP">
<IdentifyingAttributes>
<Property name="objNumber" reference="$$Part Code"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type name="IS">
<IdentifyingAttributes>
<Property name="objNumber" reference="Parent Entity Code"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
<Type>
<IdentifyingAttributes>
<Property name="objNumber" reference="Document Code|Assembly Code"/>
<Property name="orgName" reference="$$ORGNAME$$"/>
</IdentifyingAttributes>
<OtherAttributes>
</OtherAttributes>
</Type>
</Source>
<Source SourceID="3" name="FLW" priority="3">
<Type name="PDFM">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="IEXML">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="SYMPTOMS">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type CascadeSeq="SAP" name="PARTS">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type name="IS">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type name="PS">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type name="BOM">
<IdentifyingAttributes>
<Property name="objNumber"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
<Type name="GRAPHIC">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="orgName"/>
<Property name="CADName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="ILLUSTRATION">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="orgName"/>
<Property name="CADName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="EMBEDDEDIMG">
<IdentifyingAttributes>
<Property name="uri"/>
<Property name="PTC_DD_LANGUAGE"/>
<Property name="SIM.authoringLanguage"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="CADName"/>
<Property name="orgName"/>
<Property name="SIM.lastUpdated"/>
<Property name="SIM.lastUpdatedSrc"/>
<Property name="SIM.lastUpdatedMeta"/>
<Property name="checksum"/>
<Property name="collectedDate"/>
</OtherAttributes>
</Type>
<Type name="P2CRELATION">
<IdentifyingAttributes>
<Property name="objNumber"/>
</IdentifyingAttributes>
</Type>
<Type CascadeSeq="CSV" name="GROUP">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
<Type CascadeSeq="CSV" name="PARTSLIST">
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
<Property name="PTC_DD_LANGUAGE_TL"/>
</OtherAttributes>
</Type>
<Type>
<IdentifyingAttributes>
<Property name="uri"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="objNumber" reference="number"/>
<Property name="orgName"/>
</OtherAttributes>
</Type>
</Source>
<Source SourceID="2" name="KIT" priority="2">
<Type>
<IdentifyingAttributes>
<Property name="objNumber"/>
<Property name="orgName"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
</Source>
<Source SourceID="1" name="SAP" priority="1">
<Type>
<IdentifyingAttributes>
<Property name="objNumber" xpath="OBJNUMBER"/>
<Property name="orgName" xpath="ORGNAME"/>
</IdentifyingAttributes>
<OtherAttributes>
<Property name="uri"/>
</OtherAttributes>
</Type>
</Source>
</IMANConfig>