Archive

Archive for the ‘programmazione’ Category

Vi presento Ammentos

settembre 18, 2009 1 commento

ammentos_logo

Se siete programmatori Java e avete a che fare con database, framework di persistenza e gestione dati, vi prego di leggere questo articolo.

Vi assicuro che investire 5 minuti del vostro tempo per leggere queste mie parole sarà una cosa per voi molto utile.

Cos’è Ammentos?

Ammentos è un framework di persistenza Java davvero molto semplice e intuitivo  alternativo ad Hibernate e iBatis  basato su semplici annotazioni, che non necessità di nessun file di configurazione e che risiede tutto in un unico piccolo jar.

Quali sono i vantaggi di Ammentos?

– E’ gratis ed opensource

– Curva di apprendimento davvero bassissima: Si impara realmente in 5 minuti (provate voi stessi a leggere la guida nel sito e ditemi se dopo 5 minuti non siete già in grado di creare un vostro programma utilizzando il framework)

– lightweight: Ammentos è molto leggero, non appesantisce le vostre applicazioni e le performance sono identiche ad utilizzare direttamente le istruzioni sql

– Basato su standard moderni come le annotations

– Nessun file di configurazione: Ammentos non necessita di alcun file di configurazione dove inserire nomi tabelle, campi, query etc

– Nessuna dipendenza esterna: finito l’incubo di andar a ritrovare 200 jar dipendenti dispersi nel globo di internet

Perchè questo spot di Ammentos ? Cosa ci guadagni?

Assolutamente niente!

Il problema piu’ grosso che esiste in internet è la visibilità. Purtroppo validissimi progetti non vengono adottati semplicemente perchè non sono conosciuti.

Nella mia carriera di sviluppatore Java ho provato Hibernate, iBatis e prodotti simili ma li ho sempre trovati troppo caotici, pesanti e inutilmente complessi. Da qualche anno uso Ammentos e visto che mi facilita la vita ve ne parlo da utente contento e ve lo consiglio come un amico consiglia un buon locale o una pizzeria dove si spende poco e si mangia bene.

Facci vedere un pò come funziona ammentos e basta fare pubblicità 🙂

Ok, ok, vi faccio vedere subito un esempio di come funziona ammentos.

Ipotizziamo di voler salvare i dati di una persona (nome e cognome) in una tabella. Una semplicissima anagrafe insomma!

Ecco come apparirà il nostro codice già con le annotazioni di ammentos:

import it.biobytes.ammentos.PersistentEntity;
import it.biobytes.ammentos.PersistentField;

@PersistentEntity(primaryKey="id",sourceDomain="persons")
public class Person {
@PersistentField(automatic=true)
private String id;

@PersistentField
private String name;

@PersistentField
private String surname;

// Codice classico che si scriverebbe anche senza ammentos...
public String getId() {return id;}

public String getName() {return name;}

public void setName(String name) {this.name = name;}

public String getSurname() {return surname;}

public void setSurname(String surname) {this.surname = surname;}
}

Come vedete ci sono giusto due annotazioni in piu’ rispetto a come la scrivereste normalmente! La maggior parte del codice è dato dai metodi get/set (che tra l’altro ammentos non utilizza, che servono semplicemente per fare un model piu’ robusto senza far accedere direttamente alle variabili membro).

