MATLAB Compiler SDK

Creación de componentes de software a partir de programas de MATLAB

 

MATLAB Compiler SDK™ amplía las funciones de MATLAB Compiler™ para permitir crear librerías compartidas de C/C++, ensamblados de Microsoft® .NET, clases de Java® y paquetes de Python® a partir de programas de MATLAB®. Estos componentes se pueden integrar en aplicaciones personalizadas para después desplegarlos en sistemas de escritorio, web y empresariales.

MATLAB Compiler SDK incluye una versión de desarrollo de MATLAB Production Server™ para probar y depurar el código de aplicación y los complementos de Excel antes de desplegarlos en aplicaciones web y sistemas empresariales.

Las aplicaciones creadas con componentes de software de MATLAB Compiler SDK se pueden compartir sin coste con usuarios que no necesitan MATLAB. Estas aplicaciones usan MATLAB Runtime, un conjunto de librerías compartidas que permite la ejecución de aplicaciones o componentes de MATLAB compilados.

Para generar código fuente C y C++ a partir de MATLAB, utilice MATLAB Coder™.

Cómo empezar:

Incorporación de programas de MATLAB en aplicaciones empresariales

Lleve a cabo la integración con aplicaciones web, de escritorio o de servidor.

Creación de componentes de software

Puede seguir el mismo proceso básico cuando realice la integración con otro lenguaje de programación o cuando lleve a cabo la ejecución en MATLAB Production Server:

  1. Cree el código de su aplicación de MATLAB.
  2. Empaquete su código de MATLAB en un componente específico del lenguaje o como un archivo desplegable para MATLAB Production Server mediante una app interactiva o a través de la línea de comandos.
  3. Integre el componente o las librerías cliente de MATLAB Production Server con la aplicación host por medio de su entorno de desarrollo preferido, como Visual Studio®, Eclipse®, XCode, etc.
  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).

Empaquetado del código de MATLAB en un componente específico del lenguaje.

Aplicaciones de escritorio

Aplicaciones C/C++

En el caso de las aplicaciones escritas en C/C++, MATLAB Compiler SDK ofrece funcionalidades para:

  • Crear librerías seguras para subprocesos.
  • 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ía para su inclusión en una aplicación C o C++.
  • Soportar la funcionalidad de C++ 11 y la seguridad de tipos y multiproceso con la librería compartida de API de datos de MATLAB para C++.
  • Llamar a funciones de forma asíncrona con la librería compartida de API de datos de MATLAB para C++, que se puede ejecutar tanto en el proceso como fuera del proceso.

También puede convertir sus programas de MATLAB en librerías y código C/C++ portátiles y legibles mediante MATLAB Coder™.

Generación de librerías compartidas para C/C++.

Aplicaciones .NET y COM

En el caso de las aplicaciones escritas en .NET o COM, MATLAB Compiler SDK ofrece funcionalidades para:

  • Generar contenedores .NET o COM para los programas de MATLAB de forma que se pueda acceder a ellos como si fueran componentes .NET y COM nativos.
  • Ejecutar aplicaciones .NET en plataformas distintas de Windows mediante .NET Core.
  • Agregar archivos de código de MATLAB y archivos MEX y usarlos como métodos públicos de su componente.
  • Llamar 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.
  • Llamar a objetos COM desde tecnologías compatibles con COM, como Visual Basic® o ASP.
  • Usar una interfaz con seguridad de tipos para la integración con las interfaces existentes de su aplicación .NET.
  • Pasar objetos .NET directamente con origen y destino en una función de MATLAB compilada.
  • Usar clases de conversión de datos para convertir datos y administrar datos de salida de forma manual.
  • Soportar Windows Communication Foundation (WCF) con una arquitectura orientada a servicios (SOA) web o empresarial.
  • Soportar la API de .NET Remoting para poder ejecutar su clase como un servicio persistente o ejecutar su componente en varios procesos.

