# STTA: Servicios con [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.)

[English version - README.md](README.md)

**IMPORTANTE**:

> **ESTE CÓDIGO FUE CREADO EN 2001-2004, ESTÁ AQUÍ SOLO COMO TESTIMONIO.**

![Arquitectura de **STTA**](frame-stta-es.jpg)

### ¿ Qué es **STTA** ?

**STTA** (Servicios con [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.)) es una herramienta para administrar Servicios alrededor del software [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) . Esta construído como un módulo de [Webmin](http://www.webmin.com), permite una sincronización completa entre las diferentes tecnologías: LDAP, servidor Web, [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.), etc.

No pretende sustituir al "Object Mangager" de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) o las herramientas administrativas de LDAP, sino más bien coordinar los atributos y definiones de los objetos del servicio, además de complementar las tareas de administración y gestión.

Ayuda a gestionar los Objetos del Servicio como una unidad en el entorno de explotación corporativo donde la tecnología de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) de web-enabling y la autenticación de usuarios son críticas.

### Características

- **Gestión de Usuarios**
  Altas, bajas, modificación borrado y carga de usuarios desde ficheros; tanto como usuarios del Sistema Operativo como de LDAPs. El DN de LDAP, o nombre del usuario, y el ENS de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) del Objeto y su jerarquía estarán sincronizados y acordes. Esto permite "espejar" o reflejar la estructura de la organización en ambos repositorios para la configuración y acceso a los Servicios.

- **Autenticación de aplicaciones**
  Reglas ajustables a medida para buscar credenciales y secuencias de acceso a aplicaciones (tercer nivel de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.)). Bsadas en usuarios, grupos, hosts, aplicaciones, dominios, requiere el uso de un LDAP dedicadado. (Cache Ldap). O en su lugar gestionar la "cache de password" de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.)

- **Gestionar grupos y objetos del Servicio**
  Usuarios, hosts, aplicaciones, enlaces o vínculos, etc- desde un punto único- Hace el trabajo básico del "Object Manager" de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) y el LDAP

- **Herramienta de navegación de objetos y enlaces**
  Para verificar y fijar las correspondencias entre las definiciones de objetos y los servidores LDAP

- **Mecanismo ampliado para acceso a aplicaciones.**
  La Cache Ldap de **STTA** permite ampliar los mecanismos TCL y Expect de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) para arrancar aplicaciones. Pueden aplicarse "tickets" de acceso y control de sessions con acciones al respecto.

- **Herramientas de administración, comprobación y gestión.**
  Para copia, recuperación, replicación,volcado del ENS de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.), monitorizar y comprobar los Servicios para las "máquinas del array".

- **Gestor de sesiones de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.)**
  Coleccionar las sesiones de emulación de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.), contabilizarlas por objetos para ayudar al "monitor" de **STTA** a decidir la toma de acciones. Se pueden asignar número de sesiones por grupos, usuarios, hosts o aplicaciones. Gestionar los "billings" o resúmenes de acceso a [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.).

- **Monitor de Servicios**
  Para realizar tareas específicas sobre todos los servicios partiendo de "eventos" a medida, que actúan como disparadores, de modo automático o manual. Se permiten múltiples criterios y condiciones encadenados.

- **Heramienta CGI para Gestionar Ficheros**
  Herramienta elaborada para gestionar "logs", "definiciones", "guiones", "debug", etc. permite ejecutar, vaciar, leer, escribir ficheros.

- **Procedimiento de "feedback" para enviar o empaquetar información y ficheros de los Servicios**
  Para comentarios, temas, peticiones, problemas, seguimiento, etc. Esta herramienta coleccionará los datos, los empaqueta y envía por correo electrónico. Desde "logs" de los Servicios a ficheros de configuración, todo puede ser simplemente empaquetado para enviar si no hay servidor de correo disponible en-línea.

- **Utilidad para generar informes de los Servicios y comprobar su estado**
  En cada conexión http(s) se puede obtener y revisar los puertos de los Servicios y el status de configuración, recibir avisos o parar. La "interface" se adaptará a la disponibilidad del servicio no presentando aquellos objetos del mismo que no están disponibles. Los iconos y mensajes alertarán sobre los servicios que no están en marcha.

- **Gestor de listas de Logs**
  Con una lista de ficheros de logs y parámetros de tiempo, **STTA** puede realizar las tareas de mantenimiento cotidiano de los logs.

- **Herramienta para contruir un Web de Ayuda**
  para uso externo o servidores Web estáticos sin la intraestructura de [Webmin](http://www.webmin.com) instalada o simplemente para leer.

- **Varios servidores **STTA** trabajando en "array"**
  Comunicaciones entre varios servidores para compartir información común del Servicio y gestionar los servicios locales. Esta característica trabaja en paralelo con el "array" de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) para favorecer la alta disponibilidad y compartir la carga

