SlideShare a Scribd company logo
1 of 9
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

Viewers also liked

Analisi CMS Alternativi per Cliente xxx.it, versione istituzionale
Analisi CMS Alternativi per Cliente xxx.it, versione istituzionaleAnalisi CMS Alternativi per Cliente xxx.it, versione istituzionale
Analisi CMS Alternativi per Cliente xxx.it, versione istituzionaleEngineering Ingegneria Informatica
 
Kath Murdoch Parent Coffee ISM Sep 2013
Kath Murdoch Parent Coffee ISM Sep 2013Kath Murdoch Parent Coffee ISM Sep 2013
Kath Murdoch Parent Coffee ISM Sep 2013sntcook
 
Evils Of Outsourcing
Evils Of OutsourcingEvils Of Outsourcing
Evils Of OutsourcingStephen Davis
 
Financial Journalism
Financial JournalismFinancial Journalism
Financial JournalismStephen Davis
 
Erma Anderson MS Parent Coffee 2013
Erma Anderson MS Parent Coffee 2013Erma Anderson MS Parent Coffee 2013
Erma Anderson MS Parent Coffee 2013sntcook
 
Entertainment Marketing PPT
Entertainment Marketing PPTEntertainment Marketing PPT
Entertainment Marketing PPTStephen Davis
 

Viewers also liked (10)

Analisi CMS Alternativi per Cliente xxx.it, versione istituzionale
Analisi CMS Alternativi per Cliente xxx.it, versione istituzionaleAnalisi CMS Alternativi per Cliente xxx.it, versione istituzionale
Analisi CMS Alternativi per Cliente xxx.it, versione istituzionale
 
Jojo's tessellation
Jojo's tessellationJojo's tessellation
Jojo's tessellation
 
Giorgio Gamberini Company Profile for 2013, v4
Giorgio Gamberini Company Profile for 2013, v4Giorgio Gamberini Company Profile for 2013, v4
Giorgio Gamberini Company Profile for 2013, v4
 
APM - beginners\' introduction
APM - beginners\' introductionAPM - beginners\' introduction
APM - beginners\' introduction
 
Kath Murdoch Parent Coffee ISM Sep 2013
Kath Murdoch Parent Coffee ISM Sep 2013Kath Murdoch Parent Coffee ISM Sep 2013
Kath Murdoch Parent Coffee ISM Sep 2013
 
Evils Of Outsourcing
Evils Of OutsourcingEvils Of Outsourcing
Evils Of Outsourcing
 
Financial Journalism
Financial JournalismFinancial Journalism
Financial Journalism
 
Erma Anderson MS Parent Coffee 2013
Erma Anderson MS Parent Coffee 2013Erma Anderson MS Parent Coffee 2013
Erma Anderson MS Parent Coffee 2013
 
Bus Crash Ppt (2)
Bus Crash Ppt (2)Bus Crash Ppt (2)
Bus Crash Ppt (2)
 
Entertainment Marketing PPT
Entertainment Marketing PPTEntertainment Marketing PPT
Entertainment Marketing PPT
 

Similar to Notes for an Enterprise Scheduling Distributed Application

Windows Workflow Foundation 4
Windows Workflow Foundation 4Windows Workflow Foundation 4
Windows Workflow Foundation 4Felice Pescatore
 
Stanco delle solite Web App? Passa al Prgressive
Stanco delle solite Web App? Passa al PrgressiveStanco delle solite Web App? Passa al Prgressive
Stanco delle solite Web App? Passa al PrgressiveCommit University
 
Jakarta Struts
Jakarta StrutsJakarta Struts
Jakarta Strutsjgiudici
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented ProgrammingAndrea Bozzoni
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoJava User Group Roma
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5JBug Italy
 
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide SitoDavide Sito
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSopencityplatform
 
Introduzione a Workflow Foundation
Introduzione a Workflow FoundationIntroduzione a Workflow Foundation
Introduzione a Workflow FoundationDotNetMarche
 
GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)greenvulcano
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDLuca Masini
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 

Similar to Notes for an Enterprise Scheduling Distributed Application (20)

Windows Workflow Foundation 4
Windows Workflow Foundation 4Windows Workflow Foundation 4
Windows Workflow Foundation 4
 
3DD 1e Reconfig
3DD 1e Reconfig3DD 1e Reconfig
3DD 1e Reconfig
 
Introduzione a Struts
Introduzione a StrutsIntroduzione a Struts
Introduzione a Struts
 
Stanco delle solite Web App? Passa al Prgressive
Stanco delle solite Web App? Passa al PrgressiveStanco delle solite Web App? Passa al Prgressive
Stanco delle solite Web App? Passa al Prgressive
 
Jakarta Struts
Jakarta StrutsJakarta Struts
Jakarta Struts
 
Aspect Oriented Programming
Aspect Oriented ProgrammingAspect Oriented Programming
Aspect Oriented Programming
 
Virtual Agency
Virtual AgencyVirtual Agency
Virtual Agency
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano Ciccazzo
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5
 
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide Sito
 
OCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaSOCP-Architettura e caratteristiche della PaaS
OCP-Architettura e caratteristiche della PaaS
 
Rx - ReactiveX
Rx - ReactiveXRx - ReactiveX
Rx - ReactiveX
 
OCP Paas_ultima
OCP Paas_ultimaOCP Paas_ultima
OCP Paas_ultima
 
Introduzione a Workflow Foundation
Introduzione a Workflow FoundationIntroduzione a Workflow Foundation
Introduzione a Workflow Foundation
 
Java lezione 14
Java lezione 14Java lezione 14
Java lezione 14
 
GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)GreenVulcano ESB Technical Overview (ITA)
GreenVulcano ESB Technical Overview (ITA)
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 

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

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n