Introducción

Subversion cuenta con un diseño de la capa de red abstracto. Esto significa que el repositorio puede ser accedido por cualquier clase de proceso de servidor y el API[26] de acceso al repositorio cliente permite a los programadores escribir componentes que se comuniquen a través de su protocolo de red pertinente. En teoría, Subversion puede lucir una infinidad de implementaciones de red. En la práctica, sólo existen dos tipos de servidores al momento de escribirse este documento.

Apache es un servidor web extremadamente popular; utilizando el módulo mod_dav_svn, Apache puede acceder a un repositorio y hacerlo disponible a los clientes a través del protocolo WebDAV/DeltaV, el cuál es una extensión del HTTP. En la otra esquina se encuentra svnserve: un pequeño programa servidor independiente que se comunica a través de un protocolo personalizado con los clientes. La Tabla 6-1 presenta una comparación de ambos tipos de servidores.

Observe que Subversion, siendo un proyecto de código abierto, no apoya oficialmente a ningún servidor como opción primaria u oficial. Ninguna de las implementaciones de red es considerada como un ciudadano de segunda clase; cada servidor posee ventajas y desventajas distintivas. De hecho, es posible ejecutar los diferentes servidores en paralelo, cada uno accediendo a sus repositorios a su modo y sin obstaculizar al otro (ver “Ofrecer múltiples métodos de acceso al repositorio”). A continuación una breve visión general y comparación de los servidores Subversion disponibles—es tiempo de que elija la instalación que sea mejor para usted y sus usuarios.

Tabla 6.1. Comparación de tipos de servidores de red

Característica Apache + mod_dav_svn svnserve
Opciones de autenticación Autorización básica HTTP(S), Certificados X.509, LDAP, NTLM, o cualquier otro mecanismo disponible por Apache httpd CRAM-MD5 o SSH
Opciones de cuenta de usuario archivo privado de usuarios 'users' archivo privado de usuarios 'users', o cuentas (SSH) existentes en el sistema
Opciones de autorización acceso general de lectura/escritura, o control de acceso por directorios acceso general de lectura/escritura
Cifrado a través de SSL (opcional) a través de un túnel SSH (opcional)
Interoperabilidad disponible parcialmente por otros clientes WebDAV no posee interoperabilidad
Ver a través de la web soporte integrado limitado, o a través de herramientas de terceras partes tales como ViewCVS a través de herramientas de terceras partes tales como ViewCVS
Velocidad algo lento algo rápido
Configuración inicial algo compleja bastante simple



[26] N.T.: Application programmmers interface, o interfaz de programación de aplicaciones. Este acrónimo se considera reconocido internacionalmente motivo por el cuál no será traducido.