SlideShare une entreprise Scribd logo
1  sur  14
Reporting and analysing system
based on business customers’ energy usage
made for E.ON Hungary
PROJECT ARGUS
(CAPTURE LTD 2011-2012)
1
BUSINESS FUNCIONALITY
E.ON collects data of energy usage (both
electricity and gas) on business customers
via smart meters into a specially designed
system.
The Argus system was designed to analyse
these data, report them and raise alerts at
unusual usage to inspectors.
2
PREVIOUS SYSTEM
Disadvantages:
• Performance issues
• Need to be installed separately to every PC
 too much work at each version-release
• Too complicated to add new features
• Data audition could have been hard to implement
• Designed to analysed only electricity data
Architecture:
• Based on Java
• Desktop based
• Oracle database
3
TECHNICAL REQUIREMENTS
• Oracle database
• Vertical and horizontal scalability
• Easy to audit the user data changes
• Web based system for the centralized version
management
• Browser independency
• Supporting both electricity and gas data
• Use the existing export-function from the smart
reader system without much modification
• Extendibility for home users for the ongoing project
• Extra urgent usable beta version
4
PROJECT TEAM
• Dedicated project manager
• Project owner / business consultant
• Development team
• Architect
• Lead developer / consultant
• 2 user interface developers
• 2 backend developers
• Database developer / admin
• 2 testers
5
TECHNOLOGIES
• Oracle table partitioning
• NHiberate data access layer
• Couchbase for distributed caching
• WCF
• Unity for the IOC and AOP
• Quartz.Net for job management and Map-Reduce
• Silverlight for user interface
• Team City and MBUnit for Continuous Integration
6
METHODOLOGY AND
DEVELOPMENT PROCESS
• Scrum/Agile
• Daily stand-up
• Sprint design meeting
• Task management
• Development stages
• Development environment
• Testing environment
• Release/Live environment
• Continuous Integration on every stage with Team City
• Custom solution for database versioning
7
Couchbase
Distributed Cache
WCF
Services
Oracle
Instance
Smart
Reader
System
Web Server
for Silverlight
Quartz.Net
Data import
Clients
BASIC NETWORK DIAGRAM
8
Couchbase
Distributed Cache
Smart
Reader
System
Web Server
for Silverlight
Clients
WCF Services
with business logic
Oracle
Shards
Quartz.Net with
Map-Reduce jobs
SCALED NETWORK DIAGRAM -
BUSINESS LOGIC RUNS INTO WCF SERVICES
Data import
9
Couchbase
Distributed Cache
WCF Services
with business logic
Oracle
Shards
Smart
Reader
System
Web Server
for Silverlight
Data import
Clients
Quartz.Net with Map-Reduce jobs,
Business logic directly injected into jobs
SCALED NETWORK DIAGRAM -
BUSINESS LOGIC RUNS DIRECTLY INTO JOBS
10
11
Business Logic
Facade
(DTO’s and Object Translation)
Interfaceand
modeldefinitions
IOCandAOP
Audit Couchbase
Job and Map-Reduce
Quartz.NET
core
Silverlight UI
Application DB
Audit
DB
Quartz.NET
DB
Repo’s DAO
LAYER DIAGRAM
WCF Instance
All layers run in
Quartz.NET AppDomain
12
Couchbase
Shard 1
Job and
Map-Reduce
Quartz.NET
core
Silverlight UI
Quartz.
NET DB
Shard 2 Shard n
Audit
DB
LAYER DIAGRAM
WITH SEPARATED APPDOMAINS
13
PATTERNS APPLIED
• CQRS (Command and Query Segregation)
• Repository pattern
• Singleton
• Interception
• Operation contract / Session and Transaction
• Facade pattern
THANK YOU
FOR YOUR ATTENTION!
BY TAMAS KLUBER

Contenu connexe

Tendances

Maximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your SleepMaximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your SleepSSP Innovations
 
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline PilotBIOVIA
 
PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...
PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...
PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...Puppet
 
How to Become a Superstar for Your Utility in 2 Weeks
How to Become a Superstar for Your Utility in 2 WeeksHow to Become a Superstar for Your Utility in 2 Weeks
How to Become a Superstar for Your Utility in 2 WeeksSSP Innovations
 
