Skip to Main Content Skip to Search
Product Documentation

Lifecycle of a Deployed MATLAB Web Application

Introduction

How does a single piece of MATLAB code become a deployable, portable, robust, scalable Web application? Through skillful deployment by a number of people in an organization, each playing distinct and significant roles.

The following diagrams depict the supported implementation and architectures available when using MATLAB application deployment products.

MATLAB Web Application Environment

The fundamental goal of the Application Deployment products (MATLAB Compiler and the builders) is to enable work that has been accomplished within MATLAB to be deployed outside the MATLAB environment. This is accomplished with the MATLAB Compiler Runtime (MCR), which is a set of libraries that runs encrypted MATLAB code.

In a Web application, the builder products allow integration of the MCR at the server tier level. This enables end users to execute MATLAB applications over the Web without installing client software.

WebFigures is a client and server technology that further extends this capability by enabling end users to interact with a MATLAB figure in much the same way as they use an axis within MATLAB. The WebFigures functionality of MATLAB Builder JA and MATLAB Builder NE allows users limited to Web access the ability to dynamically interact with MATLAB figures.

MATLAB Programmer

MATLAB Programmer

RoleKnowledge BaseResponsibilities

MATLAB programmer
  • MATLAB expert

  • No IT experience

  • No access to IT systems

  • Develops models; implements in MATLAB

  • Serves as tool builder

  • Uses tools to create a component that is used by the Java developer

  • Uses tools to create a component that is used by the .NET developer

  • Uses tools to create a component that is used by the COM developer

  • Uses tools to create a component that is used by the C or C++ developer

The first phase in a deployed application's life begins when code is written in MATLAB by a MATLAB programmer, whose objective is sharing it with other people either within or outside of the organization. To accomplish this objective, the programmer uses MATLAB Compiler. MATLAB Compiler makes MATLAB code usable by people in vastly different environments who may not have knowledge of MATLAB or the MATLAB language.

When MATLAB Builder JA (for Java language) or MATLAB Builder NE (for Microsoft .NET Framework) is installed along with MATLAB Compiler, MATLAB functions can be encrypted and wrapped in Java or .NET interfaces. The MATLAB programmer takes these deployable components and gives them to the middle-tier developer.

Middle-Tier Developer

Middle-Tier Developer

Middle-tier developer
  • Little to no MATLAB experience

  • Moderate IT Experience

  • Expert at business logic and services tier

  • Java expert

  • .NET expert

  • Minimal access to IT systems

  • Expert at J2EE

  • Expert at .NET Web frameworks

  • Expert at Web services

  • Integrates deployed component with the rest of the J2EE system by converting MATLAB data types (MWArrays) to the Java Business logic objects

  • Integrates deployed component with the rest of the .NET system by converting MATLAB data types (MWArrays) to the .NET Business logic objects

At this point in the deployment lifecycle, integration is usually required in order to make the deployed application work with the existing applications in the organization. The Business Services Developer installs these deployable applications along with the proper version of the MCR, and converts MATLAB data types to native language data types so they can be used without any coupling to MATLAB in other tiers of the installation architecture. When the Java or .NET component is called, it will instantiate the MCR to execute the underlying MATLAB code. Once these services are exposed (either as Web services or through an API) Front End Developers can connect to them and use them.

Front-End Web Developer

Front-End Web Developer

RoleKnowledge BaseResponsibilities

Front-end Web developer
  • No MATLAB experience

  • Minimal IT experience

  • Expert at usability and Web page design

  • Minimal access to IT systems

  • Expert at JSP

  • Expert at ASPX

  • As service consumer, manages presentation and usability

  • Creates front-end applications

  • Integrates MATLAB code with language-specific frameworks and environments

  • Integrates WebFigures with the rest of the Web page

Front-end Web developers are typically responsible for user-visible functionality and know little about under-the-covers implementation. Their primary concern is the stability and security of the organization's data within the confines of a firewall. Once the front-end Web developers create some mechanism for exposing the application functionality to the end user, it is up to the end user to complete the lifecycle by interacting with the application to perform some task or solve some business problem. End users typically achieve this through a Web browser.

Server Administrator

Server Administrator

Server administrator
  • No MATLAB experience

  • IT Expert

  • Understands server architectures

  • Understands language-specific frameworks and environments

  • Manages uptime of production servers

  • Ensures that services are scalable enough to meet SLA requirements

  • Maintains multiple versions of the MCR and Deployed component versions

  • Manages framework versions

Server administrators are responsible for keeping the servers up and running, meeting the IT department's commitments to the rest of the organization as outlined in SLA agreements. They are not MATLAB experts and may or may not know much about integrating deployed applications in various computing environments. However, they are expert in understanding which versions of which computing environments (JREs and .NET frameworks, for example) can co-exist and run stably in order to achieve the end-user's desired results.

End User

End User

RoleKnowledge BaseResponsibilities

End user
  • No MATLAB experience

  • Some knowledge of the data that is being displayed, but not how it was created

  • In Web environments, consumes what the front-end developer creates

  • Integrates MATLAB code with other third-party applications, such as Excel

End users may use the Web site or may interact with the business tier directly. In this case, an example of a common activity would be when a financial analyst accesses a business tier Web service and a complex Microsoft Excel® model. Or, they access an internal Web site, performing specific tasks not available to their customers.

End-To-End Developer

The end-to-end developers are virtual "one-stop shops." They are MATLAB experts, but are also skilled in many of the areas of expertise as the middle-tier developer and front-end Web developer, though their level of expertise may vary over their many areas of responsibility. To this end, this guide presents examples of comprehensive deployment tasks scoped specifically to the time and resource constraints typically faced by end-to-end developers.

  


Free MATLAB Compiler Interactive Kit

Learn how to build standalone executables and C/C++ shared libraries from MATLAB code.


Get free kit

Trials Available

Try the latest version of MATLAB Compiler.


Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS