Table of content
- Client Overview
- Engagement Situation
- Key Requirements
- Xoriant's Contribution
- Xoriant's key contributions
- High-Level Architecture Diagram
- Tools and Technology
- Results/Client Benefits
Our client is a leader in the field of designing and manufacturing advanced power electronics for renewable energy, backup power, marine and mobile applications. Our client develops, manufactures and delivers innovative and competitive renewable energy power products and services.
Our client's products use solar energy to recharge inverters that provide electricity during power outages. Our client wanted to leverage Internet of things (IoT) and M2M communication technologies to automate the process of collecting data, processing it and converting it into graphical representation for the purpose of monitoring their devices.
Using IoT technologies the data from our client's power storage devices (invertors, charge controllers, generators, etc.) would be sent to the cloud data server. And through aggregation services customer’s current and historic device data would be aggregated which will then be used to generate energy consumption reports.
Other features that were required are: Profile and User management modules, application with a rich UI with different elements like graphs, etc.
- Seamlessly reading the sensor data from the power storage devices
- Developing and sustaining a web application for their energy storage products
- Building a rich UI with ease of use for both our client’s employee and their end customers (Administrative view and User view)
- Collection of the relevant data to generate reports of power usage and consumption
- Graphical representation for depicting the use of power sources and the history to help monitor and track any discrepancies
Xoriant collaborated with client's technical team comprising of Product Manager, System Manager, Developers and QA team to start the engagement. Xoriant’s core team comprised of a Project Manager, Senior Technical Architect and .NET technical lead.
Xoriant deployed Senior Technical Architect onsite who understood the existing system and the requirements of our client and documented the understanding and held several meetings with the offshore team to define the new architecture and functionality.
The project was executed from offshore in phases as shown in the figure below:
Figure 1: Phases of Project
XORIANT'S KEY CONTRIBUTIONS
- Used IoT technologies to automate the process of collecting data from the device installed in a remote location in the Azure Cloud
- Developed the web application which displayed the live energy flow and aggregated data dashboard along with device registration, profile and site management
- Converted protocol data into readable data and stored in ATS (Azure Table Storage) through Device API
- Developed the UI which showed the energy flow dashboard with live data and direction of energy flow related to solar, load, battery, generator, grid
- Used Angular JS as the framework to achieve rich UI for the web application
- Used Angular JS and Web API to make the application compatible with desktops, laptops and hand-held devices
- Implemented the dependency injection using the IOC container called Ninject to accelerate development time
- Created a cloud helper class which handles all the tables, blob and queue storage reference using static methods thereby reducing the web application load time
- Created aggregation service algorithm which handles aggregated data from solar grid, inverter for hour, day, month and year, thereby allowing report generation based on several filters
HIGH-LEVEL ARCHITECTURE DIAGRAM
Figure 2: High-Level Architecture diagram
Device API here collects the data from device hardware and allows it to be stored in the ATS. The data is then queued and used further by Aggregating Service.
The aggregated data stored in ATS and SQL Azure (collectively it makes up for the web application database) is used to create graphs and display it on the UI using Frontend API.
TOOLS AND TECHNOLOGY
- Visual Studio 2012
- .NET Framework 4.0
- SQL Azure
- Platform used was Windows Azure
- Version/Source control used TFS
- Angular JS, jQuery
With Xoriant’s well planned approach and effective partnering, our client reaped the following benefits:
- Optimized web application load time by 75% with the implementation of Optics Wrapper and Cloud Helper class
- Created extensive document for technical and functional understanding of the application for our client's technical and product team
- Programmed cache repository to be updated every 10 minutes thus ensuring updated data in the repository
- Mobilizing the web application for hand-held device enabled user to access the application and monitor the status of their energy devices