jSiter - Piattaforma Java per applicazioni web
-
Modularità
- 'modlet': applicazioni e contenitori
-
Espandibilità
- risorse: gestori di contenuto
-
Interazione client/server
- API via Ajax
- Azioni
-
Persistenza dello stato
- livello request
- livello session
- livello page
- livello user
- livello context
- livello application
- Amministrazione
- interfaccia di tipo RIA
- gestione collaborativa (basata su relazioni tra ruoli)
- configurabilità in XML
- import/export da/su file JAR
- backup/restore da/su file JAR
- Helpers
- Gestori di lista
- Gestore di barra di stato
- Componenti e contenitori UI
- Utilities
- Procedure di log-in,registrazione,recupero dati account
- Interazione tra modlet
-
Amministrazione contenuti
- via web: tabellare e 'sul posto' (modalità 'quick-edit')
- gestione collaborativa (basata su relazioni tra ruoli)
-
Gestione delle lingue
- componenti multilingua
- etichettatura multilingua
- traduzione automatica
-
Navigazione
- 'orizzontale' (tradizionale)
- 'verticale' (iniezione di codice)
- menu, indici e ancore speciali
-
Strutturazione dei contenuti
- linguaggio di marcatura
- contenitori annidabili ('blocchi di codice')
- espansione ricorsiva e iterativa
- namespaces contestuali
- astrazione dal formato
- SEO
- taggabilità
- meta-tag dinamici
- permalink
- Community
- Content Sharing
- RSS
- Sottoscrizione notifiche
- Sistema integrato di messaggistica privata, pubblica (bacheche) e discussione (forum)
L'architettura della piattaforma è finalizzata alla progettazione di interfacce-utente basate su componenti impaginabili e amministrabili per mezzo di efficaci tecniche di gestione dei contenuti (CMS).
jSiter può essere liberamente scaricato, utilizzato e distribuito anche a uso commerciale.
Gli sviluppatori di moduli applicativi ("modlet") e di componentistica ("complet") possono distribuire i loro prodotti, anche in modalità "embedded" cioè integrata con la piattaforma.
Demo
Nell'area demo
sono accessibili alcuni esempi di interfaccia-utente che illustrano potenzialità espressive e funzionali
della piattaforma; gli esempi sono estratti da alcuni modlet ("jSiter contacts" e "jSiter store") che
presto, insieme ad altri, saranno resi disponibili in open-source alla community.
Integrando le potenzialità di Java lato-server con la versalità di jQuery® lato-client, jSiter introduce un nuovo modo di pensare l'interazione tra utente e web e di realizzare Rich Client Application basate su HTML/CSS/JavaScript ma con aspetto e funzionalità tipiche delle applicazioni desktop.
Uno degli effetti più evidenti dell'architettura introdotta da jSiter è la "navigazione verticale" che può essere sperimentata "navigando" i contenuti di questo sito: si osservi come la pagina non venga MAI RICARICATA e come i contenuti prelevati dal server vanno innestandosi uno dentro l'altro senza alcun limite di profondità!
JSiter gestisce la complessità delle applicazioni web con... semplicità, facendo esclusivamente uso delle più diffuse tecnologie e convenzioni per la strutturazione, la presentazione, l'elaborazione e la trasmissione dei dati: HTML/XML, CSS, jQuery/JavaScript (lato client) + Java (lato server), Ajax/JSON.
jSiter è basato su un sottoinsieme delle specifiche JEE: introduce un originale paradigma di CMS (Content Management Sistem) e un nuovo schema architetturale basato su plug-in che favorisce modelli collaborativi di sviluppo e amministrazione; nasconde agli sviluppatori le complessità dei framework Java più diffusi, limitando al massimo la dipendenza da librerie di terze parti.
jSiter implementa il pattern MVC attraverso uno schema di interazione (API) tra le componenti client e le controparti server basato su richieste Ajax e scambio dei dati in formato JSON; il meccanismo garantisce la costruzione di interfacce utente brillanti, stabili e veloci e agevola l'interfacciamento con dispositivi di tipo tablet/smart-phone non solo via web ma anche attraverso applicazioni client per le diverse piattaforme IPhone OS, Android, etc.













L’interazione tra client e server fa uso di un’architettura
basata su API e scambio dati in formato JSON che agevola
la produzione di applicazioni di tipo multi-client, dal web a
dispositivi Android®, iOS®, etc...