Lucio Zambon: PHP@Elettra

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Group

    Lucio Zambon: PHP@Elettra - Presentation Transcript

    1. Elettra: Sincrotrone Trieste S.C.p.A. Ente di ricerca: Ente di diritto privato, finanziamento pubblico Importante laboratorio di fisica sperimentale Acceleratore di particelle di terza generazione Scopo di Elettra è l’accelerazione di elettroni, il loro immagazzinamento, la produzione con essi di luce di sin- crotrone che viene utilizzata per osservazioni o interazioni a livello di singole molecole o di atomi. 1 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    2. Elettra: Sincrotrone Trieste S.C.p.A. Linac: Vengono generati ed accelerati dei pacchetti di elettroni Storage Ring: anello dove viene accumulato il fascio di elettroni per 24-48 ore Beam Lines: Linee di luce di sincrotrone dove ven- gono svolti esperimenti di fisica della materia, microfabbricazione (nano tubi), medicina (corona virus, mammografia), chimica, etc. 2 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    3. Elettra: Sincrotrone Trieste S.C.p.A. Problematiche ad Elettra:  Gestione personale (staff) e utenti (temporanei)  Gestione acceleratore (magneti, pompe, alimentatori, cavità RF etc)  Sistema di controllo gestisce circa 20000 variabili 3 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    4. Sistema di Controllo Ad Elettra si utilizza e sviluppa TANGO  Collaborazione con ESRF (Grenoble) SOLEIL (Parigi) e ALBA (Barcellona)  Basato su CORBA  Linguaggi supportati (API): C++, Java, Python  OS: Linux (anche con estensione real time RTAI), Windows Altri sistemi di controllo:  Epics: usato da circa cento istituti, basato su WxWorks  Tine: sviluppato a DESY (Amburgo)  etc 4 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    5. Applicativi PHP ad Elettra Esistono varie applicazioni indipendenti:  Homepage: http://www.elettra.trieste.it/index.php  Servizi interni: web update, clockin, myphoto, people, ordini, it_support, ecologia, gimmeFTP  CANONE: interfaccia verso il sistema di controllo  E-GIGA: interfaccia verso il sistema di archiviazione 5 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    6. E-Giga: Electronic Graphic Interface for Global Archiving Tecnologia: PHP, MySQL, JavaScript, JPGraph, etc Periodo di sviluppo: 25 luglio 2003 – fino ad oggi Versioni: più di 110 versioni Niente di nuovo sotto il sole:  Esistono innumerevoli programmi per produrre grafici  Solo ad Elettra ce ne sono altri 2 su web  L’unica novità sta nei dettagli 1 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    7. Architettura a pagina singola Requisiti: Web browser   Pop-ups  Cookies 2 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    8. Aree principali Selezione  Disegno Menu 3 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    9. Selezione Seleziona variabili per l’asse Y1   Seleziona variabili per l’asse Y2 (opzionale)  Seleziona variabili multistato (opzionale)  Seleziona variabili ON/OFF (opzionale)  Data e ora d’inizio + calendario  Data e ora di fine + calendario  Bottone di zoom inverso  Bottone di disegno 4 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    10. Calendario Data e ora in un clic   Presenza di dati  Periodo relativo (ultimi N minuti / ore / giorni)  Informazioni aggiuntive (run) 5 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    11. Grafico Clic sull’ immagine per ottenere uno zoom 6 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    12. Menu File  New elimina tutti i parametri nei cookies  Load… legge dei parametri da un file sul server  Open… legge dei parametri da un file sul client  Save… scrive i parametri su un file sul client 7 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    13. Menu Export  PDF™ grafici e tabelle in formato A4 o A3  XLS usa XML per Excell™ XP o 2003  MAT formato binario di Matlab™  CSV comma separated values  Mail con protocollo multipart mime 8 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    14. Menu Bookmarks Le preferenze sono salvate nei cookies  Create salva configurazione in bookmark  Load carica una configurazione  Default setta un bookmark come default  Delete cancella un bookmark 9 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    15. Menu Format  Hide Events nasconde/mostra gli eventi  Plot size modifica le dimensioni del grafico  Zoom cambia due modalità di zoom  Style a gradini / lineare / a punti sparsi  Y axis scala logaritmica, etichetta, max/min  Y2 axis attiva o nascondi l’asse Y2  Correlation correlazioni fra 2 variabili  Show Raw Data mostra dati in una tabella 10 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    16. Menu Options  Groups mostra solo le variabili in un gruppo  Period seleziona un periodo di tempo  Advanced solo per utenti avanzati  FastPlot usa plot rapido di JPGraph 1.17  Formulae… modifica una formula 11 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    17. Editor di Formule  Composizione  Caricamento  Cancellazione  Grafica MathML  auto – completamento delle variabili 12 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    18. Menu Help  Help Contents alcune pagine di aiuto  About E-Giga versione e autore 13 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    19. Conclusioni Sviluppi futuri  Debugging: nessuno è perfetto  Gestione variabili: selezione colore delle variabili etc  Utenti: gestione utenti e configurazioni tutto sul lato server  Multi-plot: più grafici nella stessa pagina  Variabili vettoriali: selezioni di elementi e viste nello spazio Ringraziamenti  Sono state utilizzate 8 librerie open-source PHP e JavaScript  Molte persone hanno contribuito con suggerimenti e segnalazioni di malfunzionamenti 14 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    20. Sommario Canone è un’interfaccia web grafica e animata verso il sistema di controllo di un acceleratore di particelle. Connessioni: socket testo Tecnologia: PHP, JavaScript, SQL. Grafica: sia in PHP che in JavaScript Pannelli: riuniscono uno o più elementi grafici in una pagina Animazione: con l’utilizzo di una libreria Ajax Gestione risorse: utenti e permessi 1 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    21. Canone: un'interfaccia PHP verso i sistemi di controllo web libreria Canone Gestione core Utenti Widget animazione Front-end Buffer DB Widget Multi-port channel socket Socket server Interfaccia DAL Epics Tango … Sistema di controllo 2 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    22. Connessioni Socket: la comunicazione col sistema di controllo avviene attraverso un protocollo di tipo testo su un socket TCP/IP. Più comunicazioni contemporanee possono avvenire su più porte Disaccoppiamento: il sistema di controllo deve essere il più possibile separato dal web, non deve essere influenzato da un sovraccarico sul web (attacchi DoS) Letture bufferizzate: tutte le letture sono memorizzate temporaneamente in un database (SQLite o MySQL) con limitazioni di sicurezza (banda limitata). 3 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    23. Tecnologia PHP: tutta l’elaborazione sul lato server viene svolta in PHP (circa 85% del codice complessivo), le classi sono utilizzate solo nelle librerie (widget, interfaccia SQL), supporta sia PHP4 che PHP5. Utilizza GD, Socket e MySQL o SQLite JavaScript: Ajax, menù a tendina, disegno di elementi grafici e trascinamento col mouse (drag-and-drop) Python: un socket server Java: un altro socket server (più generico) 4 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    24. Grafica Esiste un insieme di elementi grafici generici (widget) http://www.elettra.trieste.it/~tango/Canone/widgets_example.html Un widget consiste in: Una classe che estende una generica classe “widget” Uno sfondo disegnato in PHP Una grossa quantità di parametri passati anche a JavaScript 5 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    25. Grafica Configurazione di un Widget Variabile associata Anteprima Parametri 6 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    26. Pannelli I pannelli sono composti da un insieme di widget 7 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    27. Pannelli Pannelli: le configurazioni vengono salvate in file XML 8 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    28. Pannelli Designer: i widget possono essere spostati con il mouse (drag-and-drop) e possono essere ridimensionati tenendo premuto il tasto shift e muovendo il mouse 9 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    29. Grafica Grafica e JavaScript JavaScript è privo di funzionalita grafiche, ma esiste una libreria che realizza gli elementi grafici come colore di sfondo di tag HTML opportuni (vectorgraphics library). L’imagine desiderata viene scomposta nel minor numero possibile di rettangoli e per ognuno di questi viene creato un <div>. http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm 10 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    30. Animazione AJAX: Asynchronous JavaScript and XML http://it.wikipedia.org/wiki/Ajax JavaScript fa una chiamata XMLHttpRequest() per scambiare dati in modo asincrono con il web server usando XML. Questa tecnica ha circa due anni ed ha già un’enorme popolarità. Dalla versione 2.0 Canone supporta Ajax! Ma c’è ancora molto da fare! 11 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    31. Animazione GAJAX = Graphical Asynchronous JavaScript and XML Animazione + grafica: Sfondo costruito sul lato server (PHP + GD) Animazione aggiunta Sul lato client (JavaScript + AJAX) 12 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    32. Animazione Frequenza di acquisizione Frequenza regolabile a livello di pannello Interpolazioni Si possono inserire fra due letture “vere” una o più interpolazioni che rendono l’animazione molto più fluida a parità di banda. Il prezzo da pagare è un ritardo nella visualizzazione e la non perfetta veridicità di tutti i dati mostrati. 13 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    33. Gestione risorse Permessi utente read - solo lettura operator - lettura e comandi expoert – configurazione 14 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    34. Sviluppi Futuri Solo alcuni dei possibili miglioramenti: Upgrade del Designer creare la possibilità di aggiungere nuovi widget Estensione della libreria di widget Utilizzo del formato grafico SVG (XML del W3C) http://www.w3.org/Graphics/SVG/ Utilizzo del linguaggio JavaFX script (??) http://www.sun.com/software/javafx/ 15 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon
    35. Conclusioni Ringraziamenti Miha Pelko (Lubiana, Slovenia) http://www.cosylab.com Socket server in Java per altri sistemi di controllo e debug Anthony J. Green (Cambridge, UK) http://www-mdp.eng.cam.ac.uk Stili, sicurezza e debug Documentazione, demo e sorgenti: http://luciozambon.altervista.org/canone 16 PHP Day 2007, Verona 18 maggio 2007 Lucio Zambon

    + Francesco FulloneFrancesco Fullone, 3 years ago

    custom

    2204 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2204
      • 2195 on SlideShare
      • 9 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 38
    Most viewed embeds
    • 9 views on http://www.phpday.it

    more

    All embeds
    • 9 views on http://www.phpday.it

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events