Nominet Domain Availability Checker

Cerrado Publicado Nov 18, 2010 Pagado a la entrega
Cerrado Pagado a la entrega

**Outline**

We require a small and simple application that performs plain text and XML requests though a TCP Sockets, and listens for responses asynchronously. The most critical factor in this application is timing, requests will need to be sent at precise intervals, and responses will be need to be listened for, and acted on in microseconds.

The application is for querying and registering domain names via the many API's that domain registrars provide. Initially the project will focus on integrating with the Nominet DAC (Domain Availability Checker) - used for checking domain name availability, and the Nominet EPP (Extensible Provisioning Protocol), used for registering domain names.

## Deliverables

**Outline**

We require a small and simple application that performs plain text and XML requests though a TCP Sockets, and listens for responses asynchronously. The most critical factor in this application is timing, requests will need to be sent at precise intervals, and responses will be need to be listened for, and acted on in microseconds.

The application is for querying and registering domain names via the many API's that domain registrars provide. Initially the project will focus on integrating with the Nominet DAC (Domain Availability Checker) - used for checking domain name availability, and the Nominet EPP (Extensible Provisioning Protocol), used for registering domain names.

**Basic Application Flow**

1. The application will connect to a services API to receive information from a management system. The information received will be in JSON over HTTP, and contain an object of domain names, and the interval in milliseconds that they domain will be queried in. This request will be re-made every 60 seconds so the application can receive new settings from the management system, and adjust itself accordingly (e.g. a domain may be removed, and/or a new one added).

<!-- -->

1. The application will initiate and maintain two TCP sockets, one to the DAC service, and one to the EPP Service. These connections must be held open ready for use for the duration of the applications life cycle.

<!-- -->

1. The application will begin to send requests at the required intervals for each domain as specified in the management request in step 1. The requests are sent to the DAC socket.

<!-- -->

1. The application asynchronously listens on the DAC socket for responses from the other end. The moment a response is received the application must evaluate the response, the action performed will be dependant on the response. It is important that the socket is listened on at all times, and immediately acts on data received.

<!-- -->

1. If the DAC response evaluates to certain criteria, the application must then make a request in XML to the EPP Service to attempt to register the domain. Once the response is received, it must be evaluated and actions performed accordingly.

<!-- -->

1. Depending on the criteria returned in step 5, the application will update the management system via HTTP, remove the domain from its current roster, and continue normal execution.

**Other Notes**

The application must not halt execution of any procedures regardless of what is happening, for instance, if checks are being performed on 4 domain names, and one domain is passed to the EPP for registration, the other 3 domains availability checks must continue uninterrupted at their specified intervals.

The application must make 'Hello' requests though the EPP connection at set intervals to keep the connection alive.

If either socket connection is interrupted the application must reinstate the socket immediately.

The application must be modular. It will need to be designed to easily have other API's plugged into the request scheduling and logic systems (not just the Nominet DAC and EPP).

Specific specifications, application flow diagrams and further information will be provided once a developer is chosen.

Amazon Web Services Ingeniería Gestión de proyectos Instalación de scripts Shell Script Arquitectura de software Verificación de software

Nº del proyecto: #3863307

Sobre el proyecto

2 propuestas Proyecto remoto Activo Dec 9, 2010

2 freelancers están ofertando un promedio de $1488 por este trabajo

ericouyangvw

See private message.

$2125 USD en 14 días
(26 comentarios)
6.4
Ktsugihara

See private message.

$850 USD en 14 días
(1 comentario)
0.5