Funzionalità chiave

  • Packaging dei programmi MATLAB sotto forma di librerie condivise in C/C++, assembly Microsoft® .NET e classi Java®
  • Distribuzione senza royalty di componenti software agli utenti che non necessitano di MATLAB
  • Framework di sviluppo e test per MATLAB Production Server per l’integrazione con sistemi web e enterprise
  • Crittografia del codice MATLAB per proteggere la proprietà intellettuale

Scelta di un linguaggio – C/C++, .NET, Java o Python

Per gli sviluppatori che desiderano integrare i programmi basati su MATLAB nelle proprie applicazioni custom, MATLAB Compiler SDK offre un kit completo per lavorare con le applicazioni in C/C++, .NET, Java e Python. Durante la creazione di un’applicazione con MATLAB Compiler SDK, è possibile seguire la medesima procedura di base, indipendentemente dal linguaggio di programmazione:

  1. Creare il codice di applicazione MATLAB.
  2. Eseguire il packaging del codice MATLAB in un componente specifico per linguaggio utilizzando un’app interattiva o un’opzione a riga di comando.
  3. Integrare il componente con l’applicazione host utilizzando il proprio ambiente di sviluppo di preferenza, come Visual Studio®, Eclipse, Xcode o altri.
  4. Realizzare l’applicazione e installarla sul computer target: un’installazione locale per applicazioni desktop o un’installazione centralizzata per applicazioni basate su server.

MATLAB Compiler SDK offre funzionalità specifiche di linguaggio per consentire agli sviluppatori di software di integrare i componenti basati su MATLAB con il linguaggio che meglio risponde alle loro esigenze.


Applicazioni C/C++

Per applicazioni scritte in C/C++, MATLAB Compiler SDK offre funzionalità per:

  • Creare librerie thread-safe
  • Creare file librerie dinamiche da integrare senza problemi con Visual Studio (per applicazioni Windows)
  • Produrre le signature di funzione in un header file e un codice criptato nel file di libreria da includere in un’applicazione C o C++

È inoltre possibile convertire i programmi MATLAB in codice C/C++ trasmissibile e leggibile. È possibile usare MATLAB Coder™ per integrare i propri progetti come codice sorgente, librerie statiche o librerie dinamiche.

Un confronto tra gli approcci di MATLAB Compiler SDK e MATLAB Coder all’integrazione del codice C/C++ è disponibile in MATLAB Answers.


Applicazioni .NET e COM

Per applicazioni scritte in .NET o COM, MATLAB Compiler SDK offre funzionalità per:

  • Generare wrapper .NET o COM attorno ai programmi MATLAB in modo da potervi accedere come se fossero componenti nativi .NET e COM
  • Aggiungere e accedere a file di codice MATLAB e file MEX come metodi pubblici del componente generato
  • Denominare i componenti .NET in base ai linguaggi conformi alle specifiche CLS (Common Language Specification), inclusi C#, F#, VB.NET o ASP.NET
  • Denominare gli oggetti COM in base alla tecnologia conforme alle specifiche COM, inclusi Visual Basic® o ASP
  • Utilizzare un’interfaccia type-safe da integrare alle interfacce esistenti nell’applicazione .NET
  • Passare oggetti .NET direttamente a e da una funzione compilata MATLAB
  • Utilizzare classi di conversione di dati per convertire manualmente i dati e per gestire i dati di output
  • Supporto Windows Communication Foundation (WCF) o SOA (service-oriented architecture) web o enterprise.
  • Supportare l’API .NET remoting per consentirti di eseguire la classe come servizio persistente o eseguire il componente in processi multipli
Distribuzione di programmi MATLAB in .NET

 


Applicazioni Java

Per le applicazioni Java, MATLAB Compiler SDK offre funzionalità per:

  • Generare un wrapper Java attorno ai programmi MATLAB in modo che si comportino come una qualunque classe Java (crea inoltre un Javadoc per identificare le proprietà e i metodi della classe).
  • Aggiungere file MATLAB e file MEX con funzione di metodi di classe esternamente visibili del tuo componente
  • Garantire che le classi Java siano portabili ed eseguibili su tutte le piattaforme supportate da MATLAB
    (Nota: alcune funzioni toolbox sono implementate come file MEX dipendenti dalla piattaforma o librerie native, ciò rende queste funzioni, e qualunque classe Java che le utilizzi, specifiche per quella piattaforma.)
  • Passare tipi di dati Java nativi a funzioni MATLAB e convertire automaticamente in tipi di dati MATLAB o selezionare esplicitamente il tipo di dato da utilizzare
  • Accedere alle applicazioni web basate su MATLAB create come componenti Java con SOA, servizi SOAP, WSDL, interfacce RMI, servizi HTTP, servlet Java e JSP
  • Utilizzare l’interfaccia RMI (remote method invocation) per eseguire la classe come servizio persistente o eseguire la procedura in processi o computer multipli

Applicazioni Python

