Hauptmerkmale

  • Erzeugen Sie aus Ihren MATLAB-Programmen C/C++ Shared Libraries, Microsoft® .NET Assemblies und Java®-Klassen
  • Lizenzgebührenfreie Weitergabe von Softwarekomponenten an Benutzer, die kein MATLAB haben
  • Entwicklungs- und Test-Framework für den MATLAB Production Server zur Integration mit Web- und Unternehmenssystemen
  • Verschlüsselung von MATLAB-Code zum Schutz Ihres geistigen Eigentums

Sprache auswählen – C/C++, .NET, Java oder Python

Für Entwickler, die auf MATLAB basierende Programme in Ihre eigenen benutzerdefinierten Anwendungen integrieren wollen, bietet MATLAB Compiler SDK ein umfassendes Toolkit für die Arbeit mit Anwendungen, die in C/C++, .NET, Java und Python geschrieben wurden. Wenn Sie Anwendungen mit MATLAB Compiler SDK erstellen, können Sie unabhängig von der Programmiersprache den folgenden Basisverfahren folgen:

  1. Erstellen Sie Ihren MATLAB-Anwendungscode.
  2. Nutzen Sie die interaktive App oder die Befehlszeilenoption zum Generieren einer sprachspezifischen Komponente aus Ihrem MATLAB-Code.
  3. Integrieren Sie die Komponente mit der Host-Anwendung, indem Sie Ihre bevorzugte Entwicklungsumgebung wie z. B. Visual Studio®, Eclipse, Xcoder oder andere verwenden.
  4. Stellen Sie Ihre Anwendung fertig und installieren Sie sie auf dem Zielrechner – eine lokale Installation bei Desktopanwendungen oder eine zentrale Installation für Serveranwendungen.

MATLAB Compiler SDK bietet sprachspezifische Funktionen, um Softwareentwickler bei der Integration von MATLAB-basierten Komponenten mit der für Ihre Bedürfnisse am besten geeigneten Sprache zu unterstützen.


C/C++-Anwendungen

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

  • Die Erstellung von Thread-sicheren Bibliotheken
  • Die Erstellung einer dynamischen Bibliothek-Datei zur nahtlosen Integration mit Visual Studio (für Windows-Anwendungen)
  • Die Erzeugung der Funktionssignaturen in einer Header-Datei und verschlüsselten Code in der Bibliotheksdatei zur Verwendung in einer C- oder C++-Anwendung.

Sie können Ihre MATLAB-Programme auch in einen plattformunabhängigen und lesbaren C/C++-Code umwandeln. Sie können MATLAB Coder™ verwenden, um Ihre Projekte als Quellcode, statische Bibliotheken oder dynamische Bibliotheken zu integrieren.

Ein -Vergleich der Ansätze von MATLAB Compiler SDK und MATLAB Coder zur Integration des C/C++-Codes ist in MATLAB Answers verfügbar.


.NET- und COM-Anwendungen

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

  • Die Generierung von .NET- oder COM-Wrappern für MATLAB-Programme, damit auf diese wie auf native .NET- und COM-Komponenten zugegriffen werden kann
  • Das Hinzufügen und Zugreifen auf MATLAB-Codedateien und MEX-Dateien als öffentliche Methoden Ihrer Komponente
  • Das Aufrufen von .NET-Komponenten aus CLS (Common Language Specification)-kompatiblen Sprachen, einschließlich C#, F#, VB.NET oder ASP.NET
  • Das Aufrufen von COM-Objekten von 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 Datenumwandlungklassen 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 auf mehrere Prozesse verteilen können

Java-Anwendungen

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

  • Die Generierung 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
  • Die Sicherstellung, dass die Java-Klassen plattformunabhängig 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 bereitgestellt werden, wodurch diese Funktionen und 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
  • Der Zugriff 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 (Remote Method Invocation)-Schnittstelle, um Ihre Klasse als persistenten Dienst auszuführen oder die Verarbeitung auf mehrere Prozesse zu verteilen

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 einsetzbaren Archiven unter Verwendung der enthaltenen 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.

Plattform auswählen – Desktop, Web oder Unternehmen

