• Non ci sono risultati.

Applicazione: GAS - Gestione AcceSsi

N/A
N/A
Protected

Academic year: 2022

Condividi "Applicazione: GAS - Gestione AcceSsi"

Copied!
8
0
0

Testo completo

(1)

Riusabilità del software - Catalogo delle applicazioni – Gestione ICT

Applicazione: GAS - Gestione AcceSsi

Amministrazione: Consiglio Nazionale delle Ricerche (CNR)

Responsabile dei sistemi informativi Nome e cognome: ing. Maurizio Lancia Indirizzo: Piazzale Aldo Moro 7 00185 Roma Tel: 06-49931

e-mail: maurizio.lancia@cnr.it

Referente/i di progetto

Nome e cognome: Aurelio D’Amico

Indirizzo: Piazzale Aldo Moro 7 00185 Roma Tel: 06-49931

e-mail: aurelio.damico@cnr.it

Referente/i amministrativo /

Descrizione

GAS è un server per la gestione centralizzata dei meccanismi di autorizzazione di applicazioni eterogenee. Il sistema permette di definire profili utente ai quali associare diritti di accesso alle funzionalità. L’interfaccia di amministrazione è di tipo web.

(2)

Contesto

L’Ufficio Sistemi Informativi del CNR sviluppa e gestisce diverse applicazioni con interfaccia web basate sulla piattaforma JEE. Per ciascuna di esse è stato necessario

implementare meccanismi di profilazione degli utenti e di gestione dei diritti di accesso. In molti casi tali meccanismi rientrano nel paradigma alla base del design pattern “Role Based Access Control”. Per questo motivo si è pensato di sviluppare un server centralizzato, basato su tale design pattern, in grado di offrire a più applicazioni il servizio di gestione dei profili.

Il sistema è basato sui concetti di

“risorsa”, ovvero una generica entità sulla quale si possono avere diritti di accesso,

“ruolo”, ovvero un insieme di diritti di accesso a risorse,

“gruppo”, ovvero un insieme di ruoli.

Gli utenti sono associati ai gruppi e da questi ereditano i ruoli. Il sistema permette anche di gestire le informazioni necessarie per la composizione a run time dei menù utente.

Data primo rilascio 20/maggio/2008

Data ultima modifica 09/luglio/2008

Parametri dimensionali

Per lo sviluppo dell’applicazione Gestione AcceSsi sono stati utilizzati i seguenti linguaggi:

Java, per la logica di business (EJB 3.0);

JSP, HTML, CSS, Javascript ed XML per la parte di interfaccia web.

Per l’accesso alla base dati sono stati utilizzati gli strumenti messi a disposizione da EJB3.

Ciò ha permesso di limitare l’utilizzo di SQL ai soli script di creazione delle strutture di data base.

Di seguito è riportato un riepilogo dei volumi, espressi in termini di function point.

Volumi

Linguaggio Volume applicativo (FP)

css 59

htm 0

(3)

html 34

java 192

js 22

jsp 191

sql 29

xml 39

Totale 565

Realizzatore

L’applicazione è stata realizzata interamente utilizzando personale dell’Ufficio Sistemi Informativi.

Tipologia applicazione software Sviluppo custom in toto

Documentazione disponibile

Class diagram UML

Data model Area applicativa Gestione ICT

Procedure amministrative e/o servizi supportati Servizio di gestione centralizzata dei profili utente.

Dominio applicativo Role Based Access Control

(4)

Funzione applicativa

Applicazioni

Accessi

o Risorse

o Menu

Permessi

o Ruoli

o Gruppi

Utenti

o gestione

o ricerca

Architettura software

L’applicazione è basata sull’architettura a multi-livello ( vd. Figura 1), tipica dei sistemi enterprise.

Al livello client è utilizzato un semplice web browser che renderizza pagine html generate dinamicamente nel sottostante livello web, basato su pagine JSP e servlet gestite da un web container. Al livello della logica di business sono utilizzati EJB session, per

l’implementazione dei processi, e Java Data Object per l’accesso ai dati, il tutto gestito tramite Application Server JEE compliant. Il livello Enterprise Information Systems è basato su data base relazionale. Il sistema può utilizzare indifferentemente qualunque RDBMS server supportato dalla tecnologia JDO.

L’architettura del sistema è basata su design pattern consolidati. L’interazione con l’utente, ad esempio, è basata sul pattern “Model View Controller”, implementato mediante il framework Stripes.

Qualunque combinazione “Application Server/Web container” JEE compliant può essere utilizzata, così come qualunque RDBMS può gestire i dati dell’applicazione.

L’infrastruttura di produzione del CNR utilizza i seguenti ambienti software:

Application server JEE: JBoss

RDBMS: PostgreSQL

Web container: Tomcat.

Architettura hardware

Il sistema può essere installato anche su una sola macchina ma si consiglia di avere uno o più server in configurazione a bilanciamento di carico che funzionino da front-end web, sui quali sia installato un’application server JEE compliant, e due o più macchine in configurazione

