NoFlo: two years of flow-based programming - Henri Bergius in Berlin, Germany NoFlo — the flow-based programming system I started — is now two years old. I pushed the first commits to GitHub on June 5th 2011 from Hacker Dojo in Mountain View. To get us started with the story, I’ll let Wikipedia summarize: Flow-based programming (FBP) is a programming paradigm that defines applications as networks of “black box” processes, which exchange data across predefined connections by message passing, where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. While flow-based programming is still far from mainstream, it has been great to watch to the community grow around NoFlo. There are several start-ups using it as their base infrastructure, with several of their engineers contributing to the open source effort. Why I started NoFlo I wondered if there could be a better way. Beyond OOP The tools side of things isn’t looking much better, either.
The Node Beginner Book » A comprehensive Node.js tutorial Flow-based Programming In computer programming, Flow-Based Programming (FBP) is a programming paradigm, discovered/invented by J. Paul Rodker Morrison in the late '60s, that uses a "data processing factory" metaphor for designing and building applications. FBP defines applications as networks of "black box" processes, which communicate via data chunks (called Information Packets) travelling across predefined connections (think "conveyor belts"), where the connections are specified externally to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented. FBP is a very different paradigm from conventional programming, being more of an "assembly line" image of data processing. FBP is described in J. If you have come across Flow-Based Programming by way of NoFlo or Flowhub, it is recommended that you read FBP vs. Links: Video Interview with J. Google group on Flow-Based Programming
NodeJS REST API with MySQL and Express NPM Modules Expressfelixge/node-mysql - Source Most articles about building a REST API for NodeJS will be based on MongoDB, I'm going to show you how to do it with MySQL. Implementing the REST API To implement all the routes required by the API, the full REST API for the node application will be a single file server.js which consists of the following methods: Structure Require your modules and create a http server based on express framework. var express = require('express'), app = express(), mysql = require('mysql');app.listen(3000);console.log('Rest Demo Listening on port 3000'); DB Connection Setup your database and create a pool of connections to MySQL server; Where the configuration uses your host, username, password, and database name of course. Routes Your application will only need five REST routes to cover the methods table above. Each route takes a callback function with request and response objects. You may also notice we are going to be sending json Content-Type as a response always.
Automated deployment of node.js apps – Carbon Silk - Developing ideas by James Broad This article has a simple aim to improve the process of developing and deploying node.js web applications. The Continuous Integration folks will refer to what I am covering as an aptly named Automated Deployment. As you explore this guide you will learn: How to run a node.js script using Upstart.How to manage Jenkins (was Hudson) with Git.How to make and use Makefiles. Lets crack on… I have detailed an environment scheme below which works well for me. Getting a working node.js app and environment You will need to have an environment to run your app in. You can run node.js apps on your localhost but for this article we are just focusing the deployment process to an integration server (int.app). The correct development flow for a node.js app should be that you test on localhost, then checkin when you are happy with your changes. Setting up your virtual machines It is fairly straightforward (and free) to get a Linux virtual machine up and running these days. Configuring int.app Login to int.app