I servizi offerti dal middleware CORBA
Gli Object Services di CORBA sono servizi di sistema predefiniti accessibili tramite interfacce definite in IDL. Essi aumentano e completano le funzionalità dell’ORB.
Tra i numerosi Object Services attualmente individuati negli standard OMG particolarmente importanti sono:
- Life Cycle Service: definisce le operazioni per la creazione, copia, variazione e cancellazione di un oggetto;
- Persistence Service: mette a disposizione un’interfaccia per memorizzare in maniera permanente gli oggetti e offre un livello di trasparenza rispetto all’effettivo meccanismo di archiviazione (database ad oggetti (OODBMS), database relazionali DBMS o più nel dettaglio RDBMS, File System);
- Naming Service; permette il richiamo di oggetti attraverso nomi logici;
- Notification Service: offre sostanzialmente il meccanismo di Publish&Subscribe;
- Transaction Service: mette a disposizione un meccanismo di tipo Two-Phase Commit tra oggetti, garantendo le proprietà ACID.Va chiarito che il Transaction Service di CORBA non è un completo OTM, in quanto non offre garanzie di scalabilità ed alta disponibilità.
- Query Service: mette a disposizione operazioni di query sugli oggetti. Si tratta di fatto di un sovrainsieme del linguaggio SQL, basato sulla specifica di SQL3 e sull’Object Query Language (OQL) dell’Object Database Management Group (ODMG).
- Licensing Service: mette a disposizione operazioni per la misura dell’uso dei componenti, il controllo delle licenze, i meccanismi di addebito per sessione, nodo, etc.;
- Time Service: consente la sincronizzazione dell’ora in ambienti di oggetti distribuiti e fornisce operazioni per la definizione e la gestione di eventi caratterizzati dal tempo;
Il fatto che essi siano standardizzati da OMG non implica che i prodotti disponibili sul mercato effettivamente ne forniscano delle implementazioni. Al contrario attualmente il mercato offre delle implementazioni di ORB, ma la stragrande maggioranza dei Services ancora non viene fornita.