Analizziamo il codice pezzo per pezzo:
@PersistentEntity(primaryKey="id",sourceDomain="persons")
public class Person {
Con l’annotazione PersistentEntity si indica che la classe Person è una classe da far persistere. Il campo primaryKey indica qual’è il nome del campo contenente la chiave primaria della tabella mentre il campo sourceDomain indica il nome della tabella nel database.

@PersistentField(automatic=true)
private String id;

Per memorizzare un campo nel database è sufficiente annotatarlo con l’annotazione PersistentField. Questa annotazione ha diversi parametri. Tra questi, il parametro automatic=true indica ad ammentos di gestire lui il valore dell’id e di generarne uno univoco al salvataggio dell’oggetto. In pratica potete dimenticarvi di impazzire dietro sequenze et simila (che comunque per i piu’ smaliziati ammentos supporta)

@PersistentField
private String name;
@PersistentField
private String surname;

Indica gli altri due campi persistenti. Se non viene specificato altrimenti, i nomi dei campi del database per memorizzare tali variabili saranno identici ai nomi delle variabili (facile, no?). Se volete utilizzare nomi diversi basterebbe mettere così:

@PersistentField(fieldName="user_name")
private String name;

Bene, e ora come si salva o si caricano i dati?

per salvare i dati potete dimenticarvi i DAO etc in quanto Ammentos è già di per se un “DAO universale”.

Quindi basta fare semplicemente:

Ammentos.save( istanzaOggettoPersona );

Tutto qui!

Sarà lui stesso ad occuparsi di fare una insert nel database o una update in base allo stato dell’oggetto che state salvando.

Per caricare un record invece è sufficiente fare:

Person p = Ammentos.load( Person.class, "idoggetto" );

E se volete caricare delle persone dato il cognome ad esempio?

SqlQueryFilter filter = new SqlQueryFilter("surname=?");
filter.setString( "rossi");
List<Person> people = Ammentos.load( Person.class, filter );

Tutto qui?

Questo è solo un accenno di ciò che ammentos può fare, siamo appena al suo guscio esterno e già così possiamo vedere come riesca a risolvere le problematiche piu’ comune nella gestione dei dati in modo semplici e elegante ma ci sono ancora talmente tante caratteristiche di cui parlare che ho deciso di dedicare una serie di articoli a questo meraviglioso framework sperando di aiutarlo un pochino ad acquisire visibilità e prendere il posto che si merita.

Spero di avervi fatto cosa gradita a presentervalo

A presto

Daniele

Che fine ha fatto il Visual Editor di eclipse?

agosto 3, 2007 15 commenti

visualeditor.png

Parliamo di programmazione. Eclipse, uno dei migliori e piu’ famosi IDE per java multipiattaforma, ha sempre avuto una mancanza enorme: un editor visuale per disegnare le applicazioni.

Mentre il caro antagonista, NetBeans, possedeva un bellissimo (e utilissimo) editor visuale.

Per coprire tale gap, iniziò un paio di anni fa, in seno ad eclipse, un progetto molto ambizioso di un gui builder indipendente dalla tecnologia utilizzata capace di disegnare finestre con SWING e con SWT. Tale progetto venne chiamato Visual Editor.

La comunità eclipsiana era entusiasta. Finalmente anche loro potevano disegnare e progettare applicazioni con un editor visuale che facilitasse il compito. Leggi tutto…

Risolvere i problemi tra compiz e java

luglio 20, 2007 9 commenti

javacompiz.gif

Leggendo qua e là, ho notato che molte persone hanno dei problemi con le applicazioni java dopo l’installazione di compiz o beryl.

In genere accade che, se si prova ad avviare una applicazione java, quale ad esempio NetBeans (o Mercury Messenger o altri), invece di apparire la bella finestra dell’ambiente di sviluppo, appare una poco attraente finestra grigia.

Si può risolvere il problema? Certo!

Leggi tutto…

Ammentos

luglio 6, 2007 4 commenti

logoammentos.gif

Nella storia dell’uomo ci son sempre state delle invenzioni che hanno cambiato radicalmente tutta la cultura e i modi di fare. Invenzioni che, una volta fatte, non se ne poteva piu’ fare a meno. Pensate al fuoco, alla ruota, al ferro, etc…

Se pur in misura molto inferiore, anche nel campo informatico ci son state parecchie invenzioni che hanno portato uno sconvolgimento nel modo di scrivere codice. Pensate al passaggio dalla programmazione binaria all’uso dei linguaggi di programmazione ad alto livello o al passaggio dalla programmazione procedurale a quella ad oggetti…

Se restringiamo il punto di vista alla programmazione con i database, Ammentos rappresenta di certo una evoluzione radicale nello sviluppo del software.

Togliamo il velo e scopriamo cosa si celi sotto questo nome all’apparenza strano. Leggi tutto…

Categorie:programmazione

NetBeans 6.0 M10 appena sfornato…

luglio 5, 2007 11 commenti

netbeanslogo.gif

Sìore e Sìori è con molto piacere e senza nessuna influenza (nemmeno di un mio collega super patito di NetBeans che mi ha minacciato con un coltello :-)) che vi annuncio l’uscita della nuova milestone del noto ambiente di sviluppo di casa Sun.

Un’altro passo che porta NetBeans verso l’uscita della attesissima versione 6.0 prevista, stando alla roadmap, per fine anno.

Tra le novità di spicco di questa nuova milestone:

  • Nuovo look & feel per il Visual Designer
  • Sincronizzazione tra UML e codice sorgente
  • Miglioramenti al debugger per Ruby
  • Nuovi componenti Ajax
  • Aggiunti nuovi refactoring
  • Miglioramenti nella grafica e nella velocità dell’ambiente

Potete trovare la lista completa dei cambiamenti qui

Se volete scaricare e provare questa nuova release potete farlo da questo link.

Daniele

Categorie:java, programmazione

NetBeans 6.0 M10 appena sfornato…

luglio 5, 2007 11 commenti

netbeanslogo.gif

Sìore e Sìori è con molto piacere e senza nessuna influenza (nemmeno di un mio collega super patito di NetBeans che mi ha minacciato con un coltello :-)) che vi annuncio l’uscita della nuova milestone del noto ambiente di sviluppo di casa Sun.

Un’altro passo che porta NetBeans verso l’uscita della attesissima versione 6.0 prevista, stando alla roadmap, per fine anno.

Tra le novità di spicco di questa nuova milestone:

  • Nuovo look & feel per il Visual Designer
  • Sincronizzazione tra UML e codice sorgente
  • Miglioramenti al debugger per Ruby
  • Nuovi componenti Ajax
  • Aggiunti nuovi refactoring
  • Miglioramenti nella grafica e nella velocità dell’ambiente

Potete trovare la lista completa dei cambiamenti qui

Se volete scaricare e provare questa nuova release potete farlo da questo link.

Daniele

Categorie:java, programmazione