Components and SOA for Industrial Web Apps – Part 1

By Mike Bradley, Sr.HyperUA, Industrial Web, Open SourceComments are off

After our announcement and demos of HyperUA™ last year, Projexsys has been asked repeatedly by prospective partners and clients whether we will provide software building blocks for Web based applications intended to consume HyperUA’s API. It seems that while many OEMs and integrators are actively piecing together the Web integration puzzle, and even though HyperUA is a real boon in that regard, they are faced with the reality that browser technologies — namely HTML, CSS and especially JavaScript — are not their forte. Two concerns have been raised time and again:

  • The complexities of JavaScript programming in rich applications, where even common use cases demand high levels of concurrency.
  • Modular development of reusable components, so that engineers can stack together previously crafted (and tested!) pieces, rather than cookbooking or one-offing even the basic pieces every time a new app is created.

Both concerns arise from limitations that can’t simply be waived away:  JavaScript has very limited concurrency primitives; and the “Web as platform”, in terms of current standards, isn’t wholly amenable to component-driven engineering. Both shortcomings will be addressed as JavaScript and HTML/CSS slowly evolve, but in the meantime a real solution involves either picking a framework which eases the heavy lifting, settling for less flexible “cookie cutter” solutions, or falling back to external plugins and applets. The latter choices are clearly non-solutions for many Industrial applications, i.e. where flexibility is critical and a “pure Web” approach is demanded by devices and users that need/want access using stock Web browsers.

In light of these inquiries, our development team began evaluating a number of popular open source frameworks — perhaps we could “bless” one and show the way with additional demos and templates? Despite the many upsides of popular frameworks like AngularJS, we found that all of them left us wanting — they didn’t give us quite the edge we would want for our partners and customers.

In the meantime, something profound was announced back in May 2013: Google unveiled Polymer, their initiative to “polyfill” several missing pieces leading up to the standardization of Web Components and their native implementation by browser vendors. As a layered set of open source (BSD licensed) JavaScript libraries, Google Polymer allows today’s Web browsers to leverage — right now — the Web technologies of tomorrow!

In the next blog post, I will explore how Projexsys is working to leverage Google Polymer as the basis of a powerful SDK for Industrial Web applications.