MATLAB Compiler SDK

Créer des composants software à partir de programmes MATLAB

 

MATLAB Compiler SDK™ étend les fonctionnalités de MATLAB Compiler™ pour vous permettre de construire des librairies partagées C/C++, des assemblages Microsoft® .NET, des classes Java® et des packages Python® à partir de programmes MATLAB®. Ces composants peuvent être intégrés dans des applications personnalisées, puis déployés sur PC, sur le Web ou sur un système d'entreprise.

MATLAB Compiler SDK comprend une version de développement du MATLAB Production Server™, qui permet de tester et déboguer l'application et les add-ins Excel avant de les déployer sur le web ou dans des systèmes d’entreprise déjà existants.

Les applications créées à l'aide des composants de MATLAB Compiler SDK peuvent être partagées libres de droits avec les utilisateurs, même s'ils ne possèdent pas MATLAB. Ces applications compilées nécessitent le MATLAB Runtime ainsi que ses bibliothèques partagées.

Pour générer du code source C et C++ à partir de MATLAB, utilisez MATLAB Coder™.

Commencer :

Incorporer des programmes MATLAB dans des applications d'entreprise

S’intégrer à des applications PC, serveur ou web

Créer des composants software

Suivez cette procédure basique lors de l'intégration avec un autre langage de programmation ou lors de l'exécution sur MATLAB Production Server :

  1. Créez le code de votre application MATLAB.
  2. Packagez votre code MATLAB dans un composant spécifique à un langage ou une archive déployable pour MATLAB Production Server, à l'aide d'une application interactive ou en ligne de commande.
  3. Intégrez le composant ou les librairies clientes MATLAB Production Server à l'application hôte en utilisant votre environnement de développement favori, par exemple Visual Studio®, Eclipse®, XCode, etc.
  4. Complétez votre application et installez-la sur l’ordinateur cible (il peut s’agir d’une installation locale pour les applications PC ou d’une installation centralisée pour les applications serveur)

Packager du code MATLAB dans un composant spécifique au langage souhaité.

Applications PC

Applications C/C++

