Componenti di base del framework di elaborazione

Process Framework è basato su un'architettura modulare che consente agli sviluppatori di costruire flussi di lavoro sofisticati tramite i componenti principali. Comprendere questi componenti è essenziale per sfruttare efficacemente il framework.

Processo

Un processo funge da contenitore globale che orchestra l'esecuzione di Passaggi. Definisce il flusso e il routing dei dati tra passaggi, assicurandosi che gli obiettivi del processo vengano raggiunti in modo efficiente. I processi gestiscono input e output, offrendo flessibilità e scalabilità in vari flussi di lavoro.

Funzionalità del processo

  • Con stato: supporta l'esecuzione di query su informazioni come il rilevamento dello stato e la percentuale di completamento, nonché la possibilità di sospendere e riprendere.
  • Riutilizzabile: un processo può essere richiamato all'interno di altri processi, promuovendo la modularità e la riutilizzabilità.
  • Basato su eventi: usa un flusso basato su eventi con listener per instradare i dati a Passaggi e altri processi.
  • Scalabile: usa runtime ben consolidati per la scalabilità e le implementazioni globali.
  • Cloud Event Integrated: incorpora l'evento standard del settore per l'attivazione di un processo o di un passaggio.

Creazione di un processo

Per creare un nuovo processo, aggiungere il pacchetto di processo al progetto e definire un nome per il processo.

Procedi

I passaggi sono i blocchi predefiniti fondamentali all'interno di un processo. Ogni passaggio corrisponde a un'unità di lavoro discreta e incapsula una o più funzioni kernel. I passaggi possono essere creati indipendentemente dall'uso in processi specifici, migliorando la riutilizzabilità. Generano eventi in base al lavoro eseguito, che può attivare i passaggi successivi.

Funzionalità dei passaggi

  • Con stato: facilita le informazioni di rilevamento, ad esempio lo stato e i tag definiti.
  • Riutilizzabile: i passaggi possono essere usati in più processi.
  • Dinamico: i passaggi possono essere creati dinamicamente da un processo in base alle esigenze, a seconda del modello richiesto.
  • Flessibile: offre diversi tipi di passaggi per gli sviluppatori sfruttando funzioni kernel, tra cui solo codice, chiamate API, agenti di intelligenza artificiale e ciclo umano-in-the-loop.
  • Controllabile: i dati di telemetria sono abilitati sia nei passaggi che nei processi.

Definizione di un passaggio

Per creare un passaggio, definire una classe pubblica per denominare il passaggio e aggiungerla a KernelStepBase. All'interno della classe è possibile incorporare una o più funzioni kernel.

Registrare un passaggio in un processo

Dopo aver creato la classe, è necessario registrarla all'interno del processo. Per il primo passaggio del processo, aggiungere isEntryPoint: true in modo che il processo sappia dove iniziare.

Eventi passaggio

I passaggi hanno diversi eventi disponibili, tra cui:

  • OnEvent: attivato quando la classe completa l'esecuzione.
  • OnFunctionResult: attivato quando la funzione kernel definita genera risultati, consentendo l'invio dell'output a uno o più passaggi.
  • SendOutputTo: definisce il passaggio e l'input per l'invio di risultati a un passaggio successivo.

Modello

I modelli standardizzano i flussi di processo comuni, semplificando l'implementazione di operazioni usate di frequente. Promuovono un approccio coerente alla risoluzione di problemi ricorrenti in varie implementazioni, migliorando sia la gestibilità che la leggibilità.

Tipi di criteri

  • Fan In: l'input per il passaggio successivo è supportato da più output dei passaggi precedenti.
  • Fan Out: l'output dei passaggi precedenti viene indirizzato a più passaggi più avanti nel processo.
  • Ciclo: i passaggi continuano a scorrere fino al completamento in base all'input e all'output.
  • Map Reduce: gli output di un passaggio vengono consolidati in una quantità inferiore e indirizzati all'input del passaggio successivo.

Configurazione di un modello

Dopo aver creato la classe per il passaggio e aver eseguito la registrazione all'interno del processo, è possibile definire gli eventi che devono essere inviati downstream ad altri passaggi o impostare le condizioni per il riavvio dei passaggi in base all'output del passaggio.