Architettura applicativa

Arrigoni Mauro

Architettura applicativa
Buongiorno a tutti,

stiamo sviluppando un'applicazione in ambiente MVS con linguaggio Cobol2/Cics/Mq e database DB2.
Tale applicazione è stata studiata per permettere il funzionamento di nuovi servizi oltre a quello di partenza, senza interventi alla struttura del DB.

Fa eccezione un piccolo set di tabelle (5) che, per problemi di grandezza (a regime conterranno ca 10 milioni di tuple/giorno con una profondità di 60 gg lavorativi) e di necessità di elevate performances da garantire per i tempi di risposta, verranno divise e quindi replicate per ogni servizio, nonché partizionate.

Il quesito riguarda la soluzione applicativa da adottare all'introduzione di ogni nuovo servizio tenendo conto che:

- non si vuole utilizzare Sql dinamico
- non si vuole replicare tutti i moduli che accedono alle tabelle replicate
- non si vuole utilizzare la tecnica di bindare gli stessi programmi su Plan diversi.

Vi sarei grato se riusciste ad indicarci una diversa soluzione percorribile.

Grazie, buona giornata.


Mauro Arrigoni

Società Interbancaria per l'Automazione - Cedborsa S.p.A.
Sviluppo Servizi Sistemi di Pagamento
Via Taramelli, 26 - 20124 Milano
Tel : +39 02 60842252
Fax: +39 02 60842590
http://www.sia.it < http://www.sia.it/ >
mailto:[login to unmask email]





*******************Internet Email Confidentiality Footer*******************


Qualsiasi utilizzo non autorizzato del presente messaggio nonche' dei suoi allegati e' vietato e potrebbe costituire reato. Se lei ha ricevuto erroneamente il presente messaggio, Le saremmo grati se, via e-mail, ce ne comunicasse la ricezione e provvedesse alla distruzione del messaggio stesso e dei suoi eventuali allegati. Le dichiarazioni contenute nel presente messaggio nonche' nei suoi eventuali allegati devono essere attribuite esclusivamente al mittente e non possono essere considerate come trasmesse o autorizzate da SIA S.p.A.; le medesime dichiarazioni non impegnano SIA S.p.A. nei confronti del destinatario o di terzi.
SIA S.p.A. non si assume alcuna responsabilita' per eventuali intercettazioni, modifiche o danneggiamenti del presente messaggio e-mail.



Any unauthorized use of this e-mail or any of its attachments is prohibited and could constitute an offence. If you are not the intended addressee please advise immediately the sender by using the reply facility in your e-mail software and destroy the message and its attachments. The statements and opinions expressed in this e-mail message are those of the author of the message and do not necessarily represent those of SIA. Besides, The contents of this message shall be understood as neither given nor endorsed by SIA S.p.A..
SIA S.p.A. does not accept liability for corruption, interception or amendment, if any, or the consequences thereof.


---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

Moschelli Mauro

Re: Architettura applicativa
(in response to Arrigoni Mauro)
Una possibile alternativa credo sia la seguente:
* I programmi che accedono alle tabelle replicate sono BINDate su tante collection quanti sono i servizi, ciascuno con l'opzione QUALIFIER corretta
* Il programma chiamante imposta lo special register CURRENT PACKAGESET al valore opportuno per quel servizio e quindi chiama il programma
* il package allocato avrà quindi il qualifier corretto per il servizio richiesto.

All'aggiunta di un servizio occorre creare i package opportuni in una nuova collection e fare in modo che il programma chiamante riconosca il nuovo servizio e sia in grado di effettuare il SET CURRENT PACKAGESET corretto.


Mauro Moschelli
SanPaoloIMI S.p.A.



