OCPI Protocol Implementation
1
Client
Our client is a Malaysia-based manufacturer of electric vehicle (EV) charging stations. As a key player in the growing e-mobility sector, they were looking to optimize and future-proof their Central Management System (CMS) to better serve their expanding customer base. Their goal was clear: to build a robust, scalable, and reliable platform that aligned with industry standards like OCPI (Open Charge Point Interface) and OCPP (Open Charge Point Protocol).
Review on clutch here.
​
​
​
3
Description
We were tasked with developing a new and improved version of the client’s Central Management System. The primary objectives were compatibility with industry-standard protocols like OCPI and OCPP and resolving critical issues in their existing CMS.
The client’s original system, while functional, failed to meet performance expectations and was not adequately equipped for future integrations. These limitations became a bottleneck as the company scaled its operations.
5
Solution
To address the client’s challenges and meet their objectives, we took a strategic, multi-pronged approach:
​
-
Open-Source OCPI Implementation: Recognizing the budget constraints, we developed and integrated an open-source OCPI solution. This provided the required functionality without incurring excessive costs, enabling the client to achieve protocol compatibility affordably.
-
Charge Station Simulator: To streamline development and testing, we built a custom charge station simulator. This tool allowed us to replicate real-world scenarios, identify issues early, and speed up the development process.
-
System Redesign: We conducted a comprehensive review of the existing codebase to identify inefficiencies and areas for improvement. Armed with this insight, we created a detailed software specification and an entirely new system design.
​
​
2
Technologies
For this project, we selected a technology stack designed to ensure optimal performance, flexibility, and scalability:
-
Python and FastAPI: These technologies enabled us to build a fast, efficient, and maintainable backend. FastAPI’s high-performance framework ensured quick response times, while Python’s versatility allowed for seamless customization and integration.
-
Docker and Kubernetes: To make the system environment-agnostic, we containerized it with Docker and used Kubernetes for orchestration. This approach guaranteed that the CMS could function reliably on any machine, regardless of location.
-
AWS: For hosting and cloud services, we leveraged AWS. Its pay-as-you-go model allowed us to provide a scalable solution that eliminated the need for upfront investment in physical servers.
-
Ruby on Rails: Known for its developer-friendly nature, we used Ruby on Rails to accelerate the development of new features. This choice allowed the client to roll out updates quickly and stay ahead in a competitive market.
​
​
4
Problems
The existing system faced multiple critical challenges beyond the initial points. The unknown technology stack created significant maintenance difficulties, as the team couldn't effectively troubleshoot or implement updates without proper documentation. The latency issues were particularly severe during peak hours, with response times exceeding 5 seconds for basic operations, leading to user frustration and potential safety concerns at charging stations. There was also not enough budget to implement OCPI functionality.