OpenOffice.org non è solo la principale suite di applicazioni per l'ufficio completamente libera e basata su open standard (OpenDocument è standard ISO), ma può trasformarsi in una potente piattaforma per applicazioni document-based programmabile via Java.
In questa presentazione esploreremo le potenzialità del connubio fra OpenOffice.org e Java tramite alcuni esempi applicativi. In particolare vedremo la possibilità di eseguire script nei linguaggi basati su JVM come BeanShell e Jython, l'esecuzione remota da applicazioni Java esterne di funzioni di OpenOffice.org lanciato in modalità server, e i diversi punti di aggancio per estendere le funzionalità della suite dall'interno tramite componenti Java custom.
Vedremo infine la nuova applicazione Base presente in OpenOffice.org 2.0 per l'accesso a sorgenti dati JDBC.
OmegaT: vera alternativa libera e gratuita ai CAT commerciali?QabiriaPresentazione di Marco Cevoli al convegno TeTra3, Tecnologie per la traduzione, Forlì, 24 gennaio 2014.
Evoluzione degli strumenti di sviluppo MicrosoftMassimo BonanniBreve storia dell'evoluzione degli strumenti di sviluppo di casa Microsoft. ݺߣs della sessione tenuta alla conferenza Comunicando 2011
Ciclo de Vida de uma ActivityRonildo OliveiraA atividade passa por vários estados durante seu ciclo de vida incluindo onCreate(), onStart(), onResume(), onPause(), onStop() e onDestroy(). A atividade pode ser reaberta pelo usuário ou destruída se o processo precisar de mais memória.
Conoscere Android per poterlo Programmare Flavius-Florin HaraborQueste slide e questo lavoro, danno un'infarinatura di quello che è Android e il mondo che gira intorno a lui.
L'opera comprende i seguenti capitoli:
* Quando nasce Android?
* Dispositivi e Licenza di Distribuzione
* L'architettura del sistema operativo Android
* Perché Dalvik non è una vera Java Virtual Machine?
* Quante releases di Android sono stare rilasciate?
* Cosa ci posso fare con Android?
* Che app trovo di default su Android?
* Market alternativi per Android?
* Android è sicuro come sistema operativo?
* Mi conviene sviluppare una mia applicazione per Android?
* Posso guadagnare con Android?
* Link, Fonti e Note
Android Code Camp 2012 - itaneunetLe slide che abbiamo visto durante l'Android Code Camp 2012 che si è tenuto ad Urbino, presso la sede del corso di laurea in "Informatica Applicata", dell'Università degli Studi di Urbino "Carlo Bo".
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio RadiceIntroduzione al framework Java Spring e Maven per realizzare API REST.
Breve introduzione all'uso di Maven per configurare un progetto SpringBoot e realizzare un server REST.
Disponibile il codice dimostrativo su github (link nelle slide, attenzione alle branch).
Valerio Radice (valix85)
Luglio 2017
OpenOffice.org - Come rendersi indipendenti da MS OfficeNicola CortiSeminario del GULP (Gruppo Utenti Linux Pisa) che presenta la suite OpenOffice.org, mostrando i vari programmi con un particolare focus sulla compatibilità con MS Office
Java sul tuo MacMarcello TeodoriPresentazione sullo stato dell'arte nell'utilizzo e nello sviluppo di Java su Mac OS X effettuata al JUG Milano Meeting #14 del 12 gennaio 2006 presso Mac@Work.
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni BuffaCome poter scegliere un framework da utilizzare in un progetto per una web applications? Durante questo workshop analizzeremo le parti fondamentali di AngularJs e React, in modo da capire pregi e difetti di ognungo dei due principali strumenti di sviluppo.
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEWebinarPro srlEXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
(Fabio Ballor, Francesco Leonetti, Valerio Maggio, Furio Petrossi)
S354 php-5.x-e-my sql-5.xLEN Learning Education NetworkLa novità più significativa nel passaggio alle versioni 5.xx sia di PHP che di MySQL consiste nell'adozione della programmazione Object Oriented.
Rich Internet ApplicationMarcello TeodoriPanoramica sulle varie tecnologie per implementare Rich Internet Application presentata alla Java Conference '06 a Milano.
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...EvolutionBook S.r.l.RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni web!
Consulenza FLEX e RIA, sviluppo.
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele GaggiCordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
WhyMCA12 - Android Tools e la gestione di progetti complessiMarco GasparettoAndroid Tools e la gestione di progetti complessi
Marco Gasparetto
(Superpartes Innovation Campus)
Anatomy of an APS 2 appicationMarcello TeodoriAPS 2 comes with new modern and powerful tools built using ADF to model and deploy cloud native process applications, let’s run through what’s in an app with a simple and fun example, ordering beers for your office.
Refactoring to a SPAMarcello TeodoriAt the origin there was a monolith. Behind a successful startup often lies a single technology application (Java, Rails, etc.) that grows until it hardly scales with the number of customers and likewise its development process as developers increase. A consolidated strategy on the back-end is to progressively slice the monolith into micro-services. A dual solution on the front-end is to gradually extract HTML, CSS and JavaScript code into a Single Page Application, applying some techniques like the ones I've been maturing during my experience in Workshare.
More Related Content
Similar to Sviluppare su OpenOffice.org con Java (20)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio RadiceIntroduzione al framework Java Spring e Maven per realizzare API REST.
Breve introduzione all'uso di Maven per configurare un progetto SpringBoot e realizzare un server REST.
Disponibile il codice dimostrativo su github (link nelle slide, attenzione alle branch).
Valerio Radice (valix85)
Luglio 2017
OpenOffice.org - Come rendersi indipendenti da MS OfficeNicola CortiSeminario del GULP (Gruppo Utenti Linux Pisa) che presenta la suite OpenOffice.org, mostrando i vari programmi con un particolare focus sulla compatibilità con MS Office
Java sul tuo MacMarcello TeodoriPresentazione sullo stato dell'arte nell'utilizzo e nello sviluppo di Java su Mac OS X effettuata al JUG Milano Meeting #14 del 12 gennaio 2006 presso Mac@Work.
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni BuffaCome poter scegliere un framework da utilizzare in un progetto per una web applications? Durante questo workshop analizzeremo le parti fondamentali di AngularJs e React, in modo da capire pregi e difetti di ognungo dei due principali strumenti di sviluppo.
EXELEARNING COME EDITOR DI CONTENUTI PER MOODLEWebinarPro srlEXELEARNING COME EDITOR DI CONTENUTI PER MOODLE
(Fabio Ballor, Francesco Leonetti, Valerio Maggio, Furio Petrossi)
S354 php-5.x-e-my sql-5.xLEN Learning Education NetworkLa novità più significativa nel passaggio alle versioni 5.xx sia di PHP che di MySQL consiste nell'adozione della programmazione Object Oriented.
Rich Internet ApplicationMarcello TeodoriPanoramica sulle varie tecnologie per implementare Rich Internet Application presentata alla Java Conference '06 a Milano.
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...EvolutionBook S.r.l.RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni web!
Consulenza FLEX e RIA, sviluppo.
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele GaggiCordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
WhyMCA12 - Android Tools e la gestione di progetti complessiMarco GasparettoAndroid Tools e la gestione di progetti complessi
Marco Gasparetto
(Superpartes Innovation Campus)
Anatomy of an APS 2 appicationMarcello TeodoriAPS 2 comes with new modern and powerful tools built using ADF to model and deploy cloud native process applications, let’s run through what’s in an app with a simple and fun example, ordering beers for your office.
Refactoring to a SPAMarcello TeodoriAt the origin there was a monolith. Behind a successful startup often lies a single technology application (Java, Rails, etc.) that grows until it hardly scales with the number of customers and likewise its development process as developers increase. A consolidated strategy on the back-end is to progressively slice the monolith into micro-services. A dual solution on the front-end is to gradually extract HTML, CSS and JavaScript code into a Single Page Application, applying some techniques like the ones I've been maturing during my experience in Workshare.
JavaScript Power Tools 2015Marcello Teodori- Marcello Teodori is a senior architect who has worked with Java development for 15 years and is now based in London working for Workshare, a document collaboration company
- He discussed how he transitioned from back-end Java development to becoming a full-stack developer using front-end technologies like JavaScript, jQuery, Backbone and tools like Node.js, NPM, Bower, Grunt, and Yeoman
- He provided an overview of these popular JavaScript tools - Node.js/NPM for package/dependency management, Bower for front-end packages, Grunt for tasks/workflows, and Yeoman for application scaffolding.
Wicket from Designer to DeveloperMarcello TeodoriThe document discusses different template languages and styles that can be used for web applications to define the interface between designers and developers. It covers traditional templating with JSP and JSTL, as well as alternative approaches like Velocity, ERB, and Facelets. The goal is to define an iterative workflow that allows for changes to designs without requiring developers to rewrite templates from scratch each time.
Software Factory in a BoxMarcello TeodoriAre we not lucky enough to enjoy a proper software development process in our team? We can try to improve our working environment with a setup on our local machine of a virtualized "software factory in a box" based on opensource tools (Maven/Redmine/Artifactory/Subversion/Jenkins). Following this approach We'll see how we can experiment on ourselves some integration best practices for these tools and easily introduce them into our company later.
Groovy & GrailsMarcello TeodoriPresentazione introduttiva su Groovy e Grails tratta dal materiale della serie di eventi Into The Groovy del JUG Milano tenuta allo Spring Meeting del 26/06/2010 a Cagliari organizzato da JUG Sardegna http://www.jugsardegna.org/vqwiki/jsp/Wiki?26giugno2010
m2eclipse: integrazione maven2 in eclipse IDEMarcello TeodoriPresentazione "quickie" sull'integrazione fra Maven ed Eclipse offerta dal plugin m2eclipse di Sonatype tenuta al JUG Milano Meeting #29 del 3 luglio 2008: http://www.jugmilano.it/vqwiki/jsp/Wiki?Meeting3Luglio2008&highlight=m2eclipse
JBoss Seam, un framework per Java EE 5Marcello TeodoriPresentazione sul framework Seam di JBoss effettuata alla tappa di Roma della prima edizione di JavaDay '06.
Struttin' on, novità in casa StrutsMarcello TeodoriPresentazione sull'evoluzione di Struts, primo framework web MVC in ambito Java e sul merger con WebWork, effettuata durante la (prima!) tappa di Torino della prima edizione di JavaDay '06.
Un backend per tutte le stagioni con SpringMarcello TeodoriLo Spring Framework viene ancora una volta incontro agli sviluppatori Java semplificandone la vita, questa volta vedremo come implementare facilmente uno strato servizi stateless da rendere disponibile remotamente nei diversi formati fruibili dalle diverse tecnologie client RIA, introducendo i concetti di Exporter e Proxy di Spring Remoting. Tutto questo tramite pura configurazione, via XML o annotation a seconda dei gusti, e con un esempio specifico in Flex con Spring BlazeDS Integration.
Spring e FlexMarcello TeodoriUna panoramica sulle diverse possibilità offerte da Spring per applicazioni RIA realizzate in Flex: Spring sul server per l'implementazione di un backend con serializzazione nativa AMF3 con Spring BlazeDS integration, Spring sul client con Spring ActionScript e Spring come usato dallo streaming server opensource Red5 per la realizzazione di applicazioni video. Presentazione tenuta allo Spring Framework Meeting di Settembre 2009 a Cagliari.
2. AGENDA
introduzione
OpenOffice.org, la suite di programmi per l'ufficio libera con supporto al formato
OpenDocument, standard OASIS ed ora anche ISO
OpenOffice.org come piattaforma di sviluppo e l'OpenOffice.org SDK
Le modalità per programmare su OpenOffice.org in Java
Il nuovo modulo OpenOffice.org Base come frontend JDBC
3. Informazioni sullo speaker
Ingegnere Informatico, appassionato di Java, open source, metodologie e
programmazione in generale, lavora dal 1997 nello sviluppo software,
principalmente in ambito applicazioni distribuite, web e mobile internet.
Dal 2004 collabora all'organizzazione delle attività del Java User Group Milano.
Partecipa alla community open source principalmente contribuendo con
localizzazioni in italiano di applicazioni esistenti e documentazione.
Laddove possibile cerca in tutti i modi di utilizzare il suo Mac,
tranne oggi ad esempio...
4. Informazioni sul Java User Group Milano
nasce il 18 Dicembre 2002 su iniziativa di Filippo Diotalevi
mailing list su Yahoo! Groups con oltre 200 iscritti
meeting con cadenza mensile con presentazioni a cura degli iscritti
eventi speciali
partecipazione del tutto gratuita e libera
il nostro sito web: http://www.jugmilano.it/
facciamo parte della Top 50 dei JUG mondiali
cerchiamo sempre nuovi collaboratori!
5. Sveglia!
Torino 7 Luglio
Cagliari 16 Settembre
Milano 28 Settembre
Pisa 14 Ottobre
Novara 18 Novembre
Palermo 24 Novembre
Roma 2 Dicembre
http://www.javaday.it
6. Cos'è OpenOffice.org?
OpenOffice.org nasce sotto il nome di StarOffice come suite commerciale di
applicazioni per l'ufficio a basso costo e multi-platform alternativa a Microsoft
Office, prodotto dalla ditta tedesca StarDivision.
Nel 1999 la ditta e con essa il prodotto vengono acquisiti da Sun, la quale
successivamente “libera” i sorgenti sotto licenza GPL/LGPL nel progetto
OpenOffice.org, pur mantenendo una propria versione commerciale a bassa
costo con il precedente nome StarOffice, supportata direttamente da Sun stessa
e sottoposta ad un ulteriore controllo di qualità interno.
La versione 2.0 (ottobre 2005) vede una revisione totale della suite e
dell'interfaccia utente, ma soprattutto il supporto ai formati OpenDocument,
evoluzione dei precedenti formati utilizzati dalla suite, basati su XML e
compressione ZIP, sottoposti e quindi ratificati come standard documentale
dall'organizzazione OASIS (maggio 2005) e poi come standard ISO (maggio
2006).
Per ulteriori dettagli: http://it.wikipedia.org/wiki/OpenOffice.org
7. Il formato OpenDocument
riferimenti allo standard
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office
anatomia di un documento in formato OpenDocument
file.od*
|-- content.xml (contenuto del file)
|-- meta.xml (metadata, cioè proprietà)
|-- settings.xml (metadata, cioè proprietà)
|-- styles.xml (stili del documento)
|-- META-INF
| -- manifest.xml (indice contenuto del file)
|-- mimetype
|-- Object N (eventuali oggetti inclusi, replicano la struttura)
|-- Pictures (directory immagini incluse)
|-- Thumbnails (directory miniature)
|-- Scripts (directory macro e form)
...
8. Architettura di OpenOffice.org
Com'è fatto OpenOffice.org? La documentazione ufficiale va subito in dettaglio sui
vari moduli che compongono l'applicazione, ma manca una visione d'insieme.
Questo è uno dei pochi diagrammi disponibili, con riferimento a StarOffice, sono
riconoscibili alcuni moduli e la suddivisione per layer, ma UNO è l'elemento
principale...
9. Cos'è UNO?
UNO (Universal Network Objects) è il component model di OpenOffice.org, o
meglio di URE (Universal Runtime Environment), la piattaforma su cui eseguono
le applicazioni di OpenOffice.org.
10. Caratteristiche di un component UNO
Le specifiche di interface e service vengono definite in IDL (Interface Definition
Language), in modo analogo a quanto avviene in CORBA, del quale UNO
condivide la filosofia di fondo, rappresentandone una versione “non distribuita”
(anche se con il listen mode...).
I component possono essere sviluppati:
in C++, come la maggior parte di OpenOffice.org
in Java, come parte dell'applicazione Base, gli wizard ed i filtri XML
in Python
Oltre ai linguaggi su indicati, il runtime UNO rende disponibile l'accesso esterno ai
component via API in:
OpenOffice.org Basic
DotNet Framework
OLE
11. Come accedo ad un component UNO?
In modo analogo a quanto farei con altri component model, ad es. EJB, CORBA,
COM.
Vediamo i passi in dettaglio:
Inizializzo un ComponentContext
Ne prendo il relativo ServiceManager (analogo ad un naming service)
Chiedo un reference ad un service al ServiceManager associato ad un certo
nome
Ottengo un handle all'interface che mi serve, purché implementata dal
component effettivo, chiedendolo al runtime UNO tramite l'operazione di
queryInterface (analogo del narrowing)
Uso - finalmente - il component a partire da questo handle
12. Quali component UNO posso sviluppare?
componenti custom, dei quali definisco l'interfaccia come interface e service
implementazioni custom di service già definiti
Esempio: la libreria VCL (Visual Component Library) in NeoOffice, un port di
OpenOffice.org per Mac OS X, è implementata su Java invece di X11 in modo
da non richiedere l'avvio di un server X11 che su tale Unix è opzionale
implementazioni aggiuntive di service “enumerabili”
Esempio: i tipi di documento supportati in lettura e scrittura dalle applicazioni in
OpenOffice.org corrispondono a livello di UNO ai diversi component disponibili
che implementino service che includano le interface XImportFilter ed
XExportFilter
13. Quali strumenti?
OpenOffice.org 2.0.2 oppure URE standalone
http://download.openoffice.org/2.0.2/index.html
OpenOffice.org 2.0.2 SDK
http://download.openoffice.org/2.0.2/sdk.htm
contiene l'ottima Developer's Guide, i cui esempi sono in maggior parte in
Java, più gli strumenti command-line per interagire con i file IDL (solo
windows/linux/solaris, ma esistono build non ufficiali per altre piattaforme...)
IDE plugin per NetBeans
http://www.openoffice.org/editorial/ffairmicheal.html
Un progetto della Google Summer Of Code 2005, offre un editor UNOIDL ed
un nuovo tipo di progetto per component Java, ma è incompleto e non è stato
più portato avanti.
IDE plugin per Eclipse
Sempre dalla SOC 2005, attualmente è la scelta migliore, in quanto è un
progetto attivo e molto ben documentato, portato avanti da uno sviluppatore di
una società che sviluppa soluzioni open su OpenOffice.org e ZOPE, Nuxeo.
14. Modalità per programmare su OpenOffice.org in Java
Lavorare direttamente sul formato OpenDocument
Includere OpenOffice.org in una GUI esterna tramite OfficeBean
Scripting Framework
Sviluppo di UNO Component in Java
Connessione remota ad OpenOffice.org in listen mode
15. Lavorare direttamente sul formato OpenDocument
il formato OpenDocument è un archivio in formato ZIP
=> utilizzo le API java.util.zip per accedere
l'alberatura del contenuto permette di identificare facilmente il testo
contenuto del file, metadata, script, form e risorse utilizzate
i formati dei file contenuti sono quelli nativi delle risorse oppure XML
PRO: pure Java, più facilmente “controllabile” in contesti enterprise
CONTRO: difficoltà a gestire in modo applicativo documenti XML
complessi o a crearne ex-novo, più adatta per piccole modifiche a file
esistenti da usare come modello di documento
Esempio: generazione di report tramite sostituzione di placeholder in un
modello, come in eLawOffice http://www.elawoffice.it
16. Modalità per programmare su OpenOffice.org in Java
Lavorare direttamente sul formato OpenDocument
Includere OpenOffice.org in una GUI esterna tramite OfficeBean
Scripting Framework
Sviluppo di UNO Component in Java
Connessione remota ad OpenOffice.org in listen mode
17. OfficeBean
implementato in Java AWT e codice nativo via JNI, non disponibile su Mac
IDE plugin per aprire documenti in NetBeans:
http://blogs.sun.com/roller/page/chuk?entry=second_try_netbeans_module_for
18. Modalità per programmare su OpenOffice.org in Java
Lavorare direttamente sul formato OpenDocument
Includere OpenOffice.org in una GUI esterna tramite OfficeBean
Scripting Framework
Sviluppo di UNO Component in Java
Connessione remota ad OpenOffice.org in listen mode
19. Scripting Framework – linguaggi disponibili
Con la versione 2.0 di OpenOffice.org è possibile utilizzare linguaggi alternativi
per le Macro oltre al Basic.
Le Macro vengono gestite dallo ScriptingFramework, che supporta tutti i linguaggi
corrispondenti ad implementazioni dell'interface XscriptProvider. Al momento
quelle disponibili sono:
JavaScript, sviluppato in Java su Mozilla Rhino
BeanShell
Python, sviluppato in C con collegamento al bridge PyUNO
Java
20. Scripting Framework – funzionalità macro
Per interagire con il resto del sistema, le Macro hanno accesso tramite un context
apposito, lo XScriptContext, a:
Desktop, il frame corrispondente ad OpenOffice.org
Document, il frame che contiene il documento
ComponentContext, il punto di accesso verso altri UNO component
Ciò corrisponde:
variabile XSCRIPTCONTEXT in BeanShell, Python e JavaScript
parametro di tipo XScriptContext per i metodi configurati come macro nel file
parcel-descriptor.xml in Java
21. Scripting Framework – modalità di distribuzione
nella directory $OOO_HOME/share/Scripts/<language_name>
nella directory $OOO_USER/user/Scripts/<language_name>
all'interno dell'archivio di un documento OpenDocument:
<file.ext>/<language_name>
in un pacchetto uno-package
22. Modalità per programmare su OpenOffice.org in Java
Lavorare direttamente sul formato OpenDocument
Includere OpenOffice.org in una GUI esterna tramite OfficeBean
Scripting Framework
Sviluppo di UNO Component in Java
Connessione remota ad OpenOffice.org in listen mode
23. Ciclo di sviluppo di UNO Component in Java
Tramite i tool dell'SDK a partire dal file IDL, contenente definizione
di interfacce e service per il mio component, ottengo gli stub java
che posso implementare e impacchettare.
Specification .idl idlc regmerge
.urd types.rdb
.class javamaker
Implementation .java
Java tools .jar Library
24. Modalità per programmare su OpenOffice.org in Java
Lavorare direttamente sul formato OpenDocument
Includere OpenOffice.org in una GUI esterna tramite OfficeBean
Scripting Framework
Sviluppo di UNO Component in Java
Connessione remota ad OpenOffice.org in listen mode
25. OpenOffice.org come server
Si può possibile accedere ad UNO component anche da remoto, purché
OpenOffice.org, o meglio il runtime URE sottostante, siano avviati in listen mode.
Per il client cambia leggermente la procedura per accedere ad un
component, vediamo i passi:
creo un LocalComponentContext
il suo ServiceManager ha un numero limitato di component disponibili, fra
questi uso UnoResolver sul quale imposto la connection string UNO
da UnoResolver ottengo un reference al ComponentContext remoto del server
procedo come se fossi in locale, a meno che non sia interessato allo stato della
connessione...
Esempi: JOOReports/JOOConverter http://jooreports.sourceforge.net/
libreria Java con webapp per generare report e convertire documenti in PDF
26. UNO Connection URL
Per il server può essere impostata:
da command line:
soffice.[bin|exe] -accept=<uno-connection-url>
nel file di configurazione:
$OOO_HOME/share/registry/data/org/openoffice/Setup.xcu
dove identifico l'URL con lo scheme uno (I), imposto un tipo connessione fra
socket e pipe, indicando rispettivamente host e port di ascolto o name del pipe
(II), metto come protocol urp, unico supportato oltre ad iiop attualmente in beta
(III), infine come ObjectName metto il nome del root object da pubblicare, ad
esempio StarOffice.ServiceManager
27. OpenOffice.org Base
Applicazione analoga a Microsoft Access, permette di creare database personali
tramite wizard, di creare form di inserimento dati e di generare report.
Due modalità di funzionamento:
il database è incluso nel documento e implementato su HSQLDB
frontend per accedere a database esterni, tramite diverse modalità come
SDBC, ODBC, adhoc (ad es. per la rubrica indirizzi di Outlook e Thunderbird),
ma soprattutto JDBC (purché i driver siano disponibili nel classpath del runtime
Java utilizzato, impostabile anche nelle preferenze di OpenOffice.org)
Contiene un editor visuale di relazioni fra tabelle che lo può rendere uno
strumento di progettazione database adatto a casi non particolarmente complessi.
28. Anatomia di un documento OpenDocument Base
Nel caso contenga un database HSQLDB...
file.odb #HSQL database
|-- database #Sun Jun 25 15:31:51 CEST 2006
| |-- backup hsqldb.script_format=0
runtime.gc_interval=0
| |-- database sql.enforce_strict_size=true
| |-- log hsqldb.cache_size_scale=8
| |-- properties readonly=false
| -- script hsqldb.nio_data_file=false
hsqldb.cache_scale=13
|-- META-INF version=1.8.0
| -- manifest.xml hsqldb.default_table_type=cached
|-- mimetype hsqldb.cache_file_scale=1
hsqldb.log_size=10
... modified=yes
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0
posso estrarre i file nella directory database, rinominarli aggiungendo
come prefisso “<nome_database>.” ed ho un normale database HSQLDB!
29. Conclusioni
Cosa è possibile fare? Spazio all'immaginazione...
Per elaborazioni su server semplici meglio lavorare direttamente sul formato
OpenDocument tramite java.util.zip e XML Parser
Per elaborazioni su server complesse, si utilizza il server mode, con particolare
attenzione allo stato del server e della connessione
Per sviluppare applicazioni desktop semplici, aggiungere script ai documenti
Per sviluppare applicazioni desktop complesse o anche creare un'applicazione
nuova nella suite o una custom su URE, utilizzare i component
Il supporto degli IDE deve ancora migliorare e di molto, specie se si vuole stare
al passo con la concorrenza ;)
La documentazione è in evoluzione, specie la separazione fra cosa è solo in
URE e cosa in OpenOffice.org
Domande e (possibilmente) Risposte
30. Riferimenti
Area Developer di OpenOffice.org
http://developer.openoffice.org
Documentazione UNO Development Kit
http://udk.openoffice.org
OpenOffice.org development wiki
http://wiki.services.openoffice.org/wiki/Main_Page
Tutorial sullo sviluppo di un component di OpenOffice.org in Java su Eclipse
http://wiki.services.openoffice.org/wiki/JavaEclipseTuto
SVGImportFilter, con utility per sviluppare Java component sfruttando Java 5
http://www.ipd.uni-karlsruhe.de/~hauma/svg-import/
Domande e (possibilmente) Risposte
Grazie per l'attenzione!