Características principales

  • Empaquetado de sus programas de MATLAB como librerías compartidas de C/C++, ensamblados Microsoft® .NET y clases Java®
  • Distribución sin coste de componentes de software a usuarios que no necesiten MATLAB
  • Marco de desarrollo y pruebas de MATLAB Production Server para su integración en sistemas web y empresariales
  • Cifrado de código de MATLAB para proteger su propiedad intelectual

Selección de un lenguaje: C/C++, .NET, Java o Python

Para los desarrolladores que deseen integrar programas basados en MATLAB en sus propias aplicaciones personalizadas, MATLAB Compiler SDK ofrece un completo conjunto de herramientas para trabajar con aplicaciones escritas en C/C++, .NET, Java y Python. Cuando cree una aplicación con MATLAB Compiler SDK, podrá seguir el mismo proceso básico sea cual sea el lenguaje de programación:

  1. Cree el código de su aplicación de MATLAB.
  2. Empaquete el código de MATLAB en un componente específico del lenguaje usando una aplicación interactiva o una opción de línea de comandos.
  3. Integre el componente en la aplicación host usando el entorno de desarrollo que prefiera, como Visual Studio®, Eclipse, Xcode o muchos otros.
  4. Complete su aplicación e instálela en el equipo de destino (una instalación local si es una aplicación de escritorio, o una instalación centralizada si es una aplicación basada en servidor).

MATLAB Compiler SDK ofrece características específicas del lenguaje para ayudar a los desarrolladores de software a integrar componentes basados en MATLAB en el lenguaje más adecuado a sus necesidades.


Aplicaciones de C/C++

En el caso de aplicaciones escritas en C/C++, MATLAB Compiler SDK ofrece características para:

  • Crear librerías seguras en hilos
  • Crear un archivo de librería dinámica que se integre perfectamente en Visual Studio (para aplicaciones de Windows)
  • Generar firmas de función en un archivo de encabezado y código cifrado en el archivo de librerías para incluirlos en una aplicación de C o C++

También puede convertir sus programas de MATLAB en código C/C++ portátil y legible. Puede utilizar MATLAB Coder™ para integrar sus proyectos como código fuente, librerías estáticas o librerías dinámicas.

En la sección de respuestas de MATLAB, hay disponible una comparación de los enfoques de MATLAB Compiler SDK y de MATLAB Coder para integrar código C/C++.


Aplicaciones .NET y COM

En el caso de aplicaciones escritas en .NET o COM, MATLAB Compiler SDK ofrece características para:

  • Generar envoltorios de .NET o COM alrededor de los programas de MATLAB para que se pueda acceder a ellos del mismo modo que con los componentes de .NET y COM nativos
  • Añadir y usar archivos de código MATLAB y archivos MEX como métodos públicos de su componente
  • Hacer llamadas a componentes .NET desde lenguajes compatibles con CLS (Common Language Specification, especificación de lenguaje común), como C#, F#, VB.NET o ASP.NET
  • Hacer llamadas a objetos COM desde tecnologías compatibles con COM, como Visual Basic® o ASP
  • Usar una interfaz de tipo seguro que se integre en interfaces existentes de su aplicación .NET
  • Pasar objetos .NET directamente hasta y desde una función de MATLAB compilada
  • Usar clases de conversión de datos para, de forma manual, convertir datos y administrar datos de salida
  • Dar soporte a Windows Communication Foundation (WCF) con una arquitectura orientada a los servicios (SOA) de tipo web o empresarial
  • Dar soporte a la API remota de .NET para que pueda ejecutar su clase como servicio persistente o ejecutar su componente en múltiples procesos

Aplicaciones Java

En el caso de aplicaciones de Java, MATLAB Compiler SDK ofrece características para:

  • Generar un envoltorio de Java alrededor de los programas de MATLAB para que se comporten exactamente igual que cualquier otra clase de Java (También crea un Javadoc para identificar las propiedades y métodos de la clase.)
  • Añadir archivos MATLAB y archivos MEX que actúen como métodos de clases externamente visibles de su componente
  • Garantizar que las clases Java sean portátiles y se ejecuten en todas las plataformas compatibles soportadas por MATLAB
    (Tenga en cuenta que algunas funciones de la toolbox se implementan como librerías nativas o archivos MEX dependientes de la plataforma, convirtiendo estas funciones y cualquier componente de Java que las use en elementos específicos de la plataforma.)
  • Pasar tipos de datos de Java nativos a funciones de MATLAB y convertirlos automáticamente a tipos de datos MATLAB o seleccionar explícitamente el tipo de datos que usar
  • Acceder a aplicaciones web MATLAB distribuidas como componentes de Java con arquitecturas SOA, servicios SOAP, WSDL, interfaces RMI, servicios HTTP, servlets de Java y procesos JSP
  • Usar la interfaz RMI (invocación de método remoto) para ejecutar su clase como un servicio persistente o propagar el procesamiento entre múltiples procesos o equipos

Aplicaciones Python

