SCADA is a software which allows to read current and historical data and events from the various devices types, to process the obtained data, to archive and save them in various DataBase, and also to display their for operator on symbolic circuit, trends, indicators and other graphic elements informing about technological process (HMI). The better the communication mechanism with drivers of various manufacturers is realised, the more universal is such a system.
Only few SCADA-packages support other than Windows operational systems. Basically, it is real time multitask OS Linux and QNX. The main reason of the choice of these OS is first of all the open source software (OSS).
For device communication in general, DCOM based OPC is the best choise, because you have the possibility to use modern technologies and new technology standart like OPC-UA and others.
In the Linux case, such rigid standards of communications as OPC or DDE do not exist, and the developers use their mechanisms of connection devices drivers, kernel and visualisation interface. You can read more detailed about alternatives OPC under Linux here.
Java is great for this purposes, because it works so well almost on any platform. Java Web Start in particular is awesome for launching applications, specifically SCADA, without client side instal, but Microsoft do not support them and Java based applications are still very slow. Another problems with both Java and .Net is that the applications are sometimes sensitive to the version of the VM you have installed. But in Windows you may have several versions of VM for launch of different .Net applications require last framework versions. However the most of HMI/SCADA open source projects for acquisition and controls are written in C.
In the industrial automation the percent of such installations is minimal, because the market is small enough, but densely occupied of giants who during many years have been installing own software and devices on manufactures. As a result the customers cautiously think about cheap or free solutions (the risk to expose to threat mullion-strong manufacture is very great), but these projects will certainly find their own customers.
In this case it is not enough to develop a similar product, it is necessary also to make several installations and successful introductions that the convincing portfolio should help the manufacturer to buy this projects.
See all SCADA for Linux on my new site SCADA for Linux
Because Linux does not have COM/DCOM, than if you wish to access OPC data with a client on a LINUX system then you must do one of the following:
1) Build an XML/DA client and purchase a XML/DA to COM gateway product
2) Build Java client with a Java COM bridge product
3) License a DCOM implementation (some products exist)
4) Build your own protocol to communicate with an intermediary on a Windows machine
5) Develop a UA client that uses the UA-COM wrappers (c)Randy