El Ing. Felipe Zipitría fue uno de los creadores del sistema de gestión de los dominios .com.uy, utilizado por la estatal Antel (encargada en exclusividad). Tuvo la gentileza de responder algunas preguntas sobre el software, su desarrollo y cuestiones técnicas vía mail. Como disclaimer advierte que las opiniones son a título personal y nada tienen que ver con Antel.
1. ¿Qué sistema utilizaba ANTEL para el registro de dominios antes de ese software?
Creo que el correo. En principio, según creo recordar, se recibían pedidos de los ISPs para la creación de nuevos dominios por correo a los técnicos de OMSED de Antel (Organización y Mantenimiento de Servicios Empresariales y Datos).
2. ¿En qué año fue desarrollado y quiénes estuvieron a cargo?
El programa fue desarrollado por allá por el año 1998-1999, y yo continué con el soporte básico hasta casi el 2002. Fue realizado por el (ahora) Msc. Ing. Gonzalo Tejera y por mi, el (ahora) Ing. Felipe Zipitría.
3. ¿Qué tecnologías se utilizan? (servidores, bases de datos, lenguajes)
Ajá, buena pregunta
El programa fue realizado enteramente en Java 1.1.x. Fue hecho en 3 capas. La lógica de presentación siendo servlets (jsp ni existía, o estaba muy poco maduro hasta el momento). La lógica de negocios está muy basada en objetos (a la Craig Larmann). Como no había servidores de aplicaciones en ese momento, digamos que lo implementamos nosotros, usando el “Applying UML and Patterns”. Funciona todo con objetos y proxies a objetos (vean el capítulo 35 del libro, creo). Hasta implementamos la capa de persistencia de los objetos (tampoco había Hibernate o similares!). Aplicamos todo el arsenal de patterns !
. Como IDE usé el XEmacs
Hasta donde yo sé, ejecutaba en una máquina con Linux (RedHat 7.x, pero deben haberlo movido). Este corría en un Apache/JServ, luego en un Apache/Tomcat (JServ quedó por el camino). La base de datos es PostgreSQL, debiera ser la versión 6.x ó 7.x (pero no me acuerdo ahora). El servicio de DNS estaba dado por el Bind 8.x. En la máquina donde está el Bind, se corre un proceso Java que hace el dump de la base de datos a el formato del archivo del bind. Cada objeto DNS tiene un método “toString()” que genera la línea adecuada. Cuando finaliza el dump, se envía un “-HUP” al proceso del bind, para que relea la base.
No sé si fui claro, o si te parece de extender alguna parte.
4. ¿Siguió el modelo de algún otro registrador o fue planeado desde cero?
Fue planeado desde cero.
5. Aparentemente el usuario no informático puede encontrar algunas dificultades para usarlo, ¿a qué público estaba dirigido el registro de dominios?
En un principio, a contrapartes técnicas de los ISPs. Luego en algún momento, se decidió abrir al mundo. Cualquiera con CI puede pedir un dominio (creo que tiene que tener un teléfono asociado).
6. ¿Cómo funcionan dentro de este sistema los registradores privados (Intersys, Netgate, Montevideo COMM, etc.)? ¿Tienen alguna sección especial o lo hacen como si fueran un particular?
No, lo hacen como un usuario más para la interfaz. Claro, en general, los ISPs tienen un responsable técnico distinto al titular de la empresa, etc.
7. ¿Por qué la información del Whois interno es tan escasa? ¿Por qué no hay servidor de Whois público?
De esto no tengo ni idea. Te puedo redireccionar a la persona que puede saber, si te interesa.
8. ¿Podrías explicarnos brevemente como funciona internamente la actualización del estado de un dominio? (por ej. el pasaje no verificado – verificado – validado – actualizado – eliminado no actualizado – eliminado)
Es un workflow tradicional. Cuando un registro ingresa, inicialmente está como “no verificado”. Esos registros pasan por un funcionario comercial de Antel, el cual verificaba los datos ingresados. Creo que la idea original de esto era una suerte de “resolución de conflictos”, por la vía de la limitación.
Por ejemplo, si un cliente cualquiera pide el dominio “cocacola.com.uy“, presuponen que le pertenece al empresa Coca-cola, y no a una persona “de a pie” cualquiera. Esto puede llegar a ser verificado por alguien de comercial que llame a la empresa, o algo así. En fin, para nosotros, alguien de comercial lo leía, y verificaba con algún criterio. Allí pasa a verificado. Luego un técnico de Antel lo pasa a validado, si cumple con los criterios técnicos para un registro de dominio. Una vez que el proceso de actualización se corre, y se genera el nuevo archivo para ser leído por el bind, se cambia a “actualizado”. El registro puede ser ya consultado vía nslookup o dig y aparece. Eliminado no actualizado es similar. Se marca como eliminado lógicamente, y hasta que no se hace el dump correspondiente no se elimina del archivo. De hecho, en realidad la próxima vez que se actualiza el archivo, directamente no se va a imprimir. Este mismo proceso cambia a “eliminado” una vez que efectivamente no está en el archivo de bind. Ese es todo el proceso.
9. Te iba a preguntar por el futuro pero si estás desconectado de Antel me imagino que no tenés idea..
Lamentablemente no. Creo que en algún momento intentaron cambiarlo a J2EE, pero no sé que pasó.
Si me preguntás a mi, yo pasaría la infraestructura a bind 9, pero que el backend fuera directamente una mysql o postgresql. Luego construiría en php alguna interfaz. De todas formas, mantendría las 3 capas.
10 de Junio de 2008
por Martín Balao.
Nota: la pregunta 7 queda pendiente.
Artículos relacionados:
Curiosidades y dominios .com.uy (II parte)
Curiosidades y dominios .com.uy (I parte)
juegos.com.uy vendido en 10.000 USD
Registrar dominios IDNs .com.uy (Uruguay)
Registro de dominios .com.uy (Antel)