Mit MATLAB Compiler SDK können Sie MATLAB-basierte Anwendungen auf zahlreichen Plattformen bereitstellen – von eigenständigen Desktopanwendungen für Einzelbenutzer bis hin zu groß angelegten Web- und Unternehmenssystemen. Sie können Ihre bevorzugte Plattform hinsichtlich des Implementierungsaufwands, der Wartbarkeit, der Programmiersprachen und der Präferenzen Ihres Unternehmens auswählen.

Alle bereitgestellten Anwendungen und Komponenten verwenden die MATLAB Runtime für die lizenzgebührenfreie Weitergabe von Anwendungen 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.


Infrastruktur auswählen – Benutzerdefiniert oder MATLAB Production Server

Für Web- und Unternehmenssysteme können Sie bei MATLAB Compiler SDK Ihre bevorzugte Methode der Implementierung eines Anwendungsservers wählen: entweder die Entwicklung einer maßgeschneiderten Infrastruktur oder die Nutzung des MATLAB Production Server für sichere und skalierbare Bereitstellung.

Der Workflow ist, wie unten gezeigt, in beiden Fällen ähnlich.

MATLAB Compiler SDK stellt Tools für die Entwicklung Ihrer eigenen maßgeschneiderten Infrastruktur zur Verfügung oder Sie können den MATLAB Production Server für sichere und skalierbare Web- und Unternehmensanwendungen nutzen.

Entwickeln einer maßgeschneiderten Infrastruktur

Für Entwickler, die es bevorzugen, Ihre eigene Infrastruktur zu erstellen, lassen sich die mit MATLAB Compiler SDK erstellten Komponenten mit Standard-Technologie 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 erstellt Komponenten und Bibliotheken, die in eine Vielzahl von Sprachen integriert werden können.


Implementieren von MATLAB Production Server

Für Entwickler, die den effizientesten Pfad zu einer sicheren, skalierbaren Serveranwendungen wollen, bietet MATLAB Compiler SDK ein vollständiges Toolkit für die Entwicklung von Anwendungen, die unter MATLAB Production Server laufen. Zu den von MATLAB Compiler SDK angebotenen Tools zählen:

  • Eine interaktive App zum Debuggen des Algorithmus vor dem Paketieren
  • Leichte Client-Bibliotheken für C/C++, .NET, Java und Python
  • Eine App zum Generieren von Add-ins für Microsoft® Excel® aus MATLAB-Algorithmen

Sobald das Debugging abgeschlossen ist, können Sie Ihre Programme paketieren und direkt auf dem MATLAB Production Server bereitstellen, ohne Rekodieren oder Erstellen einer maßgeschneiderten Infrastruktur zur Verwaltung. MATLAB Production Server verfügt über integrierte Skalierbarkeit, die dadurch erreicht wird, dass mehrere Instanzen der MATLAB Runtime (oder „Worker“) aktiv und bereit sind, auf Serveranfragen zu reagieren. Für zusätzliche Verlässlichkeit und Skalierbarkeit können mehrere Instanzen von MATLAB Production Server kombiniert werden. Die Worker werden von den Instanzen gemeinsam genutzt, um die Leistung zu maximieren und die Reaktionszeit zu minimieren.


Komponenten paketieren und implementieren

MATLAB Compiler SDK ermöglicht es Ihnen, MATLAB-Komponenten für die Integration mit Anwendungen, die in anderen Programmiersprachen entwickelt wurden, zu paketieren. Sie legen ein MATLAB-Programm fest und MATLAB Compiler SDK bestimmt, welche MATLAB-Funktionen und -Dateien zur Unterstützung des Programms notwendig sind. Dann wird der Code verschlüsselt und paketiert.

Um den Benutzern Ihrer Anwendung die beste Erfahrung zu ermöglichen, können Sie in MATLAB Compiler SDK:

  • Festlegen, ob die MATLAB Runtime mit dem Installationspaket zur Verfügung gestellt oder während der Installation automatisch heruntergeladen wird
  • Beliebige Ergänzungsdateien hinzufügen, die durch Abhängigkeitsprüfungen nicht erkannt werden, wie beispielsweise Datendateien oder Bilder
  • Metadaten der Komponenten wie Softwareversionsnummer, Autoreninformation und Standard-Installationsverzeichnis erfassen