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ísticaApache + mod_dav_svnsvnserve
Opciones de autenticaciónAutorización básica HTTP(S), Certificados X.509, LDAP, NTLM, o cualquier otro mecanismo disponible por Apache httpdCRAM-MD5 o SSH
Opciones de cuenta de usuarioarchivo privado de usuarios 'users'archivo privado de usuarios 'users', o cuentas (SSH) existentes en el sistema
Opciones de autorizaciónacceso general de lectura/escritura, o control de acceso por directoriosacceso general de lectura/escritura
Cifradoa través de SSL (opcional)a través de un túnel SSH (opcional)
Interoperabilidaddisponible parcialmente por otros clientes WebDAVno posee interoperabilidad
Ver a través de la websoporte integrado limitado, o a través de herramientas de terceras partes tales como ViewCVSa través de herramientas de terceras partes tales como ViewCVS
Velocidadalgo lentoalgo rápido
Configuración inicialalgo complejabastante 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.