diff --git a/en/docs/assets/attachments/jar/ISO8583TestClient-1.0.jar b/en/docs/assets/attachments/jar/ISO8583TestClient-1.0.jar new file mode 100644 index 000000000..e69de29bb diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/add-resource.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/add-resource.png index 40edaae6a..f42fe462c 100644 Binary files a/en/docs/assets/img/develop/create-artifacts/create-rest-api/add-resource.png and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/add-resource.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/available-apis.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/available-apis.png new file mode 100644 index 000000000..914f1d93f Binary files /dev/null and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/available-apis.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/available-resources.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/available-resources.png new file mode 100644 index 000000000..ff7fc5245 Binary files /dev/null and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/available-resources.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/edit-api-interface.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/edit-api-interface.png new file mode 100644 index 000000000..855687965 Binary files /dev/null and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/edit-api-interface.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/edit-api-resource-interface.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/edit-api-resource-interface.png new file mode 100644 index 000000000..c7d4ff2fe Binary files /dev/null and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/edit-api-resource-interface.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-openapi-definition.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-openapi-definition.png index 361bac460..b352a1784 100644 Binary files a/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-openapi-definition.png and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-openapi-definition.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-wsdl-file.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-wsdl-file.png index 1ca05f394..003ef8917 100644 Binary files a/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-wsdl-file.png and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api-from-wsdl-file.png differ diff --git a/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api.png b/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api.png new file mode 100644 index 000000000..970e76e0d Binary files /dev/null and b/en/docs/assets/img/develop/create-artifacts/create-rest-api/generate-api.png differ diff --git a/en/docs/assets/img/develop/create-projects/create-integration-project/add-artifact-pane.png b/en/docs/assets/img/develop/create-projects/create-integration-project/add-artifact-pane.png index 0f83ea464..e219315cf 100644 Binary files a/en/docs/assets/img/develop/create-projects/create-integration-project/add-artifact-pane.png and b/en/docs/assets/img/develop/create-projects/create-integration-project/add-artifact-pane.png differ diff --git a/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-command-palette.png b/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-command-palette.png index 808c9939a..5a0c0fcfa 100644 Binary files a/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-command-palette.png and b/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-command-palette.png differ diff --git a/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-design-view.png b/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-design-view.png index 4cabc5d1d..b66864ec7 100644 Binary files a/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-design-view.png and b/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-design-view.png differ diff --git a/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-mi-project-explorer.png b/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-mi-project-explorer.png index 237db5ce5..eaa81a0e7 100644 Binary files a/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-mi-project-explorer.png and b/en/docs/assets/img/develop/create-projects/create-integration-project/create-project-using-mi-project-explorer.png differ diff --git a/en/docs/assets/img/develop/create-projects/create-integration-project/new-project-details.png b/en/docs/assets/img/develop/create-projects/create-integration-project/new-project-details.png index 2491243fd..00240d7a4 100644 Binary files a/en/docs/assets/img/develop/create-projects/create-integration-project/new-project-details.png and b/en/docs/assets/img/develop/create-projects/create-integration-project/new-project-details.png differ diff --git a/en/docs/assets/img/develop/create-projects/importing-projects/open-mi-project.gif b/en/docs/assets/img/develop/create-projects/importing-projects/open-mi-project.gif new file mode 100644 index 000000000..e2c3fbe68 Binary files /dev/null and b/en/docs/assets/img/develop/create-projects/importing-projects/open-mi-project.gif differ diff --git a/en/docs/assets/img/develop/mi-for-vscode/command-palette.png b/en/docs/assets/img/develop/mi-for-vscode/command-palette.png index ff0e80fe5..8878b2c9a 100644 Binary files a/en/docs/assets/img/develop/mi-for-vscode/command-palette.png and b/en/docs/assets/img/develop/mi-for-vscode/command-palette.png differ diff --git a/en/docs/assets/img/develop/mi-for-vscode/mi-overview.png b/en/docs/assets/img/develop/mi-for-vscode/mi-overview.png index 85199532e..a9d6b947f 100644 Binary files a/en/docs/assets/img/develop/mi-for-vscode/mi-overview.png and b/en/docs/assets/img/develop/mi-for-vscode/mi-overview.png differ diff --git a/en/docs/assets/img/develop/mi-for-vscode/project-explorer.png b/en/docs/assets/img/develop/mi-for-vscode/project-explorer.png index 3a38fd5bb..152629648 100644 Binary files a/en/docs/assets/img/develop/mi-for-vscode/project-explorer.png and b/en/docs/assets/img/develop/mi-for-vscode/project-explorer.png differ diff --git a/en/docs/assets/img/develop/mi-for-vscode/reload-window.png b/en/docs/assets/img/develop/mi-for-vscode/reload-window.png new file mode 100644 index 000000000..893067b71 Binary files /dev/null and b/en/docs/assets/img/develop/mi-for-vscode/reload-window.png differ diff --git a/en/docs/assets/img/develop/mi-for-vscode/samples.png b/en/docs/assets/img/develop/mi-for-vscode/samples.png index d302853f0..89842f8e5 100644 Binary files a/en/docs/assets/img/develop/mi-for-vscode/samples.png and b/en/docs/assets/img/develop/mi-for-vscode/samples.png differ diff --git a/en/docs/assets/img/develop/mi-for-vscode/switch-to-project-explorer.gif b/en/docs/assets/img/develop/mi-for-vscode/switch-to-project-explorer.gif index cb699e6bd..74fe0b321 100644 Binary files a/en/docs/assets/img/develop/mi-for-vscode/switch-to-project-explorer.gif and b/en/docs/assets/img/develop/mi-for-vscode/switch-to-project-explorer.gif differ diff --git a/en/docs/assets/img/integrate/connectors/iso8583-inbound-form.png b/en/docs/assets/img/integrate/connectors/iso8583-inbound-form.png new file mode 100644 index 000000000..e69de29bb diff --git a/en/docs/assets/img/integrate/connectors/iso8583-inbound.png b/en/docs/assets/img/integrate/connectors/iso8583-inbound.png index 2e54fe4b2..4bb29d768 100644 Binary files a/en/docs/assets/img/integrate/connectors/iso8583-inbound.png and b/en/docs/assets/img/integrate/connectors/iso8583-inbound.png differ diff --git a/en/docs/assets/img/integrate/connectors/mongodb-connector-store.png b/en/docs/assets/img/integrate/connectors/mongodb-connector-store.png index 01b90f6bb..0bf607ccd 100644 Binary files a/en/docs/assets/img/integrate/connectors/mongodb-connector-store.png and b/en/docs/assets/img/integrate/connectors/mongodb-connector-store.png differ diff --git a/en/docs/assets/img/integrate/connectors/sqs-inbound-form.png b/en/docs/assets/img/integrate/connectors/sqs-inbound-form.png new file mode 100644 index 000000000..26d0939f1 Binary files /dev/null and b/en/docs/assets/img/integrate/connectors/sqs-inbound-form.png differ diff --git a/en/docs/assets/img/integrate/connectors/sqs-inbound.png b/en/docs/assets/img/integrate/connectors/sqs-inbound.png index 150c219db..400c829e3 100644 Binary files a/en/docs/assets/img/integrate/connectors/sqs-inbound.png and b/en/docs/assets/img/integrate/connectors/sqs-inbound.png differ diff --git a/en/docs/assets/img/integrate/tutorials/using-templates/create-new-project.png b/en/docs/assets/img/integrate/tutorials/using-templates/create-new-project.png index 45e40d382..6962e74ae 100644 Binary files a/en/docs/assets/img/integrate/tutorials/using-templates/create-new-project.png and b/en/docs/assets/img/integrate/tutorials/using-templates/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/data-service/create-new-project.png b/en/docs/assets/img/learn/tutorials/data-service/create-new-project.png new file mode 100644 index 000000000..5e181b606 Binary files /dev/null and b/en/docs/assets/img/learn/tutorials/data-service/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/exposing-several-services/create-new-project.png b/en/docs/assets/img/learn/tutorials/exposing-several-services/create-new-project.png new file mode 100644 index 000000000..86a30d32f Binary files /dev/null and b/en/docs/assets/img/learn/tutorials/exposing-several-services/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/message-routing/create-new-project.png b/en/docs/assets/img/learn/tutorials/message-routing/create-new-project.png new file mode 100644 index 000000000..e565bdf46 Binary files /dev/null and b/en/docs/assets/img/learn/tutorials/message-routing/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/send-email-from-integration-service/create-new-project.png b/en/docs/assets/img/learn/tutorials/send-email-from-integration-service/create-new-project.png index 45e40d382..8783a47a3 100644 Binary files a/en/docs/assets/img/learn/tutorials/send-email-from-integration-service/create-new-project.png and b/en/docs/assets/img/learn/tutorials/send-email-from-integration-service/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/sending-simple-message-to-service/create-new-project.png b/en/docs/assets/img/learn/tutorials/sending-simple-message-to-service/create-new-project.png index df623bff2..24da80439 100644 Binary files a/en/docs/assets/img/learn/tutorials/sending-simple-message-to-service/create-new-project.png and b/en/docs/assets/img/learn/tutorials/sending-simple-message-to-service/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/storing-and-forwarding-messages/create-new-project.png b/en/docs/assets/img/learn/tutorials/storing-and-forwarding-messages/create-new-project.png index df623bff2..9d3f37a3d 100644 Binary files a/en/docs/assets/img/learn/tutorials/storing-and-forwarding-messages/create-new-project.png and b/en/docs/assets/img/learn/tutorials/storing-and-forwarding-messages/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/transforming-message-content/create-new-project.png b/en/docs/assets/img/learn/tutorials/transforming-message-content/create-new-project.png index df623bff2..9686f8d5d 100644 Binary files a/en/docs/assets/img/learn/tutorials/transforming-message-content/create-new-project.png and b/en/docs/assets/img/learn/tutorials/transforming-message-content/create-new-project.png differ diff --git a/en/docs/assets/img/learn/tutorials/using-scheduled-tasks/create-new-project.png b/en/docs/assets/img/learn/tutorials/using-scheduled-tasks/create-new-project.png new file mode 100644 index 000000000..5c4bacfbc Binary files /dev/null and b/en/docs/assets/img/learn/tutorials/using-scheduled-tasks/create-new-project.png differ diff --git a/en/docs/develop/create-integration-project.md b/en/docs/develop/create-integration-project.md index 85d3e97b4..ae147eba0 100644 --- a/en/docs/develop/create-integration-project.md +++ b/en/docs/develop/create-integration-project.md @@ -1,11 +1,15 @@ -# Creating an Integration Project +# Create a Project -1. Launch Visual Studio Code with the Micro Integrator extension installed. +An integration project in WSO2 Micro Integrator (MI) is a structured collection of artifacts designed to facilitate seamless communication and data exchange between diverse systems, applications, and services. + +Follow the below steps to create an integration project using the WSO2 Micro Integrator for VS Code extension (MI for VS Code): + +1. Launch Visual Studio Code with the MI for VS Code extension installed. !!! info Follow the [Install Micro Integrator for VS Code]({{base_path}}/develop/mi-for-vscode/install-wso2-mi-for-vscode) documentation for a complete installation guide. -2. Click on the WSO2 icon on the **Activity Bar** of the VS Code editor. +2. Click on the Micro Integrator icon on the **Activity Bar** of the VS Code editor. Mi VS Code Extension @@ -41,7 +45,7 @@ 4. In the **Project Creation Form**, enter a suitable name for the integration project under **Project Name**. -5. Provide a location under the **Select Project Directory**. +5. Provide a location under **Select Project Directory**. New Project Details @@ -50,24 +54,7 @@ Upon clicking **Create**, you will now see the below interface. Add Artifact Pane - -Now you can start creating your integration project by creating artifacts. You can also incorporate the AI-powered assistance experience with Micro Integrator Copilot. - -The following are the synapse artifacts that can be added to an integration flow: - -| Artifact | Description | -|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **API** | An endpoint with a URL, specifying the context and resources accessible through HTTP methods such as GET, PUT, POST, DELETE. When requests arrive, they are processed by the input sequence (inSequence) of the API, where the Micro Integrator uses mediators to process the message and forward it to the backend service. Upon receiving the response from the backend, the same inSequence or a designated faultSequence (in case of errors) processes the response and forwards it to the client, ensuring a streamlined flow of messages without the need for an output sequence. | -| **Endpoint** | Defines external reference points for sending out messages from the integration server to external services or APIs. | -| **Sequence** | A reusable set of mediation instructions that processes incoming or outgoing messages. Sequences are used in the proxy service and the REST APIs. Each sequence is a set of mediators where messages are processed. | -| **Proxy** | Acts as an intermediary that accepts client requests, optionally applies mediation logic through sequences, and routes them to external services or internal components for processing, thereby decoupling the client and backend service endpoints. | -| **Inbound Endpoint** | A listener that facilitates the receiving of messages from external systems into the MI ecosystem. They can be configured dynamically without restarting the server. Messages move from the transport layer to the mediation layer without going through the Axis2 engine. | -| **Message Store** | Temporarily stores messages that are processed asynchronously, allowing for reliable messaging and delayed processing. The delivery of a message to the endpoint can be guaranteed with this, since it is only deleted from the Store when an endpoint receives the message correctly. | -| **Message Processor** | Handles the processing of messages stored in message stores, managing the delivery of messages to endpoints based on specific conditions or schedules. The message processor extracts a queue, memory or database from it and sends it to an endpoint. | -| **Task** | A scheduled job that executes specific logic at predefined intervals to automate integration workflows. Tasks can also be customized. | -| **Local Entry** | Static configurations stored locally within the server, used to define simple values or XML configurations that can be referenced within synapse configurations. | -| **Template** | A reusable configurations that can be parameterized and applied to multiple integration scenarios to promote reusability. | -| **Data Service** | A deployable artifact that exposes data operations as web services, allowing for CRUD (Create, Read, Update, Delete) operations on underlying data sources through SOAP or RESTful APIs. | -| **Data Source** | A configuration element that defines the connection details to a database, enabling the Micro Integrator to interact with it for data operations. | -| **Class Mediator** | A custom Java class that implements the `org.apache.synapse.Mediator` interface, allowing developers to execute custom logic within the flow of a Synapse configuration. | -| **Registry** | A centralized configuration management system used to store, manage, and retrieve configuration artifacts and resources for integration solutions. | + +Now you can start creating your integration by developing artifacts. Additionally, you can enhance your experience by incorporating AI-powered assistance with [Micro Integrator Copilot]({{base_path}}/develop/mi-for-vscode/mi-copilot). + +See the [Integration Artifacts Overview]({{base_path}}/develop/creating-artifacts/creating-artifacts-overview) documentation to learn about the integration artifacts. diff --git a/en/docs/develop/creating-artifacts/creating-an-api.md b/en/docs/develop/creating-artifacts/creating-an-api.md index a9f7c87a2..4789d8cd0 100644 --- a/en/docs/develop/creating-artifacts/creating-an-api.md +++ b/en/docs/develop/creating-artifacts/creating-an-api.md @@ -1,70 +1,65 @@ -# Create a REST API +# Create an API -Follow the instructions below to create a new REST API artifact in the Micro Integrator for Visual Studio Code extension (MI for VS Code). +Follow these instructions to create an [API]({{base_path}}/reference/synapse-properties/rest-api-properties) artifact in the Micro Integrator for Visual Studio Code extension (MI for VS Code). -## Instructions - -### Create the API artifact +## Create an API artifact {!includes/creating-project.md!} -3. Go to **Micro Integrator Project Explorer** > **APIs**. - - Create REST API + Hereafter, this project will be referred to as ``. -4. Hover over **APIs** and click the **+** icon that appears to open the **Synapse API Artifact** creation form below. +3. To add a new API, go to **Micro Integrator Project Explorer** > **APIs**. - Add API +4. Hover over **APIs** and click the **+** icon that appears to open the **API Form**. - In the interface that opens, provide details for the synapse API artifact. +5. Provide details for the API artifact. - + - - + + - - + - +
ParameterField Description
NameName of the synapse API artifact.**Name**The name of the API artifact.
ContextThe context for the REST API. For example, /healthcare. + **Context**The context for the API. For example, /healthcare.

