What is RDAP/RedDog?
Index
What is RDAP?
RDAP (Registration Data Access Protocol) is a successor of WHOIS–a protocol used for querying information regarding Internet resources (such as domain names, IP addresses and autonomous system numbers). RDAP is based on a typical client-server model. The server is a RESTful service expected to provide HTTP content in accordance with RFCs 7480, 7481, 7482 and 7483.
Some advantages of RDAP over WHOIS are
- Standardized request and response formats, in contrast to WHOIS’ provider-defined arbitrary text.
- Reliance on Representational State Transfer (REST) technologies, a strong base which is widely known.
- Bootstrapping, the automatic determination of where a query should be sent.
- Support for Internationalized Domain Names and support for localized registration data.
- Support for identification, authentication and access control to the service.
What is RedDog?
RedDog is a free and open source Java implementation of an RDAP server framework. It is a handful of servlets and APIs that can help you serve your registration data in a standard manner.
As pictured, deploying RedDog requires the development of an interface between your database and the servlets. This can be done in three different ways:
Option 1: Full Data Access Implementation
The Data Access API (DAA) project is a module of RedDog which mainly consists of a set of Java interfaces. The server queries a “Data Access Implementation” (DAI) –an implementation of these interfaces– to access the data.
By rolling out your own DAI you can wrap your database to the server in any way you want. This can range from anything from direct queries to Your Main Database
, or to a mirror of it, to queries to non-relational databases.
The page Implementing your Data Access Layer has some directions that might help you get started in creating a DAI.
Option 2: Overriding SQL Provider queries
The SQL Provider project is a functional reference DAI that is intended to perform queries to a relational database. Instead of developing a full Java project, you provide queries that return data in a predefined format and structure.
The page Overriding RedDog’s reference queries helps to find the specifications that these queries need to fulfill.
Please identify and be aware of the maintenance overhead of using this option if future bugs or RFC updates require modifications to the query specification.
Option 3: Using RedDog’s builtin schema
The SQL Provider project ships with default queries, intended to be used along a predefined database schema.
What you need to provide under this architecture is a means to export your data from your core database to RedDog’s database.
The page Exporting a database to RedDog’s built-in schema will help to understand the predefined schema.
Please identify and be aware of the maintenance overhead of using this option if future bugs or RFC updates require modifications to RedDog’s schema.