wso2 / product-micro-integrator

The cloud-native configuration driven runtime that helps developers implement composite microservices.
https://wso2.com/integration/
Apache License 2.0
204 stars 221 forks source link

[New Feature]: Simplified Connector Creation and Metadata Management in WSO2 MI #3593

Open arunans23 opened 2 months ago

arunans23 commented 2 months ago

Description

In WSO2 Micro Integrator (MI), creating new connectors often involves overly complex steps, making the process time-consuming and prone to errors. This complexity can hinder developers from quickly building and deploying custom connectors, limiting the flexibility of the platform.

Describe your problem(s)

  1. Complexity: The steps involved in creating new connectors are complex, requiring detailed knowledge of the underlying frameworks and a significant amount of manual coding.

  2. Increased Development Time: The complexity of the process leads to longer development cycles, reducing the agility of teams that need to create custom connectors for specific use cases.

  3. Potential for Errors: The manual nature of the process increases the likelihood of errors, which can result in faulty connectors that are difficult to debug and maintain.

  4. Legacy Metadata Overhead: Existing connectors often include outdated metadata files like component.xml, which are maintained for historical reasons but add unnecessary complexity.

Describe your solution(s)

  1. Connector Generation via OpenAPI:

    • Introduce a feature that allows developers to generate connectors directly from OpenAPI definitions. This feature would automate much of the boilerplate code required for connector creation, enabling developers to focus on customizing the functionality rather than building the entire connector from scratch.
    • Ensure that the generated connectors are fully compatible with the existing WSO2 MI architecture and can be easily extended or modified as needed.
  2. Connector Generator for Non-OpenAPI Systems:

    • Develop a connector generator tool that can create connectors even when an OpenAPI specification is not available. This tool should guide the user through the process of defining the necessary inputs, outputs, and operations for the connector, generating the required code and configuration files.
    • Incorporate UI schema generation and other necessary metadata automatically, ensuring that the generated connectors are fully functional and easy to maintain.
  3. Streamlined Metadata and Configuration:

    • Revisit and simplify the metadata required for connectors. Eliminate outdated files like component.xml and other unnecessary XML configurations, retaining only the essential elements needed for modern connector development.
    • Ensure that the new metadata structure is lightweight, easy to understand, and maintain, reducing the overhead for developers.
  4. Streamlined Development Workflow:

    • Provide a streamlined development workflow that integrates with existing tools like VS Code, allowing developers to quickly generate, test, and deploy connectors within a single environment.
    • Offer detailed documentation and examples to help developers leverage the new connector generation feature effectively.

Related issue(s) (optional)

No response

Suggested label(s) (optional)

No response

Suggested assignee(s) (optional)

No response