New webbased frontend, Resource-View-Presenter pattern, node

Posted by agent_008_nl on 04-May-2014 05:22

Can we have a webbased frontend for our business applications that makes uses of the added values node could
offer with an openedge backend? We have node4progress https://github.com/RobertPrediger/node4progress, a bridge between the progress appserver and node. There is f.e. meteor as modern thick client framework 

http://www.infoworld.com/t/javascript/meteor-aims-make-javascript-programming-fun-again-232659?page=0,0  http://blog.nodejitsu.com/scaling-isomorphic-javascript-code/ 

We don't need webspeed. It is outdated. This solution could be more interesting/cutting edge or however you call it than java/.net based openclient solutions also.

Several problems pop up concerning a node webserver, such a server being a bad fit for serving static content (files, like images etc). For this nginx can be a solution. For meteor there is phusion passenger. "Phusion Passenger takes a lot of complexity out of deploying Meteor, and adds powerful enterprise-grade features that are useful in production. It also makes administering Meteor apps much easier. It has already done this for Ruby, Python and Node.js and is being used by high-profile companies such as Apple, Pixar, New York Times, AirBnB, Juniper etc. Here are some of the benefits that Phusion Passenger gives you:

- The power of Nginx - Phusion Passenger combines Meteor with the increasingly popular Nginx web server. By combining them, Nginx will offload Meteor from serving static assets. This also adds a buffering reverse proxy layer which provides I/O security and protects Meteor against invalid HTTP requests, slow clients, etc. Multitenancy

- Run multiple Meteor applications on a single server easily and without hassle. Process management and supervision

- Meteor processes are automatically started, and automatically restarted when they crash.

Statistics and insight

- Phusion Passenger provides tools for inspecting the applications' status, such what requests they're currently processing, how many requests they've processed. All relevant information is shown at a glance. Having this in production will help a lot with tracking down problems.

Scaling and load balancing

- Based on current traffic, Phusion Passenger can spawn more Meteor processes to handle the load, or spindown some existing Meteor processes to conserve resources. Phusion Passenger automatically load balances traffic across Meteor process.

The load balancing mechanism utilizes a smart "first-available" selection algorithm to avoid problems caused by slow requests. Although Node.js and Meteor are single-threaded, this approach allows them to utilize multiple CPU cores."

http://blog.phusion.nl/2013/11/01/will-meteor-kill-rails-i-dont-know-but-phusion-passenger-open-sources-meteor-support/

https://github.com/phusion/passenger

All Replies

Posted by smat-consulting on 17-Sep-2014 15:54

I have no clue about Phusion Passenger. I do know, though, that WebSpeed allows me to tune my responses to requests to the special flavor the particular client is requiring.

WebSpeed has been declared dead the first time probably about 2 years after its first release. That was almost 20 years ago. To this day, many tools, approaches, formats, and NBFs have come and gone. WebSpeed hasn't gone.

So, yes, it may be out dated. But, hey, I don't care about fashion. I care about being able to build an application, integrate with various others, so that my users can perform their work easier. And, WebSpeed is doing a decent enough job for that - thank you very much.

Instead of focusing on replacing something that works wonderfully, how about trying to find a WebUI tool that will last for 20 years as well?

Rollbase has a good potential to become that. But there's a lot of work still necessary. And before that, PSC has to actually walk in the right direction - integrate RollBase with the ABL. Bundle the licensing of the two in an affordable package. Yeap. Then we're talking soaring productivity!

Just a quick note about these references to famous companies, that new tools so love to throw around: That is IMHO not really a statement about the usefulness of the tool, but more of the capabilities of the marketing and sales people...

Posted by agent_008_nl on 19-Sep-2014 04:47

I think you are reacting to some messages of me to the peg also. Later today I will post a reaction on the peg to an email written by Tom Bascom (can't reach my gmail from here) that partly answers your post too, here a citation:

"Time processes; I already named the separation of concerns in patterns like MVC (and later MVP,MVVM or even RVP) that evolved in other frameworks. But there is more, we now have for instance the server-push that gives extra business opportunities. Like when a record update appears on the server all clients that have that record in a grid on their screen are notified (their grids are refreshed). Some openedge / node frameworks already have that feature. Moreover you can build applications that scale better with node than with webspeed. Have a look at Robert Predigers presentations, furthermore google (no surprise ;-) is your friend. Moreover I think a request can arrive at the appserver quicker when using node (with the node4progress bridge) than when using webspeed. Others who actually measured this are welcome to comment [..]."

 When I wrote my posting to psdn I was asking myself  "what looks like a promising web ui (with an openedge backend)". I'm not asking you to replace what satisfies you. I would even not recommend to replace your solutions because at least meteor is not yet ripe for production as far as I know. Besides I'm just a webui dummy that googled some things together and improved the thoughts a bit after discussing on the peg and privately some time ago with some people that know a lot more than I do.

 Rollbase: talking about "famous companies, that new tools so love to throw around". ;-) But when the marketing and sales people are from psc it's a different story for you I suppose.

Posted by agent_008_nl on 01-Dec-2014 07:00

In the meantime meteor 1.0 is there, and there is a preview of meteor on windows github.com/.../Preview-of-Meteor-on-Windows.

  If I had the time I would like to see how meteor works with the jsdo (not heard of it? read documentation.progress.com/.../dvmad.pdf) and my openedge backend (for details read www.linkedin.com/in/stefanhoutzager ;-) now.

Some sidepaths.

I've heard this con about meteor from a progress / web developer:  "doing jobs single threaded and do blocking io asynchronously is not working in Meteor". This is not true according to the following clarification:

meteorhacks.com/fibers-eventloop-and-meteor.html.

Other interesting points:

www.reddit.com/.../is_meteorjs_still_relevant

https://www.meteor.com/ddp  (DDP vs REST)

--

Kind regards,

Stefan Houtzager

Houtzager ICT consultancy & development

www.linkedin.com/in/stefanhoutzager

This thread is closed