Indice
JAMP
JAMP software | |
---|---|
Genere | Integrated development environment Content management system |
Sviluppatore | ALYX-Software Innovation |
Ultima versione | BETA 2 (3 marzo 2009) |
Sistema operativo | Multipiattaforma |
Linguaggio | PHP |
Licenza | GPL (licenza libera) |
Sito web | jamp.alyx.it |
In informatica JAMP (acronimo JavaScript AJAX Mysql Php) è un potente e veloce framework distribuito con licenza GNU (General Public License), in esso è racchiuso un completo environment per lo sviluppo di applicazioni Web. Creare applicazioni attraverso JAMP risulta facile al pari dei tradizionali linguaggi di programmazione basati su classiche finestre e in aggiunta offre i vantaggi che l'ambiente Web può riservare.
Caratteristiche
[modifica | modifica wikitesto]- Indipendente dalla piattaforma Software ed Hardware: indipendente dal sistema operativo ma anche dalla architettura Hardware dei dispositivi.
- Portabilità: non sono necessarie installazioni particolari lato client perché risulta sufficiente il browser predefinito del sistema operativo in uso, inoltre tutto il codice risiede fisicamente lato server, facilitando enormemente le operazioni di aggiornamento, correzioni bug ed implementazioni di nuove funzionalità.
- Integrabilità: le applicazioni Web sono spesso facilmente integrabili tra di loro, questo permette di fornire all'utente/cliente soluzioni più complete e facilitando anche le operazioni di manutenzione come ad esempio il backup dei dati.
Nell'acronimo JAMP si fa riferimento a Mysql essendo oggi indubbiamente tra i database server open source quello più importante, in realtà la struttura di JAMP è stata pensata per supportare qualunque tipo di database relazionale, infatti grazie alla programmazione ad oggetti presente nel PHP 5 è stato possibile realizzare delle classi astratte per l'accesso ai database, per ogni tipologia di database verranno poi realizzate delle apposite classi che ereditando ed implementeranno i metodi della classe astratta. Inoltre verranno incluse altre classi per l'accesso ad altre sorgenti di dati come file, LDAP, record, filesystem, ftp, ssh
Il progetto
[modifica | modifica wikitesto]Il progetto JAMP nasce dall'idea di voler realizzare un sistema completo per la creazione di applicazioni Web ovvero applicazioni in grado di gestire dati, creare report, visualizzare grafici. La struttura modulare di JAMP è in grado di permettere future e facili integrazioni senza che esse alterino la sua architettura. In JAMP ogni form, o meglio visto che ci troviamo in ambito Web, ogni pagina è composta da due file:
- FILE XML: Contiene la struttura, inteso come l'insieme degli oggetti da instanziare della pagina, gli oggetti potremmo suddividerli in "semplici" perché JAMP li implementerà attraverso semplici tag HTML con uguali proprietà ed eventi e oggetti "complessi" perché tradotti in strutture maggiormente elaborate ossia più tag HTML, funzioni JavaScript, PHP, fogli di stile.
<?xml version="1.0" encoding="utf-8">
<jamp>
<page typeobj="page" loaddata="true">
...
...
</page>
</jamp>
- FILE PHP: È il file da richiamare in esso i riferimenti minimi necessari a JAMP e alla pagina XML ad essa associata, ma soprattutto l'eventuale codice che l'utente ha la possibilità di inserire per customizzare il funzionamento dell'applicazione.
<?php
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("source.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
?>
Creazione della Pagina
[modifica | modifica wikitesto]1ª Fase) JAMP interpreta il sorgente XML e fornisce come OUTPUT la pagina nel formato voluto ovvero non necessariamente HTML ma anche in altri formati come ad esempio pdf.
2ª Fase) Gli oggetti connessi ad una sorgenti di dati(ds) si popolano con i dati che JAMP fornirà in formato XML.
Datasource
[modifica | modifica wikitesto]Lo scambio dei dati tra il framework e gli oggetti avviene tramite i datasource, ossia apposite classi PHP che si interfacciano fisicamente alla fonte dati per restituire un formato XML standard, un piccolo esempio:
<?xml version="1.0" encoding="utf-8"?>
<data>
<script>
<![CDATA[
$("ds1").DSengine = "filesystem";
$("ds1").DSkey = "path";
$("ds1").DSparentkey = "dirpath";
$("ds1").DSname = "filename";
$("tree1").fileopen = "/jamp/class/";
$("tree1").refresh = "brance";
$("tree1").dsObj = "ds1";
$("tree1").typeObj = "tree";
$("tree1").isParentObj = true;
]]>
</script>
<ds1 start="0" end="0" limit="0" tot="1" action="/jamp/frm/jamptree.php" order="">
<row>
<dirpath></dirpath>
<path>/var/www/jamp/</path>
<filename>jamp</filename>
<iconstyle>base</iconstyle>
<nochild>false</nochild>
</row>
</ds1>
</data>
Specifiche
[modifica | modifica wikitesto]JAMP è platform-independent e può essere eseguito senza modifiche su piattaforme Unix, Linux, FreeBSD, Windows, macOS, NetWare ed altri sistemi che supportano il linguaggio PHP.
Collegamenti esterni
[modifica | modifica wikitesto]- Sito ufficiale, su jamp.alyx.it.
- (EN) JAMP, su SourceForge.
- Intervista ai creatori di JAMP, su corsentino.net. URL consultato il 5 febbraio 2010 (archiviato dall'url originale l'8 febbraio 2010).