Delphi Day 2004 Piacenza 9 giugno 2004 InstantObjects

Slides:



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

IMPLEMENTAZIONE TECNOLOGIE:HIBERNATE & JAVA RMI.
© 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
FlowLineXL Flowline XL e' il sistema integrato per la gestione del recruitment tramite web per enti e societa' di selezione Fornito in modalita' ASP (application.
JUG – Ancona Italy AJAX Giovanni Baleani Developer IBS srl.
Syncope: IdM OpenSource Gestione delle identità digitali.
Eclipse un editor per Java ma anche di più di questo Angelo Gargantini.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Corso gratuito di Linux. Linux User Group Mantova
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
OSMit 2009 – 5 e 6 giugno 2009 – Trento QGIS: plugin OpenStreetMap Quando il GIS tradizionale incontra il cloud
Linux Day 2005 Il software libero e le licenze Nicola Soranzo Associazione GOLUG.
H T M L Hyper Text Markup Language L' HTML è un linguaggio di markup usato per la creazione di documenti ipertestuali sotto forma di pagine web.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
07/03/2014Basi di dati II , presentazione1 Basi di dati II Docente: Paolo Atzeni
29/02/2016Basi di dati II , presentazione1 Basi di dati II Docente: Paolo Atzeni
Nome società Prodotti e servizi
Basi di dati - Fondamenti
Facile da usare Un'interfaccia amministrativa completamente rinnovata, iniziare con Drupal è più facile!
Corso per Webmaster base
Vulnerability Assessment
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Lato Server - OMNIS Web Web Services.
Corso di Ingegneria del Web A A
FlowLine Flowline e' il sistema integrato per la gestione del recruitment aziendale tramite web. Fornito in modalita' ASP (application service provider)
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
EasyGraph Dynamic web-based dashboard
Sistemi e Applicazioni per l’Amministrazione Digitale
Generazione di codice dinamico per la realizzazione di catene di servizi componibili Matteo Fazi – matr
FlowLineXL Flowline XL e' il sistema integrato per la gestione del recruitment tramite web per enti e societa' di selezione Fornito in modalita' ASP (application.
Daniela Vasari Mirco Curzi OCP CTS, 15/09/2016
PROGETTO DI RETI DI CALCOLATORI L-S
ORACLE Corso Base Copyright © Maggio 2008 Assi Loris Versione : 1
Analysis framework of distributed thread and malware data-sources
Metriche SE monitoring G.Donvito G.Cuscela INFN Bari
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
Drupal tipi di contenuto
Paradigma MVC Ing. Buttolo Marco.
© Daniele Fontani, Arezzo, 26 Novembre 2016
Tanti motivi per scegliere GNU / Linux
JAPS: una soluzione “Agile”
Scrivere e far di conto da A a Z... e da 0 a 9!
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Risultati del questionario sui servizi middleware aggiuntivi
UML Creato da: Enrico Tarantino Alessandro Vilucchi Roberta Barcella.
FAQ.
Programmazione ad Oggetti per la Fisica
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
La soluzione completa per l’impiantistica industriale
Gli schemi concettuali
mBlock Un modo semplice e innovativo per programmare Arduino
Introduzione alle basi di dati
Progetto di Tecnologie Web 2014/2015 THERMOWEB
OBJECT ORIENTED DATABASE
Basi di dati - Fondamenti
Introduzione alla nuova versione di PowerPoint
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Introduzione alla nuova versione di PowerPoint
Basi di dati II , presentazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Basi di dati II , presentazione
Introduzione alla nuova versione di PowerPoint
Fogli elettronici e videoscrittura
Basi di dati II , presentazione
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Docente: Sabato Bufano
Transcript della presentazione:

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 www.cibisoft.com

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: http://www.ambysoft.com/persistenceLayer.html

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

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

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

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!

Un semplice esempio 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

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

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

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

Presentation Layer: esempio 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

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

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

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!

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!)

InstantObjects: disponibilità Sito ufficiale: http://www.instantobjects.org http://sourceforge.net/projects/instantobjects/ Sorgenti, demos, help CVS Newsgroup italiano e internazionale ospitato da Delphi & Dintorni: news://news.delphiedintorni.it

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

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

Feature requests

Developer list