Les fonctionnalités de MATLAB Compiler SDK permettent d’effectuer les actions suivantes pour les applications écrites en C/C++ :

  • Créer des librairies à thread sécurisé
  • Créer un fichier de librairie dynamique qui s’intègre sans effort dans Visual Studio (pour les applications Windows®)
  • Produire des signatures de fonctions dans un fichier d’en-tête et du code crypté dans le fichier bibliothèque en vue d’une inclusion dans une application C ou C++
  • Supporter les fonctionnalités C++ 11 ainsi que le typage et le multithread sécurisé dans la librairie partagée C++ MATLAB Data API
  • Appeler des fonctions de façon asynchrone avec la librairie partagée de C++ MATLAB Data API (ces fonctions peuvent être exécutées au sein du processus ou en dehors.

Vous pouvez également convertir vos programmes MATLAB en code C/C++, plus portable et plus lisible, et en librairies avec MATLAB Coder™.

Générer des librairies partagées pour C/C++.

Applications .NET et COM

Les fonctionnalités de MATLAB Compiler SDK permettent d’effectuer les actions suivantes pour les applications écrites en .NET ou COM :

  • Générer des wrappers .NET ou COM pour des programmes MATLAB afin de les rendre aussi accessibles que les composants .NET et COM natifs
  • Exécuter des applications .NET sur des plateformes autres que Windows grâce à .NET Core
  • Ajouter et accéder à des fichiers de code MATLAB et des fichiers MEX en tant que méthodes publiques pour votre composant
  • Appeler des composants .NET à partir de langages conformes à la spécification CLS (Common Language Specification), dont le C#, le F#, le VB.NET ou l'ASP.NET
  • Appeler des objets COM à partir d’une technologie compatible avec la technologie COM (Component Object Model), dont Visual Basic® ou ASP
  • Utiliser une interface à typage sécurisé pour l'intégration à des interfaces existantes dans votre application .NET
  • Transmettre des objets .NET directement depuis et vers une fonction MATLAB compilée
  • Utiliser des classes de conversion de données pour convertir manuellement les données et gérer les données de sortie
  • Supporter Windows Communication Foundation (WCF) pour le web ou une architecture d’entreprise orientée services (service-oriented architecture - SOA)
  • Supporter l'API .NET Remoting afin de pouvoir exécuter votre classe en tant que service persistant ou exécuter votre composant sur plusieurs processus

Générer des assemblages pour .NET Framework, .NET Core et COM

Applications Java

Les fonctionnalités de MATLAB Compiler SDK permettent d’effectuer les actions suivantes pour les applications Java :

  • Générer un wrapper Java pour des programmes MATLAB afin qu'ils se comportent comme n'importe quelle classe Java (un Javadoc est également créé afin d’identifier les propriétés et les méthodes de la classe)
  • Ajouter des fichiers MATLAB et MEX qui serviront de méthodes de classe visibles en externe pour votre composant
  • Garantir que les classes Java sont portables et qu’elles peuvent être exécutées sur toutes les plateformes compatibles avec MATLAB. (Veuillez noter que certaines fonctions proposées dans nos outils sont implémentées sous forme de fichier MEX ou de bibliothèques natives qui dépendent d’une plateforme, ce qui les rend incompatibles avec d’autres plateformes, de même que les composants Java qui les utilisent)
  • Transférer des types de données Java natifs dans des fonctions MATLAB et les convertir automatiquement en types de données MATLAB ou sélectionner de manière explicite les types de données à utiliser.
  • Accéder à des applications web MATLAB déployées sous forme de composants Java avec des SOA, des services SOAP, le format WSDL, des interfaces RMI, des services HTTP, des servlets Java et des pages de serveur JAVA (JSP)
  • Utiliser une interface d’appel RMI (remote method invocation) pour exécuter votre classe en tant que service persistant ou déployer votre programme sur plusieurs processus ou ordinateurs

Génération de classes Java.

Applications Python

Les fonctionnalités de MATLAB Compiler SDK permettent d’effectuer les actions suivantes pour les applications Python :

  • Générer des packages Python pour les programmes MATLAB, y compris les fichiers MEX, pouvant être accédés par une application Python ou une session interactive
  • Effectuer le traitement des types de données Python à partir de et vers les fonctions MATLAB avec une conversion automatique
  • Effectuer le traitement des tableaux multidimensionnels à partir de et vers les fonctions MATLAB au sein des archives déployables, en utilisant les classes Python qui y sont incluses
  • Intégrer votre code MATLAB avec une application Python en utilisant MATLAB Engine API. Vous pouvez ensuite le déboguer et le déployer sur MATLAB Production Server ou dans des applications Python personnalisées avec MATLAB Compiler SDK.

Génération de packages Python.

Applications serveur

Choisissez votre infrastructure : personnalisée ou MATLAB Production Server

MATLAB Production Server

Hébergez vos programmes MATLAB sur une plateforme sécurisée, évolutive et souple, avec MATLAB Production Server. Les fonctions hébergées sur MATLAB Production Server peuvent être appelées depuis vos applications C/C++, .NET, Java et Python à l'aide de librairies clientes légères. MATLAB Production Server offre également une interface RESTful pour accéder à vos fonctions. Elle peut être appelée depuis une vaste palette d'applications, par exemple, des applications pour mobile. MATLAB Compiler SDK inclut une version de développement de MATLAB Production Server pour tester et déboguer le code de l'application en local avant son déploiement sur les systèmes de production.

MATLAB Production Server offre un serveur sécurisé et évolutif pour vos programmes MATLAB.

Serveur d'applications personnalisé

Pour les développeurs qui préfèrent utiliser leur propre infrastructure, sachez que les composants générés avec MATLAB Compiler SDK peuvent être intégrés dans des technologies standard comme ASP.NET, les SOA, le format WSDL, les services SOAP, les langages XML, JavaScript® et HTML, les services HTTP, les mini-serveurs (servlets) Java et les pages de serveur JAVA (JSP), ainsi que les appels RMI Java et .NET Remoting pour des raisons d’évolutivité. Si votre application doit traiter un grand nombre de requêtes concurrentes, vous pouvez créer une couche intermédiaire de serveurs d’appel RMI entre le serveur d’applications et le code MATLAB compilé.

MATLAB Compiler SDK propose des outils pour développer une infrastructure de serveur personnalisée.

Distribution cryptée et libre de droits

Packagez et distribuez vos programmes MATLAB en tant que librairies partagées C/C++, assemblages Microsoft .NET, classes Java ou librairies Python.

Packager vos composants

Pendant le processus de packaging, MATLAB Compiler SDK incorpore uniquement les fonctions et fichiers MATLAB nécessaires à l'exécution de votre programme afin d'optimiser la taille du composant final. Le code MATLAB est crypté pour protéger votre code source des utilisateurs des applications.

Packager vos composants.

Distribuer vos composants

L’ensemble des applications et des composants déployés utilisent MATLAB Runtime pour une distribution libre de droits à des utilisateurs ne disposant pas de MATLAB. Pour un déploiement sur ordinateur, l’application et le runtime sont installés directement sur l’ordinateur en question, tandis que pour un déploiement sur le web ou au niveau d’une entreprise, l’application et le runtime peuvent être installés sur un serveur central afin de faciliter les tâches de gestion et de distribution. Pour offrir la meilleure expérience possible aux utilisateurs de votre application, MATLAB Compiler SDK vous permet de spécifier si vous voulez ajouter MATLAB Runtime au package d'installation ou le télécharger automatiquement au moment de l'installation.

MATLAB Runtime est installé avec vos composants.

Nouveautés

Intégration d’assemblages .NET

support des tableaux de chaînes de caractères MATLAB

Intégration de bibliothèques partagées C/C++

support des tableaux de chaînes de caractères MATLAB

Reportez-vous aux notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.