写点什么

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:112423
用户头像

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

关注

评论

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

5分钟速读之Rust权威指南(二十七)Rc<T>

wzx

rust

批量把Excel数据自动录入系统

木头

自动录入 批量录入 自动填表

推荐算法概述(十五)

Databri_AI

算法 倒排索引 推荐系统

业务架构训练营第 0 期模块五作业

菠萝吹雪—Code

架构实战营

LinkedHashMap

wzh

Java 集合 LRU 数据结构与算法 LinkedHashMap

RestTemplate打印日志的正确姿势

编号94530

spring 日志 log RestTemplate

Kubernetes手记(19)- 容器资源限制

雪雷

k8s 6月日更

HashMap源码总结

wzh

Java map 数据结构与算法 HashMap底层原理 散列表

微信小程序开发(七)—— 版本管理的使用

空城机

微信小程序 大前端 6月日更

基于jira的需求交付效率统计

好孩子

Jira

如何用视频云技术,搞一个爆红的 “反应视频” 项目?

阿里云CloudImagine

阿里云 RTC 英特尔 视频处理 视频制作

58集团 x StarRocks:全面升级数据分析能力,满足多场景业务分析需求

StarRocks

数据库 数据分析 OLAP 58同城 StarRocks

JavaScript 数组操作必须熟练运用的 10 个方法

devpoint

JavaScript array reduce 6月日更

网络攻防学习笔记 Day52

穿过生命散发芬芳

网络攻防 6月日更

Redis入门四:数据持久化

打工人!

redis redis持久化 6月日更

十年一剑智能眼镜的中场战事

脑极体

线性排序

wzh

Java 排序算法 计数排序 基数排序 桶排序

北京多部门联合整治违规应用:过度收集用户信息该重罚

石头IT视角

Reactive Spring实战 -- 响应式Kafka交互

binecy

kafka spring

领域驱动设计101 - 领域服务

luojiahu

领域驱动设计 DDD

腾讯安全姬生利:《数据安全法》下,云上数据安全最佳实践

腾讯安全云鼎实验室

数据安全 云安全 数据安全法

机器数及特点

若尘

计算机组成原理 6月日更

常见Java容器对比

wzh

Java collection hashmap set map

云开发是啥?看看它在编程导航项目的实践

程序员鱼皮

Java JavaScript 大前端 后端 云开发

☕【JVM技术探索】深入分析各种锁(锁膨胀)运作流程

码界西柚

JVM 锁升级 6月日更 锁分析

什么是OneData?阿里数据中台实施方法论解读

云祁

数据中台 数据仓库 OneData 维度建模

数组与链表

wzh

Java 数组 链表 ArrayList 数据结构与算法

银行业运维指标体系建设实战

云智慧AIOps社区

智能运维

小红书 x StarRocks:实现数据服务平台统一化,简化数据链路,提升高并发极速查询能力

StarRocks

数据库 数据分析 广告系统 小红书 StarRocks

微服务架构下的静态数据通用缓存机制

xcbeyond

缓存 微服务 6月日更

ARTS - 日常打卡 6

pjw

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