Aengine framework

Ora disponibile la versione 3.0

Aengine framework

Un framework PHP per l'implementazione complessa

Aengine è il framework di sviluppo su cui sono basati tutti i sistemi di gestione e controllo di Aeden.it. Il sistema è stato studiato per offrire una base solida ed integrabile per tutte le problematiche di gestione dati.
Il framework è stato scritto in PHP ed offre connettività nativa su piattaforme dati SQL, come MySQL, PostGRE, MariaDB e MSSQL. La sua struttura logica è stata pensata ad oggetti utilizzando criteri di implementazione UML. Lo schema seguente riassume lo schema logico dei potenziali servizi che eroga un server su cui è installato Aengine.
Il modello adottato è l'MVC sbilanciato dalla parte del controller, lasciando completamente estensibile la parte sia del modello che delle viste. Questa particole configurazione lo rende integrabile con qualsiasi ambiente di visualizzazione, ma anche su qualsiasi struttura dati e database.
In questo caso, il controller assimila e governa tutte le proprietà sia dei model che delle view, lasciando libertà all'implementazione del controller component su come eseguire il routing verso le viste corrette. Questa operazione la esegue interpretando i parametri UML obj e act.
Per applicazioni semplici è possibile attivare una direttiva di Aengine che modifica il principio di funzionamento del Core abilitando un routing più semplice con la vista esposta all'utente. In questo caso il parametro obj innesca il le relative classi di modeling ma il routing viene eseguito verso al view corrispondente al parametro act.

Aengine Core
Il cuore di Aengine è un sistema PHP strutturato per ottimizzare ed economizzare le risorse di sistema mantenendo quindi un elevato grado di prestazioni. La tecnica utilizzata è di tipo Direct Linking Modeling, questo permette ad ogni oggetto logico gestito dal sistema di avere accesso solo alle risorse di cui ha bisogno in quel momento senza dover caricare in memoria le parti inutilizzate.

Core modules
Aengine utilizza una serie di librerie (dll) in ambiente PHP che rendono disponibile agli oggetti le specifiche funzionalità del sistema. Queste librerie possono essere integrate per definire il comportamento degli oggetti da gestire. A questo punto il core si occupa di gestire l'utilizzo o meno della librerie in base allo stato attuale del sistema.
Questo genere di implementazione rende Aengine altamente adattivo rispetto alle esigenze dell'ambiente di installazione
I moduli di cui è composto il sistema sono altamente configurabili e sono suddivisi per tipologia:
Il sistema centrale comprende i moduli per l'accesso alle risorse e quelli che si occupano della sicurezza dei dati.
  • Aengine Core
    Il motore centrale del sistema.
  • Modulo di Accesso
    Si occupa dell'autenticazione a livello utente di ogni area del sistema.
  • Helpers
    Strumenti per l'accesso semplificato a strutture dati e al core.
  • Modulo di sicurezza
    Si occupa della protezione dei dati e limita l'accesso alle aree sensibili del sistema, inclusi gli oggetti e i criteri assegnati alla loro protezione.
  • Modulo di linking
    Gestisce le interazioni tra oggetti differenti e fra componenti visuali.
  • User interface - Aengine UI
    L'interfaccia utente standard del sistema, permette l'accesso alle risorse del sistema gestito mediante un pannello di controllo avanzato. Tutti i suoi componenti sono riutilizzabili per comporre altri servizi da esso derivati.
  • Motore grafico
    Si occupa della gestione delle immagini e dei contenuti multimediali. Viene utilizzato per comprimere o filtrare immagini o semplicemente per la loro manipolazione.
Aengine comprende vari strumenti per la gestione dei contenuti e dei dati.
  • HTML5 e CSS3 render
    Gestisce la presentazione mediante motore di rendering HTML5 con modelli componibili CSS3. Gli oggetti logici di base sono quelli standard dei CMS, ma possono essere estesi a qualunque livello con altri custom.
  • Excel parser
    Ambiente di importazione ed esportazione dati con codifica Excel 2010 o inferiore.
  • Modulo Mail
    Gestione ed incapsulazione messaggistica email, a tutti i livelli del sistema.
  • Modulo SEO
    Controllo dei link di ingresso e di uscita della piattaforma con gestione delle keywords e delle sitemaps.
Preparazione dinamica dei dati gestiti per le più comuni piattaforme di accesso a feed.
  • Modulo Feed
    Si occupa dell'incapsulamento delle strutture dati gestite dal sistema nelle codifiche più utilizzate: XML e JSON. Sia in acquisizione che in delivery.
  • Modulo Atom feed
    Gestione dati mediante codifica Atom feed.
  • Modulo RSS feed
    Gestione dati mediante codifica RSS feed.
TOP