Ether Framework
Unified API docs for Ether modules
Loading...
Searching...
No Matches
Ejemplos de uso real

Esta sección muestra cómo los módulos de Ether se integran en proyectos de producción. Cada ejemplo está basado en código real, no en fragmentos inventados.

En particular, los ejemplos priorizan patrones prácticos de:

  • arranque de servidores HTTP,
  • construcción de endpoints,
  • seguridad,
  • logging,
  • trazabilidad y observabilidad.

Guías por módulo

Guía Descripción
ether-parent BOM y POM raíz — gestión centralizada de versiones para el ecosistema
ether-config EtherConfig, ConfigSource, binding a Records — configuración 12-factor
ether-crypto PasswordHasher, PasswordHasherPBKDF2 — hashing PBKDF2 sin dependencias
ether-json JsonCodec, JsonCodecBuilder — serialización JSON sobre Jackson
ether-di Lazy, Closer y Bootstrap — DI explícita sin reflexión ni anotaciones
ether-logging-core EtherLog, LoggingConfigurator, LogLevels — logging sobre JUL sin dependencias
ether-jwt TokenIssuer, TokenVerifier, TokenSpec, TokenClaims — emisión y verificación JWT
ether-observability-core ProbeCheck, ProbeAggregator, ProbeReport — health checks liveness/readiness
ether-database-core DatabaseClient, SqlQuery, RowMapper — contratos de acceso a base de datos
ether-jdbc JdbcDatabaseClient, SimpleDataSource — implementación JDBC de DatabaseClient
ether-database-postgres PostgresErrorClassifier — clasificación semántica de errores PostgreSQL
ether-http-core HttpExchange, HttpResource, Route, Middleware — contratos del pipeline HTTP
ether-http-security HttpSecurityProfile, CORS, headers, rate limiting, IP filtering
ether-http-problem ProblemDetails (RFC 7807), ProblemException — errores HTTP estructurados
ether-http-openapi OpenApiDocumentBuilder — especificación OpenAPI 3.x programática
ether-http-client EtherHttpClient, HttpRequestSpec, HttpResponseSpec — cliente HTTP tipado
ether-http-jetty12 JettyServerFactory, JettyModule, JettyServerRunner — servidor HTTP Jetty 12
ether-websocket-core WebSocketEndpoint, WebSocketSession, WebSocketRoute — contratos WebSocket
ether-websocket-jetty12 Integración WebSocket con Jetty 12
ether-webhook WebhookSigner, WebhookVerifier, WebhookDeliveryClient — webhooks HMAC
ether-glowroot-jetty12 Middlewares APM Glowroot para Jetty 12
ether-ai-core AiChatModel, AiMessage, AiChatRequest/Response — contratos GenAI provider-agnostic
ether-ai-openai OpenAiConfig, OpenAiChatModel — adapter para GPT-4o y Azure OpenAI
ether-ai-deepseek DeepSeekConfig, DeepSeekChatModel — adapter para DeepSeek-Chat y DeepSeek-Reasoner
ether-brain Runtime de agentes IA — sesiones, tools y loop de razonamiento
ether-hexagonal-archetype Arquetipo Maven — proyecto hexagonal completo con Jetty, PostgreSQL y ether-di

Proyectos de ejemplo

Proyecto Descripción Módulos usados
Kiwi Casos prácticos de servidor Jetty, endpoints, JWT, logging, health checks y APM ether-config, ether-di, ether-jwt, ether-jdbc, ether-http-jetty12, ether-http-security, ether-glowroot-jetty12

Patrón general de una aplicación Ether

Toda aplicación Ether sigue la misma estructura de capas:

┌──────────────────────────────┐
│ Transport layer │ ← ether-http-jetty12
│ (HTTP, CLI, gRPC, etc.) │
└──────────────┬───────────────┘
┌──────────────▼───────────────┐
│ Bootstrap / DI │ ← ether-di
│ (KiwiContainer, wiring) │
└──────────────┬───────────────┘
┌──────────────────┼──────────────────┐
│ │ │
┌───────────▼──────┐ ┌────────▼────────┐ ┌───────▼────────┐
│ Core (domain) │ │ Ports (APIs) │ │ Infra (impl) │
│ use-cases, etc. │ │ interfaces │ │ PostgreSQL, … │
└──────────────────┘ └─────────────────┘ └────────────────┘

El contenedor de dependencias (Bootstrap) crea y conecta todos los componentes. El servidor HTTP recibe el contenedor ya inicializado y registra rutas, auth y middlewares.