Panoramica tecnica

Modificata il martedì, 14 aprile 2009 11:08 da stefano — Categorizzata come: Non Categorizzata

Tustena CRM è un’applicazione web basata su un modello tree-tier. La filosofia che ha guidato lo sviluppo dell’intero framework è focalizzata sulla leggerezza dell’interfaccia, la rapidita nel data-retrieving e la facilità di integrazione.

L’intera applicazione poggia su quattro DLL principali che offrono tutta l’architettura di supporto:

Tustena.Core – E’ la classe cuore del sistema e contiene:
Questa classe è protetta in quanto contiene le licenze e le parti fondamentali del programma che non devono essere modificate.

Tustena.Base – E’ la classe di base e contiene le principali logiche di funzionamento di cui le più importanti sono:
Tustena.Database – E’ una raccolta di classi per la manipolazione dei dati SQL.

L’accesso ai dati avviene attraverso la classe statica Digita.Tustena.DatabaseConnection. Qui sono contenuti i metodi che consentono l’accesso diretto al database e decidono autonomamente se e quando utilizzare un accesso transazionale. Anche la gestione di un eventuale rollback in caso di errore è totalmente automatica. I tre metodi più utilizzati in questa classe sono:
Tustena.WebControls – Contiene tutti i controlli creati specificatamente per Tustena CRM, fortemente integrati con il sistema e ottimizzati per sfruttarne a pieno le caratteristiche. I più usati sono:


Le logiche di funzionamento e le interfacce sono contenute nella libreria principale Tustena.DLL, e varie librerie di appoggio per moduli specifici come Ticket, Knowledge Base, EventPlugins, ecc. Per separare l’accesso ai dati dalla programmazione dell’interfaccia web, dei web service e dei plugin, sono stati sviluppato dei BusinessObjects specifici per quasi ogni elemento del CRM.

Sono contenuti nel namespace Digita.Tustena.BusinessObjects ed espongono tutte le proprietà relative alle informazioni disponibili per ogni tipologia di oggetto, oltre ai metodi base per caricarle, salvarle e invocare tutti gli eventi di controllo. Gli stessi sono accessibili via WebService e EventPlugins per l’integrazione con applicazioni esterne. Una parte molto importante del sistema sono le librerie Javascript contenuti nella cartella JS.

Tra questi i più importanti sono:
Inoltre ci sono dei files di appoggio in formato XML che definiscono strutture di template, report, stampe, filtri di importazione, ecc. La maggior parte si trova nella cartella XML, tranne gli schemi di importazione che si trovano in ImportMaps e i report che sono nella cartella REPORT. Dalla release 6.5 saranno spostati tutti nella cartella bin\XML. Infine c’è una cartella definibile attraverso la chiave DataStoragePath del settings.config dove vengono salvati tutti i documenti che vengono generati da Tustena.

Nella radice di questa cartella vengono salvati tutti i file dell’archivio documenti, mentre ci sono delle cartelle specifiche per li salvataggio dei dati di sistema:

Webmail - Qui vengono salvati tutti i documenti scaricati attraverso la web mail.
Template - Qui si devono inserire gli xml relativi ai template di stampa di preventivi, ordini, fatture e DDT personalizzati.
Quotes, orders, invoice e ddt - In queste cartelle vengono salvati i documenti pdf generati da preventivi,ordini,fatture e DDT.
LuceneIdx – Indici di Lucene, il motore di ricerca documentale di Tustena.
Logos - I logo caricati nella parte amministrativa per fare le “carte intestate“.
Image - immagini caricate nell’editor HTML, ad esempio le mail per Mass mailing.
Catalog - Le schede tecniche dei prodotti del catalogo.