Welcome to the comprehensive documentation for the botica-lib-java library. This guide provides
detailed information on developing powerful, scalable bots for the Botica multi-agent platform using
Java.
These documents delve into the primary features and API of the botica-lib-java library, guiding
you through the implementation of various bot behaviors.
- Listening to orders from other bots: Learn how to make your bots reactive by defining handlers for incoming orders.
- Proactive bots: Discover how to implement bots that initiate tasks automatically on a schedule.
- Publishing orders: Learn how to send orders to other bots.
- Bot lifecycle: Understand the complete lifecycle of a Botica Java bot
and the related events like
configure()andonStart(). - Handling shutdown requests from the Director: Learn how to manage bot termination gracefully, performing cleanup and potentially delaying shutdown.
- Accessing environment and utilities: Find out how to retrieve essential runtime information (bot ID, hostname) and utilize shared resources like the shared directory.
- Payload serializers and deserializers: Understand how Botica automatically converts Java objects to string payloads and back, and how to implement custom serializers and deserializers for complex data formats.
- Running your bot: A step-by-step guide to building your bot into a Docker image and deploying it within a Botica environment using the Botica Director.
For a deeper understanding of the overall Botica platform, including concepts like the environment configuration file, message routing strategies, and inter-bot communication paradigms, please refer to the main Botica documentation:
- The concept of a bot
- Creating process chains
- Messaging between bots
- Sharing files between bots
- The infrastructure configuration file
- Botica Fishbowl:
A simulation of a 9x9 fishbowl where multiple fish bots move around and a manager bot tracks
their positions. This project showcases proactive (fish) and reactive (manager) bots written in
both Java and Node.js, demonstrating inter-language communication and file system interaction.
- Java Fish Bot: A proactive bot that periodically publishes its position within the fishbowl.
- Java Manager Bot: A reactive bot that listens for fish positions, logs the fishbowl state, and saves it to files.
Explore these real-world and demonstrative projects built with botica-lib-java to see the
concepts in action.
- Automatic REST API testing system with RESTest:
A real-world application automating REST API testing. Generator bots create test cases, executor
bots run them, and reporter bots analyze results, demonstrating distributed processing and
complex workflow orchestration using various Java bots.
- RESTest Generator Bot: Generates test cases and execution plans from API specifications.
- RESTest Executor Bot: Executes generated test cases against a target REST API.
- RESTest Reporter Bot: Consumes test results, performs analysis, and generates reports or dashboards.