Projects

SaaS solution for managing construction and agriculture sites

Type Web application
TECHNOLOGIES Java, JavaScript
DURATION 8 years
TEAM 33 employees

Through ISS ART’s engagement with APD we have developed the system for Trimble Navigation.

The web application has been developed for a global leading provider of advanced location-based solutions (positioning systems) — Trimble Navigations. The system has 21’755’588 weekly queries with support of complex search results exceeding 270 searches/second in production.

The project is a web-portal for managing manufacturing process in providing a wide range of solutions: adjusting Client’s own web interface of an application using the modules offered by the system, creating future construction projects, approving documents, managing virtual filesystem. This system is applied in construction, agriculture and other industries.

Challenges

Development challenges:

  1. The client needed to considerably enlarge the system and its database. Large volumes of data had to be migrated from the server to Cloud. The client faced the problem of low productivity. The downtime was longer than 30 seconds.
  2. The server deployment should be simplified and all dependencies on a great number of technologies should be excluded.
  3. With the project growth the number of users asking for additional modules increased. These modules needed to be implemented at the user end.

QA challenges:

  1. This is the SaaS application with desktop, mobile and web clients. The application has its own virtual file system that stores various user contents. The application users have different roles in the application and different permissions for application objects and contents. The application has many third party plugins with complex business logic for specific industries. The application has a few backend services, which perform time and resource consuming actions, which are configured with numerous backend parameters. The application can be classified as a Big Data application. A real challenge was the development of test data, which would include users with various roles, multiple types of objects and contents with assigned permissions for different types of users. We had to take into account that the data could be synchronized to users desktop with the application desktop client.
  2. The application UI was translated to 15 languages and as each iteration there were changes in front end, we had to conduct localization testing. We had to develop a special process for testing localization and involve translators in it.
  3. The development and QA teams of the project were distributed between 3 offices, located in the different time zones, so the QA processes we developed took into account this fact.
  4. The project was featured by a long iteration period, so each release consisted of a number of new features and fixed bugs. We introduced to the QA process the impact analysis, which we conducted before release testing in order to optimize the testing efforts.
  5. The application has the comprehensive documentation and since throughout the development it was constantly updated, QA team was involved in the review of the application documentation and manuals.
Solutions
  1. For solving problems of low productivity and database migration our specialists used a complex approach: they introduced Amazon Web Services and created their own filesystem that improved the whole system.
  2. Our developers used Quercus (http://quercus.caucho.com/) and integrated it with the server.
  3. We created a new feature Application service that makes it possible to add third parties’ modules. UI modules can be integrated with the web-portal, a business logic is written in Groovy and it is available as REST API.

QA activities:

Functional testing, load testing, usability testing, localization testing, configurational testing, compatibility testing, security testing, web Automation, QA process establishment and management.

QA tools:

Selenium, Browser DevTools, Postman, Apache JMeter, MySQL Workbench, Putty, Fiddler, JIRA, Zephyre, SwaggerUI, Blazemeter, Datadog, NewRelic, Loggly, SauceLabs, Nessus scanner.

Results
  1. The client needed to considerably enlarge the system and its database. Large volumes of data had to be migrated from the server to Cloud. The client faced the problem of low productivity. The downtime was longer than 30 seconds.
  2. The server deployment should be simplified and all dependencies on a great number of technologies should be excluded.
  3. With the project growth the number of users asking for additional modules increased. These modules needed to be implemented at the user end.
Areas of expertise

High load systems // Scalability // Big data // Failover // Multithreading // AWS administration (EC2; S3; RDS; ELB; CloudFront; ElasticCache; Route53; CloudWatch) // Continuous integration bamboo // Localization // Fulltext search using Solr engine // Dynamically extensible UI and backend // Secure execution of external Groovy scripts

Additional Technologies

C++ // C # // Groovy // Spring // Hibernate // Mysql

See our client's feedback

See our client's feedback

Application to store 3D models
Application to store 3D models
Cassantec prognostic solution
Cassantec prognostic solution