开发人员区域

高级软件开发与MATLAB

建立一个产品,建设服务

MATLAB,凭借其大量收集特定领域的工具箱,提供远远超过了用户的原型算法强大的环境。它提供的能力来构建软件产品,从单个用户/应用轻松扩充到提供服务到整个企业的服务。下载188bet金宝搏

原型是重要的,但没有停留为原型永远!

如果仅仅是一个实验,算法被替换为下一个更大,更好的实现。如果有价值,则基于MATLAB算法与目标受众为它提供的见解共享。这个观众可以作为有限,因为几个同事或一样宽可公开获得的科学论文。根据目标受众的需求,MATLAB提供了多种选择,以社交和消费从分析的洞察力。这些选项的范围从加速探索性编程来创建交互式叙事(如与编辑直播),与其他生产质量,企业级软件栈集成。

关键业务解决方案金宝搏官方网站,开发人员使分析本身在整个企业(或类似的用户群)中可用。为了支持这一需求,MATLAB提供了一系列产品来支持适当的下载188bet金宝搏金宝app部署选项从独立应用程序到在各种技术堆栈上运行,如Microsoft Excel®、web应用程序、数据库、应用程序服务器甚至Hadoop系统。

为了使它有形,让我们从一个原型到一个生产等级服务的MATLAB算法。

为了保持示例简单,让我们使用Fibonacci生成器安迪最近的博客大约建立一个MATLAB供电服务。

建立MATLAB供电服务

我的示例应用程序将调用MATLAB算法作为服务来计算斐波那契数列的第N项。

作为一个例证,我会选择一个无痛的方法来揭露一个计算斐波纳契数列的服务。

MATLAB生产服务器™是一个企业级解决方案,它为开发人员提供了将其MATLAB算法集成到完整的面向服务的体系结构(SOA)中的能力。面向服务的体系结构(SOA)是计算机软件设计中的一种体系结构模式,其中应用程序组件通过通信协议向其他组件提供服务,通常通过网络,并且通常独立于任何供应商、产品或技术。

在生产服务器上,您的MATLAB算法现在可以作为24 x 7 x 365的服务运行,重要的是,它可以扩展到广度和深度。这样做的真正好处是,开发人员现在可以在他们选择的环境中请求无状态的MATLAB分析。无论技术堆栈、供应商或语言如何,生产IT系统都可以访问MATLAB程序。

在这个例子中,我们服务的核心是MATLAB代码,用于计算第N个斐波那契数:

功能f =斐波纳契(n)%生成第N个斐波那契数的一个简单示例%采用矩阵指数法F=[1;10]^n;f=f(1,2);结束

将该算法打包到MATLAB生产服务器上运行需要使用生产服务器编译器进行几次点击,该编译器可以在应用程序目录中找到,也可以作为单个命令调用ProductionServer编译器. 可以同时打包多个算法。在本例中,我还打包了第二个名为的函数,该函数调用上面的代码来计算Fibonacci级数,直到合理的给定值N(在请求时验证输入)。

我们现在可以配置工具来创建一个可部署的包example.ctf当部署到生产服务器时,允许我们使用斐波那契数生成器算法。点击包裹按钮产生组件技术文件(CTF),其是准备使用。

这个过程可以支持多种功能,甚至可以金宝app容纳整个软件套件,其中的附加支持文件作为同一个CTF文件的一部分。

建立基础设施

请允许我把我的IT帽子分钟。

这个练习的整个想法是,我可以提供基础设施作为一次性练习,允许我的开发人员将他们的MATLAB算法部署为服务。我想让这篇文章成为你们的互动实验,作为读者,在这篇文章的最后,在你们的浏览器中,用MATLAB提供的服务来练习这段代码。

要设置基础设施,我打滑了计算优化服务器通过安装MATLAB生产服务器和运行Windows Server 2012在这台机器,我建立了基础设施的其余部分在AWSMATLAB运行.此外,我还配置了一些安全规则和防火墙设置,以允许在我打算公开服务的端口31415上建立连接。

软件安装主要是一个单击过程,通过MATLAB生产服务器产品提供的脚本可以轻松启动新的服务器实例。

C:\Work>mps新服务

