Sapns es un entorno de desasarollo creado por Ender que permite desarrollar aplicaciones web y tener una buena cantidad de funcionalidad desde el primer momento. Nada más crear el modelo de datos, es decir, sin programar una línea de código, simplemente instalando y configurando el sistema y añadiendo algunas tablas (o clases como se llaman en Sapns).
Sobre esa base se pueden incluir nuevos módulos programados, pero se evita desarrollar funciones CRUD (Create-Read-Update-Delete), que siempre son iguales. Esto, en la práctica sirve para tener una aplicación de backend para acceder de forma homogénea a los datos de todo el sistema. Por ejemplo, si tenemos una tabla de «países», simplemente creamos la tabla con los campos que necesitemos (nombre, código, etc) y Sapns proporciona un acceso a dicha tabla sin programar nada. Desde el momento cero podemos incluir nuevos países, editar los existentes, borrar, ver otras tablas que puedan estar relacionadas con ella.
Véamoslo paso a paso.
Sapns tiene una interface estándar para dar acceso a los distintos usuarios a sus módulos. El usuario con privilegios puede explorar la información (<exploración de datos>) con libertad sólo por estar en Sapns; si hay base de datos ya tenemos sistema. Al menos una primera parte.
Así de fácil, sólo por estar el sistema desarrollado en Sapns, un usuario con privilegios suficientes puede acceder a los procesos más utilizados e incluso navegar por la base de datos y realizar cambios antes de que ningún programador intervenga en el mismo.
La navegación estándar de Sapns es una gran herramienta a la hora de explotar la información de forma libre sin necesidad de desarrollos adicionales. Es posible, siempre que se cuente con los privilegios adecuados, consultar todas las tablas del sistema, buscar información a través de los filtros rápidos e incluso exportar la información filtrada a CSV o XLS (MS Excel)
Sapns permite modificar los datos de estas tablas con total libertad. Esto ahorra mucho tiempo de programación al poder realizar el mantenimiento de muchas de las tablas del sistema con los procesos estándar de Sapns, sin desarrollo adicional.
Es decir, una vez se identifica y se crea en Sapns el modelo de la base de datos de un nuevo sistema desarrollado a medida ya se podría trabajar con la información. Posteriormente se desarrollan únicamente aquellos procesos que requieren un tratamiento especial, interfaces más amigables, gráficos, tablas dinámicas o cualquier componente y regla de negocio que ayude a los usuarios a trabajar con el sistema.
Es importante resaltar que hablamos siempre de aplicaciones totalmente online, accesibles desde cualquier equipo con conexión a internet y con cualquier sistema operativo, utilizando únicamente un navegador web. Una aplicación web, además de estas ventajas, es fácil de mantener: sólo se actualiza un equipo, el resto (los usuarios sean del tipo que sean) acceden con sus navegadores web sin necesidad de instalar ningún componente ni programa.
Desde el punto de vista más técnico Sapns es un framework de desarrollo de aplicaciones web basado en Turbogears2. A su vez, Turbogears2 está basado en Python, y en una serie de librerías, todas abiertas, de este lenguaje como SQLAlchemy, psycopg2 , Jinja2, más otras que están desarrolladas por Ender (Neptuno, paPyro).
Además, se utiliza como motor de base de datos PostgreSQL.
Todas las tecnologías utilizadas son abiertas y gratuitas (el propio Sapns se está desarrollando como un proyecto abierto) y permiten realizar desarrollos comerciales. Es decir, no se trata de licencias que obliguen a desarrollar productos «obligatoriamente abiertos».