-----Original Message-----
From: DB2 User Group - Italy List [mailto:[login to unmask email]On Behalf Of Arrigoni Mauro
Sent: Monday, July 18, 2005 5:21 PM
To: [login to unmask email]
Subject: Architettura applicativa
Importance: High


Buongiorno a tutti,

stiamo sviluppando un'applicazione in ambiente MVS con linguaggio Cobol2/Cics/Mq e database DB2.
Tale applicazione è stata studiata per permettere il funzionamento di nuovi servizi oltre a quello di partenza, senza interventi alla struttura del DB.

Fa eccezione un piccolo set di tabelle (5) che, per problemi di grandezza (a regime conterranno ca 10 milioni di tuple/giorno con una profondità di 60 gg lavorativi) e di necessità di elevate performances da garantire per i tempi di risposta, verranno divise e quindi replicate per ogni servizio, nonché partizionate.

Il quesito riguarda la soluzione applicativa da adottare all'introduzione di ogni nuovo servizio tenendo conto che:

- non si vuole utilizzare Sql dinamico
- non si vuole replicare tutti i moduli che accedono alle tabelle replicate
- non si vuole utilizzare la tecnica di bindare gli stessi programmi su Plan diversi.

Vi sarei grato se riusciste ad indicarci una diversa soluzione percorribile.

Grazie, buona giornata.


Mauro Arrigoni

Società Interbancaria per l'Automazione - Cedborsa S.p.A.
Sviluppo Servizi Sistemi di Pagamento
Via Taramelli, 26 - 20124 Milano
Tel : +39 02 60842252
Fax: +39 02 60842590
http://www.sia.it < http://www.sia.it/ >
mailto:[login to unmask email]





*******************Internet Email Confidentiality Footer*******************




Qualsiasi utilizzo non autorizzato del presente messaggio nonche' dei suoi allegati e' vietato e potrebbe costituire reato. Se lei ha ricevuto erroneamente il presente messaggio, Le saremmo grati se, via e-mail, ce ne comunicasse la ricezione e provvedesse alla distruzione del messaggio stesso e dei suoi eventuali allegati. Le dichiarazioni contenute nel presente messaggio nonche' nei suoi eventuali allegati devono essere attribuite esclusivamente al mittente e non possono essere considerate come trasmesse o autorizzate da SIA S.p.A.; le medesime dichiarazioni non impegnano SIA S.p.A. nei confronti del destinatario o di terzi. SIA S.p.A. non si assume alcuna responsabilita' per eventuali intercettazioni, modifiche o danneggiamenti del presente messaggio e-mail.




Any unauthorized use of this e-mail or any of its attachments is prohibited and could constitute an offence. If you are not the intended addressee please advise immediately the sender by using the reply facility in your e-mail software and destroy the message and its attachments. The statements and opinions expressed in this e-mail message are those of the author of the message and do not necessarily represent those of SIA. Besides, The contents of this message shall be understood as neither given nor endorsed by SIA S.p.A.. SIA S.p.A. does not accept liability for corruption, interception or amendment, if any, or the consequences thereof.




--------------------------------------------------------------------------------- Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

Il contenuto e gli allegati di questo messaggio sono strettamente
confidenziali, e ne sono vietati la diffusione e l'uso non autorizzato.

Le opinioni ivi eventualmente espresse sono quelle dell'autore: di
conseguenza il messaggio non costituisce impegno contrattuale tra
Sanpaolo IMI ed il destinatario, e la banca non assume alcuna
responsabilita' riguardo ai contenuti del testo e dei relativi allegati,
ne' per eventuali intercettazioni, modifiche o danneggiamenti.

Qualora il presente messaggio Le fosse pervenuto per errore, Le saremmo
grati se lo distruggesse e, via e-mail, ce ne comunicasse l' errata
ricezione all'indirizzo [login to unmask email]

Arrigoni Mauro

R: Architettura applicativa
(in response to Moschelli Mauro)
Avevamo già ipotizzato tale soluzione, effettivamente valida per il nostro problema; l'unico neo è che l'applicazione, gestendo servizi sopranazionali, non ha un orario di fermo giornaliero necessario per le attività sistemistiche (reorg, runstats, image copy etc) comune a tutti i servizi e l'utilizzo di una vista su tutte le tabelle coinvolte nella replica non può quindi garantire la disponibilità delle stesse, qualora alcune di esse siano interessate a tali attività.

La ringrazio per la sua cortesia, e se le viene in mente altro...ben venga!

Buona giornata.

-----Messaggio originale-----
Da: [login to unmask email] [mailto:[login to unmask email]
Inviato: mercoledì 20 luglio 2005 15.32
A: Arrigoni Mauro
Cc: [login to unmask email]
Oggetto: RIF: Architettura applicativa


In relazione al suo quesito ho un'idea, ma non ho a disposizione un mainframe con la giusta versione di DB2 per provarla.

La mia proposta, realizzabile dalla versione del 7 del DB2 è quella di creare una View di unione di tutte le tabelle fisiche in un cui ogni tabella logica è stata suddivisa. Il bind dovrebbe essere eseguito con la condizione che rimanda la creazione del plan al momento dell'esecuzione.

Con tale opzione, come per l'SQL dinamico, il plan viene costruito al momento dell'esecuzione applicando le condizioni di filtro che in tabelle così grosse immagino debbano essere obbligatorie, numerose e magari ridondanti. In tale modo verrebbero coinvolte nel plan le sole tabelle fisiche effettivamente necessarie alla soluzione dell'SQL.

Questa soluzione permetterebbe la totale indipendenza del sw dalla suddivisione fisica delle tabelle.

Spero di esserle stata utile e mi faccia sapere se funziona.

Nora Tolomelli
__________________________________
Mobile +39-335-1304959
E-mail: [login to unmask email]

________________________________________________________________________
Cerchi un laboratorio fotografico aperto 24 ore su 24?
Stampa le tue foto digitali su Kataweb e le ricevi a domicilio in 48 ore.
http://www.kataweb.it/foto





*******************Internet Email Confidentiality Footer*******************


Qualsiasi utilizzo non autorizzato del presente messaggio nonche' dei suoi allegati e' vietato e potrebbe costituire reato. Se lei ha ricevuto erroneamente il presente messaggio, Le saremmo grati se, via e-mail, ce ne comunicasse la ricezione e provvedesse alla distruzione del messaggio stesso e dei suoi eventuali allegati. Le dichiarazioni contenute nel presente messaggio nonche' nei suoi eventuali allegati devono essere attribuite esclusivamente al mittente e non possono essere considerate come trasmesse o autorizzate da SIA S.p.A.; le medesime dichiarazioni non impegnano SIA S.p.A. nei confronti del destinatario o di terzi.
SIA S.p.A. non si assume alcuna responsabilita' per eventuali intercettazioni, modifiche o danneggiamenti del presente messaggio e-mail.



Any unauthorized use of this e-mail or any of its attachments is prohibited and could constitute an offence. If you are not the intended addressee please advise immediately the sender by using the reply facility in your e-mail software and destroy the message and its attachments. The statements and opinions expressed in this e-mail message are those of the author of the message and do not necessarily represent those of SIA. Besides, The contents of this message shall be understood as neither given nor endorsed by SIA S.p.A..
SIA S.p.A. does not accept liability for corruption, interception or amendment, if any, or the consequences thereof.

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

Nora Tolomelli

RIF: Architettura applicativa
(in response to Arrigoni Mauro)
In relazione al suo quesito ho un'idea ma non ho a disposizione un mainframe con la giusta versione di DB2 per provarla.

La mia proposta, realizzabile dalla versione del 7 del DB2 è quella di creare una View di unione di tutte le tabelle fisiche in un cui ogni tabella logica è stata suddivisa. Il bind dovrebbe essere eseguito con la condizione che rimanda la creazione del plan al momento dell'esecuzione.

Con tale opzione, come per l'SQL dinamico, il plan viene costruito al momento dell'esecuzione applicando le condizioni di filtro che in tabelle così grosse immagino debbano essere obbligatorie, numerose e magari ridondanti. In tale modo verrebbero coinvolte nel plan le sole tabelle fisiche effettivamente necessarie alla soluzione dell'SQL.

Questa soluzione permetterebbe la totale indipendenza del sw dalla suddivisione fisica delle tabelle.

Spero di esserle stata utile e mi faccia sapere se funziona.

Nora Tolomelli
__________________________________
Mobile +39-335-1304959
E-mail: [login to unmask email]
--------------------------------------------------------------------------------- Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm

Pettini Virginia

R: Architettura applicativa
(in response to Nora Tolomelli)
Mancano per quanto mi riguarda alcuni elementi.
Quante transazioni insisteranno giornalmente su queste tabelle?
Tutte le tabelle che numero di righe gestiscono globalmente? Si ipotizzano indici secondari o quantomeno la partenza in produzione si prevede in versione 7 oppure 8?
E' ovvio che la scelta a monte di creare più tabelle (1 per ogni servizio ) è quella che genera il problema. Credo che a monte di questa ci sia il numero di righe gestite e l'indisponibilità di un periodo temporale da dedicare alle procedure di gestione della base dati. Se foste in v8 non sussisterebbe problema in quanto con i nuovi indici si potrebbe operare per partizione (ipotizzo un partizionamento la cui chiave iniziale sarebbe il codice del servizio e a seguire le altre chiavi da Voi ipotizzate). Il neo di una struttura fisica del genere sono come al solito gli indici secondari se si è in V.7 nella reorg. Per quanto riguarda le utility di copy e di runstats possono essere eseguite in shrlevel change e quindi non è indispensabile una specifica finestra batch. Si sa che per le reorg ondine il discorso è un po' più complesso. Le soluzioni proposte mi sembrano interessanti ma comunque prevedono degli interventi io purtroppo non ne ipotizzo altre .
Ti ringrazio per aver proposto questo argomento di discussione molto interessante.

Cordiali Saluti / Best Regards
Virginia Pettini
----------------------
GGS - Gruppo Generali Servizi s.r.l.
Direzione Esercizio
Via Tiburtina, 1090 - 00156 Roma Italy
tel. 06 47227173 - cell. 3485325856
e-mail [login to unmask email] <<mailto:[login to unmask email]>>

-----Messaggio originale-----
Da: DB2 User Group - Italy List [mailto:[login to unmask email] Per conto di Arrigoni Mauro
Inviato: mercoledì 20 luglio 2005 15.44
A: [login to unmask email]
Oggetto: R: Architettura applicativa

Avevamo già ipotizzato tale soluzione, effettivamente valida per il nostro problema; l'unico neo è che l'applicazione, gestendo servizi sopranazionali, non ha un orario di fermo giornaliero necessario per le attività sistemistiche (reorg, runstats, image copy etc) comune a tutti i servizi e l'utilizzo di una vista su tutte le tabelle coinvolte nella replica non può quindi garantire la disponibilità delle stesse, qualora alcune di esse siano interessate a tali attività.

La ringrazio per la sua cortesia, e se le viene in mente altro...ben venga!

Buona giornata.

-----Messaggio originale-----
Da: [login to unmask email] [mailto:[login to unmask email]
Inviato: mercoledì 20 luglio 2005 15.32
A: Arrigoni Mauro
Cc: [login to unmask email]
Oggetto: RIF: Architettura applicativa


In relazione al suo quesito ho un'idea, ma non ho a disposizione un mainframe con la giusta versione di DB2 per provarla.

La mia proposta, realizzabile dalla versione del 7 del DB2 è quella di creare una View di unione di tutte le tabelle fisiche in un cui ogni tabella logica è stata suddivisa. Il bind dovrebbe essere eseguito con la condizione che rimanda la creazione del plan al momento dell'esecuzione.

Con tale opzione, come per l'SQL dinamico, il plan viene costruito al momento dell'esecuzione applicando le condizioni di filtro che in tabelle così grosse immagino debbano essere obbligatorie, numerose e magari ridondanti. In tale modo verrebbero coinvolte nel plan le sole tabelle fisiche effettivamente necessarie alla soluzione dell'SQL.

Questa soluzione permetterebbe la totale indipendenza del sw dalla suddivisione fisica delle tabelle.

Spero di esserle stata utile e mi faccia sapere se funziona.

Nora Tolomelli
__________________________________
Mobile +39-335-1304959
E-mail: [login to unmask email]

________________________________________________________________________
Cerchi un laboratorio fotografico aperto 24 ore su 24?
Stampa le tue foto digitali su Kataweb e le ricevi a domicilio in 48 ore.
http://www.kataweb.it/foto





*******************Internet Email Confidentiality Footer*******************


Qualsiasi utilizzo non autorizzato del presente messaggio nonche' dei suoi allegati e' vietato e potrebbe costituire reato. Se lei ha ricevuto erroneamente il presente messaggio, Le saremmo grati se, via e-mail, ce ne comunicasse la ricezione e provvedesse alla distruzione del messaggio stesso e dei suoi eventuali allegati. Le dichiarazioni contenute nel presente messaggio nonche' nei suoi eventuali allegati devono essere attribuite esclusivamente al mittente e non possono essere considerate come trasmesse o autorizzate da SIA S.p.A.; le medesime dichiarazioni non impegnano SIA S.p.A. nei confronti del destinatario o di terzi.
SIA S.p.A. non si assume alcuna responsabilita' per eventuali intercettazioni, modifiche o danneggiamenti del presente messaggio e-mail.



Any unauthorized use of this e-mail or any of its attachments is prohibited and could constitute an offence. If you are not the intended addressee please advise immediately the sender by using the reply facility in your e-mail software and destroy the message and its attachments. The statements and opinions expressed in this e-mail message are those of the author of the message and do not necessarily represent those of SIA. Besides, The contents of this message shall be understood as neither given nor endorsed by SIA S.p.A..
SIA S.p.A. does not accept liability for corruption, interception or amendment, if any, or the consequences thereof.

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm


Ai sensi del D.Lgs. 196/2003 si precisa che le informazioni contenute in questo messaggio sono riservate ed a uso esclusivo del destinatario. Qualora il messaggio in parola Le fosse pervenuto per errore, La invitiamo ad eliminarlo senza copiarlo e a non inoltrarlo a terzi, dandocene gentilmente comunicazione. Grazie.

Pursuant to Legislative Decree No. 196/2003, you are hereby informed that this message contains confidential information intended only for the use of the addressee. If you are not the addressee, and have received this message by mistake, please delete it and immediately notify us. You may not copy or disseminate this message to anyone. Thank you.

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm