Principales fonctionnalités

  • Encapsulation de vos programmes MATLAB en bibliothèques partagées C/C++, assemblages Microsoft® .NET et classes Java®
  • Distribution gratuite de composants logiciels aux utilisateurs n'ayant pas besoin de MATLAB
  • Environnement de développement et de test pour le MATLAB Production Server en vue d’intégration Web ou application d’entreprise
  • Cryptage du code MATLAB pour protéger votre propriété intellectuelle

Sélection d'un langage : C/C++, .NET, Java ou Python

Pour les développeurs qui souhaitent intégrer des programmes MATLAB à des applications personnalisées, le MATLAB Compiler SDK propose un éventail d’outils complet pour travailler avec des applications écrites en C/C++, .NET, Java et Python. Si vous créez une application avec MATLAB Compiler SDK, vous pouvez suivre la même procédure de base, quel que soit le langage de programmation utilisé :

  1. Créez votre code d’application MATLAB.
  2. Créez un package avec du code MATLAB en un composant spécifique au langage souhaité à l’aide d’une application interactive ou d’une option de ligne de commande.
  3. Intégrez le composant dans l’application cible en utilisant votre environnement de développement préféré, 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 de bureau ou d’une installation centralisée pour les applications serveurs).

MATLAB Compiler SDK offre des fonctionnalités spécifiques à chaque langage pour faciliter aux développeurs de logiciel l’intégration des composants basés sur MATLAB dans à leurs applications basées sur un autre langage.


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 bibliothèques thread-safe
  • Créer un fichier de bibliothèque dynamique pour communiquer de manière transparente avec Visual Studio (pour les applications Windows)
  • Produire des signatures de fonctions dans un fichier d’en-tête et du code chiffré dans le fichier bibliothèque en vue d’une inclusion dans une application C ou C++

Vous pouvez également convertir vos programmes MATLAB en code C/C++, plus portable et plus lisible. Vous pouvez utiliser MATLAB Coder™ pour intégrer vos projets en tant que code source, bibliothèque statique ou bibliothèque dynamique.

Une comparaison des approches MATLAB Compiler SDK et MATLAB Coder pour intégrer du code C/C++ est disponible dans la rubrique MATLAB Answers.


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 autour des programmes MATLAB afin qu’ils soient accessibles comme des composants .NET et COM natifs
  • Ajouter et parcourir 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), notamment C#, F#, VB.NET ou ASP.NET
  • Appeler des objets COM à partir d’une technologie compatible avec la technologie COM (Component Object Model), notamment Visual Basic® ou ASP
  • Utiliser une interface de type sécurisé en vue de l’intégration avec des interfaces existantes dans votre application .NET
  • Faire circuler 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
  • Assurer la prise en charge de Windows Communication Foundation (WCF) pour le Web ou une architecture d’entreprise orientée services (service-oriented architecture - SOA)
  • Assurer la prise en charge de l’API .NET Remoting afin de pouvoir exécuter votre classe en tant que service persistant ou exécuter votre composant sur plusieurs processus

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 autour de programmes MATLAB pour 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
  • S’assurer que les classes Java sont portables et qu’elles peuvent être exécutées sur toutes les plates-formes compatibles avec MATLAB
    (notez que certaines fonctions proposées dans nos outils sont mises en œuvre sous forme de fichier MEX ou de bibliothèques natives qui dépendent d’une plate-forme, ce qui les rend incompatibles avec d’autres plates-formes, 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 architectures orientées services, 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

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 de types de données Python à partir de et vers les fonctions MATLAB au moyen d'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 l'API du moteur MATLAB. Vous pouvez ensuite déboguer et déployer votre code vers MATLAB Production Server ou vers des applications Python personnalisées conçues avec MATLAB Compiler SDK.

Choisir votre plate-forme : application de bureau, basée sur le Web ou pour les entreprises

MATLAB Compiler SDK vous permet de déployer des applications basées sur MATLAB sur un large éventail de plates-formes, allant des applications de bureau autonomes pour particuliers jusqu’aux systèmes de grande envergure basés sur le Web ou destinés aux entreprises. Vous avez la possibilité de sélectionner votre plate-forme préférée en vous basant sur la facilité de mise en œuvre et de maintenance, les langages de programmation utilisés et vos préférences en termes d’organisation.

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 les ordinateurs, 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.


Choisir votre infrastructure : personnalisée ou MATLAB Production Server

Dans le cas des systèmes Web et d’entreprise, MATLAB Compiler SDK vous permet de choisir votre méthode préférée pour mettre en œuvre un serveur d’applications. Vous pouvez ainsi développer une infrastructure personnalisée ou utiliser MATLAB Production Server afin de profiter d’un déploiement sûr et évolutif.

Dans les deux cas, la marche à suivre est quasiment la même, comme illustré ci-dessous.

MATLAB Compiler SDK propose des outils pour développer une infrastructure personnalisée ou utiliser MATLAB Production Server afin de profiter d’un déploiement sûr et évolutif pour vos applications basées sur le Web ou destinées aux entreprises.

Développer une infrastructure personnalisée

Pour les développeurs qui préfèrent créer 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 architectures orientées services, 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 crée des composants et des bibliothèques pouvant être intégrés dans un large éventail de langages.


Implémentation du MATLAB Production Server

Pour les développeurs qui souhaitent emprunter le chemin le plus efficace pour déployer une application sur un serveur de manière sûre et évolutive, notez que MATLAB Compiler SDK propose une suite d’outils complète pour le développement d’applications destinées à être exécutées sur MATLAB Production Server. Voici un aperçu des outils proposés par MATLAB Compiler SDK :

  • Une application interactive pour le débogage de vos algorithmes avant le packaging
  • Des bibliothèques client légères pour C/C++, .NET, Java et Python
  • Une application pour réaliser le packaging des algorithmes MATLAB en tant que compléments pour Microsoft® Excel®

Une fois le débogage de vos programmes terminé, vous pouvez créer le package et le déployer directement sur MATLAB Production Server sans avoir à modifier votre code ni à créer d’infrastructure personnalisée pour les gérer. MATLAB Production Server permet une montée à l’échelle grâce à l’exécution de plusieurs instances de MATLAB Runtime (ou « moteurs de calcul ») prêtes à répondre aux requêtes du serveur. Pour plus de fiabilité et d’évolutivité, vous pouvez combiner plusieurs instances de MATLAB Production Server. Les moteurs de calcul sont répartis sur les différentes instances afin d’optimiser les performances et de minimiser les temps de réponse.


Packaging et déploiement des composants

MATLAB Compiler SDK vous permet de créer le packaging des composants MATLAB en vue de leur intégration dans des applications développées avec d’autres langages de programmation. Il vous suffit de désigner un programme MATLAB. MATLAB Compiler SDK identifie alors les fonctions et les fichiers MATLAB nécessaires au bon fonctionnement du programme. Il chiffre et package ensuite le code.

Voici les actions que vous pouvez réaliser dans MATLAB Compiler SDK afin d’offrir aux utilisateurs de votre application la meilleure expérience possible :

  • Indiquez si vous souhaitez joindre MATLAB Runtime au package d’installation ou si vous préférez le télécharger automatiquement durant l’installation.
  • Ajoutez les fichiers qui n’ont pas été détectés lors de la vérification des dépendances, comme par exemple des fichiers de données ou des images.
  • Capturez les métadonnées de composant, comme le numéro de version du logiciel, les informations sur l’auteur et le répertoire d’installation par défaut.