© 2004 CiBiSoft.com – Carlo Barazzetta Delphi Day 2004 Piacenza 9 giugno 2004 InstantObjects Un Object Persistence Framework Open Source per Delphi 5,6,7.

Slides:



Advertisements
Presentazioni simili
ADA. E-learning e software libero
Advertisements

Presentazione della tesi di laurea di Flavio Casadei Della Chiesa Newsletter: un framework per una redazione web.
Modulo 5 DataBase ACCESS.
Perché.NET di Marco Maraglino don't worry...B-bright !
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Linguaggio R Raffaele Miele Dipartimento di Matematica e Statistica Università degli Studi di Napoli Federico II
Elaborazione di Franco Grivet Chin
TESINA DI INFORMATICA Nome e cognome: Giorgio Zoccoli
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Database MySql.
Commenti C#.
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Crea il tuo sito con Web Matrix e il Web Hosting su ASP.NET
Training Microsoft Visio Marzo, 2006
Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
Strumenti di sviluppo Microsoft Campagna incentivi per Software Assurance Opportunità di vendita.
WebProfessional Web Content Management System
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Serializzazione di oggetti in formato XML nellambito del sistema MOMIS Davide Lenzi Chiar.mo Prof. Sonia Bergamaschi Chiar.mo Prof. Michele.
BASI DI DATI BIOLOGICHE - 3
©Carlo Tasso 1999 Object Oriented Programming Slide 1 OO Analysis Vs. OO Design OOA – Object Oriented Analysis. –Specifica COSA, IN QUALE CONTESTO il sistema.
Dott. Nicola Ciraulo CMS Dott. Nicola Ciraulo
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
OPEN OFFICE e IMPRESS Masucci Antonia Maria.
Un prototipo di strumento per la manipolazione di versioni di schema in ambito eterogeneo Fabio Grandi DEIS - Università di Bologna SVMgr Schema Versioning.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Unalternativa a Microsoft Office OpenOffice Author Kristian Reale Rev by Kristian Reale Liberamente distribuibile secondo i termini della licenza.
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
1 Linux day /11/2003 ADA. Dai requisiti al progetto Come nasce il progetto di una piattaforma e-learning Open Source.
Introduzione ad ASP.net
Architettura Java/J2EE
ADA: una piattaforma per imparare
MetodoEvolus Evolvere nella continuità. Certificazione Windows 7 logo Nuova procedura di setup Certificazione SQL 2008 R1 Consolle di produzione.
Architettura di applicazioni enterprise Michele Aponte - DotNetCampania Team.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Introduzione alla programmazione Object Oriented
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Il PHP e il vostro sito cos'è e come funziona. HTML... Linguaggio formattazione Non interattivo Non dinamico.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... Data Access Layer.
14/06/2008 – Matteo Baglini Mail: Blog:
IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mySQL) come supporto Open Source ad un piccolo progetto di Data Base relazionale,
PORTALE CISCO PROJECT WORK: PORTALE CISCO A cura di: Bellifemine Davide DAlonzo Salvatore Trombino Angelo Zappacosta Luca.
© 2005 Ethea Le novità di InstantObjects 2.0 Per chi già conosce InstantObjects A cura di Nando Dessena
© 2005 Ethea Introduzione a InstantObjects Per chi conosce altri OPF Per chi non conosce altri OPF A cura di Nando Dessena
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Corso di Visual Basic 6.0 OBBIETTIVI
Corso di WebMaster Mercoledì 14 Novembre. Parte I – Introduzione al Corso Lezione 1: Presentazione Descrizione Breve del Corso Semplice Valutazione.
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
EDIFACT Framework Architecture Acceleratore di soluzioni basate su EDIFACT
N4N Platform Architecture PA Inside outlook.
Lezione 1 Panoramica sui paradigmi di programmazione
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
DAmb Sergio Lovrinich 28 Settembre Descrizione Questo Software si propone di eseguire una Analisi del Codice Sorgente, mettendo a disposizione Strumenti.
Pagine ASP parte 3 I data base Stefano Schacherl.
IV D Mercurio DB Lezione 2
Software Libero e Open Source. Open Source Open Source è un termine inglese che significa sorgente aperto, e indica un programma per computer (software)
Real World data access layers DataSet vs. Custom entities Pierre Greborio Software Architect – PEWay SrL Microsoft MVP – Solutions Architect.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
CMS per la scuola con JOOMLA
0 Laboratorio Informatica - SAS – Anno Accademico LIUC Alcune indicazioni Dettaglio lezioni: Prima : Michele Gnecchi – Introduzione a SAS Guide.
Architetture software
PROGETTO GIS Autocad Map 3D 2013 Tipi di dati gestibili e connessione ai dati Lezione 2 Università degli Studi di Napoli Federico II DIPARTIMENTO DI ARCHITETTURA.
Elementi di statistica con R e i database Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 19 Aprile 2012 Lezione 4.
Delphi Day 2004 Piacenza 9 giugno 2004 InstantObjects
Transcript della presentazione:

