MATLAB Compiler SDK

Erstellen von Softwarekomponenten aus MATLAB-Programmen

 

MATLAB Compiler SDK™ erweitert die Funktionalität von MATLAB Compiler™, damit Sie C/C++ Shared Libraries, Microsoft® .NET-Assemblies, Java®-Klassen und Python®-Pakete aus MATLAB®-Programmen erstellen können. Diese Komponenten können in benutzerdefinierte Anwendungen integriert und dann auf Desktop-, Web- und Unternehmenssystemen bereitgestellt werden.

MATLAB Compiler SDK enthält eine Entwicklerversion von MATLAB Production Server™ für das Testen und Debuggen von Anwendungscode und Excel-Add-Ins vor der Bereitstellung auf Web-Anwendungen und Unternehmenssystemen.

Anwendungen, die mit Softwarekomponenten aus MATLAB Compiler SDK erstellt wurden, können lizenzgebührenfrei an andere Benutzer weitergegeben werden, die nicht über MATLAB verfügen. Diese Anwendungen verwenden die MATLAB Runtime, einen eigenständigen Satz von Shared Libraries, mit denen kompilierte MATLAB-Anwendungen oder -Komponenten ausgeführt werden können.

Zum Generieren von C- und C++-Quellcode aus dem MATLAB-Code verwenden Sie MATLAB Coder™.

Erste Schritte:

Einbinden von MATLAB-Programmen in Unternehmensanwendungen

Integration von MATLAB mit Desktop-, Server- oder Webanwendungen.

Erstellen von Softwarekomponenten

Folgen Sie den gleichen grundlegenden Prozessen, sowohl  bei der Integration mit anderen Programmiersprachen als auch bei der Ausführung auf MATLAB Production Server:

  1. Erstellen Sie Ihren MATLAB-Anwendungscode.
  2. Verpacken Sie Ihren MATLAB-Code in eine sprachspezifische Komponente oder als bereitstellbares Archiv für MATLAB Production Server. Verwenden Sie dazu eine interaktive App oder die Befehlszeile.
  3. Integrieren Sie die Komponente oder die MATLAB Production Server-Clientbibliotheken mit der Hostanwendung, indem Sie Ihre bevorzugte Entwicklungsumgebung wie Visual Studio®, Eclipse®, XCode oder andere verwenden.
  4. Stellen Sie Ihre Anwendung fertig, und installieren Sie sie auf dem Zielrechner, das ist eine lokale Installation für Desktopanwendungen oder eine zentrale Installation für serverbasierte Anwendungen

Verpacken des MATLAB-Codes in eine sprachspezifische Komponente.

Desktopanwendungen

C/C++-Anwendungen

Für in C/C++ geschriebene Anwendungen bietet MATLAB Compiler SDK Funktionen für:

  • Das Erstellen von threadsicheren Bibliotheken.
  • Das Erstellen einer dynamischen Bibliotheksdatei zur nahtlosen Integration mit Visual Studio (für Windows®-Anwendungen)
  • Das Erstellen von Funktionssignaturen in einem Header-File und verschlüsselten Code in der Bibliotheksdatei zur Verwendung in einer C- oder C++-Anwendung.
  • Die Unterstützung von C++ 11-Funktionalität sowie von Typsicherheit und Multithread-Sicherheit mittels der MATLAB Data API shared library.
  • Das asynchrone Aufrufen von Funktionen mittels der MATLAB Data API shared library,  im Prozess(in-process) oder außerhalb (out-of-process) des Prozesses.

Sie können alternativ mit MATLAB Coder™ Ihre MATLAB-Programme  in  lesbaren und portierbaren C/C++-Code oder in  Bibliotheken umwandeln.

Generieren von gemeinsam genutzten Bibliotheken für C/C++.

.NET- und COM-Anwendungen

Für in .NET oder COM geschriebene Anwendungen bietet MATLAB Compiler SDK Funktionen für:

  • Das Generieren von .NET- oder COM-Wrappern für MATLAB-Programme, damit auf diese wie auf native .NET- oder COM-Komponenten zugegriffen werden kann.
  • Das Ausführen von .NET-Anwendungen auf Nicht-Windows-Plattformen, die .NET Core verwenden.
  • Das Hinzufügen und Zugreifen auf MATLAB-Codedateien und MEX-Dateien als öffentliche Methoden Ihrer Komponente.
  • Das Aufrufen von .NET-Komponenten aus CLS-kompatiblen Sprachen (Common Language Specification), einschließlich C#, F#, VB.NET oder ASP.NET.
  • Das Aufrufen von COM-Objekten aus COM-kompatibler Technologie, einschließlich Visual Basic® oder ASP.
  • Das Verwenden von einer typsicheren Schnittstelle zur Integration mit bestehenden Schnittstellen Ihrer .NET-Anwendung.
  • Das direkte Übergeben von .NET-Objekten an eine bzw. von einer kompilierten MATLAB-Funktion.
  • Das Verwenden von Datenumwandlungsklassen zur manuellen Konvertierung von Daten und zur Verwaltung der Ausgabedaten.
  • Die Unterstützung von Windows Communication Foundation (WCF) mit serviceorientierter Architektur (SOA) für Web- oder Geschäftsanwendungen.
  • Die Unterstützung der .NET Remoting API, damit Sie Ihre Klasse als persistenten Dienst ausführen oder die Ausführung Ihrer Komponente auf mehrere Prozesse verteilen können.

Generieren von Assemblies für .NET Framework, .NET Core und COM.

Java-Anwendungen

