Skip to content

Latest commit

 

History

History
66 lines (55 loc) · 4.35 KB

File metadata and controls

66 lines (55 loc) · 4.35 KB

Botica Java Library Documentation

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.

Core Concepts and API Reference

These documents delve into the primary features and API of the botica-lib-java library, guiding you through the implementation of various bot behaviors.

  1. Listening to orders from other bots: Learn how to make your bots reactive by defining handlers for incoming orders.
  2. Proactive bots: Discover how to implement bots that initiate tasks automatically on a schedule.
  3. Publishing orders: Learn how to send orders to other bots.
  4. Bot lifecycle: Understand the complete lifecycle of a Botica Java bot and the related events like configure() and onStart().
  5. Handling shutdown requests from the Director: Learn how to manage bot termination gracefully, performing cleanup and potentially delaying shutdown.
  6. Accessing environment and utilities: Find out how to retrieve essential runtime information (bot ID, hostname) and utilize shared resources like the shared directory.
  7. 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.
  8. 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.

Botica Platform Documentation

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:

Example Projects

  • 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.

Real-world projects

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.