010-68421378
sales@cogitosoft.com
当前您所在的位置:首页>新闻中心>新品发布

Wolfram Application Server平台

发布时间:2021/07/08 浏览量:2443
Wolfram Application Server是由Wolfram Research开发的一个新平台,使客户能够将由Wolfram语言驱动的API和网页部署到一个可扩展的、高度可用的企业集群。

Wolfram Application Server是由Wolfram Research开发的一个新平台,使客户能够将由Wolfram语言驱动的API和网页部署到一个可扩展的、高度可用的企业集群。

 

Wolfram Application Server让你:

 

我们为那些出于监管、安全或商业原因而不希望部署到Wolfram云上,但又希望在自己控制的集群上托管其Wolfram语言应用的客户设计了Wolfram Application Server。

 

 

 

Wolfram Application Server紧紧围绕APIFunction、FormFunction和HTTPResponse等功能建立的无状态网络应用,放弃了在线笔记本的互动性和用户会话管理。如果这些功能对你很重要,那么可以考虑Wolfram企业私有云)。Wolfram应用服务器组件被内置到容器(Docker)中,并与最流行的容器管理系统Kubernetes集成,以产生最大的灵活性,使用您自己的硬件或第三方云提供商部署到您的集群中。这使得Wolfram Application Server成为部署用Wolfram语言和Wolfram技术构建的企业级应用程序的理想平台。

 

它是如何工作的

Wolfram Application Server是围绕着微服务而建立的,使其能够轻松部署和托管基于Wolfram语言的应用程序。Active Web Elements Server (AWES)服务负责处理终端用户的请求。每个AWES实例管理一个Wolfram引擎池,处理您的Wolfram语言API需要的计算。AWES使用相同的技术来提供Wolfram语言内容,为Wolfram|Alpha等网站提供动力。您的Kubernetes集群可以被配置为动态管理AWES的实例,以满足用户负载,并确保您的应用程序的持续可用性。

 

为了支持在 Wolfram Application Server 上透明地部署应用程序,我们提供了一对额外的服务:资源管理器和端点管理器。任何要被终端用户访问的内容都是通过资源管理器作为资源部署的。资源管理器将上传的内容存储在持久性存储中,并以资源的信息更新任何AWES实例,这些信息可以在需要时根据用户的请求被获取。

 

然而,资源本身并不能被终端用户直接访问。要使一个资源公开可用,必须创建一个端点,将公共路径映射到资源的内部路径。

 

Endpoint Manager创建、修改和删除端点。通过将资源与用户端点解耦,Wolfram Application Server 开发人员在向用户展示内容时获得了额外的灵活性。例如,使用端点可以很容易地维护和切换应用程序的版本,以进行A/B测试,或在出现错误时快速撤销更新。

 

Wolfram Application Server还提供了一项服务,可以直接将文件部署到集群中所有服务器的本地文件系统中:节点文件管理器。通常情况下,这些节点文件是Wolfram引擎的配置文件和软件包,以支持部署的资源。Wolfram 引擎会访问本地文件系统来读取这些类型的文件,所以它们必须存在于那里,而不像资源文件那样可能会或不可能在本地进行缓存。其他类型的文件通常作为节点文件分发,包括可由 Wolfram 引擎调用或加载的编译的可执行文件和库。节点文件不能被最终用户访问,也不能被端点引用。它们仅用于 Wolfram 引擎的内部使用。

 

最后,一对支持性服务由 Wolfram Application Server 提供并使用,但不直接由公共 API 访问。存储服务和流媒体服务在幕后为应用程序提供必要的支持。

 

存储服务为所有部署的资源提供持久性和单一真相来源(SSOT)。对于在云中构建的集群,存储将是亚马逊或微软的本地对象存储。对于从你自己的硬件建立的集群,提供一个额外的应用程序。

 

流服务实现了集群中各种服务实例之间的通信,对于保持现有实例与集群状态同步(如现有资源和端点)以及在新实例出现时提供新实例(如当增加一个新的AWES来处理过剩负载时)是必要的。

 

部署实例

上一节所讨论的所有服务都可以通过有记录的表征状态传输(REST)API进行访问,但我们也可以通过Wolfram语言访问这些服务。我们在 Wolfram Application Server paclet 中建立了一整套工具,用于通过我们的服务框架管理部署。通过评估安装该paclet。

 

 

 

然后加载Wolfram Application Server包:

 

 

 

现在我们可以连接到Wolfram Application Server集群:

 

 

 

创建一个部署是一个简单的问题,即使用 ServiceDeploy 来部署资源并生成端点。请注意,我们使用 "内容 "条目向 Wolfram Language 提供我们想要评估的内容(在本例中是APIFunction);"资源 "条目提供资源的路径,供内部使用;以及 "端点 "条目提供资源的公共路径。

 

 

 

这里是关于我们刚刚创建的部署的全部信息:

 

 

 

我们现在可以访问已部署的网络应用程序:

 

 

 

我们可以使用 Wolfram Application Server 服务所提供的更详细的 API 来检查和操作部署的各个部分。例如,我们可以取回部署资源的内容:

 

 

 

如果我们希望我们的资源可以从另一个路径访问,我们可以部署第二个端点,指向同一个资源:

 

 

 

我们可能更希望这个版本更非正式一些。我们可以为此部署一个新的资源:

 

 

 

然后更新端点:

 

 

 

现在我们再试一下:

 

 

 

当然,我们对 Wolfram Application Server 所能做的一切还只是皮毛,但我希望你能看到部署内容和开始构建强大的应用程序是多么容易。最后,在我们离开之前,我们将礼貌地清理我们所创建的东西:

 

 

 

 

 

下一篇:关于 Studio Sessions 你可能不知道的五件事
上一篇:产品更新 - Netop Remote Control Portal

                               

 京ICP备09015132号-996网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155

                                   © Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室

                         北京哲想软件集团旗下网站:哲想软件 | 哲想动画

                            华滋生物