Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web...

25
1 © 2012 The MathWorks, Inc. Deploying MATLAB Applications in Excel, Java, and .NET Environments U.M. Sundar Senior Application Engineer Technical computing [email protected]

Transcript of Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web...

Page 1: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

1 © 2012 The MathWorks, Inc.

Deploying MATLAB Applications in

Excel, Java, and .NET Environments

U.M. Sundar

Senior Application Engineer – Technical computing

[email protected]

Page 2: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

2

Agenda

• Application Development Workflow

• Need for Deployment

• Application Scalability

• Summary of Deployment Solutions Offered

• Overview of MathWorks Services

Page 3: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

3

Technical Computing Workflow

Reporting and

Documentation

Outputs for Design

Deployment

Share

Explore & Discover

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code & Applications

Automate

Page 4: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

4

Need for Deploying MATLAB Applications

Others within the

Organization

Group

Member

Suppliers

Clients

Collaborators

MATLAB

User

Page 5: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

5

MATLAB Desktop

End-User Machine

1

2

3 Toolboxes

Deploying MATLAB Models

MATLAB Compiler

.dll

5

Page 6: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

6

Give MATLAB code to

other users

Share applications with

end users who do not

have MATLAB

– Use MATLAB Compiler

to create standalone

executables and

shared libraries

– Use MATLAB Compiler

add-ons to create software

components

.exe .dll

.lib

MATLAB Compiler

Java

MATLAB Builder NE

MATLAB Builder EX

MATLAB Builder JA

Deploying Applications with MATLAB

Page 7: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

7

Example: Optimizing Tower Placement

Determine location of cell towers

Maximize coverage

Minimize overlap

Page 8: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

8

3

Deploying MATLAB Components

Create MATLAB application

Build component

– MATLAB Compiler

– MATLAB Builder JA for Java

– MATLAB Builder NE for .NET

Deploy against MATLAB

Compiler Runtime (MCR)

– One per process

– Single threaded

– Thread safe

MATLAB

Component

MATLAB Builder JA

MATLAB Builder NE

MATLAB Compiler 2

Toolboxes 1

Page 9: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

9

Single

Process

Component Process Architectures Core Core

In-Process

Model

Scalable

Model

Main

Process

In process model

– MCR in application

process

Scalable model

– MCR in separate

processes

Other

Processes

Java RMI

.NET Remoting

.NET or

Java

Application

.NET or

Java

Application

MATLAB

Component

MATLAB

Component

Page 10: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

10

Web Deployment

Web Client

Single

Process

In-Process

Model

Web

Server

MATLAB

Component

Page 11: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

11

Web Deployment: Scalable

Web Clients

Servers

Other

Processes Main

Process

Web

Server

Other

Processes

MATLAB

Component

MATLAB

Component

Java RMI

.NET Remoting

Page 12: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

12

Web Clients

Servers

Other

Proce

sses

Main

Process

Web

Server

Other

Proce

sses

MATLAB

Component

MATLAB

Component

Java RMI

.NET Remoting

Web Deployment: Scalable

Web Clients

Servers

Other

Processes Main

Process

Web

Server

Other

Processes

MATLAB

Component

MATLAB

Component

Java RMI

.NET Remoting

Page 13: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

13

Scale Up to Clusters, Grids and Clouds

Computer Cluster

MATLAB Distributed Computing Server

Scheduler

Web Clients

Servers

Other

Proce

sses

Main

Process

Web

Server

Other

Proce

sses

MATLAB

Component

MATLAB

Component

Java RMI

.NET Remoting

Page 14: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

14

Remote MATLAB Builder Components

Thin Client Java or .NET Enabled

Java RMI

.NET Remoting

Server MATLAB Component and MCR

Other

Processes

.NET or

Java

Application

MATLAB

Component

Page 15: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

15

.NET Framework Java Environment

Web infrastructure

Active Server Pages

(ASP or ASP.NET),

.NET Web Service

Java Server Pages

(JSP),

Java Servlets,

Java Web Service

Interactive Graphics Web Figures Web Figures

Remoting technology .NET Remoting Java Remote Method

Invocation (RMI)

Required builder MATLAB Builder NE MATLAB Builder JA

License model Royalty Free Royalty Free

Deployment with MATLAB Builders

Page 16: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

16

MATLAB Compiler

Automatically packages MATLAB

programs as standalone

executables and shared libraries

Supports full MATLAB language

and most toolboxes

Encrypts your functions

Speed of compiled application

equivalent to speed in MATLAB

Allows royalty-free deployment

Page 17: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

17

Working with MATLAB Builders

