Hi. You're right about OPC but in Industry there are many closed or commercial solutions. With OPC we can use many protocols with the same OPC server ( Modbus, Profibus, Device Net, MPI, PPI, Unitelway, Control Net, .....).
There is a project in this page:
http://openscada.org
The project is called Utgard, and it's a pure Java OPC client, and the better thing, it's Open Source.
Best regards.