11
Come sviluppare un'applicazione con Portofino Giampiero Granatella [email protected]

Portofino per Jug Padova

Embed Size (px)

Citation preview

Come sviluppare un'applicazione con Portofino

Giampiero [email protected]

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

Domande ?