22
1 Implementing MATLAB components in your Business/Production Environment

Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

1

Implementing MATLAB components in your Business/Production Environment

Page 2: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 3: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 4: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 5: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 6: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

6

MATLABBuilder™ EX

MATLABBuilder™ JA

.NETCOMExcelAdd-in

Java www

MATLABBuilder™ NE

.exe .dll/.lib

MATLAB Compiler™

MathWorks Deployment Products

Page 7: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 8: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

8

MATLABMATLABDesktopDesktop

EndEnd--UserUserMachineMachine

11

22

33Toolboxes

Deploying Applications with MATLAB®

MATLAB® Compiler™

.exe

Page 9: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 10: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 11: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 12: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 13: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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.

Page 14: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 15: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 16: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 17: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 18: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 19: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

19

Messaging

Sending Application

ReceivingApplication

3. Send Message Back

3. ReceiveMessage Back

Page 20: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

20

Messaging

MSMQ

Page 21: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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

Page 22: Implementing MATLAB components in your Business/Production ... · Scripting Languages PHP, Perl ... The development to production process is a two step process Step 1: Bring Data

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.