My company is starting up a project where the goal is to develop an new industrial type product.

This product will live in a isolated but networked environment. It will not be connected to the web.

The system shall take input from a number of sensors, process those data and present measured values in multiple displays that are physically distributed.

I am thinking that the system will have a central processing unit/computer with several display/control terminals connected by LAN.

The display units shall also take control input from operators.

My initial idea is to implement a MVC design, and to keep the display / control unit as light weight as possible. Each display unit may be physically identical but could have different roles, GUI and behavior.

At this stage I am quite open with respect to platform and technology but would be grateful to get some suggestions and recommendations.

One of my questions would be if I could base my design on web type technology, say something like ASP.NET MVC or is that really not suited for a closed industrial environment.

  • 1
    Are you talking about delivering software to be installed on a conventional computer server, or are you talking about selling a closed hardware device with embedded software? – Basil Bourque Jan 4 '18 at 17:32
  • Welcome to Software Recommendations! Please note that this site is about recommending softwaretechnologies are much too broad here and thus are considered off-topic. For details, please take a look at Are questions about software technologies acceptable? – Izzy Jan 4 '18 at 17:33
  • But, if you reword it, then this very interesting question would be opened again and might get some answers. Btw, do you need a centralized database? – Mawg says reinstate Monica Nov 14 '18 at 15:18

If delivering server software to be installed on conventional sever computer hardware, being isolated seems like a non-issue to me. Edit your Question to elaborate if I have missed some important aspect.


Vaadin is a framework for building the user interface for business-oriented web apps. Vaadin Framework is implemented on top of the fast and reliable Java Servlet technology, to be run on any of dozens of Web container implementations.

Vaadin web apps are written entirely in Java, executing at runtime on the server side in Java, but automatically rendering your UI in any modern Web browser using standard web technologies (HTML, CSS, JavaScript). You need not know about programming HTML, CSS, etc., as Vaadin handles all that under the covers, so development is much more rapid. You just say you want a button, a field, and a label arranged in a layout, and Vaadin handles the rest.

Vaadin provides for Push technology to automatically update the display on the client web browsers without user’s interaction.

The biggest catch is that a Servlet environment is highly-threaded. So you must learn about concurrent programming to resolve conflicts over shared resources. I highly recommend the book by Brian Goetz.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.