Ceferino GarcíaDENKFABRIK GmbHSchaffhausen
Software Architect & Developer
Software Development is Handcraft
6/28/17 [email protected] 2
1. Automatically retrieve data extracts2. Create reports based on this data3. Send reports to recipients4. On regular intervals5. Automatically
6/28/17 [email protected] 3
Solution:Buy a reporting engine with a scheduler!
¨ You define...¡ thousands of queries¡ dozens of report types¡ Hundreds of report parameters¡ thousands of recipients
¨ And you glue them together¡ This is easy
6/28/17 [email protected] 4
¨ A query is deactivated¡ It is not executed any more
ú This is easy
6/28/17 [email protected] 5
¨ A recipient is deactivated¡ Find all the queries affected and remove the recipient
ú You have thousands of queriesú This is not easy ???!
May be you will do these changes on day 3
¨ The data extraction logic for a query changesFrom today on it displays unblinded data.
¡ Are all the predefined recipients allowed to see unblinded data?ú Find them and remove them
6/28/17 [email protected] 6
¨ One predefined recipient changes to a group...... that is not allowed to see unblinded data
¡ You have thousands of queries¡ Which ones are retrieving unblinded data?¡ The recipient must not get any reports!
ú Find all the queries affected and remove the recipientú This is definitely not easy !!!
6/28/17 [email protected] 7
¨ You are removing inactive recipients¨ You are checking queries for unblinded data¨ You are removing recipients that are not
allowed to see unblinded data
¨ You start thinking, whether it was a good idea to buy a reporting engine with a scheduler (??)
6/28/17 [email protected] 8
¨ Your number of active queries grows¨ You need stronger servers...
... with more processors
6/28/17 [email protected] 9
¨ Your software license department tells you that you do not have budget to run your reporting engine on servers of the required size!
¨ You start missing timelines......because you cannot handle the load
¨ You build a system of your own that...¡ Tracks the relationships between queries and
active/inactive recipients¡ Detects whether recipients are allowed to see certain
kind of data¡ Scales easily in an affordable way¡ Runs highly available 24 / 7¡ Automatically creates new instances of itself to
replace unresponsive ones
6/28/17 [email protected] 10
6/28/17 [email protected] 12
6/28/17 [email protected] 13
6/28/17 [email protected] 14
6/28/17 [email protected] 15
6/28/17 [email protected] 16
6/28/17 [email protected] 17