Erbix is a platform for building and deploying JavaScript applications on the Cloud. It features support for RinjoJS, CommonJS modules, PostgreSQL and on-demand scalable hosting.
Also it has recently launched a marketplace for JavaScript Apps, featuring some tutorials and two new open-source applications written completely in JavaScript.
InfoQ had a small Q&A with Mihai Roman from the Erbix Team, regarding their offering:
InfoQ: Could you give us an architectural overview of how Erbix is setup and how an application is structured?
Erbix offers web accounts that can be used for creating, installing or hosting server-side JavaScript apps. Users can sign up or simply log in with OpenID to get started.
All accounts are isolated from each other and cannot share resources directly. Each account has the following resources:
- a virtual file system (used for storing the JavaScript code and static resources such as images)
- a dedicated PostgreSQL database (for storing apps data)
- a list of sites, each describing how URL prefix paths are mapped to JS entry point functions (we use the CommonJS JSGI 0.3 standard as entry-points).
Every time a request is made for a specific URL, a mapped module is loaded and the JSGI entry point function is called. Other JavaScript modules can be loaded according to CommonJS Module 1.0 specs.
Several module files can be packed into an application folder. By adding in that folder a CommonJS Packages 1.0 specs file (application.json) it can then be published to the Erbix Marketplace and shared with others.
Apps from the Marketplace can be installed in two ways (the publisher has the option to choose one or both possibilities):
- copy files into account
- run app directly from the Marketplace
Users with no (JavaScript) coding experience can install and run apps from the Marketplace in seconds. All the data produced by those apps resides in the account's PostgreSQL database.
InfoQ: How does your offering compare to the other JavaScript platforms out there, like Node.js, Akshell, etc.
Erbix is based on the Ringo JavaScript engine, which was chosen after careful consideration; simply put, RingoJS is a brilliant wrapper around Mozilla Rhino JavaScript interpreter. Node.JS is a RingoJS alternative.
Technically, Erbix is a CommonJS compliant server-side JavaScript hosting platform. There's no vendor lock-in and minimal to none effort is necessary to port apps to and from Erbix. Users will be able to export their apps on privately hosted RingoJS or other server-side JavaScript platforms.
Unlike Akshell or AppJet (currently hosted by JGate), Erbix provides the tools to create fully fledged web applications. The dedicated PostgreSQL database is accessible by the means of an SQL console or programaticaly with full SQL support; a feature found only in Erbix.
InfoQ: What is the typical workflow for developing, debugging, testing, deploying and monitoring an app in Erbix?
Files and folders can be created using the online editor or can be uploaded easily. Folders can be uploaded/downloaded from/to a .zip or .tar.gz archive. Future source versioning support may be added. So users can choose to create the apps online on Erbix.com or offline in their IDE of choice.
Apps are deployed instantly by mapping an URL prefix to the JSGI entry point function.
Unit testing and logging modules are available for debugging and monitoring purposes. We are currently working on improving these features/modules.
InfoQ: What are the common use cases you see Erbix being more suitable for?
Erbix is a great environment to create or install apps for small businesses. Erbix is both developer and consumer friendly: we offer to developers excellent productivity tools (marketplace, JS hosting, browser editor) for creating great apps; the customers can easily install the apps from the marketplace and keep control of their data in their own PostgreSQL account.
Given the current status for the server-side JavaScript, we consider Erbix to be the best solution for testing, promoting and sharing server-side JavaScript apps.
InfoQ: What is the current status of the service and what is your roadmap for the future?
We are currently in open beta testing. Everyone can log in with OpenID and start using the service. We are running www.erbix.com as an Erbix app, we've built two apps by only using the online editor and we expect to get out of beta in the next major release.
We are working on improving many aspects of the platform:
- documentation
- usability (make it more intuitive for non technical users)
- UI support for custom domain names
- better dynamic resource scaling (handle traffic peaks)
- monitoring/statistics
Meanwhile, part of our team will develop production-ready apps that will be published on the Marketplace for everyone to use and customize.
The Erbix offering is one of a series of JavaScript Cloud hosting platforms that have emerged in the last months, such as Akshell, which has been covered by InfoQ.
You can find more information regarding JavaScript, Node.js and CommonJS, right here on InfoQ!