Success Stories

SevOne. Migrating SOAP to RESTful API

Designing a simple and intuitive interface convention

Overview

We delivered a RESTful API for one of SevOne’s existing enterprise solutions to provide integration and interoperability between the company products and allow faster and easier customised deployment upgrades. This was achieved by designing a simple and intuitive interface convention and enforcing solid policies for backward compatibility. The client was delighted with our solution, which became very popular and widely adopted within the company and the entire customer base.

Challenges

SevOne was building product add-ons relying on their on-premise middleware, which required extensive knowledge of the system's internal logic. Over a month, it took a customer or a new developer to get into the complex environment and understand the current system's internal logic. Each upgrade to a newer product version required manual migration of all add-ons, and since the integration layer was not correctly defined, there was no way to track the versioning or control the changes.

The tracking disability was a severe challenge to SevOne as their customers were using various versions of the product, and identifying, diagnosing, and resolving problems was extremely difficult. Our R&D team was tasked with finding a way to expose all business logic of the solution and allow for faster and easier upgrades of related products.

Solution

We thoroughly inspected and analysed the client’s existing solution, including its SOAP API interface, and identified several issues hindering its functionality and usability. Based on our analysis, we decided that implementing a RESTful API and its standards would be the best solution in the client’s case. Therefore, we introduced a better naming convention for domain entities, standard business flows, and functions.

To make the API more convenient, we used a RESTful convention to build the API interface (endpoints, methods, HTTP headers, etc.). We introduced intuitive and consistent practices about standard functionalities like paging, sorting, and filtering. The team provided complete documentation about the solution and its features. Also, to guarantee the quality of the project, we developed and implemented automated tests for continuous integration (CI). The delivery of the API was smooth, and we continue maintaining it to be backward compatible and consistent with older versions.
Results
  • Clear visibility and more straightforward support and upgrades for all add-ons
  • Shorter time to get familiar with the product and create add-ons without customizing the core product
  • The ability to write scripts and automate administrative actions 
  • The ability to develop scripts for automation of day-to-day support activities
  • Enabling customers to integrate SevOne’s functionality into their software solutions
  • SevOne’s customers prefer the RESTful API we developed to their existing GUI interface
Quick Facts
Duration: 4+ years

Technology Stack: Java, Spring Framework, MySQL, Apache, Jetty

Team: 2 Software Architects, 10 Software Developers, 2 QA Engineers

Let's talk about your Ideas.

Contact Us