Progetto di un bilanciatore applicativo documentale

Progetto di un bilanciatore applicativo documentale

Marzo 12, 2024 0 Di Ruggero Grando

Il codice di sviluppo del bilanciatore applicativo documentale

Il codice di seguito presente è in linguaggio Python e in tale contesto l’ho usato per simulare il bilanciatore applicativo documentale. In realtà lo sviluppo è stato eseguito in linguaggio Delphi.

Per prima cosa, dovremmo costruire una classe Document che mi permetterà di attribuire chiavi e stream di un documento.

LA CLASSE DOCUMENT

import base64
import PyPDF2
import GlobalIDGenerator

class Document:
    def __init__(self, key, document_stream):
        self.key = key
        self.document_stream = document_stream
        self.documentID = 0
        
    def setDocumentID(self):
        
        docID = GlobalIDGenerator.GlobalIDGenerator('../ProgettoBilanciatore/bilanciatore.db')
       
        documentID = docID.get_next_id()#simulazione di "stacco" di un nuovo documentID al momento del caricamento di un documento    
        docID.close()
        self.documentID = documentID
        return documentID    
    
    
    def read_stream(self):
        return self.document_stream
    
    
    def getSize(self):
        # Calcola la lunghezza in byte della stringa
        size_in_bytes = len(self.document_stream.encode('utf-8'))
        # Converti in kilobytes
        size_in_kb = size_in_bytes / 1024   
        return size_in_kb

Come si può vedere, la classe Document ha due attribuiti presenti all’interno del costruttore, la variabile key che contiene le chiavi del documento importato e la chiave document_stream che contiene il contenuto del file del documento in base64. All’interno di questa classe sono presenti anche il metodo setDocumentID, il metodo read_stream e infine il metodo getSize. Il primo, istanziando la classe GlobalIDGenerator (che vedremo successivamente) attribuisce un id globale di riferimento al documento importato, mentre il secondo è un metodo esposto per la lettura delle stream del documento. L’ultimo si occupa di estrarre in kilobytes la dimensione dello stream del documento.

In sintesi, il documento importato che poi verrà “trattato” dal bilanciatore e inviato agli n nodi dei server middleware (PKBOX) di proprietà del provider (fiduciario esterno) interni alla rete LAN aziendale è un documento che ha un documentID (identificatore univoco) e uno stream (contenuto di un file). Quest’ultimi vengono utilizzati all’interno del bilanciatore per diverse elaborazioni. Tanto per precisare, il “PKBOX” è uno strumento applicativo che invia all’esterno il documento ad un provider di firma certificato appartenente al ormai famoso fiduciario esterno.

Pagina Successiva | Pagina Precedente

No votes yet.
Please wait...

Pagine: 1 2 3 4 5 6 7 8 9 10 11