Introduction to application deployment Antti Löytynoja, Application Engineer 2015 The MathWorks, Inc. 1
Technical Computing with Products Access Explore & Create Share Options: Files Data Software Data Analysis Mathematical Modeling x E = V R y Reports and Documentation Applications 1. Run everywhere 2. Manual translation to other language 3. Application deployment Equations Hardware Algorithm Development Application Development Outputs for Design Equations F = ma 2
Why deploy applications? Save development time and cost Eliminate time-consuming translation process Suppliers User Reduce risk of introducing errors Debug algorithms in Eliminate error-prone translation process Your Group Your Organization Clients Field engineers 4
Application Packaging and Code Generation Compiler Compiler SDK Coder products Integrate algorithms with custom software Prototype algorithms on PC s Runtime Accelerate algorithm execution Implement algorithms on embedded processors 5
Which Product Will Fit Your Needs? Royalty-free Encrypted to protect IP Compiler Compiler SDK Standalone Application Excel Add-in C/C ++.NET Production Server Hadoop Python Java Compiler enables sharing programs without integration programming Compiler SDK provides implementation and platform flexibility for software developers Production Server provides the most efficient development path for secure and scalable web and enterprise applications 9
Sharing Standalone Applications Application Author Toolboxes 1 2 Compiler End User Standalone Application Excel Add-in Hadoop 3 Runtime 11
Demo: Creating a Standalone Application 12
Integrating -based Components Application Author Toolboxes 1 Software Developer Compiler SDK 2 C/C ++.NET Production Server 3 4 Runtime Python Java 14
Scale Up with Production Server (MPS) Directly deploy programs into production Centrally manage multiple programs & MCR versions Automatically deploy updates without server restarts Scalable & reliable Service large numbers of concurrent requests Add capacity or redundancy with additional servers Use with web, database & application servers Lightweight client library isolates processing Access programs using native data types Production Server(s) Web Server(s) HTML XML Java Script 15
MPS integration with IT systems Compiler SDK Web Applications Web Server Production Server Portfolio Optimization Desktop Applications Pricing Application Server Risk Analytics Batch Applications Database Server 16
Request Broker Deployed Analytics Production Server Web Application Server Apache Tomcat Production Server Production Server Desktop Train in Web Server/ Webservice Predictive Models generateforecast Weather Data Energy Data 19
Application Packaging and Code Generation Compiler Compiler SDK Coder products Integrate algorithms with custom software Prototype algorithms on PC s Runtime Accelerate algorithm execution Implement algorithms on embedded processors 20
Demo: generating code for neural network model 1. Convert neural network model into a function supporting code generation genfunction(net, functionname.m, MatrixOnly, yes ); 2. Generate code using Coder 3. Verify that generated code produces correct results 21
Compiler SDK and Coder Output Compiler Compiler SDK Software components for C/C++,.NET, Java, and Python Coder Portable and readable C source code language support Full Subset Additional libraries Runtime None Supported toolboxes Most toolboxes Some toolboxes License model Royalty-free Royalty-free 22
Application Deployment Share programs with people who do not have Royalty-free distribution Encryption to protect your IP Create both standalone applications and components for integration Deploy to desktop, web, and enterprise applications Coder products for generating standalone C/C++ 23
Thank you! 2015 The MathWorks, Inc. 24