NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Erbix:适合 CommonJS 的服务端 JavaScript 托管平台

  • 2010-12-25
  • 本文字数:1978 字

    阅读完需:约 6 分钟

Erbix 是为了在云上构建和部署 JavaScript 应用程序而提供的平台。 它的特点在于能够支持 RinjoJS、 CommonJS 模块、PostgreSQL,并且提供按需而变的可伸缩的托管服务。

最近它还为JavaScript 应用程序创建了marketplace ,在上面放置了一些教程,还有两个完全由JavaScript 编写的新的开源应用程序。

InfoQ 与 Erbix 的 Mihai Roman 进行了一次关于他们提供的产品的小型问答。

InfoQ:你能够向我们描述一下从架构角度是如何安装 Erbix 以及如何组织应用程序的架构的吗?

Erbix 提供了 web 账户,使用它可以创建、安装或者托管服务端 JavaScript 应用程序。 用户可以注册或者只是使用 OpenID 来登录,然后就可以开始。

所有账户都是彼此独立的,无法直接共享资源。 每个账户都拥有以下资源:

  • 虚拟文件系统(用于存储 JavaScript 代码和图像之类的静态资源)
  • 专门的 PostGreSQL 数据库(用于存储应用程序的数据)
  • 一系列站点,每个站点都会描述 URL 前缀路径如何与 JS 的入口点功能相映射(我们使用 CommonJS JSGI 0.3 标准作为入口点)

每次对特定的 URL 发送请求的时候,就会载入映射的模块,并调用 JSGI 入口点功能。 其它 JavaScript 模块可以根据 CommonJS Module 1.0 规范载入。

我们可以把多个模块文件打包到一个应用程序文件夹中。 我们会把 CommonJS Packages 1.0 的规范文件(application.json)也添加到那个文件夹中,从而可以把它发布到 Erbix Marketplace,并与他人分享。

marketplace 中的应用程序可以通过两种方式安装(发布者拥有选择一种或者两种可能的权利)。

  • 把文件复制到账户中
  • 直接从 Marketplace 运行应用程序 没有任何(JavaScript)编码经验的用户可以在几秒钟内安装并运行 Marketplace 中的应用程序。 这些应用程序所产生的所有数据都会放在该账户的 PostgreSQL 数据库中。

InfoQ:与其它现有的 JavaScript 平台——像 Node.js、Akshell 等——相比,你们提供了什么特别的功能呢?

Erbix 是基于 Ringo 这个 JavaScript 引擎构建的,选择它之前,我们经过了深思熟虑。RingoJS 对 Mozilla Rhino JavaScript 解释器进行了非常棒的封装。 而 Node.JS 则是除了 RingoJS 的另一种选择。

从技术角度,Erbix 是兼容 CommonJS 的服务端 JavaScript 托管平台。 其中没有厂商的锁定,而且你可以不做任何努力,就可以把应用放到 Erbix 平台中。 用户可以把位于私有托管的 RingoJS 或者其它服务端 JavaScript 平台上的应用导出。

和 Akshell 或者 AppJet(当前由 JGate 负责)不同的是,Erbix 提供了创建完全成熟的 web 应用程序的工具。 通过使用 SQL 控制台或者带有完全 SQL 支持的编程方式,我们可以访问专门的 PostgreSQL 数据库;这是只在 Erbix 中才具有的特性。

InfoQ:在 Erbix 中,开发、调试、测试、部署和监控应用程序的一般工作流程是怎样的呢?

你可以使用在线编辑器来创建文件和文件夹,或者可以很容易地上传。 你可以把文件夹上传到.zip 或者.tar.gz 压缩包中,也可以从中下载。 以后我们可能还会添加源代码版本控制的支持。 那样用户可以选择在 Erbix.com 在线创建应用程序,或者在他们的 IDE 中离线创建。

通过把 URL 的前缀映射到 JSGI 的入口点函数,我们也可以立即部署应用程序。

为了调试和监控的目的,系统还提供了单元测试和记录日志的模块。 我们当前正在改善这些特性和模块。

