Planning Your BDK Project

A checklist to guide the planning of your BDK Book project, covering key requirements and considerations.

Software Requirements

Ensure you have access to the following software requirements.


Book Design

Books are collections of operations that define specific actions within an automation. Each operation in a Book represents an individual task or step that contributes to a larger process. Designing a Book involves defining these operations to ensure they align with the automation’s objectives. To guide this process, take into account the following considerations:

1. Functionality

Identify the specific operations needed for the Book. Each operation should have a clear and specific automation purpose.

Questions

  • What actions does the user need to automate in Kognitos?
  • Can the actions be broken down into individual steps?

Examples

Consider these operations for a Weather Book:

  • Get the current temperature in a specific city.
  • Check the current air quality index (AQI).
  • Determine delays or disruptions caused by severe weather for shipping and transportation.
  • Notify attendees of weather-related changes for events.

2. Data

Clearly define each operation's inputs, outputs, and processing steps.

Questions

  • What input or parameters are needed for each operation?
  • What output or data should each operation return upon completion?
  • How will data be transformed, manipulated, or processed in each operation?

Examples

Consider an operation that gets the temperature in a specific city:

Input

  • City name

Output

  • Temperature (°F)
  • Timestamp when the temperature was recorded

Processing Steps

  1. Validate the city name.
  2. Use an API request to get weather data for the specified city.
  3. Parse the response to extract the temperature value and timestamp.
  4. Format the temperature reading to the appropriate unit (Fahrenheit).

3. Error Handling

Consider common error scenarios and define how they will be handled.

Questions

  • What are the potential error scenarios that could occur?
  • How will these errors be handled and/or logged?

Examples

Consider the following error scenarios for a Weather Book:

1. Invalid Input

  • A user enters a non-existent city name (e.g., "Atlantis").
  • The system receives a blank input for the city name.

2. API Unavailability

  • The weather API is temporarily down or unreachable.
  • A network timeout occurs during an API call.

Integrations

If you plan to integrate with an external API in your Book, it’s important to assess the target service's requirements, limitations, and authentication mechanisms. The following considerations will ensure your chosen API aligns with your automation needs and integrates seamlessly into your BDK project.

1. Authentication & Authorization

Understand the authentication requirements for your target integration. BDK supports standard API authentication methods, including API keys, OAuth 2.0, client credentials, etc.

Questions

  • Does the API require authentication? If so, what kind?
  • Are there specific permissions or roles required to access certain API endpoints?
  • Can you obtain the necessary access and permissions for all required credentials?

2. Functionality & Data Flow

Identify which API endpoints will be used and define the data that will be exchanged.

Questions

  • Which API endpoints will your Book use?
  • What data will be sent or received?

3. Rate Limits and Usage

Review the API’s rate limits and usage quotes. Ensure they can handle your expected request volume and check for additional costs or restrictions.

Questions

  • Are there API rate limits or usage quotes?
  • Does the API’s rate limit support the expected request volume for your workflows?
  • Are there additional costs or restrictions for exceeding usage limits?

4. Documentation and Support

Evaluate if the API documentation is clear and if provider support is accessible.

Questions

  • Is the API documentation comprehensive and easy to follow?
  • Does the API provider offer support?

5. Scalability

Plan for future scalability and consider how the API will handle growing request needs.

Questions

  • Can the API handle increasing request volumes as workflows grow?
  • Does the API support additional functionality that might be required in future Books?


Deployment

Prepare to deploy and manage a Docker container.

Considerations

  1. Ensure the required infrastructure is in place to deploy a Docker container in the cloud, on-premises, or in a hybrid environment.
  2. Plan strategies for:
    1. Managing the container lifecycle, including scaling, networking, and security.
    2. Implementing logging to track container activity
    3. Monitoring container health and performance
    4. Updating Docker images for new releases with clear versioning and testing practices.

Did this page help you?