MATLAB Compiler SDK

MATLAB 프로그램에서 소프트웨어 컴포넌트 빌드

 

MATLAB Compiler SDK™는 MATLAB® 프로그램으로부터 C/C++ 공유 라이브러리, Microsoft® .NET 어셈블리, Java® 클래스 및 Python® 패키지를 만들 수 있도록 MATLAB Compiler™의 기능을 확장합니다. 이러한 컴포넌트를 사용자 지정 응용 프로그램과 통합한 다음 데스크탑, 웹 및 엔터프라이즈 시스템으로 배포할 수 있습니다.

MATLAB Compiler SDK는 웹 응용 프로그램과 엔터프라이즈 시스템으로 배포하기 전 응용 프로그램 코드 및 Excel 추가 기능을 테스트하고 디버그하기 위한 MATLAB Production Server™의 개발 버전을 포함합니다.

MATLAB Compiler SDK의 소프트웨어 컴포넌트를 사용하여 만든 응용 프로그램은 MATLAB이 필요 없는 사용자와 로열티 없이 공유할 수 있습니다. 이러한 응용 프로그램은 컴파일된 MATLAB 응용 프로그램 또는 컴포넌트를 실행할 수 있는 MATLAB 런타임, 공유 라이브러리 세트를 사용합니다.

MATLAB으로부터 C 및 C++ 소스 코드를 생성하려면 MATLAB Coder™를 사용하십시오.

시작하기:

엔터프라이즈 응용 프로그램에 MATLAB 프로그램 통합

데스크탑, 서버 또는 웹 응용 프로그램과 통합

소프트웨어 컴포넌트 빌드

다른 프로그래밍 언어와 통합할 때나 MATLAB Production Server에서 실행할 때와 동일한 기본 프로세스를 따르십시오.

  1. MATLAB 응용 프로그램 코드를 생성합니다.
  2. 대화형 앱을 사용하거나 명령줄을 통해 MATLAB 코드를 언어별 컴포넌트로 또는 MATLAB Production Server를 위한 배포용 아카이브로 패키징합니다.
  3. Visual Studio®, Eclipse®, Xcode 등과 같은 원하는 개발 환경을 사용하여 컴포넌트 또는 MATLAB Production Server 클라이언트 라이브러리를 호스트 응용 프로그램과 통합합니다.
  4. 응용 프로그램을 완성하고 데스크탑 응용 프로그램의 경우 로컬 설치, 서버 기반 응용 프로그램의 경우 중앙 집중식 설치로 대상 컴퓨터에 설치합니다.

MATLAB 코드를 언어별 컴포넌트로 패키징.

데스크탑 응용 프로그램

C/C++ 응용 프로그램

MATLAB Compiler SDK는 C/C++로 작성된 응용 프로그램을 위해 다음 기능을 제공합니다.

  • Thread-safe 라이브러리 생성
  • Visual Studio와의 원활한 통합을 위한 동적 라이브러리 파일 생성(Windows® 응용 프로그램용)
  • 라이브러리 파일의 헤더 파일과 암호화된 코드에서 C 또는 C++ 응용 프로그램에 포함할 함수 시그니처 파일을 생성
  • C++ MATLAB Data API 공유 라이브러리로 C++ 11 기능과 형식 안정성 및 멀티스레드 안정성 지원
  • in-process 또는 out-of-process로 실행할 수 있는 C++ MATLAB Data API 공유 라이브러리로 함수를 비동기 방식으로 호출

MATLAB Coder™를 사용하여 MATLAB 프로그램을 판독 및 이식이 가능한 C/C++ 코드 및 라이브러리로 변환하는 것도 가능합니다.

C/C++를 위한 공유 라이브러리 생성

.NET 및 COM 응용 프로그램

MATLAB Compiler SDK는 .NET 또는 COM으로 작성된 응용 프로그램을 위해 다음 기능을 제공합니다.

  • 네이티브 .NET 및 COM 컴포넌트처럼 액세스할 수 있도록 MATLAB 프로그램에 대한 .NET 또는 COM 래퍼를 생성
  • .NET Core를 사용하여 Windows 외 플랫폼에서 .NET 응용 프로그램 실행
  • MATLAB 코드 파일과 MEX 파일을 컴포넌트의 퍼블릭 메서드로 추가 및 액세스
  • C#, F#, VB.NET 또는 ASP.NET을 포함한 CLS(공용 언어 사양) 호환 언어로부터 .NET 컴포넌트를 호출
  • Visual Basic® 또는 ASP를 포함한 COM 호환 기술로부터 COM 객체를 호출
  • Type-safe 인터페이스를 사용하여 .NET 응용 프로그램의 기존 인터페이스와 통합
  • .NET 객체를 컴파일된 MATLAB 함수와 직접 주고받음
  • 데이터 변환 클래스를 사용하여 데이터를 수동으로 변환하고 출력 데이터를 관리
  • 웹 또는 엔터프라이즈 SOA(서비스 지향 아키텍처)를 통해 WCF(Windows Communication Foundation)를 지원
  • 클래스를 지속적인 서비스로 실행하거나 여러 프로세스에 걸쳐 컴포넌트를 실행할 수 있도록 .NET Remoting API를 지원

.NET Framework, .NET Core 및 COM을 위한 어셈블리 생성

Java 응용 프로그램

