MATLAB 에서작업한응용프로그램의공유 : App 에서부터웹서비스까지 Application Engineer 엄준상 2013 The MathWorks, Inc. 1
Application Deployment with MATLAB Suppliers MATLAB Author Clients Organization Group Members Collaborators 2
Application Deployment Process Requirements Research & Design Explore and discover Design Gain insight into problem Evaluate options, trade-offs Implementation Elaborate Test Test & Verification Algorithms and Applications for Desktop or Web MATLAB Excel.NET.exe C/C++ Java.dll Embedded software and digital electronics Verilog FPGA PLC C/C++ VHDL PAC 3
Modeling Global Solar Radiation R s = a (1 + bh)(1 e c Tn ) R s : Solar Ratio (global solar radiation/ extraterrestrial solar radiation) H: Relative humidity T: T DailyMax T DailyMin a,b,c,n: Model coefficients Value of extraterrestrial solar radiation is calculated for a given day-of-year and latitude using a known formula extraterrestrial radiation total global radiation Daily temperature variations are largely driven by solar radiation received at the surface 4
Desktop Applications MATLAB App and Standalone Executable Solar Analysis Application 5
Packaging and Sharing MATLAB Apps MATLAB apps Interactive applications to perform technical computing tasks Displayed in apps gallery Included in many MATLAB products Package your own app Create single file for distribution and installation into gallery Packaging tool: Automatically includes all necessary files Documents required products 6
Deploying Applications with MATLAB Toolboxes 1 MATLAB Desktop End-User Machine 2 MATLAB Compiler.exe 3 7
MATLAB Components Add-In for Excel Solar Analysis Spreadsheet 8
Deploying MATLAB Components Create MATLAB application Build component MATLAB Compiler MATLAB Builder JA MATLAB Builder NE Deploy against MATLAB Compiler Runtime (MCR) One per process Loaded in-process Single threaded Thread safe 1 2 3 MATLAB Builder JA Toolboxes MATLAB Compiler MATLAB Builder NE MATLAB Component 9
Web Deployment - MATLAB Builder NE Energy Forecast Model 10
MATLAB Production Server Directly deploy MATLAB programs into production Centrally manage multiple MATLAB programs & MCR versions Automatically deploy updates without server restarts Scalable & reliable Service large numbers of concurrent requests Add capacity or redundancy with additional servers MATLAB Production Server(s) Use with web, database & application servers Lightweight client library isolates MATLAB processing Access MATLAB programs using native data types Web Server(s) HTML XML Java Script 11
What is MATLAB Production Server? Enterprise class framework for running packaged MATLAB programs MATLAB Production Server.NET Request Broker & Program Manager Server software Manages packaged MATLAB programs & worker pool Runtime libraries MATLAB Compiler Runtime (MCR) Lightweight client library (for.net & Java) Request MATLAB programs (functions) 12
MATLAB Production Server - Example MATLAB Compiler Web Applications - web browser - web services Web Server MATLAB Production Server Asset Monitoring Desktop Applications - custom applications - standard (Excel) Energy Pricing Batch Applications Application Server Predictive Analytics Database/Historian Server 13
Web Application - MATLAB Production Server Asset Allocation 14
Web Application - MATLAB Production Server Asset Allocation 15
Desktop Application - MATLAB Production Server Asset Allocation 16
Desktop Application - MATLAB Production Server Asset Allocation 17
Deploying Algorithms and Applications Give MATLAB code to other users MATLAB apps MATLAB files MATLAB Compiler Share applications with end users who do not need MATLAB Stand-alone executables MATLAB Builder EX MATLAB Builder JA MATLAB Builder NE Shared libraries Software components.exe.dll.lib Excel Java Web.NET Royalty-free distribution 18
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. 2013 The MathWorks, Inc. 19