First Line Software is a premier provider of software engineering, software enablement, and digital transformation services. Headquartered in Cambridge, Massachusetts, the global staff of 450 technical experts serve clients across North America, Europe, Asia, and Australia.
Our client is a publicly-traded company and is one of the largest auction houses in the world. Its mission is to be the primary venue for the privatization auctions of large objects of property for special government tenders, while also servicing private auctions for art, land, real estate, and more.
The Challenge
First Line Software was enlisted by the client to build a new version of the auction engine that could facilitate the entire range of the various types of auctions (English auctions, Dutch auctions, reserve/no reserve, etc.). The existing auction engine’s performance was no longer enough for supporting large numbers of participants and bids, and could not properly support all of the auction types that the client wanted to conduct.
The Solution
The new platform developed by the First Line Software team of experts includes both the online auction engine and the support for the auction hall functionality, as well as mixed auctions where participants can bid in person in the auction hall or by phone and via the web.
Dedicated iOS and Android mobile applications were developed to support logging into one’s account on the website, viewing the status of lots/bids, and placing bids for auctions where the user is registered. Registering for new auctions may not always be possible from a mobile device because by local law, in order to register for some auctions it may be required to use a certified electronic signature, a technology that is not supported on mobile platforms.
The system uses sharding to achieve database-level horizontal scalability. Initially designed for clustering, the system minimizes server-side session state storage to reduce replication. The platform uses Solr for full-text search, CSP/JСP for electronic signature functionality, and Jaspersoft BI tools for reporting.
The Results
The client’s functional and performance requirements have been successfully met. Extensive testing of the system deployed on two nodes of the cluster using two shards has achieved the performance of 1,000 queries per second. The throughput between application servers and the database was revealed to be the most serious performance bottleneck, which was easily rectified by adding more shards. End users can now seamlessly participate in the auctions from their mobile devices.
The Team
- Team size: 8
- Total effort: 60 person-months
The Technological stack
PostgreSQL; Spring; Tomcat; JSP; Mockito; JUnit; Selenium; Jenkins; Java; nHibernate;