OptoBlog

Software Technologies Industrial Automation Professionals Need For Industrial IoT Applications

Posted by Matt Newton on Apr 4, 2017 10:00:00 AM

The Industrial Internet of Things (IIoT) is coming at us fast. Big players like Dell, IBM, and Amazon are entering industrial markets and creating disruption among the typical market vendors. And with these new players comes a variety of technologies that are being applied in new and interesting ways to build the IIoT.

Over the next several blog posts, we’ll be discussing the top 5 software technologies and languages that systems integrators and automation engineers should begin learning about to be ready to build Industrial Internet of Things applications. Sign up for the blog to get access to followup blog posts as they’re released.

JavaScript for IIoT

#1 JavaScript

What is it?

JavaScript is one of the three core technologies of the World Wide Web that determine how content and information are put together and served out from servers to clients or web browsers. The other two technologies are CSS (Cascading Style Sheets) and HTML (Hypertext Markup Language). Pretty much every major web browser can run JavaScript. So yeah, it’s kind of a big deal.

Subscribe to the OptoBlog

And perhaps most importantly, all modern web browsers support it without the need for plugins. Which is a great thing, because plugins are a pain to support and keep updated on your system, at least in my experience. Constant notifications that my Java, Flash, or Silverlight plugins need to be updated are a bit annoying.

JavaScript is what's called a client-side scripting language, which means it performs its tasks entirely on the client's machine (it executes in your web browser, like Chrome). For instance, if you have a web page loaded on your computer and your Internet service provider goes down, you might still interact with the web pages already loaded in your browser. You will not, however, be able to navigate to other web pages on the server or access any data located remotely.

JavaScript is one of the primary ways of creating Rich Internet Applications (or RIA). Because it’s a programming language that runs in the browser, many interactions within a given web page can seem as though the page is a standalone application. For example, Gmail is a web application for reading, writing, and filing emails.

JavaScript enables Rich Internet Applications (RIA)

But when you use GMail, it feels a lot like using an email client application, like Outlook. This is possible because of JavaScript.

Another example is Facebook. Posting, viewing, liking, and more are seamless with the web page because of JavaScript. Even though it's considered a client side language, one of the most powerful features JavaScript offers is the ability to perform asynchronous interaction with a remote server.

So what is asynchronous interaction in this context?

The autocomplete you see in the search field of your favorite search engine is a great example of asynchronous interaction. When you start typing something in the search box, Google starts automatically completing your search for you. This happens in the background over an asynchronous connection to Google's servers, without your ever knowing what's happening behind the scenes.

In other words, your client (browser) and server (in this case Google) are autonomously working together in the background to deliver an application that produces some useful outcome, like improving your search process and results.

How is it related to Java?

IIoT Apps Need client/server side scriptingShort answer: it isn’t. At least not today.

While it may have started out loosely related to the object-oriented programming language Java, JavaScript has since morphed into its own language entirely. The language syntax, while similar in a few areas, is almost entirely different.

Another key differentiator between the two is that Java must be compiled into machine language before it can be run on the web. In contrast, JavaScript code is normally executed by a JavaScript engine in the same syntax that it’s written in.

Making changes in Java application environments requires several steps using specialized software to compile and deploy changes. Changes to JavaScript, on the other hand, can sometimes be done with just a simple text editor.

Why is it important for the IIoT?

Interoperability

JavaScript began its then humble beginnings at Netscape, that old browser that everyone knew and loved at one point or another, responsible for getting most people online at the dawn of the Internet. Microsoft also came up with their own scripting languages for web content, like VBScript and JScript for use in their Internet Explorer browser.

While JScript was basically a reverse-engineered version of JavaScript, it still didn't work exactly like JavaScript did in Netscape. Which meant the web was still full of interoperability issues. If you can remember when certain applications and sites only worked with Internet Explorer, those are the painful days we're referring to.

This also caused a headache for developers at the time, since they basically had to support two platforms for Internet content development. From roughly 1996 to 2009, the browser wars raged on between Microsoft and the open-source community.

Eventually Microsoft gave in, and today we have a standardized version of JavaScript that conforms to the ECMAScript 2015 Language Specification. And the best part about JavaScript being standardized is that every modern browser supports it. You can open Firefox, Safari, Opera, or Chrome, and the web just works.

Now that we have a documented and standardized way for browsers and clients to communicate with web servers, we can seamlessly share data across the Internet.

Widespread Adoption

Netscape_icon.svg.pngJavaScript was invented in 1995 at Netscape. And since then, adoption has grown at a substantial rate. Of the full-stack developers surveyed in 2016 by Stack Overflow, over 85% indicated they use JavaScript to develop their applications.

A lot of people in the industrial automation space may have encountered JavaScript in their work or have at least heard of it. Traditionally, JavaScript was used for front-end development in web applications. It’s what allows developers to add the rich content of the web as we know it today.

But a recent development in JavaScript is paving the way for a huge revolution in software programming: JavaScript running on a server rather than just in the client. And that’s where JavaScript comes into play with the IIoT.

Server-side scripting with JavaScript is on a path to change the world of software forever. And it’s going to touch every industry, including industrial automation. In fact, it may be the glue that binds industrial automation and process control industries with the Internet to build the Industrial Internet of Things.

Sign up for the Opto 22 blog to learn more about this new trend in our followup post on server-side JavaScript and how it will impact the IIoT.

 

Subscribe to the OptoBlog

Topics: IoT, API, REST API, IIoT

Written by Matt Newton

    Subscribe to Email Updates

    Recent Posts

    Posts by Topic

    see all