Customer applications

Eneco Belgium, a major energy supplier, has acquired more than 250.000 customers in B2C segment since 2012. All online client interactions are being handled by ThinkNexT applications. This includes client acquisition, changing the method of payment, contacting Eneco and handling move-outs / move-ins.

Eneco Belgium

case-eneco-1Energy supplier Eneco Belgium is active in the production and delivery of gas and electricity from sustainable sources such as solar, wind and biomass. Eneco has been active in Belgium since 2003 and its clientele is made up of more than 4,000 companies and 250,000 private individuals.

Eneco owns and manages 72 operational wind turbines in Belgium, numerous large solar developments and several bio-gas plants. Since its creation, Eneco Belgium has grown continually and now employs 150 people with an annual turnover of 800 million Euros. In 2011, the Eneco group as a whole generated a turnover of more than 5 billion Euros. Altogether Eneco has 7,000 employees. Read more on www.eneco.be

Home page

All customer applications are online available from the Eneco home page. They all integrate with the website’s look-and-feel.
eneco-home-page-screen

Client acquisition

The application available on contract.eneco.be enables the acquisition of new clients. The application is a four-step wizard. When the wizard is completed, the request is handed off to a backend application responsible for further validation and enrichment of the data. The processed contracts are subsequently stored by Eneco’s Enterprise Resource Planning (ERP) system.
eneco-client-acquisition

Method of payment

eneco-domi-grayEneco offers two methods of payment to its customers: (1) automatic SEPA Direct Debit and (2) manual wired transfer. The application domi.eneco.be enables existing and new customers to arrange their payment through SEPA Direct Debit. When a request is submitted, the application performs the necessary validations and further processes the request. The necessary information is then provided to the ERP system.

Contacting Eneco

All clients can contact Eneco through the online question form (contact.eneco.be), by email or directly by telephone. All these client interactions are centrally stored and handled by the Contact application. That internal application is described here in detail.

Move-outs and move-ins

eneco-move-grayEnergy supplier Eneco delivers electricity and gas at a specific address. It is therefor important to take appropriate action when existing customers are moving out of their current residence and moving to another. For this important business process ThinkNexT developed the Move application. In that application a move out/in is either automatically detected or detected as a consequence of a customer reporting his move out/in. In the former, the client is notified whether or not he wants to take his contract with him. In the latter, the customer indicates through the move form all the details regarding contract renewal.

Technical

Architecture

high-level-functional-diagram

Application technology

All ThinkNexT applications are Java based. They use the Tapestry web framework in combination with Hibernate for database connectivity. Hibernate allows us to build our applications on top of any type of database whether that is MySQL, MSSQL, Oracle or others.

High availability

The application is high-available deployed on multiple servers in order to guarantee continuous uptime. Load balancers are used to balance traffic across the servers. Http server technology is Apache and the application container is Apache Tomcat.

Performance

The application uses a job-based batch processing architecture to realize high data throughput. Multiple application bundles are deployed to allow parallel operation on the same data. The application gracefully degrades in the event of a crash occurring in a single bundle.

Testing and deployment

Continuous integration techniques, based on Jenkins, are used to test the applications. Continuous deployment driven by Maven and custom technology is integrated in the application. That gives us the advantage to upgrade the application in less than a minute with just a push on a button.

Reliability

Transactionality is implemented on the level of jobs: either a job succeeds and all data is changed consistently or it fails and the data is rolled back to the previous consistent state. That approach follows the unit of work pattern. Import and export of file based data is implemented using a two-phased commit protocol.

Monitoring

The application is being centrally monitored by our custom monitoring system Logness. Logness monitors application availability and stores the application logs. Automated pattern analysis is performed on error and warning logs. This allows us to preemptively solve problems.

Ease-of-use

In our applications we emphasise ease-of-use. That is inline with our vision to keep things as simple as possible. We believe that also administrative applications should be attractive and fun to work with.