Service Architecture

In order to make the frontend and internal applications at Eneco scalable, ThinkNexT introduced a service layer on top of the existing ERP system. That layer encapsulates the ERP specifics and enables single-sign-on services and access to master data.

Eneco Belgium

case-eneco-servicesEnergy 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-scalable-services

Scalable services

Eneco works on a proprietary ERP system. Typically, ERP systems are rather slow making scalability and high-available dependencies problematic. That is why ThinkNexT implemented a scalable, high-available service layer that offers its services and data to Eneco’s customer facing and internal applications.

The service layer has its own read-replicated database that is kept in sync with the master data that resides in the ERP system. For read and write operations, the service layer exposes REST webservices. Write operations that need to go through to the ERP system are buffered in case the ERP system is unavailable.

With this architecture, the end-applications can scale up and can rely on the fact that the service layer is high-available. That, in combination with easy-to-use webservices, makes that those end-applications can be developed quickly and maintained with little effort.

Single sign-on

A single sign-on service is part of the service layer. It offers authentication and authorization to end-applications. That is a big advantage because the applications themselves won’t have to implement such tedious security concerns all over again. Furthermore enables this operators to easily switch from one internal application to another without having to log in again.

Technically, the authentication server exposes its services through an URL-API based on the REST protocol. These services are called by application servers that require this service. In order to secure the environment, all communication is secured over SSL and all credentials are stored using one-way encryption.