Domain registration front end
Andy Wardley
abw at wardley.org
Fri Jul 27 09:53:59 BST 2007
the hatter wrote:
> Uh, one or two ourshack members thought it was, they're implicated in
> http://daily.co.uk/ (as am I). You may even find that this gives you some
> influence in getting things added to it if you feel it's not quite right.
<me waves/>
The front end is relatively straightforward[*]. The backend is a mary because
you have to talk a bunch of entirely unrelated protocols to different registrars.
Off the top of my head, CentralNIC use a custom HTTP protocol (WWW::CNic),
Tucows use XML::RPC (OpenSRS is their custom wrapper around it) and Nominet
uses a socket-based automaton protocol.
One of them (OpenSRS ISTR) expects you to open a single connection and send
all your requests through the one connection. Another expects one connection
per request. Nominet sends you an email instead of a synchronous response, or
something crazy like that. I don't recall carrier pigeons featuring in any of
the protocols, but it wouldn't surprise me if they did at some point.
For Daily, we abstracted the whole lot behind our own registrar modules which
in turn were hidden behind a domain object. Something like this:
my $domain = Daily->domain('example.com');
if ($domain->is_available()) {
$domain->register( name => 'Andy Wardley', etc.. );
}
else {
print $domain->name(),
" is already registered.\n",
$domain->whois();
}
A Daily::Domain "knows" which Daily::Registrar to talk to (based on TLD) and
the relevant registrar module abstracts all the mess behind it with some nice
methods like is_available(), register(), transfer() and so on.
We have talked about open sourcing these bits if we can suitably extract them
from the rest of the framework (which would be tricky). But ultimately, it's
not my decison to make and I wouldn't hold your breath.
And as the hatter says, you still need to fork out the money for your own tags
if you want the registrars to listen to your requests and act upon them.
So unless you're thinking of starting your own domain registration and/or
hosting company, then I think you're probably better off using daily, gandi or
a.n.other domain registration company. Or if there's something that Daily
doesn't provide that you think it should then I'd be happy to forward any
suggestions to the right people. The framework was designed with flexibility
in mind so that we can bolt on new services relatively easily. Carrier
pigeons not withstanding.
A
[*] until you start thinking about all the other things that go with it, like
domain contacts, nameservers, renewals, transfers, invoicing, accounting,
forgotten passwords, control panels, etc., etc.
More information about the london.pm
mailing list