← Todas las utilidades

NSAdaBrowse

Versión 26.1 (build 541) Prueba 30 días
NSAdaBrowse
Índice

Qué es NSAdaBrowse

nsadabrowse es el explorador web de ficheros ADABAS de Nacarsoft. Navegue por las bases de datos y sus ficheros desde cualquier navegador, consulte los datos en modo tabla, formulario o FDT (definición del fichero), y administre el acceso con autenticación JWT y control de roles (RBAC con usuarios, grupos, roles y permisos). Varios entornos (DEV/TEST…) se configuran vía YAML.

Los nombres de bases, ficheros y datos de los ejemplos son ficticios.

Casos de uso

1. Consulta rápida de un registro sin herramientas de escritorio

Localizar un registro concreto (p. ej. la póliza POL-2024-00123 ficticia) desde el navegador.

./build/nsadabrowse init /tmp/mibrowse
./build/nsadabrowse start /tmp/mibrowse
./build/nsadabrowse status /tmp/mibrowse
# → nsadabrowse is RUNNING (PID 12345)  Listening: http://0.0.0.0:3000

Flujo web (http://localhost:3000, admin / admin123): elija la base (p. ej. DEV) en el panel lateral, abra el fichero en el árbol, use la búsqueda con criterios y lea el registro en vista formulario.

2. Explorar la estructura FDT/DDM de un fichero

Revisar campos, formatos y descriptores de un fichero (p. ej. el nº 100 ficticio) antes de programar contra él.

./build/nsadabrowse status /tmp/mibrowse   # confirmar RUNNING

Flujo web: seleccione base y fichero en el árbol lateral; cambie a la vista FDT para ver la definición de campos; alterne a tabla para contrastar con datos reales.

3. Soporte con acceso limitado por base de datos

Dar al equipo de soporte acceso de solo consulta a TEST sin tocar DEV.

curl -s http://localhost:3000/api/health
# → {"service":"nsadabrowse","status":"healthy"}

Flujo web (como admin): cree un rol con permiso de consulta solo sobre la base TEST en la administración RBAC; el usuario de soporte inicia sesión y solo ve TEST en el panel lateral.

4. Paginar un fichero grande con límites controlados

Recorrer un fichero con miles de registros (p. ej. histórico ficticio) sin saturar el servidor.

./build/nsadabrowse stop /tmp/mibrowse
# (ajuste pagination.* en /tmp/mibrowse/config.yaml y rearranque)
./build/nsadabrowse start /tmp/mibrowse

Flujo web: abra el fichero en vista tabla y avance por páginas (pagination.page_size); el límite read_limit acota la lectura máxima por consulta.

Interfaz

Explorador de ficheros

Vista de datos de un fichero

Referencia

Comandos CLI (verificados con --help, v1.1.0 build 540)

ComandoDescripción
init <dir>Crea una instancia nueva (config.yaml + base de seguridad + carpetas)
start [dir]Arranca el servidor como daemon (por defecto, directorio actual)
stop [dir]Detiene el daemon
status [dir]Estado del daemon (PID, uptime, memoria; exit 0/1)
version (o -version)Muestra versión, build, fecha, commit y estado trial
-serverAlias obsoleto de start (avisa WARN: '-server' is deprecated — use 'start')
-stopAlias obsoleto de stop (avisa WARN: '-stop' is deprecated — use 'stop')

Nota: el manual lista además -config y -license, pero el binario real los rechaza (Unknown command): el entorno se elige con el argumento posicional [dir] y la licencia va en la ruta indicada abajo.

Principales opciones de config.yaml (ver config.example.yaml)

OpciónDescripción
server.host / server.portInterfaz y puerto web (por defecto 0.0.0.0:3000)
server.tls_cert_file / tls_key_fileCertificados TLS; vacíos si el TLS lo termina el proxy (Traefik)
database.pathSQLite de seguridad (db/security.db): usuarios, grupos, roles, permisos
security.jwt_secretClave JWT — cámbiela en producción
security.token_expiry_hoursCaducidad del token (24)
security.password_reset_code_ttl_minutesValidez del código de reseteo (10)
adabas.databasesBases definidas: DEV (dbid 150, connect: "acj;target=150", config_file: ./db/db150.json), TEST (dbid 200, connect: "acj;target=200;ipcs", files: "(100-120)")
smtp.*Correo para reseteo de contraseña (host, port, username, password, from, use_tls)
pagination.page_size / read_limitTamaño de página (80) y límite de lectura (10000)
config.separator_decimal, daemon, logdir, logdaysSeparador decimal, modo daemon, directorio y retención de logs
swagger.enabled, api_key, title, versionDocumentación de la REST API

El ejemplo del manual (database.path: ./data/nsadabrowse.db, lista databases: con host/puerto/usuario) es ilustrativo; la configuración real usa db/security.db y el mapa adabas.databases mostrado arriba.

Áreas de la interfaz web

ÁreaQué hace
LoginAutenticación por usuario y contraseña; sesión por token JWT (security.jwt_secret, expira en token_expiry_hours)
Panel lateral / árbolLista las bases configuradas (DEV, TEST) y sus ficheros con sus números; selector de base activa
Vista tablaConsulta paginada de registros (pagination.page_size), avance por páginas
Vista formularioLectura registro a registro con todos los campos
Vista FDTDefinición del fichero: campos, formatos y descriptores (estructura, sin datos)
BúsquedaFiltro de registros por criterios sobre los campos
Administración RBACUsuarios, grupos, roles y permisos por base de datos y acción
TemasTema oscuro y claro disponibles

Ejemplos comentados

# 1. Instancia nueva y arranque en el directorio actual
./build/nsadabrowse init
./build/nsadabrowse start
./build/nsadabrowse status

# 2. Dos entornos (prod/dev) con el mismo binario
./build/nsadabrowse init /tmp/prod && ./build/nsadabrowse start /tmp/prod
./build/nsadabrowse init /tmp/dev  && ./build/nsadabrowse start /tmp/dev
./build/nsadabrowse status /tmp/prod
./build/nsadabrowse stop /tmp/dev

# 3. Verificación: salud, SPA y versión (informa del trial restante)
curl -s http://localhost:3000/api/health
curl -s http://localhost:3000/ -o /dev/null -w '%{http_code}\n'
./build/nsadabrowse version

# 4. Invocación estilo manual (obsoleta pero funcional, con aviso)
./build/nsadabrowse -server  # equivale a 'start' (deprecated)

En el ejemplo 4, -server funciona como alias obsoleto de start; los flags -config <fichero> y -license del manual ya no existen (Unknown command): el entorno se indica con [dir].

Preguntas frecuentes

¿En qué URL y con qué usuario entro? En http://localhost:3000 con admin / admin123; cambie security.jwt_secret en producción o el login no es seguro.

¿Dónde va la licencia? En /opt/ns/licenses/nsadabrowse.key; sin ella hay trial de 30 días y version muestra los días restantes.

¿No conecta a ADABAS? Revise adabas.databases en config.yaml (dbid, connect, config_file reales; los del manual y del ejemplo son ficticios) y el acceso de red al núcleo ADABAS.

¿Puerto ocupado o login que no carga? Cambie server.port si el 3000 está en uso; si el login falla, verifique que jwt_secret no sea el valor por defecto.

También disponible en: en