Domain management system for Nominet
Nominet are the biggest domain name registry in the UK, responsible for the .uk, .cymru, and .wales top-level domains. Every day, Nominet handles over 3 billion DNS queries for over 10 million domains. Millions of businesses and consumers rely on their expertise and internet infrastructure, and have done for over 20 years.
To cater for the introduction of the new Generic Top Level Domains (gTLD’s), Nominet embarked upon a project to develop a gTLD Management web application to allow domain registrars to manage their portfolio of gTLDs. Clarity Software Solutions were delighted to be engaged in a lead role to design and develop the system. Working onsite alongside Nominet’s development and project management teams, we were instrumental in the entire project life cycle, from design, development, test and production deployment.
Domain registrants – individual businesses and consumers – purchase domain names through a domain registrar such as GoDaddy, 1and1, or 123-Reg. The domain registrar registers the domain name with the domain registry responsible for the top-level domain. Nominet are the domain registry for the .uk, .cymru and .wales top-level domains, with over 10 million domain names. Large domain registrars will have portfolios of 10’s of thousands of registered domains.
Generic Top-Level Domains
The original top-level domains include .com, .org, .net. Geographic TLD’s include .uk, .de, .fr. The Internet Corporation for Assigned Names and Numbers (ICANN) are responsible for the launch of new generic top-level domains, with domain registries such as Nominet being the central registry for these. Nominet are the registry for new gTLDs including .cooking, .fashion, .london; and .brand, .blog and .vip which are expected to attract significant volumes.
Domain Management Web Application
Nominet already had some online functionality for registrars, and the new application was to interface to the existing registrar logon and dashboard facilities. It should interface with existing internal systems and databases, and from an architectural perspective, should fit within their established java based technology stack and microservice infrastructure.
Clarity Software Solutions led the design and development effort to produce a secure, modern json REST API written in java technologies including Spring, jersey and Oracle. Further down the stack, microservices using hessian as the binary transport interact with existing business systems and applications. The software development approach centred around TDD and BDD, with all code being tested by the Continuous Integration environment.
At the front end a modern angularJs web application was written, consuming the services exposed by the REST API. Nominet standard markup and css was used to achieve a modern UX, consistent with brand guidelines and Nominet’s other online offerings.
The REST API and microservices were designed from the outset to be stateless, allowing the application to scale horizontally. Scalability was further addressed through techniques such as capping and paging queries of domains and associated data, preventing result sets of 10’s of thousands of domains being returned from one HTTP request. Pre-compiled database views were used to help queries, preventing the need for joins across disparate schemas at request time.
The project was run and delivered in an iterative manner. Phase 1 delivered core functionality including basic domain management, registration and transfers, contact management, and name server management. The start of Phase 2 overlapped the QA testing of Phase 1 and included domain registrations for Trade Mark holders and enhanced domain transfer functionality.
Both phases of the project were delivered on time and on budget. The application is in use by major domain registrars and will be significant in the widescale up take of new gTLD’s such as .blog