'Why we need a NodeJS application server'

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

'Why we need a NodeJS application server'

Janko Mivšek
Hi guys,

It seems that JavaScript guys are slowly coming to conclusion that they
need something like Aida/Web :) Well, after more client-side features
will come to Aida too. Aida is namely not just a web framework but
complete application server. Here is the article:

http://panyasan.wordpress.com/2012/12/10/why-we-need-a-nodejs-application-server-or-writing-boilerplate-considered-harmful/

As you see Aida has most features from his proposal, except persistence
and cloud support.

Here are most interesting parts of his article:

...
There is, however, one big issue that holds me back from starting to
work on any of those ideas: the lack of the right end-to-end stack
including a decent application server for NodeJS, which will free me
from having to worry about boilerplate code for things like
authentication, user management, access control, etc.
...
I shouldn’t spend my time worrying about how to store passwords
securely, or how to synchronize data between the client and the server,
or how exactly model data is persisted in what database.
...
I think such a platform would not only save thousands (or more) of hours
of developers’ time. This time could then be invested instead in solving
the application-specific problems in thorough and creative ways.
...
There is a wealth of JavaScript frameworks on the client and on the
server side, but, as far as I can see, no such thing as an “application
server” known from the Java world yet exists.
...
I see a number of features and characteristics of such an application
server:

- It should not assume any particular rendering model on the client
  (DOM-templating vs. widget objects)
- It should also not force a different programming model on developers
  (like Opa or Meteor), but let you code in plain old asynchronous
  javascript...
- It should have an integrated API for client and server.
- It should provide a static HTTP server, REST routing, and
  bidirectional, realtime messaging and broadcasting (such as
  Socket.io).
- It should offer async startup/plugin/configuration system like
  Cloud9′s Architect.
- It should provide an out-of-the box system and API for user & group
  management, registration, access control, Password storage/retrieval
  /update etc, preferrably with a set of built-in templates that can be
  used for managing the most generic configuration tasks. With this, a
  pluggable system to use third-party authentication providers.
- It should also provide an integrated system of data modeling and
  persistence. I really do not care about database technology. I simply
  want to store, edit and retrieve my model data.
- It could also have a toolset that would allow you to deploy your
  application instantly to a cloud provider such as Heroku or Nodejitsu


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: 'Why we need a NodeJS application server'

garduino
Interesting article.

About cloud support, even when is not a particular feature of the framework nor the vm, I developed some tries to use Smalltalk in OpenShift (from RedHat).

Now that the only Smalltalk I'm working on is Cuis, as soon as I've some free time my plan is (after make it work Sport and Swazoo and then Janko try to have Aida working in Cuis) to polish my old code and develop a prolix way of use Cuis in OpenShift.

Persistence: I (almost) ported SandstoneDB (I agree with the original comment of Ramon saying that this sort of approach solves a big percentage of the common app needs) and shouldn't hard to integrate I think.

Just my 0.02 cents.


2012/12/16 Janko Mivšek <[hidden email]>
Hi guys,

It seems that JavaScript guys are slowly coming to conclusion that they
need something like Aida/Web :) Well, after more client-side features
will come to Aida too. Aida is namely not just a web framework but
complete application server. Here is the article:

http://panyasan.wordpress.com/2012/12/10/why-we-need-a-nodejs-application-server-or-writing-boilerplate-considered-harmful/

As you see Aida has most features from his proposal, except persistence
and cloud support.

Here are most interesting parts of his article:

...
There is, however, one big issue that holds me back from starting to
work on any of those ideas: the lack of the right end-to-end stack
including a decent application server for NodeJS, which will free me
from having to worry about boilerplate code for things like
authentication, user management, access control, etc.
...
I shouldn’t spend my time worrying about how to store passwords
securely, or how to synchronize data between the client and the server,
or how exactly model data is persisted in what database.
...
I think such a platform would not only save thousands (or more) of hours
of developers’ time. This time could then be invested instead in solving
the application-specific problems in thorough and creative ways.
...
There is a wealth of JavaScript frameworks on the client and on the
server side, but, as far as I can see, no such thing as an “application
server” known from the Java world yet exists.
...
I see a number of features and characteristics of such an application
server:

- It should not assume any particular rendering model on the client
  (DOM-templating vs. widget objects)
- It should also not force a different programming model on developers
  (like Opa or Meteor), but let you code in plain old asynchronous
  javascript...
- It should have an integrated API for client and server.
- It should provide a static HTTP server, REST routing, and
  bidirectional, realtime messaging and broadcasting (such as
  Socket.io).
- It should offer async startup/plugin/configuration system like
  Cloud9′s Architect.
- It should provide an out-of-the box system and API for user & group
  management, registration, access control, Password storage/retrieval
  /update etc, preferrably with a set of built-in templates that can be
  used for managing the most generic configuration tasks. With this, a
  pluggable system to use third-party authentication providers.
- It should also provide an integrated system of data modeling and
  persistence. I really do not care about database technology. I simply
  want to store, edit and retrieve my model data.