服务器实例的配置是通过位于\ SERVICES \ CONFIG \ main_config. 在本例中,我做了一些关键更改以公开我的服务并匹配IT配置。简言之:

#绑定服务到端口31415(即,服务端口)--http 31415
#MATLAB运行时设置(即,其中是MATLAB运行系统)--mcr根C:\ Program Files文件\ MATLAB \ MATLAB运行\ V901
#CORS允许的来源(即可从何处访问)——CORS允许的来源*

该产品设计为:高度可定制的,并在配置文件中提供大量设置,其中包括可伸缩性设置,如工作人员的数量(通常设置为每个核心1个以扩展深度),以及安全设置,如配置HTTPS和相关证书。

正在启动服务器:

C:\Work>mps启动-C服务

部署生成的Fibonacci CTF文件可以动态完成。i、 e.可以在运行的MATLAB生产服务器实例上部署、更新和删除服务。它只需将文件复制到/服务/ auto_deploy文件夹。

就是这样,MATLAB生产服务器现在在我的服务器的端口31415上作为HTTP服务提供算法。它将通过多种机制接受输入,包括一个简单的JSON编码字符串。

MATLAB分析到处都是

当我说这个服务现在可以从任何地方使用,包括你正在阅读这篇文章的浏览器时,我不是在开玩笑。为了演示这一点,我设置了一个简单的小提琴来从JavaScript计算第N个斐波那契数。

来吧,给它一个尝试:http://jsfiddle.net/hosagrahara/ky5c6aoz/show

点击链接,命中运行,输入值并提交,观察MATLAB代码作为服务执行。

如果你用斐波那契计算构建了一些有趣的东西,请继续玩吧,或者你可以自由地用叉子,请发表评论。MATLAB作为服务运行可以驱动下游功能-例如,我可以为我选择的可视化提供动力,如:http://jsfiddle.net/hosagrahara/vrhyd4uc/show

注意:我计划关闭MATLAB服务时,这篇文章是2周。如果通过下面的评论请求,我可以简短地把它打开。

现在,我选择Javascript作为一个简单的环境来展示服务。在真实的用例中,易于使用的文档客户端库可以从。net、c#、Java、C/ c++、Python等调用MATLAB支持的服务。

穿着我的鞋子走一英里

我对基础设施的规模调整是为了支持链接到博客帖子的基本演示。在实际应用程金宝app序场景中,可能性几乎是无限的,允许您从大多数应用程序的各个级别执行MATLAB分析,即从数据库、应用程序代码,甚至作为业务关键软件一部分的浏览器。

希望这篇文章描述了从MATLAB代码和分析骨骼的工作流程,以提供给整个世界的服务。在我结束这篇文章,我想与大家分享一些东西,你可能没有意识到,除非你已经走在我的鞋一英里。

简而言之,MATLAB生产服务器可以用来是构建服务和微服务:

  • 版本无关:该产品将运行代码建成任何MATLAB版的基础架构只要在其配置中找到相应的运行时即可。在某些地方,仅这一事实就足以让一些IT组织站起来、鼓掌和欢呼。
  • 打造优良的性能:本产品正常比例。由于通信是通过HTTP(S),也能够通过使用更强大的硬件或比例缩放深宽通过使用多于一个的实例,以提供负载平衡的服务。这使得它适合用于弹性操作通过采用行业标准的做法缩放,故障转移和灾难恢复。
  • 启用开发人员级别的工作流:由于可以跨多个实例、端口甚至计算机分割工作人员,因此该产品允许为开发、测试和生产创建不同的环境。
  • 启用企业级安全:由于该服务可以通过HTTP(s)访问,因此可以使用经过战斗测试的安全产品和实践来保护该服务的访问,这些产品和实践可以增强大部分互联网的能力。下载188bet金宝搏该服务可以是开放的,你可以看到在JSFiddle以上的链接或安全,完全作为您的银行网站。

总之,建立一个MATLAB软件驱动的产品或MATLAB供电服务 - 您可以根据您的下一个开发项目的需求决定。通过正确的方法,技术和工具,你最喜欢的MATLAB分析可能仅仅是一个点击即可。

请不要分享您的想法。您的意见让我的天!




发布与MATLAB®R2016b

|

注释

要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。