2. Problem statement: chi
Gli attori coinvolti sono operatori oppure altre applicazioni;
possono:
Inserire/modificare job con relative info di triggering (data/ora
di esecuzione)
Interrogare lo stato di un job attivo (in esecuzione, terminato,
fallito)
Recuperare il prodotto dell¡¯esecuzione di un job
3. Problem statement: cosa
L¡¯esecuzione di job in batch (rapporti, stampe, stored)
La concatenazione di job (1..n)
Un¡¯interfaccia unificata per inserimento, modifica, richiesta sullo
stato dei job e raggruppamento dei risultati delle esecuzioni
Applicazione architetturalmente scalabile, affidabile, tollerante
ai guasti
4. Problem statement: come
Utilizziamo Quartz Enterprise Scheduler come infrastruttura
Ne sfruttiamo i trigger (info sul momento di esecuzione) e i
listener (callback eseguite programmaticamente a job
schedulato/iniziato/terminato/fallito), costruiamo su questi i
nostri metodi per l¡¯interrogazione di stato, la compensazione
degli errori, etc..
Aumentiamo le potenzialit¨¤ in cluster di Quartz costruendo una
rete di ¡°workers¡±, istanze Quartz collegate via RMI e registrate
presso un modulo di service discovery tramite unicasting/
multicasting
5. General overview
Lo scopo di questo software ¨¨ quello di implementare una serie di servizi che permettano l¡¯esecuzione di job in batch, i.e. la
generazione di rapporti, stampe, esecuzione di stored
Data la natura dei componenti che andremo a descrivere, definiremo i casi d¡¯uso a partire dalle funzionalit¨¤ messe a
disposizione dei client, partendo dal presupposto che questi possano essere sia operatori che altre applicazioni
6. Tecnologie utilizzate
JVM 1.5
Quartz Scheduler (versione di riferimento 1.6.6):
! Infrastruttura di scheduling
Apache Shiro (Ki / jSecurity):
! Strato Authn/Authz
Apache River (Jini):
! Service discovery via multicasting
8. Deploy overview
Architettura three tiered
Presentation layer
Web service asincrono
Interfaccia esposta tramite web application (RIA, AJAX powered - TBD)
BL layer
L¡¯Orchestratore
La federazione di Quartz workers
DA layer
DB server (SQLServer / Oracle - TBD)
9. Deploy specs overview
Lo strato di presentazione web comprende sia un¡¯interfaccia
esposta tramite web application che web service asincroni
L¡¯Orchestratore contiene un proxy Quartz, un servizio di lookup
e una serie di metodi che permettano l¡¯implementazione di un
ActivationJob il cui compito sar¨¤ quello di schedulare un job
remotamente su un¡¯istanza di Quartz worker scelta
opportunamente
Un Quartz worker federato si pu¨° descrivere semplicemente
come istanza di Quartz configurata in una macchina virtuale