Personalizzazione di DPM > Personalizzazione dei servizi
Personalizzazione dei servizi
È possibile personalizzare i servizi disponibili nei building block di PTC per implementare la logica personalizzata. Ciò comporta la creazione di un nuovo building block che si estende da quello di PTC e la sostituzione del servizio sull'oggetto manager per il nuovo building block. I servizi in un building block possono essere visualizzati nella pagina Servizi dell'oggetto manager per il building block.
Quando si personalizzano i servizi, tenere presente quanto indicato di seguito.
La modifica del codice di servizio può determinare servizi a esecuzione prolungata o che richiedono grandi quantità di calcoli, con una riduzione conseguente delle prestazioni.
Come best practice è consigliabile personalizzare i servizi back-end anziché i servizi correlati all'interfaccia utente.
Personalizzazione di un servizio
Per personalizzare un servizio, attenersi alla procedura descritta di seguito.
1. Determinare quale building block include il servizio che si desidera personalizzare. Questa informazione è facilmente ricavabile dal nome dell'oggetto manager in cui si trova il servizio. Se, ad esempio, il servizio si trova nell'oggetto PTC.StatusImpl.Manager, fa parte del building block PTC.StatusImpl.
2. Creare un nuovo building block che si estende dal building block di PTC contenente il servizio che si desidera personalizzare.
Per creare il nuovo building block, attenersi alla procedura descritta di seguito.
a. Creare un nuovo progetto. Utilizzare un prefisso univoco per il progetto, ad esempio il nome dell'azienda. Il prefisso PTC è riservato alle entità fornite da PTC. In questo esempio, creare un progetto denominato MyCompany.StatusImpl. Per ogni nuovo modello di oggetto, oggetto o altra entità creata per questo building block, aggiungere il nuovo progetto come valore di Progetto nella pagina Informazioni generali dell'entità.
b. Creare un modello di oggetto punto di entrata nel progetto che utilizza il modello di oggetto punto di entrata del building block di PTC come Modello di oggetto di base. In questo esempio, assegnare al nuovo modello di oggetto il nome MyCompany.StatusImpl.EntryPoint_TT e utilizzare PTC.StatusImpl.EntryPoint_TT come Modello di oggetto di base.
c. Creare un nuovo oggetto nel progetto che utilizza il modello di oggetto creato al passo 2.b come Modello di oggetto di base. In questo esempio, assegnare al nuovo oggetto il nome MyCompany.StatusImpl.EntryPoint.
d. Creare un nuovo modello di oggetto nel progetto che utilizza il modello di oggetto manager del building block di PTC di estensione come Modello di oggetto di base. In questo esempio, assegnare al nuovo modello di oggetto il nome MyCompany.StatusImpl.Manager_TT e utilizzare PTC.StatusImpl.Manager_TT come Modello di oggetto di base.
e. Creare un nuovo oggetto nel progetto che utilizza il modello di oggetto creato al passo 2.d come Modello di oggetto di base. In questo esempio, assegnare al nuovo oggetto il nome MyCompany.StatusImpl.Manager e utilizzare MyCompany.StatusImpl.Manager_TT come Modello di oggetto di base.
3. Aggiungere eventuali configurazioni dell'oggetto manager del building block dell'interfaccia utente originale all'oggetto manager per il nuovo building block.
a. Passare all'oggetto manager creato al passo 2.e, in questo esempio MyCompany.StatusImpl.Manager.
b. In Configurazione, aggiungere le stesse configurazioni disponibili nella pagina Configurazione per l'oggetto manager del building block originale, in questo esempio PTC.StatusImpl.Manager.
4. Registrare l'oggetto manager del nuovo building block come manager da utilizzare al posto di quello del building block di PTC da cui si estende il building block.
a. Passare all'oggetto PTC.Base.Manager.
b. In Configurazione, trovare la tabella di configurazione DefaultGlobalManagerConfiguration.
c. Fare clic su Icona Modifica. per la riga con il valore managerThingName che corrisponde al manager del building block di PTC da cui si estende il building block.
In questo esempio, fare clic su Icona Modifica. per la riga con il valore managerThingName di PTC.StatusImpl.Manager.
d. Nella finestra di modifica impostare il campo manageThingName sul nome dell'oggetto manager per il building block creato al passo 2.e.
e. Fare clic su Imposta per impostare il nuovo valore.
f. Fare clic su Salva per salvare le modifiche apportate all'oggetto PTC.Base.Manager.
5. Sostituire il servizio per implementare la logica personalizzata.
a. Passare al modello di oggetto manager per il building block. In questo esempio, passare al modello di oggetto MyCompany.StatusImpl.Manager_TT.
b. In Servizi, individuare il servizio che si desidera personalizzare e fare clic su Icona Sostituisci. per sostituire il servizio.
c. Nell'editor di script apportare le modifiche al codice necessarie per implementare la logica personalizzata.
d. Fare clic su Fine per salvare le modifiche apportate al servizio.
e. Fare clic su Salva per salvare le modifiche apportate all'oggetto manager.
Personalizzazione di un servizio in un building block dell'interfaccia utente
Se il servizio da sostituire è destinato a un building block dell'interfaccia utente, attenersi alla procedura descritta di seguito.
1. Creare un nuovo building block che si estende dal building block di PTC, in questo esempio il building block PTC.ProductionDashboard.
Per creare il nuovo building block, attenersi alla procedura descritta di seguito.
a. Creare un nuovo progetto. Utilizzare un prefisso univoco per il progetto, ad esempio il nome dell'azienda. Il prefisso PTC è riservato alle entità fornite da PTC. In questo esempio, creare un progetto denominato MyCompany.ProductionDashboard. Per ogni nuovo modello di oggetto, oggetto o altra entità creata per questo building block, aggiungere il nuovo progetto come valore di Progetto nella pagina Informazioni generali dell'entità.
b. Creare un nuovo modello di oggetto nel progetto che utilizza PTC.Base.ComponentEntryPoint_TT come Modello di oggetto di base. In questo esempio, assegnare al nuovo modello di oggetto il nome MyCompany.ProductionDashboard.EntryPoint_TT.
c. Creare un nuovo oggetto nel progetto che utilizza il modello di oggetto creato al passo 1.b come Modello di oggetto di base.
d. Creare un nuovo modello di oggetto nel progetto che utilizza il modello di oggetto manager del building block di PTC di estensione come Modello di oggetto di base. In questo esempio, assegnare al nuovo modello di oggetto il nome MyCompany.ProductionDashboard.Manager_TT e utilizzare PTC.ProductionDashboard.Manager_TT come Modello di oggetto di base.
e. Creare un nuovo oggetto nel progetto che utilizza il modello di oggetto creato al passo 1.d come Modello di oggetto di base. In questo esempio, assegnare al nuovo oggetto il nome MyCompany.ProductionDashboard.Manager e utilizzare MyCompany.ProductionDashboard.Manager_TT come Modello di oggetto di base.
2. Sostituire il servizio per implementare la logica personalizzata.
a. Passare al modello di oggetto manager per il building block. In questo esempio, passare al modello di oggetto MyCompany.ProductionDashboard.Manager_TT.
b. In Servizi, individuare il servizio che si desidera personalizzare e fare clic su Icona Sostituisci. per sostituire il servizio.
c. Nell'editor di script apportare le modifiche al codice necessarie per implementare la logica personalizzata.
d. Fare clic su Fine per salvare le modifiche apportate al servizio.
e. Fare clic su Salva per salvare le modifiche apportate all'oggetto manager.
3. Aggiornare la proprietà manager nel mashup principale per l'interfaccia utente in modo che punti all'oggetto manager del nuovo building block. In questo modo i mashup vengono chiamati dal mashup principale per eseguire i servizi dal nuovo manager anziché dal manager del building block originale.
Il mashup principale è quello che viene caricato quando si seleziona la voce di menu per il building block dal menu di navigazione DPM. Il nome del mashup principale è disponibile nella tabella MenuConfiguration nella pagina Configurazione dell'oggetto manager del building block. Si tratta del valore menuItemMashupName della riga in cui il valore menuName è MasterMenuNavigation. Ad esempio, il mashup principale per il building block del dashboard di produzione è PTC.ProductionDashboard.MainFrame_MU.
a. Passare al mashup principale per il building block dell'interfaccia utente.
b. Duplicare il mashup. Ad esempio, se si duplica il mashup principale per il building block del dashboard di produzione, denominarlo MyCompany.ProductionDashboard.MainFrame_MU. Sostituire il valore di Progetto nella pagina Informazioni generali del mashup con il progetto creato al passo 1.a.
c. Fare clic su Progetta per visualizzare il mashup nel Mashup Builder.
d. In Navigatore selezionare il livello superiore del mashup.
e. In Proprietà, modificare la proprietà manager in modo che punti al manager del nuovo building block creato al passo 1.e.
f. Fare clic su Salva per salvare il mashup.
4. Aggiungere eventuali configurazioni dell'oggetto manager del building block dell'interfaccia utente originale all'oggetto manager per il nuovo building block.
a. Passare all'oggetto manager creato al passo 1.e, in questo esempio MyCompany.ProductionDashboard.Manager.
b. In Configurazione, aggiungere le stesse configurazioni disponibili nella pagina Configurazione per l'oggetto manager del building block originale, in questo esempio PTC.ProductionDashboard.Manager. In particolare, aggiungere le configurazioni dalle tabelle MashupConfiguration e DefaultConfiguration.
5. Modificare la voce di menu dal menu di navigazione DPM per avviare il mashup principale duplicato. Per ulteriori informazioni, vedere Personalizzazione del menu DPM.
6. Assicurarsi che eventuali segnalibri del mashup originale oppure di qualsiasi servizio o di altri mashup che chiamano direttamente il mashup originale siano aggiornati per l'utilizzo del mashup duplicato creato al passo 3.b.
Personalizzazione dei servizi dalle thing shape della logica del modello
Le thing shape della logica del modello PTC di vari building block vengono implementate dai modelli di oggetto nel building block PTC.MfgModel per le entità del modello di impianto (azienda, regione, sito, area, centro di lavorazione e unità di lavorazione). È possibile sostituire i servizi ereditati dalle thing shape della logica del modello PTC in singoli oggetti impianto oppure sostituire il servizio nel modello di oggetto per un tipo di modello di impianto per modificare tale servizio per tutti gli oggetti del tipo di modello di impianto.
Per determinare se un servizio è ereditato da una thing shape della logica del modello, esaminare la pagina Servizi del modello di oggetto fornito in PTC per il tipo di impianto in cui si trova il servizio. La pagina Servizi identifica le entità da cui vengono ereditati i servizi.
Per sostituire un servizio ereditato da una thing shape della logica del modello e utilizzato in un modello di oggetto per un tipo di impianto, attenersi alla procedura descritta di seguito.
1. Creare un nuovo building block che si estende dal building block di PTC, in questo esempio il building block PTC.MfgModel.
Per creare il nuovo building block, attenersi alla procedura descritta di seguito.
a. Creare un nuovo progetto. Utilizzare un prefisso univoco per il progetto, ad esempio il nome dell'azienda. Il prefisso PTC è riservato alle entità fornite da PTC. In questo esempio, creare un progetto denominato MyCompany.MfgModel. Per ogni nuovo modello di oggetto, oggetto o altra entità creata per questo building block, aggiungere il nuovo progetto come valore di Progetto nella pagina Informazioni generali dell'entità.
b. Creare un nuovo modello di oggetto nel progetto che utilizza PTC.Base.ComponentEntryPoint_TT come Modello di oggetto di base. In questo esempio, assegnare al nuovo modello di oggetto il nome MyCompany.MfgModel.EntryPoint_TT.
c. Creare un nuovo oggetto nel progetto che utilizza il modello di oggetto creato al passo 1.b come Modello di oggetto di base.
* 
Se si intende anche personalizzare i servizi disponibili nell'oggetto manager per un building block di PTC, attenersi alle istruzioni per la personalizzazione di tali servizi riportate nelle sezioni precedenti, inclusa la creazione del modello di oggetto manager e dell'oggetto manager per il nuovo building block.
2. Creare un duplicato del modello di oggetto per il quale si desidera sostituire il servizio.
a. Passare al modello di oggetto del modello di impianto originale, in questo esempio PTC.MfgModelDefaultWorkunit_TT.
b. Duplicare il modello di oggetto. In questo esempio, assegnare al modello di oggetto duplicato il nome MyCompany.MfgModelDefaultWorkunit_TT. Sostituire il valore di Progetto nella pagina Informazioni generali del mashup con il progetto creato al passo 1.a.
c. Fare clic su Salva per salvare il modello di oggetto duplicato.
3. Sostituire il servizio per implementare la logica personalizzata.
* 
Sostituire i servizi solo nel modello di oggetto duplicato. Non sostituire o aggiungere servizi ai modelli di oggetto nel building block PTC.MfgModel.
a. Nel modello di oggetto duplicato creato al passo 2.c, in Servizi, individuare il servizio che si desidera personalizzare e fare clic su Icona Sostituisci. per sostituire il servizio. Se l'icona non è presente per il servizio, quest'ultimo non può essere sostituito.
b. Nell'editor di script apportare le modifiche al codice necessarie per implementare la logica personalizzata.
c. Fare clic su Fine per salvare le modifiche apportate al servizio.
d. Fare clic su Salva per salvare le modifiche apportate al modello di oggetto.
4. Aggiornare la configurazione del tipo di modello per utilizzare il nuovo modello di oggetto.
a. Passare all'oggetto PTC.MfgModel.Manager.
b. In Configurazione, nella tabella di configurazione ModelTypeConfiguration, individuare la riga per il tipo di modello di impianto di cui è stato duplicato il modello di oggetto al passo 3, quindi fare clic su Icona Modifica. per modificare la riga.
c. Sostituire il valore di thingTemplate con il modello di oggetto duplicato creato al passo 3, in questo esempio MyCompany.MfgModelDefaultWorkunit_TT.
d. Fare clic su Salva per salvare le modifiche apportate all'oggetto manager.
* 
La procedura precedente modifica il modello di oggetto utilizzato per gli oggetti di un particolare tipo di modello di impianto. Per rendere effettive le modifiche, è necessario ricreare tutti gli oggetti impianto esistenti di quel tipo di modello utilizzando il nuovo modello di oggetto del tipo di modello oppure personalizzare il servizio anche nei singoli oggetti impianto.
PTC consiglia di apportare questo tipo di modifiche del codice al livello del modello di oggetto anziché dei singoli oggetti.
Per sostituire un servizio ereditato da una thing shape della logica del modello per un singolo oggetto impianto, attenersi alla procedura descritta di seguito.
1. Passare all'oggetto impianto.
2. In Servizi, individuare il servizio che si desidera personalizzare e fare clic su Icona Sostituisci. per sostituire il servizio.
3. Nell'editor di script apportare le modifiche al codice necessarie per implementare la logica personalizzata.
4. Fare clic su Fine per salvare le modifiche apportate al servizio.
5. Fare clic su Salva per salvare le modifiche apportate all'oggetto impianto.
È stato utile?