© 2004 CiBiSoft.com – Carlo Barazzetta Delphi Day 2004 Piacenza 9 giugno 2004 InstantObjects Un Object Persistence Framework Open Source per Delphi 5,6,7 pro e Kylix 3 presentato da Carlo Barazzetta

© 2004 CiBiSoft.com – Carlo Barazzetta La mappatura object/relational Per ridurre le distanze tra il modello OO e il modello relazionale Per memorizzare oggetti in strutture relazionali (tabelle/record) Per sviluppare applicazioni OO senza database ad oggetti Questo meccanismo di mappatura è contenuto in un OPF (Object Persistence Framework) Rif:

© 2004 CiBiSoft.com – Carlo Barazzetta Cosa è un O.P.F. Un layer software che consente la persistenza degli oggetti del modello su vari mezzi di storage (database SQL o file oriented, file XML...). Il sistema di mappatuta O/R è una parte dell'OPF. Che scopo ha un OPF Disaccoppia le classi del modello dal modo in cui verranno salvate le istanze rendendo il meccanismo di persistenza trasparente al programmatore

© 2004 CiBiSoft.com – Carlo Barazzetta Vantaggi di un OPF Indipendenza dal motore e dalla struttura del database Il codice non vi fa mai riferimento esplicitamente Possibilità di sfruttare la metodologia OO In particolare l'incapsulamento e l'ereditarietà Significativa riduzione delle ridondanze nel codice Rispetto ad un approccio tradizionale basato su DataSet Maggior riutilizzo del codice

© 2004 CiBiSoft.com – Carlo Barazzetta Svantaggi di un OPF Curva di apprendimento più ripida Specie per chi ha esperienza con l'approccio tradizionale Delphi di accesso ai dati. Necessità di maggiori skill per i programmatori Minor sfruttamento delle caratteristiche dei server database Programmazione lato server, locking, transazioni... Prestazioni generalmente inferiori Rispetto ad applicazioni C/S o 3 tier ben architettate

© 2004 CiBiSoft.com – Carlo Barazzetta InstantObjects: Storia Background Una (sfortunata) storia come prodotto commerciale Creato in Danimarca da Seleqt Difficoltà ad avere il support adeguato Progetto Open-Source Rilasciato sotto licenza MPL L'interesse è cresciuto grazie alla disponibilità dei sorgenti. Una solida base di utenti/sviluppatori...compresi noi di Delphi & Dintorni!

© 2004 CiBiSoft.com – Carlo Barazzetta Una classe semplicissima (TPhone) Definiamo la classe e le sue proprietà Osserviamo il codice sorgente prodotto (la modifica è bidirezionale) Utilizziamo un broker per creare il database Osserviamo la struttura creata Creiamo una piccola interfaccia utente Aggiungere un oggetto Scaricare gli oggetti dal db Un semplice esempio

© 2004 CiBiSoft.com – Carlo Barazzetta IO: Supporto a design-time Il Model Explorer Class editor Class treeview Database builder Il generatore di codice Struttura delle classi in InstantObjects Esempio di codice generato (occhio ai commenti!) Il file mdr Contiene la mappatura (i commenti) Viene generato a partire dai sorgenti e è incluso nell'exe

