| Introduzione a PiXA Server |
|
|
|
| Written by Luca Guerrieri | |||
| Monday, 12 October 2009 21:40 | |||
|
Introduzione Nel 2007 ero dinanzi all’ennesimo progetto che richiedeva una "soluzione AMP" cioè basata su Apache Mysql e Php. Questo acronimo è divenuto ormai parte integrante del "www", infatti, si potrebbe dire che i guelfi (php-omani) ed i ghibellini (asp-omani) si contendono il trono mentre soggetti come i jsp-omani continuano a vivere un po’ ai margini (anche se in una posizione che io personalmente ammiro) del mondo Internet. Questo "insieme di script", così lo definisco, sono stati realizzati per poter mettere insieme tutte le mie esperienze nel mondo PHP, e per far sì da apprenderne altre come l’interfacciamento con tecnologie Xml e con classi utilizzate per criptare i dati senza dimenticare il motore PDF e grafico che correda il PHP di oggi. La logica L’idea fondamentale è quella di avere uno strumento nel web che ci permetta di gestire le sue funzionalità oltrechè d’implementarne altre, senza l’uso di moduli o applicativi ulteriori. Si vorrebbe un sistema che dall’area amministrazione sia completamente configurabile "al volo", realizzando da soli la pagina che si vuole, con immagini, tabelle o semplici testi; inoltre si vorrebbe uno strumento che usato dai professionisti, quest’ultimi non debbano per forza dimostrare di essere dei guru del web. Questa idea è realizzabile grazie al connubio di PHP, Mysql, e non solo perché va di moda, Ajax. Si vorrebbe insomma realizzare un vero Application Server che sia in grado di offrire tutti quei strumenti che permettono di costruire tutto ciò che serve con qualche click e (solo se fosse necessario) qualche riga di codice. Ma tutto ciò non esiste già? Certo penso che esista, io non l’ho trovato, sono infatti tantissimi i “pezzi" di codice ma nessuno è mai unito ad altri in una logica che lo porta a creare uno strumento unico. Caratteristiche PiXAServer è stato realizzato tenendo presente la sicurezza, molti metodi delle classi lavorano in private mode. Il login all’area privata o di amministrazione, avviene attraverso un’applet che permette la sicura identificazione dell’utente in quella sessione non permettendone la sostituzione con meccanismi quali man-in-the-middle. Altra caratteristica fondamentale è quella d’essere fornito di un potente motore di templating il PiXATemplate che permette di realizzare le proprie pagine, sia statiche sia dinamiche, grazie ad un semplice editor rche sarà reperibile all’interno dell’area amministrazione, così come si farebbe con un normale applicativo per base di dati. Concetti All’interno di PiXAServer sono stati implementati due concetti fondamentali: Placeholders&Data e Static&Dynamic. Il primo è utilizzato all'interno del motore di template PiXATemplate per la parte dedicata alla presentazione dei dati, il secondo (Static&Dynamic) interessa anch'esso la creazione di template ma viene usato per generare i dati. Placeholders&Data Quando organizziamo un documento HTML, inseriamo dei tag da prima vuoti e poi valorizzati; questa operazione esprime la nostra volontà d’inserire in un certo punto del documento un contenuto, ad esempio una immagine o una tabella o ancora del testo; l’immissione di un tag vuoto potremmo definirlo un Segnaposto (Placeholder) ove in seguito inseriremo dei contenuti (Dati); proprio su questa logica si sviluppa il concetto di Placeholders&Data. All’interno di modelli o di query possiamo decidere d’inserire un Placeholder che verrà sostituito al momento giusto da un Dato, in questo modo saremo liberi di scrivere modelli generici che conterranno dati provenienti da qualsiasi fonte, ad esempio un file xml, un array, una base di dati. Static&Dynamic I dati visualizzati all’interno di un sito possono essere originati in due modi: Statico o Dinamico; questo perché la loro fonte può essere: un file HTML, all’interno dello stesso file scriviamo i contenuti che vogliamo visualizzare; una base di dati oppure un file xml, un array ecc. Quando parliamo di Static dibbiamo pensare dunque a qualcosa di predefinito ed immutabile, quando parliamo di Dynamic dobbiamo invece pensare a qualcosa che verrà originato da un insieme di operazioni e che il suo valore o contenuto non è scrivibile a priori. Esempio tipico sono le query su una base di dati: Query A : SELECT id FROM nometabella LIMIT 1; In questo caso interroghiamo la base dati utilizzando valori già conosciuti ed invariabili, come ad esempio il nome della tabella. Query B : SELECT * FROM tabella WHERE id=’variabile'; In questo caso interroghiamo la base dati utilizzando valori variabili provenienti da un’altra operazione ( ad esempio l’esecuzione della Query A ), in questo tipo di query non siamo in grado a priori di sapere quale valore assumerà variabile quindi siamo in un ambiente dinamico.
|
|||
| Last Updated on Tuesday, 13 October 2009 14:23 |


