Eclipse Milo™ - an open source implementation of OPC UA (IEC 62541).
Clone or download

README.md

Eclipse Milo

Build status Maven Central Join the chat at https://gitter.im/eclipse/milo

Milo is an open-source implementation of OPC UA. It includes a high-performance stack (channels, serialization, data structures, security) as well as client and server SDKs built on top of the stack.

While this project has existed for some time, it is new to the Eclipse foundation and is therefore considered to be in incubation. While in incubation it will continue to use 0.x.x versions.

Stack Overflow tag: milo

Mailing list: https://dev.eclipse.org/mailman/listinfo/milo-dev

Maven

Building Milo

Using JDK 8, run mvn clean install from the project root.

Releases

Releases are published to Maven Central.

OPC UA Client SDK

<dependency>
    <groupId>org.eclipse.milo</groupId>
    <artifactId>sdk-client</artifactId>
    <version>0.2.4</version>
</dependency>

OPC UA Server SDK

<dependency>
    <groupId>org.eclipse.milo</groupId>
    <artifactId>sdk-server</artifactId>
    <version>0.2.4</version>
</dependency>

OPC UA Stack

<dependency>
    <groupId>org.eclipse.milo</groupId>
    <artifactId>stack-client</artifactId>
    <version>0.2.4</version>
</dependency>
<dependency>
    <groupId>org.eclipse.milo</groupId>
    <artifactId>stack-server</artifactId>
    <version>0.2.4</version>
</dependency>

If you want to reference a SNAPSHOT release a reference to the Sonatype snapshot repository must be added to your pom file:

<repository>
    <id>oss-sonatype</id>
    <name>oss-sonatype</name>
    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>

High Level Roadmap

Version 0.3

Stack

  • HTTPS transport

Server

  • Events
  • Instantiation of Complex Object and Variable instances (NodeFactory)

Version 0.4

Server

  • Diagnostic Nodes

Version 1.0

  • Auditing Support?
  • ???

Version 2.0

General

  • Java 9 + Modularization

Stack

  • UA 1.04

Client

  • UA 1.04

Server

  • UA 1.04

Future

  • Javascript/NodeJS Bindings for GraalVM?
  • Python Bindings for GraalVM?
  • History "Connectors"?