Create components to

integrate into other

software environments

Use the same workflow

as MATLAB Compiler

Deploy royalty-free

Page 18: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

18

MATLAB Builder JA

for Java language

Deploy MATLAB code as

Java classes

Integrate with desktop or

Web applications

Provides client-side controls

for interactive Web graphics

Royalty-free deployment

Page 19: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

19

MATLAB Builder NE

for Microsoft .NET Framework

Deploy MATLAB code as

.NET and COM components

Integrate with desktop or

Web applications

Provides client-side controls

for interactive Web graphics

Royalty-free deployment

Page 20: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

20

MATLAB Builder EX

for Microsoft Excel

Deploy MATLAB code to

Microsoft Excel

Integrate MATLAB applications

into Excel workbooks

Provides a Visual Basic interface

Royalty-free deployment

Page 21: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

21

Training Services Exploit the full potential of MathWorks products

Flexible delivery options:

Public training available in several cities

Onsite training with standard or

customized courses

Web-based training with live, interactive

instructor-led courses

More than 30 course offerings:

Introductory and intermediate training on MATLAB, Simulink,

Stateflow, code generation, and Polyspace products

Specialized courses in control design, signal processing, parallel computing,

code generation, communications, financial analysis,

and other areas

www.mathworks.in/training

Page 22: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

22

Public Trainings in the next Few Months

Course Dates Location

Simulink for System and Algorithm Modeling 20 Aug 2012 – 21 Aug 2012 Bangalore

Embedded Coder for Production Code

Generation 22 Aug 2012 – 24 Aug 2012 Bangalore

MATLAB Fundamentals 03 Sep 2012 – 05 Sep 2012 Bangalore

MATLAB Programming Techniques 06 Sep 2012 – 07 Sep 2012 Bangalore

MATLAB Fundamentals 24 Sep 2012 – 26 Sep 2012 Pune

Simulink for System and Algorithm Modeling 27 Sep 2012 – 28 Sep 2012 Pune

Statistical Methods in MATLAB 15 Oct 2012 – 16 Oct 2012 Bangalore

MATLAB Based Optimization Techniques 17 Oct 2012 Bangalore

Stateflow for Logic-Driven System Modeling 18 Oct 2012 – 19 Oct 2012 Bangalore

Email: [email protected] URL: http://www.mathworks.in/services/training Phone: 080-6632-6000

Page 23: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

23

Consulting Services

www.mathworks.com/consulting

A global team of experts provide support from initial project startup through integrated process

automation to increase productivity and maximize the value of product investments

Supplier Involvement Product Engineering Teams

Migration Planning

Component Deployment

Full Application Deployment

Adv Engineering

Co

nti

nu

ou

s Im

pro

ve

me

nt

Research

Advisory Services

Process Establishment/

Assessment

Jumpstart

Process & Technology

Standardization

Process & Technology

Automation

Page 24: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

24

Automated System for Trading and Risk Management of RWE

Challenge

RWE wanted to automate business processes, connected to

their enterprise SAP system for quoting gas contracts and

hedging against price fluctuations

Solution (with the help of MathWorks’ Consulting)

Able to develop and deploy to a production environment, a MATLAB-based automated pricing and risk

management system that fits within the company’s existing IT infrastructure using Java interface

Value

Models created in minutes, not weeks By automating the process, RWE can respond to changing market conditions almost immediately, and the costs

for creating and updating models are 10% to 20% of what they were

100% accurate results delivered By integrating the Java package built from MATLAB with SAP, RWE has a stable production system that

delivers the same accurate results throughout the organization

Technical expertise applied to core business goals For more information: http://www.mathworks.com/tagteam/65950_91888v00_RWE_2010_final.pdf

“With MATLAB, we can apply nonlinear option

pricing and perform much more complex

computations, which lowers our risk exposure

and reduces the amount we have to spend on

options.”- Dr. Norbert Tönder, RWE

Page 25: Deploying MATLAB Applications in Excel, Java, and .NET ... · .NET Framework Java Environment Web infrastructure Active Server Pages (ASP or ASP.NET), .NET Web Service Java Server

25

MathWorks India Contact Details

URL: http://www.mathworks.in

E-mail: [email protected]

Technical Support: www.mathworks.in/myservicerequests

Tel: +91-80-6632 6000

Fax: +91-80-6632 6010

• MathWorks India Private Limited Salarpuria Windsor Building Third Floor, 'A' Wing No.3 Ulsoor Road Bangalore - 560042, Karnataka India

Thank You for Attending

Talk to Us – We are Happy to Support You