[FSF Associate Member] View Annang Sowah's profile on LinkedIn

Friday, 16 September 2016

Oracle's ceding of Netbeans to the grand Apache Project - The perspective of an early adopter

Background: Oracle has decided to discontinue its interest and ownership of the Netbeans IDE.
It has therefore released the Netbeans product to the Apache Software Foundation.

Netbeans was the development tool that officially accompanied the Java programming language since 1999 when it was acquired from it original student-project owner.

Indeed, Netbeans has been the favourite programming tool (IDE) for many Java enthusiasts and programmers over the years.
The popularity of Netbeans is especially because of how it facilitates speedy coding and an almost zero effort at configuration to have one's code running - most times.

I started using Netbeans late 2004 when it was version 4.0 - introduced to me by one Solomon Apenya.

The latest event of Oracle tossing Netbeans to the open-source community may appear good (though already Netbeans had a CDDL/GPL license which made it somehow open-source). Nonetheless, it also now reveals a great deal of Oracle's mostly strict commercial agenda and allegiance to its "natively-built" products e.g. JDeveloper IDE.

In 2010 when Oracle bought Sun Microsystems(Sun), a company with alot of goodwill back then, industry-watchers have been curious from day 1 about the fate of some of the products that Sun carried along and sponsored.

Oracle, upon the acquisition of Sun, clearly was only interested in 3 main cash-cow products with accompanying patents: the Java platform, Solaris and the SUN hardware range (Sun SPARC processor now powers Exalytics Servers).
The MySQL, Glassfish, OpenSolaris, OpenOffice, SunSPOTS, OpenSPARC and other Sun Microsystems sponsored products and community forums were either disbanded abruptly or "dropped nicely and slowly".
Oracle was determined to keep only the hens that will lay the golden eggs for it. Larry Ellison and his team gradually phased out all the "apparently non-profitable" products - forgetting that such products amounted to "goodwill" which in itself is an asset to a company.

The founder of Java, James Gosling, has endorsed this latest decision of Oracle since he early on sensed a lack of commitment from Oracle for the progress of Netbeans and its user community.

Beside the multitude of new open frontiers and opportunities that this decision of Oracle presents to Netbean's trajectory, there's one big downside  :(
Netbeans will surely loose out on the PROOF-OF-CONCEPT that it has always been used for by the managers and innovators of the Java platform.This means that Netbeans will not be the IDE that the "Java makers" will use to showcase any new technology feature that will be developed - it appears JDeveloper will rather be the port of call for the showcase of any new feature from the Java Community Process.

It will be unfair to Oracle not to mention some very excellent free-to-use tools and technologies that it makes gracefully available for the benefit of we all.The Oracle ADF framework, Oracle Service Bus and other APEX/SOA/Middleware tools are prime examples.

It is noteworthy that Netbeans is in very safe hands henceforth. It will be "babysitted" by the Apache Software Foundation, a non-profit organization that has nursed many very popular open-source projects e.g. the renowned Apache HTTP server.

Tuesday, 13 September 2016

Part 1 : Node JS - The Server-Side Javascript Framework In Vogue @ 2016 A.D

Well, there are about a dozen of Javascript(JS, not Joseph Sowah) frameworks on offering currently online.

Before making a choice of whichever, one will need to be clear about the specific purpose of any such JS framework. Some have specialty at performing client side or browser-based events whiles some perform server-side "heavy weight" changes e.g. database access, file retrieval, binary object storage etc.

I present to you the very-solid Node JS framework. This event-driven framework gives you all the power to perform some heavy-duty server side activities as earlier stated.

Enough of the talk, lets delve into the Node side of life!

Just a little note!
a. my screen shots will be taken from my Linux(Debian-based linux) computer and therefore some of the commands and stuff may not work if you are using a Windows box e.g. node installation, script creation etc
b. The command nodejs may just be the equivalent of node per your NodeJS software version and installation on your computer.

1. Install Node JS or confirm its installation - if already installed.

2. Also install or confirm the availability of the Node Package Manager, npm.

3. Create your first node script file to test Node JS.
As shown below, I have created a file labeled nodetest.js in a folder titled nodebase.

Create a script file either visually or using the linux shell i.e. touch
When done, display the list of available files to confirm the creation of the nodetest.js script.

4. Code a sample display message in the script-file i.e.

Alternatively, the file content can be constructed using below:

echo "console.log(\"Welcome, Joseph Annang Sowah\")" > nodetest.js 

Take note of the \ used to escape the special character "".

5. Run the nodetest.js script to test the readiness of Node.

6. Now that we have node executing our scripts successfully, we will proceed to setup the node server and verify its running in the browser.
Create a file, as done for nodetest.js, and label it nodeserver.js.

Put in this file our configuration for the new node server: basically the port number and any cool welcome message.

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Joseph Annang Sowah welcomes you, Node Server Listening on port 8888");

Save the file.

7. Start the node server by executing the nodeserver.js script.

NB. Make sure the node executables are on your system path or run the command below from the node executable folder.

8. Confirm the running of your Node server from the browser

9.We are hereby done with the first part of the NodeJS blog tutorial. Watch out for part 2 soonest.

Credit goes to one of the world's best NodeJS evangelists by name Manuel  Kiessling (http://leanpub.com/nodebeginner) for the "simplicity and depth of understanding" he brings to the Node JS technology.