- **Utilidad para Instalar / actualizar y parchear**
  A partir de reglas predefinidas, asiste paso a paso hasta cumplir la tarea. Instalar, actualizar, cambiar de versión, parchear, unir al "array", instalar como secundario con servicios LDAP, etc. La configuración de Open-LDAP es semi-automática con scripts para las tareas básicas.

- **Mecanismo de marcado de ficheros para sincronizar y controlar las versiones e instalaciones**
  Muy útil al intentar mantener varios servidores e instalaciones con muchos ajustes particulares.

- **Alto nivel de traceado y depuración**
  Para "procesos de login en aplicaciones", "acciones sobre objetos", "monitor de acciones", "instalationes", etc.

- **Gran cantidad de parámetros de configuración ( más de 300 )**
  Para automatizar la mayoría de los procesos y para ajustarse a diferentes situaciones de explotación y necesidades. Los guiones o "scripts" están parametrizados y configurables por la interface.

El módulo **STTA** [Webmin](http://www.webmin.com) está escrito en PERL, usando tecnologías y estándares todos abiertos: LDAP, TCL, HTML, guiones Shell, etc. Está bajo licencia GPL. Todos los Servicios Profesionales, consultoría y ajustes particulares pueden ser contratados, pero el software en sí mismo está bajo GPL. Utilizando más de un año de desarrollo en un proyecto de una gran empresa, la idea es ABRIR esta útil herramienta a otros y hacerla crecer y fortalecerse.

Requerimientos: SO Unix/Linux con Perl, [Webmin](http://www.webmin.com), servidor Web instalado, LDAP y [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.). Para la gestión basta con un navegador Web en el "front-end".

**STTA** coordina las peticiones LDAP y [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) de modo que obtengan el "path" correcto. Todas las peticiones LDAP se realizan por medio de Perl LDAP y todas las comunicaciones con [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) se realizan por medio de la interfaz de línea de ordenes y guiones de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.). [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) interroga a la Cache LDAP, para obtener las credenciales del servidor de aplicaciones por medio de los guiones TCLs expects de [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.), que han sido modificados con algunos enlaces a PerlLDAP y **STTA**, de modo que las credenciales y parámetros apropiados son enviados. Esta aproximación permite extender los mecanismos de comprobación para tickets de sesiones y acciones, e incluso disponer de más diálogo para el arranque de aplicaciones.

### Tecnologías en STTA

**STTA** usa tecnologías estándar y abiertas:

- **[Webmin](http://www.webmin.com)**
  Es de lejos una de los mejores desarrollos para gestionar Sistemas Operativos. Es multiplataforma como [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) y usa también una interfaz Web.
  Hay otros lenguajes pero no una interfaz completa bien comprobada desde la que trabajar.

- **PerlLDAP**
  Como [Webmin](http://www.webmin.com) usa Perl como lenguaje, la opción es encontrar una interfaz Perl a LDAP. Hasta **STTA** 1.3, dado que los primeros desarrollos fueron dedicado a Iplanet, **STTA** estaba usando el Perl LDAP de Mozilla. Esta opción precisa de compiladores ya que usa un API en C, no es código Perl puro. Desde **STTA** 1.3 Perl LDAP es el que se usa, está disponible también como módulo CPAN. Parece que tiene mucho más futuro y proporciona un muy buen "feedback" en cada operación.

- **TCL Expect**
  Esta es la tecnología estándar usada por [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) para comunicarse o, mejor dicho, negociar el acceso a los servidores de aplicaciones y la carga de las mismas. Por lo que **STTA** adapta los procedimientos de búsqueda de credenciales al lenguaje TCL y Expect para ser lo más transparente posible a [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.).

- **[Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.) Scripts**
  Este es le método básico para "hacer" o "realizar" cambios y peticiones los Servidores [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.). Esto significa que **STTA** funciona de modo muy transparente con [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.), incluso si las conexiones JVM en cada petición no ayudan demasiado a la carga del sistema.

- **Shell Scripts**
  Algunos guiones Shell se añaden para realizar ajustes o lanzar guiones Perl.

**STTA** está bajo **licencia GPL**. Todos los Servicios Profesionales, consultoría y ajustes a mediada se pueden contratar, pero el software en sí mismo está bajo **GPL**.

Al usar este desarrollo durante un ano en un proyecto de una gran empresa, la idea es **ABRILO** para que sea útil a otros y hacerlo crecer.

### Requerimientos

Unix/Linux con Perl, [Webmin](http://www.webmin.com), Web-Server instalado, LDAP y [Tarantella](https://en.wikipedia.org/wiki/Tarantella,_Inc.).

Para la gestión sólo desde el front-end, únicamente un navegador web.

### Enlaces

- [Introducción](INTRO-ES.md) escrita como parte de la documentación entre 2001-2004.
- [Documentación generada en PDF](help/es/bookstta.pdf)
