Eccomi qui pronto di nuovo a postare.

L'argomento, che tratterò in una serie di post, è il nuovo Borland Developer Studio 2006, uno
splendido strumento per lo sviluppo Win32 e dotNET.

In questa serie, mi focalizzerò sullo sviluppo dotNET, in particolare una nuovissima e molto promettente tecnologia di nome Enterprise Core Objects ver. III(abbreviato ECOIII).

Essa è basata(per ora) su dotNET 1.1 SP1, poiché BDS 2006 non supporta dotNET 2.0(previsto invece per la prossima versione) e consente di avere un completo motore di persistenza e di gestione di oggetti.

BDS2K6 viene in tre edizioni diverse: Pro, Enterprise, Architect. Ognuna di esse ha un "pezzo" di ECO, tranne la Architect che ha invece *tutto*.

Vediamo come funziona ECO "concettualmente": l'idea è basata sul Model Driven Development, infatti allo scopo BDS2K6 include Together, un tool di modellazione Borland anche per Visual Studio. Esso viene esteso da ECO per supportare la modellazione di classi persistenti, quindi si ha a disposizione un insieme di elementi UML da utilizzare per la pianificazione e la modellazione del sistema-applicazione.

Quando servirà poi definire il sistema di persistenza, ecco che ECO mostra i muscoli: nelle versioni Enterprise ed Architect, infatti, è disponibile un completo framework che consente di avere indipendenza dal sistema database utilizzato(sono supportati tutti i DB attraverso i Borland Data Provider, di cui parlerò più avanti) e consente anche - in caso di cambio al modello - di evolvere il database.

La funzione di evoluzione è anche utile quando si ha un database preesistente e si vuole generare il modello(opzione disponibile), aggiungendo quindi al DB tutti i campi e le robe che servono ad ECO per
funzionare in modo corretto.

Come detto, però, ECO non è solo un motore di persistenza: è infatti disponibile un Object Control Language(OCL) tramite il quale definire, vincoli, constraints, ma anche operazioni(supponendo ad
esempio di voler caricare tutti gli elementi di classe TPersona, lo statement OCL è semplicemente
"TPersona.AllInstances").

Tra i vari metodi di serializzazione disponibili, ovviamente, c'è anche il formato XML, specificatamente SOAP - molto utile se si sviluppano Webservices oppure se si scrivono applicazioni "desktop".

E non è finita qui

Dicevo che avrei parlato dei Borland Data Provider più avanti... beh, spero che la piccola introduzione abbia suscitato un minimo di interesse, quindi ecco una piccola descrizione di cosa sono.

Posto in termini semplici, la tecnologia BDP si appoggia alla "infrastruttura" ADO.NET aggiungendo
però un pò di cose: anzitutto, c'è un sistema di connection pooling built-in(cosa che fa molto
comodo in certi ambiti) e poi... uhm... mi sa che se continuo così, questo post non finisce più ,
quindi vi rimando a questo articolo introduttivo sui BDP.

Ah, ovviamente ECO supporta anche ASP.NET 1.1(versioni ENT e ARCH), quindi potete creare dei "Webservice ECO" i quali sono quindi già "mezzi pronti", basta solo aggiungere il codice.

Si, parlo di codice, infatti ECOIII non è un C.A.S.E.: pur potendo modellare le classi da rendere persistenti, si possono aggiungere delle operazioni(metodi) e codarle "a manina" mentre ECO si occupa di tutto il resto(persistenza, distruzione, ecc).

Sfortunatamente, io dispongo solo della versione PRO, per di più da pochi giorni, quindi sto ancora imparando "bene" come realizzare i modelli e le vere potenzialità della tecnologia.

Una cosa però è degna di menzione: l'edizione Architect, oltre ad una serie di "goodies" in generale(troppa roba per elencarla in un post) contiene una parte di ECO molto interessante: è infatti possibile realizzare delle "ECO State Machines" che consentono di realizzare delle macchine a stati da usare con le classi persistenti. Molto, molto, molto carino .

Per ora finisco qui, spero di tornare presto con un altro post ed un pò di codice per mostrare come nella pratica funziona ECOIII(quindi anche con un pò di codice).

Saluti,

Andrea

powered by IMHO 1.3