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
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