Sharing and Deploying Applications Dr. Roland Michaely Applications Engineer 2015 The MathWorks, Inc. 1
ICICI Securities Develops Online Financial Planning and Advisory Platform Challenge Launch a scalable online financial planning and advisory platform Solution Use and Compiler to develop and deploy algorithms for determining market correlations, running Monte Carlo simulations, and matching liabilities with assets Results Three-hour, manual process drastically reduced Accuracy of suggested asset allocation improved Scalable financial planning platform launched Financial analysts and investment advisors typically do not have the programming skills to code effectively. Yet if they do not code themselves, it is difficult to experiment, develop, and back-test new methodologies. Even though our team of investment advisors had limited programming experience, enabled us to develop and deploy a full-featured financial advisory platform. A dynamic asset allocation strategy based on goal risk and investment horizon. Abhishake Mathur ICICI Securities 2
Programs Can be Shared With Anyone Share With Other Users Share With People Who do Not Have 3
Write Your Programs Once Then Share To Different Targets Compiler Compiler SDK Apps Files Standalone Application Excel Add-in Hadoop C/C ++ Java.NET Python Production Server Custom Toolbox With Users With People Who Do Not Have 4
Share with Users Apps Custom Toolbox Files Package an App Package Entire Toolboxes Directly share files 5
App Packaging Apps are self-contained tools, typically with a User Interface Package your app as single installation file Easy distribution and installation into the apps gallery Automatically includes all necessary files Documents required products 6
7
8
Custom Toolbox Packaging Package your toolbox as a single installer file Contains all of the code, data, apps, documentation, and examples Checks for dependent files and automatically includes them Documents required products Included folders and files automatically appear on path when installed View details and uninstall toolboxes with Manage Custom Toolboxes dialog box 9
10
Programs Can be Shared With Anyone Share With Other Users Share With People Who do Not Have 11
Share with People Who Do Not Have Compiler Compiler SDK Standalone Application Excel Add-in Hadoop C/C ++ Java.NET Python Production Server Share Applications Built Completely in Integrate Programs With Your Own Software Royalty-free Sharing IP Protection via Encryption 12
Share Applications Built Completely in Application Author Toolboxes 1 2 Compiler End User Standalone Application Excel Add-in Hadoop 3 Runtime 13
14
Use Compiler to Integrate with Excel Develop algorithms in Package them as Excel add-ins 15
Import Add-ins to use functions in Excel 16
Integrate Programs With Your Own Software Application Author Toolboxes Application author and software developer might be same person 1 Software Developer Compiler SDK 2 C/C ++.NET Production Server 3 4 Runtime Python Java 17
18
19
Scale Up with Production Server (MPS) Most efficient path for creating enterprise applications MathWorks Demo: Web Apps Powered by Deploy programs into production Manage multiple programs and versions Hot Deployment: Update programs without server restarts Reliably service concurrent requests Production Server(s) Integrate with web, database, and application servers Web Server(s) 20
Production Server Enterprise Class Framework For Running Packaged Programs Server software Manages packaged programs and worker pool Runtime libraries Single server can use runtimes from different releases Enterprise Application MPS Client Library Enterprise Application RESTful JSON Production Server Request Broker & Program Manager RESTful JSON interface and lightweight client library (C/C++,.NET, Python, and Java) Runtime 21
Share with People Who Do not Have Program once, then choose your target: Desktop, Web, Enterprise applications C++, Java, Python,.NET Royalty-free distribution Encryption to protect your IP 22
Online Resources Documentation Create and Share Toolboxes Website Desktop and Web Deployment Free White Paper Building a Website with Analytics Website Using With Other Programming Languages 23
Summary Compiler Compiler SDK Apps Files Standalone Application Excel Add-in Hadoop C/C ++ Java.NET Python Production Server Custom Toolbox With Users With People Who Do Not Have 24