© 2004 CiBiSoft.com – Carlo Barazzetta Persistence Layer: classi TInstantObject Classe base per tutti gli oggetti Tip: crearne sempre una propria TInstantAttribute Base per tutti gli attributi oggetti di classi derivate da TInstantAttribute, ed esposti come proprietà da TinstantObject TinstantQuery Accesso ai dati in simil-sql TInstantConnector e i Brokers Un broker isola le specificità di un back-end e/o di una libreria di accesso ai dati

© 2004 CiBiSoft.com – Carlo Barazzetta Presentation Layer: classi TInstantExposer Un dataset con i campi mappati sugli attributi di un oggetto (ObjectClassName e FieldOptions) Può mostrare un solo record/oggetto o un elenco di oggetti (amObject, amContent) Per usare i componenti data-aware Supporta lettura e scrittura Permette il filtraggio lato client (a valle) TInstantSelector Un Exposer con un TInstantQuery interno Per leggere dal DB elenchi di oggetti filtrati Uso di DataSetFields per Master-Details

© 2004 CiBiSoft.com – Carlo Barazzetta Intro Demo: Un Modello più complesso: uso di attributi semplici, Part, Parts, Reference, References Una interfaccia utente più evoluta: Ereditarietà visuale Uso di Selector ed Exposer (amObject e amContent) ComboBox (uso dei field object reference) Controlli di validità: Set(Property), BeforeStore... isValidObject Presentation Layer: esempio

© 2004 CiBiSoft.com – Carlo Barazzetta Esempio: Demo Primer Esempio da studiare bene e provare a modificare prima di iniziare con nuovi progetti. Modello semplice ma completo Ereditarietà e incapsulamento Possibilità di testare i vari brokers Possibilità di provare il linguaggio simil-sql Generatore Random di dati Esportazione in XML del modello dati Versione compatibile con Kylix 3

© 2004 CiBiSoft.com – Carlo Barazzetta Esempio: Sport Club Manager Generazione alternativa sorgenti I.O. e struttura DB. Il problema delle uses circolari: Classi di base e classi applicative Mappatura Viste logiche (solo per broker SQL) Soluzioni efficaci a problemi complessi: Gestione multilingua sui dati

© 2004 CiBiSoft.com – Carlo Barazzetta Perché Scegliere InstantObjects? Punti di forza Molto RAD rispetto alla concorrenza Molto flessibile a livello di programmazione Supporto per i controlli data-aware Disponibilità di diversi Brokers di accesso ai dati Disponibile per Delphi 5,6,7 Pro e Kylix 3 E' completo e funziona!

© 2004 CiBiSoft.com – Carlo Barazzetta Il problema del Porting Struttura del DB rigida Impossibile fare un porting parziale Il problema dell'Id univoco contro le chiavi multiple. Se si è lavorato bene la parte di presentation e le stampe si possono salvare. Le regole di business vanno completamente riscritte (ma si semplificano!)

© 2004 CiBiSoft.com – Carlo Barazzetta InstantObjects: disponibilità Sito ufficiale: Sorgenti, demos, help CVS Newsgroup italiano e internazionale ospitato da Delphi & Dintorni: news://news.delphiedintorni.it

© 2004 CiBiSoft.com – Carlo Barazzetta Conclusioni Un OPF funzionante gratis per Delphi Professional e Kylix! Addio record, è stato bello finché è durato! Un bel passo avanti... per i più coraggiosi!

© 2004 CiBiSoft.com – Carlo Barazzetta La situazione del progetto Open Source Carlo Wolter: Project Manager Rilasciata la versione compatibile con Kylix 3 (compreso il demo Primer) Lavori in corso: miglioramento delle prestazioni Supporto agli attributi Currency Nuovi Brokers (IBO, XML...) Analisi external Parts/References Feature Requests

© 2004 CiBiSoft.com – Carlo Barazzetta Feature requests

© 2004 CiBiSoft.com – Carlo Barazzetta Developer list