Efficient Customization of Multi-tenant SaaS Applications with Service Lines
Efficient Customization of Multi-tenant SaaS Applications with Service LinesEfficient Customization of Multi-tenant SaaS Applications with Service Lines
Efficient Customization of Multi-tenant SaaS Applications with Service LinesNiels Claeys
 
ArcGIS Pipeline Referencing - Lessons Learned
ArcGIS Pipeline Referencing - Lessons LearnedArcGIS Pipeline Referencing - Lessons Learned
ArcGIS Pipeline Referencing - Lessons LearnedSSP Innovations
 
PyData NYC 2015 Presentation
PyData NYC 2015 PresentationPyData NYC 2015 Presentation
PyData NYC 2015 Presentationviz4biz
 
Introduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedIntroduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedDr Neelesh Jain
 
Designing and Using Cached Map
Designing and Using Cached Map Designing and Using Cached Map
Designing and Using Cached Map M.Muneeb Ashraf
 
Comparison of Zabbix with market competitors
Comparison of Zabbix with market competitorsComparison of Zabbix with market competitors
Comparison of Zabbix with market competitorsRodrigo Mohr
 
(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform
(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform
(ATS4-APP06) Isentris Integration with the Accelrys Enterprise PlatformBIOVIA
 

Tendances (20)

Maximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your SleepMaximizing GIS Performance In Your Sleep
Maximizing GIS Performance In Your Sleep
 
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
(ATS3-APP05) Building Symyx Notebook dashboards with Pipeline Pilot
 
PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...
PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...
PuppetConf 2016: Puppet Enterprise Roadmap and How to Succeed with It – Susan...
 
What's it like to use the Utility Network
What's it like to use the Utility NetworkWhat's it like to use the Utility Network
What's it like to use the Utility Network
 
How to Become a Superstar for Your Utility in 2 Weeks
How to Become a Superstar for Your Utility in 2 WeeksHow to Become a Superstar for Your Utility in 2 Weeks
How to Become a Superstar for Your Utility in 2 Weeks
 
Efficient Customization of Multi-tenant SaaS Applications with Service Lines
Efficient Customization of Multi-tenant SaaS Applications with Service LinesEfficient Customization of Multi-tenant SaaS Applications with Service Lines
Efficient Customization of Multi-tenant SaaS Applications with Service Lines
 
ArcGIS Pipeline Referencing - Lessons Learned
ArcGIS Pipeline Referencing - Lessons LearnedArcGIS Pipeline Referencing - Lessons Learned
ArcGIS Pipeline Referencing - Lessons Learned
 
Data2Ontology
Data2OntologyData2Ontology
Data2Ontology
 
PyData NYC 2015 Presentation
PyData NYC 2015 PresentationPyData NYC 2015 Presentation
PyData NYC 2015 Presentation
 
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der LindenAMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
AMIS OOW Review 2012 - Deel 5 Coherence - Paco van der Linden
 
Introduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explainedIntroduction to Aneka, Aneka Model is explained
Introduction to Aneka, Aneka Model is explained
 
Vistrails and VTK Comparison
Vistrails and VTK ComparisonVistrails and VTK Comparison
Vistrails and VTK Comparison
 
EVOLVE'15 | Enhance | Richard Gatewood | Integrating SFDC & AEM
EVOLVE'15 | Enhance | Richard Gatewood | Integrating SFDC & AEM EVOLVE'15 | Enhance | Richard Gatewood | Integrating SFDC & AEM
EVOLVE'15 | Enhance | Richard Gatewood | Integrating SFDC & AEM
 
oracle openworld review UX presentation 2016
oracle openworld review UX presentation 2016oracle openworld review UX presentation 2016
oracle openworld review UX presentation 2016
 
Designing and Using Cached Map
Designing and Using Cached Map Designing and Using Cached Map
Designing and Using Cached Map
 
Apache Airavata Cloud Integration
Apache Airavata Cloud IntegrationApache Airavata Cloud Integration
Apache Airavata Cloud Integration
 
AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...
AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...
AMIS Oracle OpenWorld 2013 Review Part 1 - Intro Overview Innovation, Hardwar...
 
ADSL ppt
ADSL pptADSL ppt
ADSL ppt
 
Comparison of Zabbix with market competitors
Comparison of Zabbix with market competitorsComparison of Zabbix with market competitors
Comparison of Zabbix with market competitors
 
(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform
(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform
(ATS4-APP06) Isentris Integration with the Accelrys Enterprise Platform
 

En vedette

Rapport OXFAM sur l'évasion fiscale
Rapport OXFAM sur l'évasion fiscaleRapport OXFAM sur l'évasion fiscale
Rapport OXFAM sur l'évasion fiscaleSociété Tripalio
 
Take Data Validation Seriously - Paul Milham, WildWorks
Take Data Validation Seriously - Paul Milham, WildWorksTake Data Validation Seriously - Paul Milham, WildWorks
Take Data Validation Seriously - Paul Milham, WildWorksNodejsFoundation
 
La planificación gerencia
La planificación gerenciaLa planificación gerencia
La planificación gerenciaYumar Rondon
 
Track 2 session 4 - st dev con 2016 - opensoftwarex
Track 2   session 4 - st dev con 2016 - opensoftwarexTrack 2   session 4 - st dev con 2016 - opensoftwarex
Track 2 session 4 - st dev con 2016 - opensoftwarexST_World
 
Batch is Back: Critical for Agile Application Adoption
Batch is Back: Critical for Agile Application AdoptionBatch is Back: Critical for Agile Application Adoption
Batch is Back: Critical for Agile Application AdoptionDataWorks Summit/Hadoop Summit
 
Track 3 session 3 - st dev con 2016 - flex - modern product developmert for...
Track 3   session 3 - st dev con 2016 - flex - modern product developmert for...Track 3   session 3 - st dev con 2016 - flex - modern product developmert for...
Track 3 session 3 - st dev con 2016 - flex - modern product developmert for...ST_World
 
مقترح برنامج تطوير الأداء الجامعي
مقترح برنامج تطوير الأداء الجامعي مقترح برنامج تطوير الأداء الجامعي
مقترح برنامج تطوير الأداء الجامعي Wesam Rohouma
 
Track 1 session 4 - st dev con 2016 - mems piezo actuators
Track 1   session 4 - st dev con 2016 - mems piezo actuatorsTrack 1   session 4 - st dev con 2016 - mems piezo actuators
Track 1 session 4 - st dev con 2016 - mems piezo actuatorsST_World
 
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama KitabıWeb ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama KitabıBGA Cyber Security
 
Apache Drill Workshop
Apache Drill WorkshopApache Drill Workshop
Apache Drill WorkshopCharles Givre
 
Man in-the-browser Saldırılarının Analizi
Man in-the-browser Saldırılarının AnaliziMan in-the-browser Saldırılarının Analizi
Man in-the-browser Saldırılarının AnaliziBGA Cyber Security
 
V-Smart Billboard in Hanoi City-Apr 2016
V-Smart Billboard in Hanoi City-Apr 2016V-Smart Billboard in Hanoi City-Apr 2016
V-Smart Billboard in Hanoi City-Apr 2016Pham Huong
 

En vedette (14)

Direito autoral
Direito autoralDireito autoral
Direito autoral
 
Rapport OXFAM sur l'évasion fiscale
Rapport OXFAM sur l'évasion fiscaleRapport OXFAM sur l'évasion fiscale
Rapport OXFAM sur l'évasion fiscale
 
Take Data Validation Seriously - Paul Milham, WildWorks
Take Data Validation Seriously - Paul Milham, WildWorksTake Data Validation Seriously - Paul Milham, WildWorks
Take Data Validation Seriously - Paul Milham, WildWorks
 
CV final
CV finalCV final
CV final
 
La planificación gerencia
La planificación gerenciaLa planificación gerencia
La planificación gerencia
 
Track 2 session 4 - st dev con 2016 - opensoftwarex
Track 2   session 4 - st dev con 2016 - opensoftwarexTrack 2   session 4 - st dev con 2016 - opensoftwarex
Track 2 session 4 - st dev con 2016 - opensoftwarex
 
Batch is Back: Critical for Agile Application Adoption
Batch is Back: Critical for Agile Application AdoptionBatch is Back: Critical for Agile Application Adoption
Batch is Back: Critical for Agile Application Adoption
 
Track 3 session 3 - st dev con 2016 - flex - modern product developmert for...
Track 3   session 3 - st dev con 2016 - flex - modern product developmert for...Track 3   session 3 - st dev con 2016 - flex - modern product developmert for...
Track 3 session 3 - st dev con 2016 - flex - modern product developmert for...
 
مقترح برنامج تطوير الأداء الجامعي
مقترح برنامج تطوير الأداء الجامعي مقترح برنامج تطوير الأداء الجامعي
مقترح برنامج تطوير الأداء الجامعي
 
Track 1 session 4 - st dev con 2016 - mems piezo actuators
Track 1   session 4 - st dev con 2016 - mems piezo actuatorsTrack 1   session 4 - st dev con 2016 - mems piezo actuators
Track 1 session 4 - st dev con 2016 - mems piezo actuators
 
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama KitabıWeb ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
 
Apache Drill Workshop
Apache Drill WorkshopApache Drill Workshop
Apache Drill Workshop
 
Man in-the-browser Saldırılarının Analizi
Man in-the-browser Saldırılarının AnaliziMan in-the-browser Saldırılarının Analizi
Man in-the-browser Saldırılarının Analizi
 
V-Smart Billboard in Hanoi City-Apr 2016
V-Smart Billboard in Hanoi City-Apr 2016V-Smart Billboard in Hanoi City-Apr 2016
V-Smart Billboard in Hanoi City-Apr 2016
 

Similaire à Project Argus-Tamas Kluber

apex101-326750.ppt
apex101-326750.pptapex101-326750.ppt
apex101-326750.pptKashi69
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19cMaria Colgan
 
Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"LogeekNightUkraine
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoMarketingArrowECS_CZ
 
Community Session: Strategic Private Cloud in SKY UK
Community Session: Strategic Private Cloud in SKY UKCommunity Session: Strategic Private Cloud in SKY UK
Community Session: Strategic Private Cloud in SKY UKVMUG IT
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applicationsurskeshav
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk NewsESUG
 
AdvancedMiner predictive analytics platform overview
AdvancedMiner predictive analytics platform overviewAdvancedMiner predictive analytics platform overview
AdvancedMiner predictive analytics platform overviewAlgolytics (old account)
 
AdvancedMiner predictive analytics software platform overview
AdvancedMiner predictive analytics software platform overviewAdvancedMiner predictive analytics software platform overview
AdvancedMiner predictive analytics software platform overviewAlgolytics
 
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?DMC, Inc.
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indixYu Ishikawa
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Subbu Rama
 
Upgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know AboutUpgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know AboutGeraint Thomas
 
Olaf_Senz_Resume
Olaf_Senz_ResumeOlaf_Senz_Resume
Olaf_Senz_ResumeOlaf Senz
 
Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Featuresmsewtz
 

Similaire à Project Argus-Tamas Kluber (20)

apex101-326750.ppt
apex101-326750.pptapex101-326750.ppt
apex101-326750.ppt
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
 
Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"Oleksandr Denysiuk "Modern Digital Enterprises"
Oleksandr Denysiuk "Modern Digital Enterprises"
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší novéhoOracle Database 19c - poslední z rodiny 12.2 a co přináší nového
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
Community Session: Strategic Private Cloud in SKY UK
Community Session: Strategic Private Cloud in SKY UKCommunity Session: Strategic Private Cloud in SKY UK
Community Session: Strategic Private Cloud in SKY UK
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
 
Atul_T_Biradar_CV
Atul_T_Biradar_CVAtul_T_Biradar_CV
Atul_T_Biradar_CV
 
AdvancedMiner predictive analytics platform overview
AdvancedMiner predictive analytics platform overviewAdvancedMiner predictive analytics platform overview
AdvancedMiner predictive analytics platform overview
 
AdvancedMiner predictive analytics software platform overview
AdvancedMiner predictive analytics software platform overviewAdvancedMiner predictive analytics software platform overview
AdvancedMiner predictive analytics software platform overview
 
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?
 
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
AMIS Oracle OpenWorld 2015 Review – part 3- PaaS Database, Integration, Ident...
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix
 
AhmedWasfi2015
AhmedWasfi2015AhmedWasfi2015
AhmedWasfi2015
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
 
OBIEE Upgrade - Key things you need to know
OBIEE Upgrade  - Key things you need to know OBIEE Upgrade  - Key things you need to know
OBIEE Upgrade - Key things you need to know
 
Upgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know AboutUpgrading To OBIEE 12C - Key Things Your Need To Know About
Upgrading To OBIEE 12C - Key Things Your Need To Know About
 
Olaf_Senz_Resume
Olaf_Senz_ResumeOlaf_Senz_Resume
Olaf_Senz_Resume
 
Oracle APEX 18.1 New Features
Oracle APEX 18.1 New FeaturesOracle APEX 18.1 New Features
Oracle APEX 18.1 New Features
 

Project Argus-Tamas Kluber

  • 1. Reporting and analysing system based on business customers’ energy usage made for E.ON Hungary PROJECT ARGUS (CAPTURE LTD 2011-2012) 1
  • 2. BUSINESS FUNCIONALITY E.ON collects data of energy usage (both electricity and gas) on business customers via smart meters into a specially designed system. The Argus system was designed to analyse these data, report them and raise alerts at unusual usage to inspectors. 2
  • 3. PREVIOUS SYSTEM Disadvantages: • Performance issues • Need to be installed separately to every PC  too much work at each version-release • Too complicated to add new features • Data audition could have been hard to implement • Designed to analysed only electricity data Architecture: • Based on Java • Desktop based • Oracle database 3
  • 4. TECHNICAL REQUIREMENTS • Oracle database • Vertical and horizontal scalability • Easy to audit the user data changes • Web based system for the centralized version management • Browser independency • Supporting both electricity and gas data • Use the existing export-function from the smart reader system without much modification • Extendibility for home users for the ongoing project • Extra urgent usable beta version 4
  • 5. PROJECT TEAM • Dedicated project manager • Project owner / business consultant • Development team • Architect • Lead developer / consultant • 2 user interface developers • 2 backend developers • Database developer / admin • 2 testers 5
  • 6. TECHNOLOGIES • Oracle table partitioning • NHiberate data access layer • Couchbase for distributed caching • WCF • Unity for the IOC and AOP • Quartz.Net for job management and Map-Reduce • Silverlight for user interface • Team City and MBUnit for Continuous Integration 6
  • 7. METHODOLOGY AND DEVELOPMENT PROCESS • Scrum/Agile • Daily stand-up • Sprint design meeting • Task management • Development stages • Development environment • Testing environment • Release/Live environment • Continuous Integration on every stage with Team City • Custom solution for database versioning 7
  • 8. Couchbase Distributed Cache WCF Services Oracle Instance Smart Reader System Web Server for Silverlight Quartz.Net Data import Clients BASIC NETWORK DIAGRAM 8
  • 9. Couchbase Distributed Cache Smart Reader System Web Server for Silverlight Clients WCF Services with business logic Oracle Shards Quartz.Net with Map-Reduce jobs SCALED NETWORK DIAGRAM - BUSINESS LOGIC RUNS INTO WCF SERVICES Data import 9
  • 10. Couchbase Distributed Cache WCF Services with business logic Oracle Shards Smart Reader System Web Server for Silverlight Data import Clients Quartz.Net with Map-Reduce jobs, Business logic directly injected into jobs SCALED NETWORK DIAGRAM - BUSINESS LOGIC RUNS DIRECTLY INTO JOBS 10
  • 11. 11 Business Logic Facade (DTO’s and Object Translation) Interfaceand modeldefinitions IOCandAOP Audit Couchbase Job and Map-Reduce Quartz.NET core Silverlight UI Application DB Audit DB Quartz.NET DB Repo’s DAO LAYER DIAGRAM
  • 12. WCF Instance All layers run in Quartz.NET AppDomain 12 Couchbase Shard 1 Job and Map-Reduce Quartz.NET core Silverlight UI Quartz. NET DB Shard 2 Shard n Audit DB LAYER DIAGRAM WITH SEPARATED APPDOMAINS
  • 13. 13 PATTERNS APPLIED • CQRS (Command and Query Segregation) • Repository pattern • Singleton • Interception • Operation contract / Session and Transaction • Facade pattern
  • 14. THANK YOU FOR YOUR ATTENTION! BY TAMAS KLUBER