InfoQ:你认为 Erbix 更适合什么样的一般使用情况呢?

对于创建或者安装针对小型企业的应用程序,Erbix 是很棒的环境。 Erbix 对于开发者和客户都很友好: 我们为开发者提供了高生产率的工具(marketplace、JS hosting、浏览器编辑器等等),使用它们可以创建很棒的应用程序;客户很容易地就可以从 marketplace 安装应用程序,并且掌控位于自己 PostgreSQL 账户中的数据。

有了针对服务端 JavaScript 的当前状况,我们认为 Erbix 对于测试、提升和共享服务端 JavaScript 应用程序是最好的解决方案。

InfoQ:服务的当前状况如何,你将来的路线图是怎样的呢?

当前我们处于开发的 beta 测试阶段。 每个人都可以使用 OpenID 登录,并开始使用这个服务。我们运行了 www.erbix.com 站点,把它作为 Erbix 应用程序,我们只使用在线编辑器构建了两个应用程序,并且期望在下一个主要发布的时候结束 beta 测试。

我们正在着力提升平台的以下方面:

  • 文档
  • 可用性(让非技术用户可以凭直觉使用)
  • 对于自定义领域名称的 UI 支持
  • 更好的动态资源伸缩性(处理流量峰值)
  • 监控 / 统计

同时,我们团队的一部分会开发生产就绪的应用程序,它会发布到 marketplace 中,以供所有人使用和自定义。

Erbix 所提供的产品是 JavaScript Cloud 托管平台系列产品中的一种,这些平台都是在过去几个月中出现的,像 InfoQ 所介绍的 Akshell 等等

你可以在 InfoQ 找到更多关于 ** JavaScript Node.js CommonJS ** 的信息。

查看英文原文: Erbix: A CommonJS-Compliant Server-Side JavaScript Hosting Platform

2010-12-25 08:111860
用户头像

发布了 340 篇内容, 共 126.2 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

模块二作业

晨晨

模块二-微信朋友圈高性能复杂度分析

kk

架构实战营

实时数据湖:Flink CDC流式写入Hudi

王知无

到底什么时候要分库分表?

卢卡多多

分库分表 7月日更

标签体系下的用户画像建设小指南

王知无

微信朋友圈复杂度分析

buoge

Linux之df命令

入门小站

Linux

在线XML转CSV工具

入门小站

工具

争议不断的动力电池暗战,究竟改变了什么?

脑极体

架构模块2

慕溶枫

#架构实战营

架构实战营 - 模块二

绝影

架构训练营

微信朋友圈的高性能复杂度

伏波

架构实战营

设计消息队列存储消息数据的 MySQL 表格——架构实战营作业八

开拓纪

架构师实战营 作业八

架构实战营第一期--模块二作业

clay

架构实战营

架构训练营模块二作业

河马先生

架构实战营

Java单例模式一文通

喵叔

7月日更

领域驱动设计中的分层模型

escray

学习 极客时间 7月日更 如何落地业务建模

趣说开源|为什么要参与到开源社区中?

SphereEx

作业2-微信朋友圈高性能分析

Nullrable

架构实战课

架构实战营 模块二 作业

三叔叔_拖延症晚期

架构实战营

架构实战营作业七——王者荣耀商城异地多活架构设计

开拓纪

架构实战营 模块七

架构实战营 - 模块 2 - 作业

Vincent

架构实战营

ApacheCon 首次亚洲大会火热来袭,SphereEx 邀您共赴年度盛会

SphereEx

作业二朋友圈高性能架构设计

王小森

架构实战营模块二 作业

酷飞不会飞

分析微信朋友圈的高性能复杂度

feitian

模块二作业

seawolflin

架构实战营

网络攻防学习笔记 Day78

穿过生命散发芬芳

网络攻防 7月日更

架构训练营-模块二

小卷儿

推荐一个软件--IObit Uninstaller

IT蜗壳-Tango

7月日更

模块一作业-架构训练营

零度

「架构师训练营第 1 期」

Erbix:适合CommonJS的服务端JavaScript托管平台_JavaScript_Dio Synodinos_InfoQ精选文章