“standard hardware fai lover” con funzione di data base server. I dati possono essere conservati su disk array condiviso dai DB server.

(5)

Architettura TLC

L’accesso alla sottorete cui sono collegati i server è protetto da un Firewall Stonegate, che effettua il bilanciamento di carico sugli application server in base al loro livello di utilizzo.

Tutte le macchine sono collegate ad una LAN Gigabit Ethernet.

I db server sono connessi al dispositivo di storage tramite collegamento ridondato in fibra ottica.

La sede centrale del CNR, dove è gestito l’hosting dell’applicazione, dispone attualmente di un collegamento a 100 MB con GARR-G.

Sistemi operativi

Qualunque sistema operativo per il quale sia disponibile il JEE SDK può essere utilizzato.

Nell’ambiente di hosting del CNR è utilizzato Red Hat Enterprise Linux 4.0.

Middleware

Qualunque application server/web container JEE compliant. Nell’ambiente di hosting del CNR sono utilizzati JBoss Application Server + Tomcat web container.

Linguaggi

Java per la logica di business (EJB 3.0) e l’accesso ai dati; JSP, HTML, Javascript ed XML per la parte di interfaccia web; SQL per la definizione delle strutture dati.

Librerie esterne

L’applicazione utilizza alcune librerie open source, tra cui quelle del frame work Stripes.

Protocolli di comunicazione TCP/IP

DBMS

(6)

Qualunque RDBMS supportato dal frame work Hibernate. Nell’ambiente di produzione del CNR attualmente è utilizzato PostgreSQL ma l’applicazione non è vincolata ad una

particolare marca di RDBMS.

Case

Poseidon UML, Eclipse.

Standard utilizzati

Sviluppo component-based aderente alla specifica JEE (JSP, EJB, servlet, etc.).

Tipologia del ciclo di sviluppo

Processo di sviluppo agile di tipo prototipale/iterativo (vd Figura 2).

Portabilità

Il sistema può essere eseguito su qualunque combinazione “Application Server JEE/Web Container JEE/RDBMS”. Conseguentemente non ci sono vincoli sul sistema operativo, se non la disponibilità di almeno una combinazione del tipo succitato.

Affidabilità

Sistema robusto con basso numero di segnalazioni per problemi tecnici.

Manutenibilità

La modularità dell’architettura e l’impiego diffuso di design pattern consente a risorse dotate di adeguate competenze di mantenere il sw con un basso livello di difficoltà.

Funzionalità

Piena rispondenza ai requisiti utente in tutte le condizioni di esercizio.

(7)

Usabilità

Il livello di usabilità è buono per le caratteristiche tecniche; l’interfaccia utente è stata progettata tenendo conto di tutti i suggerimenti e le richieste degli sviluppatori delle applicazioni candidate per l’uso di GAS come server centralizzato di autorizzazione.

Livello di documentazione

Documentazione finale in preparazione.

Livello di modularizzazione Alto livello di modularizzazione.

Iniziative di riuso in corso /

Iniziative di riuso realizzate /

Punti di forza

Piena proprietà dei diritti sul codice da parte del CNR,

adozione di standard aperti,

architettura applicativa modulare,

portabilità,

utilizzo di design patterns,

disponibilità di competenze all’interno del CNR.

Elementi di criticità /

Vincoli

La personalizzazione dell’applicazione richiede competenze sulle tecnologie adottate per lo sviluppo.

(8)

Modalità di riuso consigliate

L’applicazione si presta ad un riuso tipo cessione semplice.

Riferimenti

Documenti correlati

Il secondo aspetto importante riguarda la gestione delle comunicazioni che vede due importanti novità: da una parte il supporto dello standard FIPA per la

•  La prevenzione delle trombosi si basa su poche e chiare raccomandazioni: –  Scelta del sito di inserzione più stabile –  Uso delle membrane trasparen, semipermeabili,

Gestione del sito di emergenza Gestione della linea infusionale... Gestione del sito

An ‘historical’ consideration… •   Midline catheters were originally designed for ‘blind’ inser4on at the antecubital fussa: their length (20-25 cm) was s4ll consistent

Queste linee di indirizzo sono un progetto realizzato dal Working Group Nursing (WGN) dell’Associazione Italiana di Oncologia Medica (Aiom), con lo scopo primario di sostenere

complicanze, e ad una riduzione dei costi. 3) Definizione di una serie sistematica di raccomandazioni per la gestione degli accessi venosi, atte a minimizzare il rischio

da ”Manuale pratico dell’accesso venoso” • TUNNELIZZAZIONE DEL CATETERE - I vantaggi della colla cianoacrilica nella chiusura cutanea del reservoir “… Per il sito di

196, sono consapevole e autorizzo il trattamento dei dati in vostro possesso per finalità inerenti la mia partecipazione al corso in oggetto e per inviarmi comunicazioni inerenti