Upload
giampiero-granatella
View
96
Download
0
Embed Size (px)
Citation preview
Perchè abbiamo creato Portofino?
Progetti dal mondo reale
● Non si crea un
progetto dal nulla, ma ci sono db e dati in giro per l'azienda
● Requisiti vaghi è necessari fare prototipi veloci e rapidi
● Alcune attività sono percepite per scontate benché abbiano un costo
Cosa voglio da un framework
● Architettura solida, ma tempi di sviluppo più veloci che le webapp Java
● Che mi tolga le attività comuni (sicurezza, mappatura sul db, pagine CRUD)
● Non essere penalizzato nello scrivere codice personalizzato fuori dal framework
Portofinocreazione di applicativi web partendo da database legacypagine CRUD ricche e multi livello
Funzioanlità CMS, menu autogenerati, editor html wysiwyg, composizione di contenuti
personalizzazione delle pagine con Groovy, che permette modifiche al volo
supporto nativo per la gestione e il versionamento dello schema del db con Liquibase
utilizzo di tecnologie standard quali Hibernate, Stripes, EhCache, Quartz, etc.
gestione dei permessi con Apache Shiro e user management integrabile con qualsiasi soluzione SQL, LDAP/Active Directory, OpenID, ...
e molto molto altro!
Chi usa Portofinopiù di 20,00 Downloads (al 28/2/2015) da 172 paesi nel mondo
Utilizzato in
Pubbliche amministrazione: Regione Emilia Romagna, Regione Liguria, Liguria Digitale, Prefettura di Savona
Università e centri di ricerca: IIT, Università degli studi di Genova
Aziende private: Selex-Elsag, QSA, Celeweb, NIS, Nacon, Softeco, Iso Sistemi
Come iniziare un progetto
Scaricalo!
http://sourceforge.net/projects/portofino
scompatta
esegui il tomcat nel bundle
collegati con un browser (http://localhost:8080) e usa un editor testuale per scrivere le tua applicazioni
...oppure utilizza un IDE (NetBeans, Eclipse, IntelliJ)per scriverle o fare debug
Applicazioni basate sui dati
Hai u n DB g ià fatto a c u i c o l legarti?
utilizza il wizard e lascia che Portofino crei le pagine per conto tuo
Stai c reand o i l tu o DB ?
utilizza liquibase per versionare il Database
...o modifica direttamente un qualsiasi client per il DB e sincronizza Portofino
Dove sta la mia applicazione?
la tua applicazione si trova sotto WEB-INF/
dbs - file liquibase
groovy - classi groovy riutilizzabili in tutte le tue pagine
pages - le pagine della tua applicazione organizzate come le hai progettate
...
Gestione dei permessi
Utilizziamo Apache Shiro per la gestione dei permessi
La definizione di autenticazione e permessi è definita nel file security.groovy (come autenticare un utente, a quali gruppi appartiene),
i permessi sono gestiti poi a livello di singola pagina o di ramo di pagine associando un permesso ad un gruppo.
Come personalizzo la mia applicazione?
Ogni pagina ha uno script groovy associato,
Portofino offre alcuni hooks (e.g. validazioni, valori di default, viste custom)
Crea pagine custom per avere piena libertà (ma con il beneficio di permessi e mappatura delle entità su Hibernate)
G rupp o ing le se:
http://groups.google.com/group/manydesigns-portofino
G rupp o ita l iano:
http://groups.google.com/group/manydesigns-portofino-italian