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:
| 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 |
| 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 |
Toda aplicación Ether sigue la misma estructura de capas:
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.