project argus-tamas kluber

14
Reporting and analysing system based on business customers’ energy usage made for E.ON Hungary PROJECT ARGUS (CAPTURE LTD 2011-2012) 1

Upload: tamas-kluber

Post on 06-Jan-2017

78 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Project Argus-Tamas Kluber

Reporting and analysing system based on business customers’ energy usage

made for E.ON Hungary

PROJECT ARGUS (CAPTURE LTD 2011-2012)

1

Page 2: Project Argus-Tamas Kluber

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

Page 3: Project Argus-Tamas Kluber

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

Page 4: Project Argus-Tamas Kluber

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

Page 5: Project Argus-Tamas Kluber

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

Page 6: Project Argus-Tamas Kluber

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

Page 7: Project Argus-Tamas Kluber

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

Page 8: Project Argus-Tamas Kluber

Couchbase Distributed Cache

WCF Services

Oracle Instance

SmartReaderSystem

Web Server for Silverlight

Quartz.Net

Data import

Clients

BASIC NETWORK DIAGRAM8

Page 9: Project Argus-Tamas Kluber

Couchbase Distributed Cache

SmartReaderSystem

Web Server for Silverlight

Clients

WCF Services with business logic

OracleShards

Quartz.Net with Map-Reduce jobs

SCALED NETWORK DIAGRAM -

BUSINESS LOGIC RUNS INTO WCF SERVICES

Data import

9

Page 10: Project Argus-Tamas Kluber

Couchbase Distributed Cache

WCF Serviceswith business logic

OracleShards

SmartReaderSystem

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

Page 11: Project Argus-Tamas Kluber

11

Business Logic

Facade(DTO’s and Object Translation)

Inte

rfac

e an

dm

odel

defi

nitio

ns

IOC

and

AOP

Audit Couchbase

Job and Map-ReduceQuartz.NET core

Silverlight UI

Application DB Audit DB

Quartz.NET DB

Repo’s DAO

LAYER DIAGRAM

Page 12: Project Argus-Tamas Kluber

WCF Instance

All layers run inQuartz.NET AppDomain

12

Couc

hbas

e

Shard 1

Job andMap-Reduce

Quartz.NET core

Silverlight UI

Quartz.NET DB Shard 2 Shard n Audit

DB

LAYER DIAGRAMWITH SEPARATED APPDOMAINS

Page 13: Project Argus-Tamas Kluber

13

PATTERNS APPLIED

• CQRS (Command and Query Segregation)• Repository pattern• Singleton• Interception• Operation contract / Session and Transaction• Facade pattern

Page 14: Project Argus-Tamas Kluber

THANK YOUFOR YOUR

ATTENTION!

BY TAMAS KLUBER