1
Implementing MATLAB components in your Business/Production Environment
2
Agenda
Introduction to MathWorks™ Deployment Products
Building and deploying a simple analytic from MATLAB
MATLAB Component integration into a production system
Using MATLAB components in multi product/layer solutions
MATLAB front end applications for production solutions
3
MathWorks Evolution in Financial Services
1995• Quick prototyping environment
• Ad-hoc research tool
• Data pulled from flat files, Excel
• Limited financial functionality
'06
'07
'08
'09
2 4 6 8 10 12 14 16 18
0%5%
10%15%
20%25%
0-0.05 0.05-0.1 0.1-0.15 0.15-0.2 0.2-0.25
4
Computational Finance Workflow
Financial
Statistics Optimization
MATLAB
Parallel Computing MATLAB Distributed Computing Server
Files
Databases
Datafeeds
Access
Reporting
Applications
Production
ShareResearch and Quantify
Datafeed
Database
Spreadsheet Link EX
Research and Quantify
Data Analysis & Visualization
Financial Modeling
Application Development
Reporting
Applications
Production
Share
Automate
Files
Databases
Datafeeds
Access
5
Computational Finance Workflow
Files
Databases
Datafeeds
Access
Reporting
Applications
Production
ShareResearch and Quantify
Datafeed
Database
Spreadsheet Link EX
Financial
Statistics Optimization
MATLAB
Parallel Computing MATLAB Distributed Computing Server
6
MATLABBuilder™ EX
MATLABBuilder™ JA
.NETCOMExcelAdd-in
Java www
MATLABBuilder™ NE
.exe .dll/.lib
MATLAB Compiler™
MathWorks Deployment Products
7
The MATLAB Compiler
Automatically packages your MATLAB programs as standalone applications and software components
Supports full MATLAB language and most toolboxes
Allows royalty-free deployment
Provides shared infrastructure with MATLAB:
– Speed of compiled application
equivalent to speed in MATLAB
Encrypts your functions
8
MATLABMATLABDesktopDesktop
EndEnd--UserUserMachineMachine
11
22
33Toolboxes
Deploying Applications with MATLAB®
MATLAB® Compiler™
.exe
9
Working with MATLAB Builders
Package MATLAB based algorithms for integration into: Java, .NET, COM, or Excel
Same interface, workflow, and royalty-free deployment as MATLAB Compiler
10
MATLAB Builder JA for Java language
Deploys MATLAB code as Java classes
Can be used with Java applications for desktop or Web
Provides zoom, pan, and rotate controls for Web figures
Royalty-free deployment model
11
MATLAB Builder NE for Microsoft .NET
Framework
Deploys MATLAB code as .NET and COM components
.NET components integrate with any .NET language, including:
– C#
– VB.NET
– Web applications in ASP.NET
Royalty-free deployment model
12
Deploys MATLAB code as Excel add-ins– Run faster than Visual Basic add-ins
Packages two files for end user:
1) .bas [for creating Excel add-in]
2) .ctf [archive of supporting files]
Royalty-free deployment model
MATLAB Builder EX for Microsoft Excel
13
MATLAB Financial Modeling Platform
Goals:
– Enable customers to rapidly develop and deploy MATLAB applications onto the desktop.
– Seamlessly integrate MATLAB generated components into other languages, applications and enterprise production systems.
14
Strategy
Production Component
Model/ Algorithm/
Analytic
Desktop Applications
Production Databases
Analytic Engines
Web Applications
Scripting Languages PHP, Perl
Build a financial modeling and development platform that models the financial institution’s workflow
Portfolio Managers
Traders
Business Analysts,Researchers
Quant’s
Financial Engineers,
Actuaries
Economists
IT professionalsSoftware Engineers
Financial Institution Development OrganizationModel Builders/Integrators
Develop, Test, Implement, and Install
Financial Institution Business OrganizationModel/Application Consumers
Use Models/Applications in everyday business decisions
15
Workflow for Embedding MATLAB Components in Enterprise Systems
The development to production process is a two step process
Step 1: Bring Data to MATLAB– Multiple data sources– Build algorithms/models– Test– Compile to target platform component
Step 2: Bring algorithm to the Data– Install MATLAB component into the enterprise production
applications.– Same functionality/single source
16
Case 1: Building and Deploying A Simple Analytic
Model development workflow– Importing data into MATLAB
– Building simple analytic
Deployment process– Building deployable component
Integration of MATLAB Components into Production Systems– Ease of integration
– Enhanced computational/Visualization functionality
17
Case 2: MATLAB Deployed Component as a Multi-Functional Layer
MATLAB Components can be multifunctional
– Computational Analytics/Models built in MATLAB can be quickly and
easily used in the production environment
– Visualization Interactive graphics and high quality visualization
components
– Communication layer Read/Write to
– Spreadsheets
– Flat files
– Databases
18
Case 3: Building deployed Applications and Reporting Tools for Production Systems
MATLAB Applications for Production Systems
– Front End GUI based applications Point and click tools for end users.
– Batch Processes Generate custom analytical reports overnight from within the
production system.
– Reporting Applications Point and click reporting tools can be built and deployed
19
Messaging
Sending Application
ReceivingApplication
3. Send Message Back
3. ReceiveMessage Back
20
Messaging
MSMQ
21
MATLAB Components in an Enterprise Messaging Bus
SQL Server
Database
Microsoft
IIS
Web
Server
Enterprise Service/Messaging Bus …. MSMQ/JMS
MATLAB Java
Analytic
MATLAB .Net
Analytic
MATLAB Java
Analytic
MATLAB .Net
Analytic
Oracle
Database
Scheduler
22
Summary
Enhance existing production applications
Seamless integration
Leverage MATLAB and existing systems to provide powerful solutions.
MATLAB component can provide multiple possibilities for integrating various applications for a complete business solution.