Generación de ensamblados para .NET Framework, .NET Core y COM.

Aplicaciones Java

En el caso de las aplicaciones Java, MATLAB Compiler SDK ofrece funcionalidades para:

  • Generar un contenedor de Java para los programas de MATLAB de forma que se comporten exactamente igual que cualquier otra clase de Java. También se crea un Javadoc para identificar las propiedades y los métodos de la clase.
  • Agregar archivos de MATLAB y archivos MEX que actúen como métodos de clases externamente visibles de su componente.
  • Garantizar que las clases de Java sean portátiles y se ejecuten en todas las plataformas 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 nativos de Java a funciones de MATLAB y convertirlos automáticamente en tipos de datos de MATLAB o seleccionar explícitamente el tipo de datos que se debe usar.
  • Acceder a aplicaciones web de MATLAB desplegadas como componentes 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 diversos procesos o equipos.

Generación de clases de Java.

Aplicaciones Python

En el caso de las aplicaciones Python, MATLAB Compiler SDK ofrece funcionalidades para:

  • Generar paquetes Python para programas de 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 con origen y destino en funciones de MATLAB con conversión automática.
  • Pasar arrays multidimensionales con origen y destino en funciones de MATLAB en los archivos desplegables mediante las clases de Python incluidas.
  • Integrar su código de MATLAB con una aplicación Python mediante la API del motor de MATLAB. A continuación, puede depurar y realizar el despliegue en MATLAB Production Server o en aplicaciones Python personalizadas creadas con MATLAB Compiler SDK.

Generación de paquetes Python. 

Aplicaciones de servidor

Seleccione la infraestructura: MATLAB Production Server o personalizada.

MATLAB Production Server

Aloje sus programas de MATLAB en una plataforma segura, escalable y fácil de gestionar con MATLAB Production Server. Las funciones alojadas en MATLAB Production Server se pueden llamar desde sus aplicaciones C/C++, .NET, Java y Python mediante librerías cliente ligeras. MATLAB Production Server también proporciona una interfaz RESTful para sus funciones a la que se puede llamar desde una amplia variedad de aplicaciones, como apps móviles. MATLAB Compiler SDK incluye una versión de desarrollo de MATLAB Production Server para probar y depurar localmente el código de aplicación antes de su despliegue en sistemas de producción.

MATLAB Production Server proporciona un servidor seguro y escalable para sus programas de MATLAB.

Servidor de aplicaciones personalizado

Para los desarrolladores que prefieran utilizar su propia infraestructura, los componentes generados con MATLAB Compiler SDK se integran con tecnologías estándar como ASP.NET, SOA, WSDL, SOAP, XML, JavaScript®, HTML, servicios HTTP, servlets de Java y 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 proporciona herramientas para desarrollar su propia infraestructura de servidor personalizada. 

Distribución cifrada y gratuita

Empaquete y distribuya sus programas de MATLAB como librerías C/C++ compartidas, ensamblados de Microsoft .NET, clases de Java o librerías de Python.

Empaquetado de componentes

Durante el proceso de empaquetado, MATLAB Compiler SDK incorpora solo las funciones y los archivos de MATLAB necesarios para ejecutar el programa a fin de optimizar el tamaño del componente resultante. El código de MATLAB está cifrado para proteger su código fuente frente a los usuarios de las aplicaciones.

Empaquetado de componentes.

Distribución de componentes

Todas las aplicaciones y los componentes desplegados utilizan MATLAB Runtime para realizar una distribución sin coste para usuarios que no disponen de MATLAB. En el caso de las plataformas de escritorio, la aplicación y el Runtime se instalan directamente en el equipo de destino; en el caso de las 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. Para proporcionar la mejor experiencia a los usuarios de su aplicación, MATLAB Compiler SDK permite especificar si se desea proporcionar MATLAB Runtime con el paquete de instalación o que se descargue automáticamente durante la instalación. 

MATLAB Runtime se instala con sus componentes.