Für Java-Anwendungen bietet MATLAB Compiler SDK Funktionen für:

  • Das Generieren von Java-Wrappern für MATLAB-Programme, damit diese sich wie andere Java-Klassen verhalten. Außerdem wird ein Javadoc erstellt, um die Eigenschaften und Methoden der Klasse zu identifizieren.
  • Das Hinzufügen von MATLAB- und MEX-Dateien, die als extern sichtbare Klassenmethoden Ihrer Komponente dienen.
  • Das Sicherstellen, dass die Java-Klassen portierbar sind und auf allen Plattformen, die von MATLAB unterstützt werden, ausgeführt werden können. (Beachten Sie, dass manche Toolbox-Funktionen als plattformabhängige MEX-Dateien oder native Bibliotheken implementiert sind, wodurch diese Funktionen und damit alle Java-Komponenten, die sie verwenden, plattformspezifisch sind.)
  • Das Weitergeben von Java-Datentypen an MATLAB-Funktionen und die automatische Umwandlung in MATLAB-Datentypen oder die ausdrückliche Auswahl des zu verwendenden Datentyps.
  • Das Zugreifen auf MATLAB-Webanwendungen, die als Java-Komponenten mit SOAs, SOAP-Diensten, WSDL, RMI-Schnittstellen, HTTP-Diensten, Java-Servlets und JSPs bereitgestellt werden.
  • Das Verwenden der RMI-Schnittstelle (Remote Method Invocation), um Ihre Klasse als persistenten Dienst auszuführen oder die Verarbeitung auf mehrere Prozesse zu verteilen.

Generieren von Java-Klassen.

Python-Anwendungen

Für Python-Anwendungen bietet MATLAB Compiler SDK Funktionen für:

  • Das Generieren von Python-Paketen für MATLAB-Programme, einschließlich MEX-Dateien, auf die mit einer Python-Anwendung oder interaktiven Sitzung zugegriffen wird.
  • Das Weitergeben von Python-Datentypen zu und von MATLAB-Funktionen mit automatischer Umwandlung.
  • Das Weitergeben von multidimensionalen Arrays zu und von MATLAB-Funktionen in den bereitgestellten Paketen, unter Verwendung mitgelieferter Python-Klassen.
  • Das Integrieren Ihres MATLAB-Codes in eine Python-Anwendung unter Verwendung der MATLAB Engine API. Anschließend können Sie ihn entweder für MATLAB Production Server oder für benutzerdefinierte Python-Anwendungen, die mit MATLAB Compiler SDK erstellt wurden, debuggen und bereitstellen.

Generieren von Python-Paketen. 

Serveranwendungen

Auswählen der Infrastruktur – MATLAB Production Server oder benutzerdefiniert.

MATLAB Production Server

Hosten Sie Ihre MATLAB-Programme auf einer sicheren, skalierbaren, verwaltbaren Plattform unter Verwendung von MATLAB Production Server. Auf dem MATLAB Production Server gehostete Funktionen können über C/C++-, .NET-, Java- und Python-Anwendungen mit schlanken Clientbibliotheken aufgerufen werden. MATLAB Production Server stellt außerdem eine RESTFUL-Schnittstelle zu Ihren Funktionen bereit, die auf einer Reihe von Anwendungen, wie mobilen Apps, aufgerufen werden kann. MATLAB Compiler SDK enthält eine Entwicklerversion von MATLAB Production Server für das Testen und Debuggen von Anwendungscode vor der Bereitstellung auf Produktionssystemen.

MATLAB Production Server stellt einen sicheren, skalierbaren Server für Ihre MATLAB-Programme bereit.

Benutzerdefinierter Anwendungsserver

Für Entwickler, die es bevorzugen, Ihre eigene Infrastruktur zu nutzen, lassen sich die mit MATLAB Compiler SDK erstellten Komponenten mit Standardtechnologien wie ASP.NET, SOAs, WSDL, SOAP, XML, JavaScript®, HTML, HTTP-Diensten, Java-Servlets und JSPs integrieren sowie mit Java RMI und .NET Remoting, um die Skalierbarkeit zu gewährleisten. Für Anwendungen, die zahlreiche gleichzeitige Anfragen verarbeiten müssen, können Sie zwischen dem Anwendungsserver und dem kompilierten MATLAB-Code eine mittlere Ebene mit RMI-Servern erstellen.

MATLAB Compiler SDK bietet Tools für die Bereitstellung Ihrer eigenen benutzerdefinierten Serverinfrastruktur. 

Verschlüsselte Verteilung ohne Lizenzgebühren

Verpacken und verteilen Sie Ihre MATLAB-Programme als gemeinsam genutzte C/C++-Bibliotheken, Microsoft .NET-Assemblies, Java- Klassen oder Python-Bibliotheken.

Paketierung der Komponenten

Während des Paketierungsprozesses bindet MATLAB Compiler SDK nur diejenigen MATLAB-Funktionen und -Dateien ein, die zum Ausführen Ihres Programms erforderlich sind, um die Größe der erstellten Komponente zu optimieren. Der MATLAB-Code ist verschlüsselt, um Ihren Quellcode vor den Nutzern der Anwendungen zu schützen.

Paketierung der Komponenten.

Verteilen der Komponenten

Alle bereitgestellten Anwendungen und Komponenten verwenden die MATLAB Runtime für die lizenzgebührenfreie Weitergabe  an Benutzer, die kein MATLAB haben. Für Desktop-Plattformen werden die Anwendungen und die Runtime direkt auf dem Zielrechner installiert, während Web- und Unternehmensanwendungen und die dazugehörige Runtime zur einfacheren Verwaltung und Verteilung auf einem zentralen Server installiert werden können. Für maximale Benutzerfreundlichkeit Ihrer Anwendung können Sie  festlegen, ob die MATLAB Runtime mit dem Installationspaket zur Verfügung gestellt oder während der Installation automatisch heruntergeladen wird. 

Die MATLAB Runtime wird zusammen mit Ihren Komponenten installiert.