RemoteBESA es la extensión distribuida del framework BESA (Behavioral Smart Agent) que proporciona capacidades para la creación y gestión de sistemas multi-agente distribuidos.
- Comunicación distribuida: Soporte para agentes distribuidos a través de la red
- Balanceador de carga: Sistema de balanceamiento para distribución óptima de agentes
- Directorio remoto: Gestión de agentes distribuidos en múltiples contenedores
- Protocolo de red: Implementación robusta para comunicación entre nodos
- Tolerancia a fallos: Mecanismos de recuperación y detección de fallos
RemoteBESA extiende las capacidades de LocalBESA añadiendo:
- RemoteAdmBESA: Administrador de agentes distribuidos
- DistributedInitBESA: Inicialización de sistemas distribuidos
- SocketServer/SocketServerThread: Manejo de conexiones de red
- Balancer: Sistema de balanceamiento de carga
- Directory remoto: Gestión de directorios distribuidos
- Java 21 o superior
- Maven 3.6 o superior
- KernelBESA 3.5.1
- LocalBESA 3.5
<dependency>
<groupId>io.github.iscoutb</groupId>
<artifactId>remote-besa</artifactId>
<version>3.5</version>
</dependency>
Agrega el repositorio de GitHub Packages a tu pom.xml
:
<repositories>
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/ISCOUTB/*</url>
</repository>
</repositories>
import BESA.Remote.DistributedInitBESA;
import BESA.Remote.RemoteAdmBESA;
// Inicializar sistema distribuido
DistributedInitBESA.initDistributedBESA();
// Crear administrador remoto
RemoteAdmBESA remoteAdm = new RemoteAdmBESA();
# Clonar el repositorio
git clone https://github.com/ISCOUTB/RemoteBESA.git
cd RemoteBESA
# Compilar (requiere KernelBESA y LocalBESA compilados localmente)
mvn clean compile package
# Compilar usando GitHub Packages
mvn clean compile package -P github-packages
La documentación completa está disponible en:
RemoteBESA depende de:
- KernelBESA: Framework base de agentes
- LocalBESA: Extensión local de BESA
- Java RMI: Para comunicación remota
- Java Sockets: Para comunicación de red
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad
) - Commit tus cambios (
git commit -am 'Agrega nueva funcionalidad'
) - Push a la rama (
git push origin feature/nueva-funcionalidad
) - Crea un Pull Request
Este proyecto está licenciado bajo la Licencia Apache 2.0 - ver el archivo LICENSE para más detalles.
- ISCOUTB - Universidad Tecnológica de Bolívar
Para soporte técnico o preguntas:
- Crea un issue
- Contacta al equipo de desarrollo
- Mejora en el sistema de balanceamiento
- Optimización de protocolos de red
- Soporte para contenedores Docker
- Integración con Kubernetes
- Métricas y monitoreo distribuido