MATLAB Compiler SDK는 Java 응용 프로그램을 위해 다음 기능을 제공합니다.

  • 다른 Java 클래스와 똑같이 동작하도록 MATLAB 프로그램에 대한 Java 래퍼를 생성 클래스의 속성과 메서드를 파악하는 Javadoc도 생성
  • 컴포넌트에 대한 외부에서 볼 수 있는 클래스 메서드 역할을 하도록 MATLAB 파일과 MEX 파일을 추가
  • Java 클래스가 이식 가능하고 MATLAB이 지원하는 모든 플랫폼에서 실행되도록 보장 (일부 툴박스 함수는 플랫폼 종속 MEX 파일 또는 네이티브 라이브러리로 구현되어 해당 함수와 이를 사용하는 모든 Java 컴포넌트를 플랫폼 종속으로 만듦)
  • 네이티브 Java 데이터형을 MATLAB 함수로 전달하고 자동으로 MATLAB 데이터형으로 변환하거나 사용할 데이터형을 명시적으로 선택
  • SOA, SOAP 서비스, WSDL, RMI 인터페이스, HTTP 서비스, Java servlet 및 JSP를 통해 Java 컴포넌트로 배포된 MATLAB 웹 응용 프로그램에 액세스
  • RMI(원격 메서드 호출) 인터페이스를 사용하여 클래스를 지속적인 서비스로 실행하거나 여러 프로세스 또는 컴퓨터에 걸쳐 처리를 분배

Java 클래스 생성

Python 응용 프로그램

MATLAB Compiler SDK는 Python 응용 프로그램을 위해 다음 기능을 제공합니다.

  • Python 응용 프로그램 또는 대화형 세션에서 액세스할 수 있는 MEX 파일 등 MATLAB 프로그램용 Python 패키지 생성
  • 자동 변환을 통해 MATLAB 함수와 네이티브 Python 데이터형을 주고받음
  • 포함된 Python 클래스를 사용하여 배포가 가능한 아카이브의 형태로 MATLAB 함수와 다차원 배열을 주고받음
  • MATLAB Engine API를 사용하여 MATLAB 코드와 Python 응용 프로그램을 통합 이를 통해 MATLAB Compiler SDK로 개발된 사용자 지정 Python 응용 프로그램 또는 MATLAB Production Server를 디버그 및 배포할 수 있습니다.

Python 패키지 생성 

서버 응용 프로그램

인프라 선택 – MATLAB Production Server 또는 사용자 지정

MATLAB Production Server

MATLAB Production Server를 사용하여 안전하고 관리하기 쉽고 확장 가능한 플랫폼에 MATLAB 프로그램을 호스트하십시오. MATLAB Production Server에 호스트한 함수는 간단한 클라이언트 라이브러리를 사용하여 C/C++, .NET, Java 및 Python 응용 프로그램에서 호출할 수 있습니다. MATLAB Production Server는 모바일 앱을 비롯해 다양한 응용 프로그램에서 호출할 수 있는, 함수로의 RESTful 인터페이스도 제공합니다. MATLAB Compiler SDK는 프로덕션 시스템으로 배포하기 전에 로컬에서 테스트 및 디버그를 수행하기 위한 MATLAB Production Server의 개발 버전을 포함합니다.

MATLAB Production Server는 MATLAB 프로그램을 위한 안전하고 확장 가능한 서버를 제공합니다.

사용자 지정 응용 프로그램 서버

자체 인프라 사용을 선호하는 개발자를 위해 MATLAB Compiler SDK로 생성된 컴포넌트가 ASP.NET, SOA, WSDL, SOAP, XML, JavaScript®, HTML, HTTP 서비스, Java servlet 및 JSP는 물론 Java RMI와 .NET 원격과 같은 표준 기술과 통합되어 확장성을 얻습니다. 다수의 동시 요청을 처리할 수 있는 응용 프로그램을 위해 응용 프로그램 서버와 컴파일된 MATLAB 코드 사이에서 RMI 서버의 중간 계층을 만들 수 있습니다.

MATLAB Compiler SDK는 자체 사용자 지정 서버 인프라를 개발하기 위한 툴을 제공합니다. 

암호화된 무료 배포

MATLAB 프로그램을 C/C++ 공유 라이브러리, Microsoft .NET 어셈블리, JAVA 클래스 또는 Phython 라이브러리로 패키징하여 배포하십시오.

컴포넌트 패키징

패키징 과정에서 MATLAB Compiler SDK는 프로그램을 실행하는 데 필요한 MATLAB 함수와 파일만 통합하여 최종 컴포넌트의 크기를 최적화합니다. MATLAB 코드는 소스 코드를 응용 프로그램 사용자들로부터 보호하기 위해 암호화됩니다.

컴포넌트 패키징

컴포넌트 배포

모든 배포된 응용 프로그램과 컴포넌트는 MATLAB을 사용하지 않는 사용자에 대한 무료 배포를 위해 MATLAB Runtime을 사용합니다. 데스크탑 플랫폼의 경우 응용 프로그램과 Runtime이 대상 컴퓨터에 직접 설치되지만, 웹 및 엔터프라이즈 응용 프로그램, 연결된 Runtime은 편리한 관리와 배포를 위해 중앙 집중식 서버에 설치할 수 있습니다. 응용 프로그램 사용자에게 최적의 경험을 제공할 수 있도록, MATLAB Compiler SDK에서는 설치 패키지와 함께 MATLAB Runtime을 제공할지 아니면 설치 중에 자동으로 다운로드할지 지정할 수 있습니다. 

MATLAB Runtime은 컴포넌트와 함께 설치됩니다.