Note

    -
  • It is not recommended to use the same API context in multiple APIs. The API context should be unique for each API.
  • -
  • It is also not recommended to use /service as API context because it is preserved for Proxy services.
  • +
  • This value will be automatically populated with the same value you provided for the API **Name**, or you can update it with a different name.
  • +
  • The API context should be unique for each API.
  • +
  • It is not recommended to use /service as the API context because it is preserved for Proxy services.

Generate API From**Generate API From** Select one of the given options:
    -
  • None: This option is selected by default. Use it to create a new REST API artifact from scratch.
  • -
  • From OpenAPI definition: Select this option to generate the REST API artifact from an existing Swagger definition (YAML/JSON file). The Synapse configuration (XML) of the REST API will be generated using the Swagger definition.
  • -
  • From WSDL file: Select this option to generate Synapse API from a WSDL endpoint.
  • +
  • **None**: This option is selected by default. Use it to create a new API artifact from scratch.
  • +
  • **From OpenAPI definition**: Select this option to generate the API artifact from an existing Swagger definition (YAML/JSON file). The Synapse configuration (XML) of the API will be generated using the Swagger definition.
  • +
  • **From WSDL file**: Select this option to generate Synapse API from a Web Services Description Language (WSDL) endpoint.
- Create new rest API - -
+ - If you selected **None** under **Generate API From**, you can start creating an API from scratch. - - If you selected **None** in the previous step, you can start creating an API from scratch. + generate API from wsdl file - - If you selected **From OpenAPI definition** in the previous step, enter the details of your custom Swagger file: + - If you selected **From OpenAPI definition** under **Generate API From**, enter the details of your custom Swagger file: @@ -88,14 +83,14 @@ Follow the instructions below to create a new REST API artifact in the Micro Int Save Swagger Definition
- Check this to save the Swagger definition. The Swagger definition will be saved to this registry.
+ Check this to save the Swagger definition.
generate API from openAPI definition - - If you selected **From WSDL file** in the previous step, enter the following information: + - If you selected **From WSDL file** under **Generate API From**, enter the following information: @@ -105,15 +100,15 @@ Follow the instructions below to create a new REST API artifact in the Micro Int - + - + - + @@ -125,21 +120,28 @@ Follow the instructions below to create a new REST API artifact in the Micro Int generate API from wsdl file !!! Note - - Current SOAP to REST Generation has the limitations mentioned [here](https://github.com/wso2/soap-to-rest/blob/main/limitations.md). - - All the generated REST Services are not production-ready and users need to review them manually using MI for VS Code and edit if needed. - - Since having `.` (dot) in XML element names is not a best practice, you may need to manually change the generated soap payload to include the `.` (dot). + - The current SOAP to REST generation has some limitations. + - Go to the Limitations of SOAP to REST Feature documentation for more details on these limitations. + - All the generated REST services are not production-ready and require manual review and necessary edits using MI for VS Code. + - Additionally, since using a dot `.` in XML element names is not considered a best practice, you may need to manually modify the generated SOAP payload to remove or adjust the dot notation. + +6. Once you complete the **API Form**, click **Create**. + +!!! info + You can switch to the default Visual Studio Code **Explorer** to view the folder structure. -5. Once you complete the **API Form**, click **Create**. + - The newly-created API will be stored in the `/src/main/wso2mi/artifacts/apis` folder of your integration project. + - A Swagger file for the API will be generated in the `/src/main/wso2mi/resources/api-definitions` folder. - The REST API is created inside the `/src/main/wso2mi/artifacts/apis` folder of your integration project. +- The created APIs will be available in the **MI Overview**. - If you have provided a custom Swagger definition file (YAML), it is stored in the `/src/main/wso2mi/resources/api-definitions` folder of your integration project. + available-apis - Once you create the REST API, it will be available on the **Service Designer** under **Available Resources**. +- The created API resources will be available in **Service Designer** under **Available Resources**. - service designer view + available-resources -### Add new API resources +## Add new API resources When you create the API, an API resource is created by default. If you want to add a new resource: @@ -151,8 +153,7 @@ When you create the API, an API resource is created by default. If you want to a add new API resource -!!! Info - **About the default API Resource** +!!! Info "Default API resource" Each API can have at most one default resource. Any request received by the API but does not match any of the enclosed resources @@ -176,7 +177,9 @@ When you create the API, an API resource is created by default. If you want to a ``` -### Update metadata + -### Design the integration +## Design the integration + +1. Open the **Resource View** of the API resource. + + 1. Go to **MI Project Explorer** > **APIs**. + 2. Under the API you created, click the API resource to open the **Resource View** of the API resource. + +2. Click on the **+** icon below the API resource to open the mediator palette. + +3. Add the required mediators and connectors to the API resource and design the integration flow. + +## Update configurations + +### Update the API configurations + +1. Go to **MI Overview**. + +2. Under **APIs**, select the API you want to edit. This will open the **Service Designer**. + +3. On the **Service Designer**, click the **Edit** icon to edit the API. -1. On the **Service Designer**, click on the API resource and go to the **Resource View**. + available-apis -2. Add the required mediators and connectors to the API resource and design the integration flow. + This will open the **Edit API** interface. -You can also use the [**Source View**](#using-the-source-view) or the [**Swagger View**](#using-the-swagger-editor) to update the API configuration. +4. Once you edit, click **Save Changes**. -### Update properties + See the complete list of [API configurations]({{base_path}}/reference/synapse-properties/rest-api-properties/#rest-api-properties) you can configure. -To update API level properties: +### Update the API resource configurations -1. On the **Service Designer**, click on the API resource to go to the **Resource View** of the API resource. +1. Go to **MI Overview**. - You will now see the graphical view of the API with its default API Resource. +2. Under **APIs**, select the API you want to edit. This will open the **Service Designer**. -2. Click the **Edit** icon to edit the API resource. +3. On the **Service Designer**, click on the API resource to go to the **Resource View** of the API resource. - edit API resource +4. Click the **Edit** icon to edit the API resource. -3. Specify values for the required resource properties: + available-apis - Edit API resource details + This will open the **Edit API Resource** interface. -4. Click **Update**. +5. Once you edit, click **Update**. - See the complete list of [API Resource properties]({{base_path}}/reference/synapse-properties/rest-api-properties/#rest-api-resource-properties) you can configure. + See the complete list of [API Resource configurations]({{base_path}}/reference/synapse-properties/rest-api-properties/#rest-api-resource-properties) you can configure. -### Use the Source View +## Source View -Click the **Show Source** (``) icon located in the top right corner of the VS Code to view the XML-based synapse configuration (source code) of the API. +Click the **Show Source** (``) icon located in the top right corner of the VS Code to view the XML-based synapse configuration (source code) of the API. You can update the API using this view. Show source view @@ -271,7 +291,7 @@ You can update the API using this view. source view -### Use the Swagger View +## Swagger View 1. Go to **Service Designer**. @@ -282,11 +302,11 @@ You can update the API using this view. You can interact with the API using the **Swagger View**. !!! Note - If you have added a custom Swagger definition to the API, note that this view displays the API's default Swagger definition, not the custom Swagger definition that you added. + If you have created the API by adding a custom Swagger definition, this view displays the API's default Swagger definition, not the custom one you have added. -!!! abstract "Learn more about REST APIs" +!!! abstract "Learn more about APIs" - Follow our examples on REST APIs: + Follow our examples on APIs: - [Using a Simple Rest API]({{base_path}}/learn/examples/rest-api-examples/introduction-rest-api) - [Working with Query Parameters]({{base_path}}/learn/examples/rest-api-examples/setting-query-params-outgoing-messages) diff --git a/en/docs/develop/creating-artifacts/creating-artifacts-overview.md b/en/docs/develop/creating-artifacts/creating-artifacts-overview.md new file mode 100644 index 000000000..f039bf7bc --- /dev/null +++ b/en/docs/develop/creating-artifacts/creating-artifacts-overview.md @@ -0,0 +1,21 @@ +# Integration Artifacts Overview + +Once you create an integration project, you can add integration artifacts and create the integration flow. + +The following are the artifacts that can be added to an integration flow: + +| Artifact | Description | +|------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [**API**]({{base_path}}/develop/creating-artifacts/creating-an-api) | An endpoint with a URL, specifying the context and resources accessible through HTTP methods such as `GET`, `PUT`, `POST`, and `DELETE`. When a request is arrived, it is processed by the input sequence (`inSequence`) of the API, where the Micro Integrator uses mediators to process the message and forward it to the backend service. Upon receiving the response from the backend, the same `inSequence` or a designated `faultSequence` (in case of errors) processes the response and forwards it to the client, ensuring a streamlined flow of messages without the need for an output sequence. | +| [**Endpoint**]({{base_path}}/develop/creating-artifacts/creating-endpoints) | Defines external reference points for sending out messages from the integration server to external services or APIs. | +| [**Sequence**]({{base_path}}/develop/creating-artifacts/creating-reusable-sequences) | A reusable set of mediation instructions that processes incoming or outgoing messages. Sequences are used in the proxy service and the REST APIs. Each sequence is a set of mediators where messages are processed. | +| [**Proxy Service**]({{base_path}}/develop/creating-artifacts/creating-a-proxy-service) | Acts as an intermediary that accepts client requests, optionally applies mediation logic through sequences, and routes them to external services or internal components for processing, thereby decoupling the client and backend service endpoints. | +| [**Message Store**]({{base_path}}/develop/creating-artifacts/creating-a-message-store) | Temporarily stores messages that are processed asynchronously, allowing for reliable messaging and delayed processing. The delivery of a message to the endpoint can be guaranteed with this, since it is only deleted from the Store when an endpoint receives the message correctly. | +| [**Message Processor**]({{base_path}}/develop/creating-artifacts/creating-a-message-processor) | Handles the processing of messages stored in message stores, managing the delivery of messages to endpoints based on specific conditions or schedules. The message processor extracts a queue, memory or database from it and sends it to an endpoint. | +| [**Task**]({{base_path}}/develop/creating-artifacts/creating-scheduled-task) | A scheduled job that executes specific logic at predefined intervals to automate integration workflows. Tasks can also be customized. | +| [**Local Entry**]({{base_path}}/develop/creating-artifacts/registry/creating-local-registry-entries) | Static configurations stored locally within the server, used to define simple values or XML configurations that can be referenced within synapse configurations. | +| [**Template**]({{base_path}}/develop/creating-artifacts/creating-endpoint-templates) | A reusable configurations that can be parameterized and applied to multiple integration scenarios to promote reusability. | +| [**Data Service**]({{base_path}}/develop/creating-artifacts/data-services/creating-data-services) | A deployable artifact that exposes data operations as web services, allowing for CRUD (Create, Read, Update, Delete) operations on underlying data sources through SOAP or RESTful APIs. | +| [**Data Source**]({{base_path}}/develop/creating-artifacts/data-services/creating-datasources) | A configuration element that defines the connection details to a database, enabling the Micro Integrator to interact with it for data operations. | +| [**Class Mediator**]({{base_path}}/develop/customizations/creating-custom-mediators) | A custom Java class that implements the `org.apache.synapse.Mediator` interface, allowing developers to execute custom logic within the flow of a Synapse configuration. | +| [**Registry**]({{base_path}}/develop/creating-artifacts/creating-registry-resources) | A centralized configuration management system used to store, manage, and retrieve configuration artifacts and resources for integration solutions. | diff --git a/en/docs/develop/intro-integration-development.md b/en/docs/develop/intro-integration-development.md index e015e7552..5873bcb20 100644 --- a/en/docs/develop/intro-integration-development.md +++ b/en/docs/develop/intro-integration-development.md @@ -1,6 +1,6 @@ -# Developing Integration Solutions +# Develop Integration Solutions -The contents on this page will walk you through the topics related to developing integration solutions using WSO2 Micro Integrator extension for Visual Studio Code: MI for VS Code. +The contents on this page will walk you through the topics related to developing integration solutions using WSO2 Micro Integrator for Visual Studio Code extension: MI for VS Code. ## Micro Integrator for Visual Studio Code (MI for VS Code) @@ -31,6 +31,14 @@ MI for VS Code is the comprehensive developer tool, which you will use to dev Find details on how to troubleshoot errors you might encounter as you use MI for VS Code. + + + +
WSDL TypeSelect File to generate API from a WSDL file or a Zip file containing a valid WSDL file, or select URL to generate the API using a remote WSDL file.Select File to generate API from a WSDL file or a ZIP file containing a valid WSDL file, or select URL to generate the API using a remote WSDL file.
WSDL FileBrowse and select the WSDL File or Zip file that contains a valid WSDL file.Browse and select the WSDL file or ZIP file that contains a valid WSDL file.
WSDL URLGive the remote location of the SOAP Service WSDL File as a valid URL.Give the remote location of the SOAP Service WSDL file as a valid URL.
SOAP Endpoint
+ MI Copilot + + Explore the capabilities of MI Copilot and learn how to integrate it into your projects. +
## Development workflow @@ -115,7 +123,7 @@ To start developing integration solutions, you need to first Custom Mediator @@ -137,9 +145,6 @@ To start developing integration solutions, you need to first Export Artifacts -
  • Import Artifacts
  • diff --git a/en/docs/develop/mi-for-vscode/install-wso2-mi-for-vscode.md b/en/docs/develop/mi-for-vscode/install-wso2-mi-for-vscode.md index 1d9bf435a..40502a44d 100644 --- a/en/docs/develop/mi-for-vscode/install-wso2-mi-for-vscode.md +++ b/en/docs/develop/mi-for-vscode/install-wso2-mi-for-vscode.md @@ -1,30 +1,31 @@ # Install Micro Integrator for VS Code -This page walks you through how to get started with the Micro Integrator for VS Code extension. +This page explains how to install the Micro Integrator (MI) for VS Code extension. ## Prerequisites -- **Java Development Kit (JDK) 17** - 1. Download and install Java SE Development Kit (JDK) version 17. For more information on compatible JDK versions, see the [Tested JDKs]({{base_path}}/install-and-setup/setup/reference/product-compatibility/#tested-jdks) documentation. - 2. Set the `JAVA_HOME` environment variable in the system settings. For more information on setting `JAVA_HOME`, see the [Install and Setup]({{base_path}}/install-and-setup/install/installing-mi/#setting-up-java_home) documentation. +- Java Development Kit (JDK) + 1. Download and install Java SE Development Kit (JDK) version 11 or 17. See [Tested JDKs]({{base_path}}/install-and-setup/setup/reference/product-compatibility/#tested-jdks) for more information. + 2. Set the `JAVA_HOME` environment variable in the [system settings]({{base_path}}/install-and-setup/install/installing-mi/#setting-up-java_home). + +- Apache Maven -- **Apache Maven** 1. Download and install [Apache Maven](https://maven.apache.org/download.cgi) (version 3.6.0 onwards). 2. Set the path for Apache Maven in the [system's PATH environment variable](https://maven.apache.org/install.html). -- **Visual Studio Code** - Download and install the Visual Studio Code editor from [here](https://code.visualstudio.com/download). +- Visual Studio Code + + Download and install the Visual Studio Code editor from [here](https://code.visualstudio.com/download). -## Install the MI VS Code extension +## Install the MI for VS Code extension -Follow one of the following two options to install the MI VS Code extension. +Follow one of the following two options to install MI for VS Code. **Option 1** 1. Go to the [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=WSO2.micro-integrator). 2. Click **Install** to install the **Micro Integrator** extension. - **Option 2** 1. Open the VS Code editor. @@ -32,15 +33,12 @@ Follow one of the following two options to install the MI VS Code extension. Extensions -3. Type `Micro Integrator` in the search bar. -4. Press **Enter** to search. +3. Type `Micro Integrator` in the search bar. +4. Press **Enter** to search. 5. Among the results, find the **Micro Integrator** extension. 6. Click **Install** to install the MI for VS Code extension from Visual Studio Marketplace. !!!note - When the extension is activated correctly, the WSO2 icon appears on the Activity Bar of the VS Code editor. + When the extension is activated correctly, the Micro Integrator icon appears on the Activity Bar of the VS Code editor. MI VS Code Extension - -!!! info "What's Next?" - See [Developing Your First Integration Solution Using MI for VS Code]({{base_path}}/develop/mi-for-vscode/quick-start-guide-mi-for-vscode) to build a sample integration scenario. diff --git a/en/docs/develop/mi-for-vscode/mi-for-vscode-overview.md b/en/docs/develop/mi-for-vscode/mi-for-vscode-overview.md index b61293a9f..aa5a24c0c 100644 --- a/en/docs/develop/mi-for-vscode/mi-for-vscode-overview.md +++ b/en/docs/develop/mi-for-vscode/mi-for-vscode-overview.md @@ -1,6 +1,6 @@ -# Overview - Micro Integrator for VS Code +# Micro Integrator for VS Code Overview -WSO2 Micro Integrator Visual Studio Code extension (MI for VS Code) is a comprehensive integration solution that simplifies your digital transformation journey. It streamlines connectivity among applications, services, data, and the cloud using a user-friendly low-code graphical designing experience and revolutionizes your integration development workflow. As an integration developer, you can execute all the development lifecycle phases using this tool. When your integration solutions are production-ready, you can easily push the artifacts to your continuous integration/continuous deployment pipeline. +WSO2 Micro Integrator for Visual Studio Code extension (MI for VS Code) is a comprehensive integration solution that simplifies your digital transformation journey. It streamlines connectivity among applications, services, data, and the cloud using a user-friendly low-code graphical designing experience and revolutionizes your integration development workflow. As an integration developer, you can execute all the development lifecycle phases using this tool. When your integration solutions are production-ready, you can easily push the artifacts to your continuous integration/continuous deployment pipeline. !!!info "Why a VS Code extension?" - It's free and open-source. @@ -8,45 +8,39 @@ WSO2 Micro Integrator Visual Studio Code extension (MI for VS Code) is a compreh - It's compatible across various platforms. - It's lightweight. -This page provides a quick overview of the interface of the extension. +This page provides a quick overview of the interface of the MI for VS Code extension. ## Getting Started -When the extension is installed properly, you can see the WSO2 icon in the Activity Bar of the VS Code editor. +When the extension is installed properly, you can see the WSO2 Micro Integrator icon in the Activity Bar of the VS Code editor. MI VS Code Extension -You can click the WSO2 icon to open the extension. +You can click the WSO2 Micro Integrator icon to open the extension. -When you open the extension for the first time, you'll see the **Design View** panel on the right side and the **Micro Integrator: Project Explorer** view on the left. +When you open the extension for the first time, you'll see the **Design View** panel on the right side and the **Micro Integrator: Project Explorer** on the left. Getting Started -To get started, you need to first create the required project directories. You can either open a folder containing an integration project by selecting **Open MI Project** or create a new integration project from scratch by selecting **Create New Project**. Alternatively, you can use an integration sample provided under **Explore Samples**, which will generate the required projects and files for a specific use case. +To get started, you need to first create the required project directories. You can either open a folder containing an integration project by selecting [**Open MI Project**]({{base_path}}/develop/opening-projects) or create a new integration project from scratch by selecting [**Create New Project**]({{base_path}}/develop/create-integration-project). Alternatively, you can use an integration sample provided under **Explore Samples**, which will generate the required projects and files for a specific use case. To create a new project you can use the links on the **MI Project Explorer** or **Design View**. Create New Project -These project directories will be saved to your workspace and can be accessed later from Project Explorer. - ## Samples -The **Design View** lists a set of sample projects and integration artifacts that represent common integration scenarios. You can use these to explore WSO2 Micro Integrator and to try out common integration use cases. - -Samples +The **Design View** lists a set of [sample projects]({{base_path}}/learn/samples/samples-overview) that represent common integration scenarios. You can use these to explore WSO2 Micro Integrator and to try out common integration use cases. -Once you have created the required set of projects and artifacts, you can start working with the project directories and artifact editors. +Samples Once you create an integration project, you will see the **Add Artifact** panel where you can start the integration with one of the following options: -- Describe your Integration to generate with AI -- Start with Entry Points and Other Artifacts +- **Describe your Integration to generate with AI** +- **Create an Integration** using the integration artifacts MI Overview -To start an integration, you need either API, Proxy, Task, or Inbound Endpoint as the entry points. You can add the other artifacts using the **Add Artifacts** panel or the Project Explorer. - ## MI Project Explorer The **Micro Integrator Project Explorer** provides a view of all the project directories created for your integration solution. Shown below is the **MI Project Explorer** of a sample project. @@ -60,9 +54,9 @@ You can add the artifacts required for your integration using the MI Project Exp Switch to project explorer.gif -## AI Panel +## MI Copilot -WSO2 MI Copilot, a trained language model (LLM), demonstrates the capability to comprehend complex integration concepts and scenarios, allowing it to create tailored artifacts for different situations. This makes it versatile and useful for various integration tasks. +WSO2 Micro Integrator (MI) Copilot is an AI-powered tool that simplifies the creation of integration scenarios. By describing your requirements in natural language or uploading relevant files, MI Copilot generates the necessary integration artifacts for seamless project integration. Clicking on the **Open AI Panel** icon located in the top right corner of VS Code will open the WSO2 MI Copilot interface. @@ -72,8 +66,10 @@ You can create any integration project by entering your integration scenario in MI Copilot +For more information on WSO2 MI Copilot and its capabilities, see [MI Copilot]({{base_path}}/develop/mi-for-vscode/mi-copilot) documentation. + !!!info "What's Next?" - - See [Install MI for VS Code]({{base_path}}/develop/mi-for-vscode/install-wso2-mi-for-vscode) for more information on how to install and setup MI VS Code extension. + - See [Install MI for VS Code]({{base_path}}/develop/mi-for-vscode/install-wso2-mi-for-vscode) for more information on how to install and set up MI for VS Code.