Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Azure Logic Apps (Standard)
Note
Cette fonctionnalité en préversion est soumise aux conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure.
Si votre organisation utilise une plateforme d'intégration que l'extension Azure Logic Apps Migration Agent dans Visual Studio Code ne prend actuellement pas en charge, comme TIBCO BusinessWorks, IBM IIB/ACE, Dell Boomi ou Workato, vous pouvez étendre l'agent en créant et en ajoutant un analyseur personnalisé pour cette plateforme. L’extension utilise une architecture d’analyseur basée sur le Registre qui prend en charge les analyseurs intégrés et externes. Vous pouvez donc ajouter la prise en charge de la plateforme sans modifier le pipeline de migration principal.
Cet article explique comment créer et ajouter un analyseur personnalisé qui transforme les artefacts de votre plateforme d’intégration source en format de représentation intermédiaire commune (IR) de l’agent de migration. Ce document JSON décrit les artefacts de manière neutre par la plateforme et permet à l’agent de traiter vos artefacts via toutes les 5 étapes de migration.
Prerequisites
Avant de commencer, vérifiez que vous disposez des ressources suivantes :
| Requirement | Description |
|---|---|
| Node.js 18 ou version ultérieure | Environnement d’exécution JavaScript gratuit, open source et multiplateforme |
| Visual Studio Code 1.85.0 ou version ultérieure | Expérience de développement local |
| API d’extension Visual Studio Code | API qui vous permet de générer des extensions pour Visual Studio Code |
| extension Azure Logic Apps Migration Agent | Extension requise avec l’agent de migration pour Visual Studio Code |
| extension Azure Logic Apps (Standard) | Dépendance requise pour l’extension Azure Logic Apps Migration Agent |
| Familiarité avec TypeScript | Langage de programmation fortement typé qui s’appuie sur JavaScript |
| Projet d’intégration source | Le projet d'intégration de sources et les fichiers d'artefacts pour la plateforme pour laquelle vous souhaitez obtenir un support. |
Architecture de l’analyseur
Pour ajouter la prise en charge de la plateforme à l’agent de migration, utilisez les approches suivantes :
| Approach | Recommandé | Description |
|---|---|---|
| analyseur intégré : Contribuer au dépôt GitHub de l'extension | Oui | Ajoutez un analyseur et des compétences directement au projet. Intégration complète avec les cinq étapes de migration. Cette approche est recommandée, car les analyseurs intégrés sont fournis avec l’extension, utilisent le même pipeline CI/CD et peuvent accéder à toutes les API internes. |
| Extension de l’analyseur externe | Non | Créez une extension Visual Studio Code distincte qui inscrit les analyseurs via l’API du plug-in. Couvre uniquement l’étape de découverte. |
Tous les analyseurs transforment les artefacts de plateforme source en un format IR commun sous forme de document JSON. L’agent de migration utilise le format IR dans les phases de planification, de conversion et de validation. Le registre d’analyseur prend en charge les plug-ins intégrés et externes :
| Analyseurs intégrés | Plug-ins d’analyseur externe |
|---|---|
BizTalk (.btproj, .odx) BizTalk ( .btm, .xsd) BizTalk ( .btp) MuleSoft (stub) |
Analyseurs de plateforme partenaires Analyseurs communautaires |
Étape 1 : Ajouter un analyseur intégré
Sous
src/parsers/<your-platform>/, créez un module d’analyseur.src/parsers/ ├── biztalk/ # Reference implementation │ ├── index.ts │ ├── types.ts │ ├── BizTalkProjectParser.ts │ ├── BizTalkOrchestrationParser.ts │ └── ... ├── <your-platform>/ # Your new parser │ ├── index.ts │ ├── types.ts │ └── <your-platform-parser-name>.tsVérifiez que chaque analyseur implémente l’interface
IParser.import { IParser, ParserCapabilities, ParseResult, ParseOptions } from '../types'; import { IRDocument, createEmptyIRDocument } from '../../ir/types'; export class YourPlatformParser implements IParser { get capabilities(): ParserCapabilities { return { platform: '<your-platform>', fileExtensions: ['.<your-extension>'], fileTypes: ['flow'], supportsFolder: false, description: 'Parses <your-platform> integration flows.', }; } canParse(filePath: string): boolean { return filePath.endsWith('.<your-extension>'); } async parse( filePath: string, options?: ParseOptions ): Promise<ParseResult> { const ir = createEmptyIRDocument(); // Parse the source file and populate the IR document. // For the complete schema, see docs/IRSchema.md. return { ir, stats: { /* parsing statistics */ } }; } }Inscrivez votre analyseur dans
src/parsers/index.ts.import { <your-platform-parser-name> } from './<your-platform>'; export function initializeParsers(): void { // ... existing parsers ... defaultParserRegistry.register(new <your-platform-parser-name>()); }Conseil / Astuce
En tant que référence opérationnelle complète, utilisez l’implémentation de l’analyseur BizTalk dans
src/parsers/biztalk/.
Étape 2 : Ajouter des compétences spécifiques à la plateforme
En tant que fichiers Markdown, les compétences fournissent des instructions IA pour chaque étape de migration. Ils indiquent aux agents GitHub Copilot comment analyser, planifier et convertir des artefacts pour votre plateforme spécifique.
Pour trouver ces compétences, regardez sous resources/skills/ pour les variantes spécifiques à la plateforme.
resources/skills/
├── detect-logical-groups/
│ ├── biztalk/SKILL.md
│ ├── mulesoft/SKILL.md
│ └── <your-platform>/SKILL.md
├── source-to-logic-apps-mapping/
│ ├── biztalk/SKILL.md
│ ├── mulesoft/SKILL.md
│ └── <your-platform>/SKILL.md
└── ... (13 skills total)
Chaque SKILL.md fichier utilise le frontmatter YAML suivi du contenu Markdown, par exemple :
---
name: source-to-logic-apps-mapping
description: >-
Component mapping for \<*your-platform*\> components to their equivalents in Azure Logic Apps (Standard).
---
Étape 3 : Mapper votre plateforme aux composants Azure Logic Apps (Standard)
Passez en revue le tableau suivant pour créer les mappages d’adaptateurs :
< votre plateforme> Composant équivalent Azure Logic Apps Natif? Remarques Écouteur HTTP Déclencheur HTTP Oui Intégré Connecteur de base de données Connecteur SQL Server Oui Intégré Pour chaque compétence du tableau suivant, créez la variante de compétence requise
<your-platform>/SKILL.md:Conseil / Astuce
Copiez les compétences d'une plateforme prise en charge, telle que
biztalk/SKILL.md, comme point de départ, et adaptez le contenu pour votre plateforme.GitHub assistant Copilot Skill Objectif @migration-analyserdetect-logical-groupsRègles de regroupement d’artefacts en groupes de flux logiques @migration-analyseranalyse-source-designRègles d’analyse de l’architecture source et de génération de visualisations @migration-analyserdependency-and-decompilation-analysisRègles d’identification des dépendances manquantes Tous les agents source-to-logic-apps-mappingMappage composant par composant depuis la source vers Azure Logic Apps @migration-plannerlogic-apps-planning-rulesRègles de génération de plans de migration @migration-converterconversion-task-plan-rulesRègles de création de tâches de conversion @migration-converterscaffold-logic-apps-projectRègles pour l'échafaudage de la structure de projet de l'application Logic Standard @migration-converterworkflow-json-generation-rulesRègles de génération de workflow.jsonfichiers@migration-converterconnections-json-generation-rulesRègles de génération du connections.jsonfichier@migration-converterdotnet-local-functions-logic-appsRègles de génération de fonctions locales .NET @migration-converterno-stubs-code-generationRègles permettant de s’assurer que le code généré est terminé @migration-converterruntime-validation-and-testingRègles de validation et de test du runtime @migration-convertercloud-deployment-and-testingRègles de déploiement et de test cloud
Étape 4 : Inscrire votre plateforme
Dans le
src/types/platforms.tsfichier, ajoutez votre plateforme à la liste des plateformes prises en charge.export type SourcePlatform = 'biztalk' | 'mulesoft' | '<your-platform>'; export const SUPPORTED_PLATFORMS: PlatformInfo[] = [ // ... existing platforms ... { id: '<your-platform>', label: '<your-platform-name>', description: '<your-platform> version <version-number>', icon: '$(server)', filePatterns: ['.<your-extension>', '.<your-config>'], }, ];Dans le
src/stages/discovery/PlatformDetector.tsfichier, ajoutez la logique de détection.Dans le
src/stages/discovery/SourceFolderService.tsfichier, ajoutez les modèles de fichier.
Étape 5 (facultative) : Ajouter des exemples ir
Pour documenter la façon dont les artefacts de votre plateforme correspondent au schéma IR, ajoutez un fichier docs/IRExamples_YourPlatform.md. Les exemples suivants existent et servent de modèles :
| Exemple | Description |
|---|---|
docs/IRExamples_BizTalk.md |
Informations de référence sur BizTalk |
docs/IRExamples_MuleSoft.md |
Informations de référence sur MuleSoft |
docs/IRExamples_Boomi.md |
Exemple Dell Boomi |
docs/IRExamples_IBMIIB.md |
Exemple IBM IIB/ACE |
docs/IRExamples_TIBCO.md |
Exemple TIBCO BusinessWorks |
docs/IRExamples_Workato.md |
Exemple Workato |
Alternative : Extension de l’analyseur externe
Les extensions d’analyseur externe couvrent uniquement l’étape de découverte de l’agent de migration où l’agent analyse vos fichiers sources. Les compétences, la détection de plateforme et la planification et la conversion optimisées par l'IA nécessitent que vous contribuiez directement au référentiel GitHub de l'extension.
Toutefois, si vous préférez ne pas contribuer directement au référentiel, créez une extension Visual Studio Code distincte qui inscrit les analyseurs à l’aide de l’API de plug-in parse :
import * as vscode from 'vscode';
export async function activate(context: vscode.ExtensionContext) {
const assistant = vscode.extensions.getExtension('microsoft.logicapps-migration-assistant');
if (assistant) {
const api = await assistant.activate();
api.registerParser(new MyPlatformParser(), {
priority: 10,
});
}
}
API de module d’analyseur
| Méthode ou propriété | Description |
|---|---|
version |
Version d'extension (lecture seule) |
registerParser(parser, options?) |
Inscrivez un analyseur auprès du Registre. |
unregisterParser(id) |
Supprimez un parser inscrit. |
getParserRegistry() |
Accédez directement au registre de l’analyseur. |
hasParser(id) |
Vérifiez si un analyseur est inscrit. |
getExternalParsers() |
Obtenez des informations sur les analyseurs externes inscrits. |
Contenu connexe
- Migration automatisée depuis les plateformes d’intégration vers Azure Logic Apps