- It could also have a toolset that would allow you to deploy your
  application instantly to a cloud provider such as Heroku or Nodejitsu


--
Janko Mivšek
Aida/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida



--
============================================
Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
Arduino Software  http://www.arduinosoftware.com
PasswordsPro  http://www.passwordspro.com
greensecure.blogspot.com germanarduino.blogspot.com
============================================

_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida
Reply | Threaded
Open this post in threaded view
|

Re: 'Why we need a NodeJS application server'

Janko Mivšek
Thanks Germán,

Any could related experience with Aida would be greatly appreciated.

Janko

Dne 16. 12. 2012 15:50, piše Germán Arduino:

> Interesting article.
>
> About cloud support, even when is not a particular feature of the
> framework nor the vm, I developed some tries to use Smalltalk in
> OpenShift (from RedHat).
>
> Now that the only Smalltalk I'm working on is Cuis, as soon as I've some
> free time my plan is (after make it work Sport and Swazoo and then Janko
> try to have Aida working in Cuis) to polish my old code and develop a
> prolix way of use Cuis in OpenShift.
>
> Persistence: I (almost) ported SandstoneDB (I agree with the original
> comment of Ramon saying that this sort of approach solves a big
> percentage of the common app needs) and shouldn't hard to integrate I think.
>
> Just my 0.02 cents.
>
>
> 2012/12/16 Janko Mivšek <[hidden email]
> <mailto:[hidden email]>>
>
>     Hi guys,
>
>     It seems that JavaScript guys are slowly coming to conclusion that they
>     need something like Aida/Web :) Well, after more client-side features
>     will come to Aida too. Aida is namely not just a web framework but
>     complete application server. Here is the article:
>
>     http://panyasan.wordpress.com/2012/12/10/why-we-need-a-nodejs-application-server-or-writing-boilerplate-considered-harmful/
>
>     As you see Aida has most features from his proposal, except persistence
>     and cloud support.
>
>     Here are most interesting parts of his article:
>
>     ...
>     There is, however, one big issue that holds me back from starting to
>     work on any of those ideas: the lack of the right end-to-end stack
>     including a decent application server for NodeJS, which will free me
>     from having to worry about boilerplate code for things like
>     authentication, user management, access control, etc.
>     ...
>     I shouldn’t spend my time worrying about how to store passwords
>     securely, or how to synchronize data between the client and the server,
>     or how exactly model data is persisted in what database.
>     ...
>     I think such a platform would not only save thousands (or more) of hours
>     of developers’ time. This time could then be invested instead in solving
>     the application-specific problems in thorough and creative ways.
>     ...
>     There is a wealth of JavaScript frameworks on the client and on the
>     server side, but, as far as I can see, no such thing as an “application
>     server” known from the Java world yet exists.
>     ...
>     I see a number of features and characteristics of such an application
>     server:
>
>     - It should not assume any particular rendering model on the client
>       (DOM-templating vs. widget objects)
>     - It should also not force a different programming model on developers
>       (like Opa or Meteor), but let you code in plain old asynchronous
>       javascript...
>     - It should have an integrated API for client and server.
>     - It should provide a static HTTP server, REST routing, and
>       bidirectional, realtime messaging and broadcasting (such as
>       Socket.io).
>     - It should offer async startup/plugin/configuration system like
>       Cloud9′s Architect.
>     - It should provide an out-of-the box system and API for user & group
>       management, registration, access control, Password storage/retrieval
>       /update etc, preferrably with a set of built-in templates that can be
>       used for managing the most generic configuration tasks. With this, a
>       pluggable system to use third-party authentication providers.
>     - It should also provide an integrated system of data modeling and
>       persistence. I really do not care about database technology. I simply
>       want to store, edit and retrieve my model data.
>     - It could also have a toolset that would allow you to deploy your
>       application instantly to a cloud provider such as Heroku or Nodejitsu
>
>
>     --
>     Janko Mivšek
>     Aida/Web
>     Smalltalk Web Application Server
>     http://www.aidaweb.si
>     _______________________________________________
>     Aida mailing list
>     [hidden email] <mailto:[hidden email]>
>     http://lists.aidaweb.si/mailman/listinfo/aida
>
>
>
>
> --
> ============================================
> Germán S. Arduino  <gsa @ arsol.net <http://arsol.net>>   Twitter: garduino
> Arduino Software  http://www.arduinosoftware.com
> PasswordsPro  http://www.passwordspro.com
> greensecure.blogspot.com <http://greensecure.blogspot.com>
> germanarduino.blogspot.com <http://germanarduino.blogspot.com>
> ============================================
>
>
> _______________________________________________
> Aida mailing list
> [hidden email]
> http://lists.aidaweb.si/mailman/listinfo/aida
>

--
Janko Mivšek
Svetovalec za informatiko
Eranova d.o.o.
Ljubljana, Slovenija
www.eranova.si
tel:  01 514 22 55
faks: 01 514 22 56
gsm: 031 674 565
_______________________________________________
Aida mailing list
[hidden email]
http://lists.aidaweb.si/mailman/listinfo/aida