Per le applicazioni Phyton, MATLAB Compiler SDK offre funzionalità per:

  • Generare pacchetti Python per programmi MATLAB, inclusi i file MEX, cui accedere attraverso un’applicazione Python o una sessione interattiva.
  • Passare tipi di dati Python nativi a e da funzioni MATLAB con conversione automatica.
  • Passare array multidimensionali a e da funzioni MATLAB negli archivi distribuibili, usando le classi Python incluse.
  • Integrare il codice MATLAB con un’applicazione Python usando l’API di MATLAB Engine. È poi possibile eseguire il debug e la distribuzione verso MATLAB Production Server o applicazioni personalizzate Python costruite con MATLAB Compiler SDK.

Scelta della piattaforma: desktop, web o enterprise

MATLAB Compiler SDK consente di distribuire le applicazioni basate su MATLAB a un’ampia gamma di piattaforme: da applicazioni desktop standalone per utenti individuali a sistemi web e enterprise su larga scala. È possibile selezionare la piattaforma di preferenza a partire dallo sforzo di implementazione, manutenibilità, linguaggi di programmazione e preferenze della propria azienda.

Tutte le applicazioni e i componenti distribuiti utilizzano MATLAB Runtime per la distribuzione senza royalty agli utenti che non necessitano di MATLAB. Per le piattaforme desktop, l’applicazione e il runtime sono installati direttamente sul computer target, mentre le applicazioni web e enterprise, e il relativo runtime, possono essere installati in un server centralizzato per una più facile gestione e distribuzione.


Scelta dell’infrastruttura: personalizzata o MATLAB Production Server

Per i sistemi web e enterprise, MATLAB Compiler SDK consente di scegliere il metodo preferito per implementare un application server, o sviluppando un’infrastruttura personalizzata o servendosi di MATLAB Production Server per una distribuzione sicura e scalabile.

In entrambi i casi, il flusso di lavoro è simile, come illustrato di seguito.

MATLAB Compiler SDK fornisce gli strumenti per sviluppare un’infrastruttura personalizzata o per servirsi di MATLAB Production Server per applicazioni web e enterprise sicure e scalabile.

Sviluppo di un’infrastruttura personalizzata

Per gli sviluppatori che desiderano creare la propria infrastruttura, i componenti generati con MATLAB Compiler SDK si integrano con tecnologie standard come ASP.NET, SOA, WSDL, SOAP, XML, JavaScript®, HTML, servizi HTTP, servlet Java e JSP, e con RMI Java e .NET remoting per la scalabilità. Per le applicazioni che devono gestire grandi quantità di richieste contemporanee, è possibile creare uno strato intermedio di server RMI tra il server applicazioni e il codice MATLAB compilato.

MATLAB Compiler SDK crea componenti e librerie che possono essere integrate con un’ampia gamma di linguaggi utilizzati dalla tua azienda.


Implementazione di MATLAB Production Server

Per gli sviluppatori che desiderano il percorso più efficiente per creare applicazioni basate su server sicure e scalabili, MATLAB Compiler SDK fornisce un kit completo per lo sviluppo di applicazioni eseguibili su MATLAB Production Server. Gli strumenti forniti da MATLAB Compiler SDK includono:

  • Un’app interattiva per il debug di algoritmi prima del packaging
  • Librerie client leggere per C/C++, .NET, Java, e Python
  • Un’app per il packaging di algoritmi MATLAB come add-in per Microsoft® Excel®

Una volta eseguito il debug dei tuoi programmi, puoi eseguire il packaging e distribuirli direttamente sul MATLAB Production Server senza bisogno di ricodificare o creare un’infrastruttura personalizzata per gestirli. MATLAB Production Server è dotato di scalabilità nativa, ottenuta grazie a istanze multiple di MATLAB Runtime (o “worker”) attive e pronte a rispondere alle richieste del server. Per una maggiore affidabilità e scalabilità, È possibile combinare istanze multiple di MATLAB Production Server. I worker sono condivisi tra le istanze per massimizzare la prestazione e minimizzare i tempi di risposta.


Packaging e distribuzione dei componenti

MATLAB Compiler SDK consente di eseguire il packaging di componenti MATLAB per l’integrazione con applicazioni sviluppate in altri linguaggi di programmazione. Tu scegli un programma MATLAB e MATLAB Compiler SDK determina quali funzioni e file MATLAB sono necessari per supportare tale programma. Quindi cripta ed esegue il packaging del codice.

Per garantire agli utenti della tua applicazione l’esperienza migliore, MATLAB Compiler SDK ti consente di:

  • Specificare se fornire MATLAB Runtime con il pacchetto di installazione o se scaricarlo automaticamente durante l’installazione
  • Aggiungere file supplementari non rintracciabili attraverso il controllo delle dipendenze, come file di dati o immagini
  • Catturare i metadati di un componente, come numero di versione di un software, informazioni sull’autore e directory di installazione predefinita