JAMP

In informatica JAMP (acronimo JavaScript AJAX Mysql Php) è un potente e veloce framework distribuito con licenza GNU (General Public License), in esso è racch

JAMP
JAMP
software
GenereIntegrated development environment
Content management system
SviluppatoreALYX-Software Innovation
Ultima versioneBETA 2 (3 marzo 2009)
Sistema operativoMultipiattaforma
LinguaggioPHP
LicenzaGPL
(licenza libera)
Sito webjamp.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

  • 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

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

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

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

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

  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.