En el caso de aplicaciones Python, MATLAB Compiler SDK ofrece características para:

  • Generar paquetes Python para programas MATLAB, incluidos archivos MEX, a los que se accederá mediante una aplicación Python o una sesión interactiva.
  • Pasar tipos de datos Python nativos a y desde funciones de MATLAB con conversión automática.
  • Pasar matrices multidimensionales a y desde funciones MATLAB en los archivos desplegables, utilizando las clases Python incluidas.
  • Integrar su código de MATLAB con una aplicación Python utilizando la API del motor MATLAB. Entonces, puede depurar y desplegar en su MATLAB Production Server o en aplicaciones Python personalizadas creadas con MATLAB Compiler SDK.

Selección de una plataforma: de escritorio, web o empresarial

MATLAB Compiler SDK le permite desplegar aplicaciones basadas en MATLAB en una amplia variedad de plataformas, desde aplicaciones de escritorio autónomas para usuarios individuales hasta sistemas web y empresariales de gran escala. Puede seleccionar la plataforma que desee en función del esfuerzo de implementación, el mantenimiento, los lenguajes de programación y las preferencias de su organización.

Todas las aplicaciones y componentes desplegados usan MATLAB Runtime para realizar una distribución sin coste a usuarios que no tengan MATLAB. En el caso de plataformas de escritorio, la aplicación y el Runtime se instalan directamente en el equipo de destino; en el caso de plataformas web y empresariales, la aplicación y el Runtime asociado se pueden instalar en un servidor centralizado para facilitar su administración y distribución.


Selección de una infraestructura: personalizada o MATLAB Production Server

En el caso de sistemas web y empresariales, MATLAB Compiler SDK le permite seleccionar el método que prefiera para implementar un servidor de aplicaciones, ya sea desarrollando una infraestructura personalizada o usando MATLAB Production Server para realizar una implementación segura y escalable.

En ambos casos, el flujo de trabajo es similar, tal y como se ilustra a continuación.

MATLAB Compiler SDK proporciona herramientas para desarrollar su propia infraestructura personalizada o usar MATLAB Production Server para aplicaciones web y empresariales seguras y escalables.

Desarrollo de una infraestructura personalizada

Para los desarrolladores que prefieran crear su propia infraestructura, los componentes generados con MATLAB Compiler SDK se integran en tecnologías estándares (como ASP.NET, SOA, WSDL, SOAP, XML, JavaScript®, HTML, servicios HTTP, servlets de Java y procesos JSP), así como RMI de Java y .NET remoting para permitir la escalabilidad. Para las aplicaciones que necesiten gestionar grandes cantidades de solicitudes simultáneas, puede crear una capa intermedia de servidores RMI entre el servidor de aplicaciones y el código de MATLAB compilado.

MATLAB Compiler SDK crea componentes y librerías que se pueden integrar con una amplia variedad de lenguajes utilizados por su organización.


Implementación de MATLAB Production Server

Para los desarrolladores que busquen la ruta más eficiente a una aplicación basada en servidor segura y escalable, MATLAB Compiler SDK ofrece un completo conjunto de herramientas para desarrollar aplicaciones que se ejecutarán en MATLAB Production Server. Entre las herramientas que ofrece MATLAB Compiler SDK se incluyen:

  • Una aplicación interactiva para depurar los algoritmos antes del empaquetado
  • Librerías de cliente ligeras para C/C++, .NET, Java y Python
  • Una aplicación para empaquetar los algoritmos de MATLAB como complementos para Microsoft® Excel®

Una vez depurados sus programas, puede empaquetarlos y desplegarlos directamente en MATLAB Production Server sin tener que recodificarlos ni crear una infraestructura personalizada para administrarlos. MATLAB Production Server cuenta con escalabilidad integrada; para ello tiene múltiples instancias de MATLAB Runtime (o “workers”) en ejecución listas para responder a las solicitudes procedentes del servidor. Para ofrecer una mayor fiabilidad y escalabilidad, es posible combinar múltiples instancias de MATLAB Production Server. Estos workers están compartidos entre las instancias con el objetivo de maximizar el rendimiento y minimizar el tiempo de respuesta.


Empaquetado y despliegue de componentes

MATLAB Compiler SDK le permite empaquetar componentes de MATLAB para su integración en aplicaciones desarrolladas en otros lenguajes de programación. Usted designa un programa de MATLAB y MATLAB Compiler SDK determina qué funciones y archivos de MATLAB son necesarios para dar soporte al programa. Entonces encripta y empaqueta el código.

Para ofrecer la mejor experiencia a los usuarios de su aplicación, MATLAB Compiler SDK le permite:

  • Especificar si se proporciona MATLAB Runtime con el paquete de instalación o si se descarga automáticamente durante la instalación
  • Añadir archivos complementarios que no se encuentran mediante la comprobación de dependencia, como archivos de datos o imágenes
  • Capturar metadatos de componentes, como el número de versión del software, la información del autor y el directorio de instalación predeterminado