Il modello basato sugli oggetti

Il modello basato sugli oggetti

Il modello basato sugli oggetti nasce agli inizi degli anni ’90 grazie all’opera di diversi ricercatori operanti nell’area dei sistemi operativi distribuiti come semplificazione del modello orientato agli oggetti in modo da consentire una rappresentazione a oggetti di applicazioni complesse che siano facilmente realizzabili e distribuibili su reti di grandi dimensioni.

Il modello mette a disposizione i seguenti costrutti di rappresentazione principali:

  • l’oggetto, insieme integrato di dati (che costituiscono il suo stato) e di funzioni (che costituiscono il suo  comportamento) su  di  essi operanti; ogni oggetto è dotato di una propria identità che lo differenzia dagli altri a prescindere dallo stato in cui si trova ed è creato come istanziazione di un modello, detto classe;
  • l’interfaccia, che raggruppa i servizi messi a disposizione da un oggetto e invocabili da altri oggetti; ogni oggetto può possedere una o più interfacce;
  • la connessione tra due oggetti, che costituisce il meccanismo con il quale i servizi forniti dalle interfacce dell’uno (servente) sono usati dall’altro (cliente); una connessione può essere sincrona (bloccante per il cliente) o asincrona (non bloccante), di tipo pull (il cliente chiede l’esecuzione del servizio) o di tipo push (il servente propone attivamente il servizio).

La figura seguente mostra la simbologia comunemente usata per rappresentare i diversi costrutti.

Il modello basato sugli oggetti
Il modello basato sugli oggetti

Il modello basato sugli oggetti è più povero del modello orientato agli oggetti almeno per i seguenti due motivi:

  • non è presente il concetto di ereditarietà fra classi;
  • non è affermata esplicitamente la corrispondenza fra oggetti del modello e oggetti del mondo reale da

Il primo aspetto è giustificato dalla difficoltà, da parte di molte tecnologie a oggetti distribuiti, di definire e mantenere correttamente e efficientemente le gerarchie di classi di oggetti in un contesto distribuito.

Il secondo aspetto permette al modellista di individuare oggetti corrispondenti a componenti architetturali (processi) che possano essere trattati direttamente da un middleware a oggetti distribuiti, piuttosto che a concetti del mondo reale. Ad esempio, nella precedente figura, l’oggetto “Gestore ordini”, componente del sistema, sostituisce il più generale oggetto “Ordine”, rappresentativo di un concetto della realtà rappresentata.

Il modello basato sugli oggetti salvaguarda la proprietà di incapsulamento, da parte di ogni oggetto, del proprio patrimonio privato di dati e di funzioni. Tale proprietà, presente nei modelli orientati agli oggetti, è assicurata dal costrutto di interfaccia, che è l’unico meccanismo mediante il quale oggetti clienti possono usufruire dei servizi messi a disposizione degli oggetti serventi. La proprietà di incapsulamento del modello permette di affermare che ogni oggetto è:

  • unità di esecuzione: ogni oggetto è dotato delle risorse necessarie (dati e funzioni) necessarie per l’esecuzione dei servizi forniti all’esterno;
  • unità di fallimento: i malfunzionamenti che si verificano nell’esecuzione di un oggetto sono circoscritti all’oggetto stesso e non degradano il funzionamento degli altri oggetti del sistema;
  • unità di attivazione: ogni oggetto costituisce un insieme autoconsistente di dati e funzioni da allocare su un elaboratore;
  • unità di distribuzione: ogni oggetto, nell’ambito di un sistema distribuito, può essere collocato su un nodo diverso della rete, senza che ciò impedisca il funzionamento del sistema;
  • unità di replicazione: ogni oggetto è candidato ad essere replicato, per aumentare la robustezza e l’efficienza del sistema;
  • unità di parallelismo: ogni oggetto può costituire un processo elaborativo autonomo, permettendo così l’elaborazione parallela su una o più macchine;
  • unità di realizzazione: ogni oggetto può essere realizzato in modo indipendente dagli altri, costituendo quindi il pacchetto di lavoro elementare da affidare ad un gruppo di programmatori e sviluppatori.

La Figura seguente mostra, a titolo esemplificativo, lo schema ad oggetti di un sistema per il commercio elettronico (si vada a tal proposito l’articolo Nuovi profitti aziendali: E-commerce e E-business).

Modello basato sugli oggetti di un sistema di commercio elettronico
Modello basato sugli oggetti di un sistema di commercio elettronico

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *