ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
JOB SCHEDULER OVERVIEW
      di Giorgio Gamberini [Software Architect]
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
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
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
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
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
Deploy bird¡¯s eye view
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)
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

More Related Content

Notes for an Enterprise Scheduling Distributed Application

  • 1. JOB SCHEDULER OVERVIEW di Giorgio Gamberini [Software Architect]
  • 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

Editor's Notes