1

The Image Recognition System

Marketing
eCommerce
NoSQL
MongoDB
Java

The customer

The system is an innovative augmented reality application that recognizes visual objects and enables consumers to find information about what they see on a TV screen, billboards, or anywhere else right in the moment. Users can simply scan an image and the system will provide all the information about advertised goods or services.

The need

The legacy application API was outdated with a complicated business logic and bad user experience. In addition, the system transferred such data as a session ID and user credentials with each query, which posed security vulnerability. The customer needed a smart middleware that would connect the old API with today’s rich applications. Altoros was to suggest a scalable, high-load, and fast solution that would provide a quick search through a large database of different media content.

The challenges

The legacy outdated API created a lot of challenges. To design a connector that would allow for integrating new applications with the system, the developers were to investigate the business logic of the solution and its architecture. Being developed long ago, the API featured slow complicated queries/calls. The team also had to solve a compatibility issue. The data is stored in the system in the JSON format and then converted to the XML format to be displayed to users. In addition, some data contained CDATA sections. They had to be shown but this feature was not supported by the JSON format.

The solution

To improve availability and performance of the system, the team suggested dividing the stored data into two groups and keep images separately from the text descriptions. The indexed text data is stored in a new database with a fast search. Altoros’s engineers also helped to set up and manage a computing cluster that was hosted in the Profitbricks virtual environment. This SaaS solution was selected because of its live vertical scaling feature.

The outcome

Currently the system is being tested under different types of tasks to identify the maximum load it can deal with. If necessary, a number of improvements will be made to reach a response time of 1 second for 1,000 concurrent users.

Technology stack

Server platform

Ubuntu 12.04.2

Programming languages

Java

Technologies

Java Servlets, Mongo Java Driver, Jackson JSON Processor, Jackson FasterXML, HTTPUnit, XMLUnit

Databases

MongoDB

Client Platform/Application Server

Apache Tomcat 7

Development Environment

Ubuntu 12.04, Eclipse IDE, Jenkins

Seeking a solution like this?
Contact us and get a quote within 24 hours

Preloader
Photo
Alex Tsimashenka
Business Development Director
a.tsimashenka@altoroslabs.com
Headquarters
+1 (650) 419-3379
Toll-Free
1-855-ALTOROS