====== Requirements ====== To provide real-time communication services, the ContextNet's middleware communication layer, **S**calable **D**ata **D**istribution **L**ayer (SDDL), uses the [[wp> Data_distribution_service|Data Distribution Service (DDS)]] protocol in its core network and the [[MR-UDP]] protocol in the edges. DDS in an OMG standard for Real-Time Publish/Subscribe communication. Thus, usage of ContextNet requires the installation of a DDS implementation (vendor). Currently, we support the following DDS- compliant vendors: OpenSplice DDS, RTI's Connext, and TwinOak's CoreDX. MR-UDP is an extended version of the Reliable UDP protocol and is included in the ContextNet middleware. [[installingdds|Click here]] for a guide on installing **OpenSplice** (an open source implementation of the DDS protocol). In addition, ContextNet requires a {{icon>external-link-square}} [[http://www.oracle.com/technetwork/pt/java/javase/downloads/index.html|Sun/Oracle Java 1.6+]] runtime. Optionally, you will need a Java IDE, such as [[http://www.eclipse.org/|Eclipse]] (preferred), [[https://netbeans.org/|NetBeans]] or [[https://www.jetbrains.com/idea/|IntelliJ]], however you can also use standard text editors (//e.g.//, vim, emacs). ====== Download ====== ContextNet middleware is composed of a set of components and technologies, such as [[wp> Data_distribution_service|Data Distribution Service (DDS)]], [[MR-UDP]], and [[ClientLib]]. The ContextNet middleware is distributed as a set of software modules in the form of **JAR** files. In order to develop applications based on ContextNet services, you will need to include these libraries in your application build path (Eclipse, Netbeans, etc). If preferred, instead of downloading manually the JAR files, we also provide a {{icon>external-link-square}} [[https://maven.apache.org/|Maven]] repository to include the ContextNet middleware as a dependency for your project. === Here are the two download options: === * Include ContextNet JAR file in your project build path: [[https://bitbucket.org/endler/contextnet-dependencies/raw/master/br/pucrio/inf/lac/contextnet/2.7/contextnet-2.7.jar|contextnet-2.7.jar]]. Use this version if you have **OpenSplice 6.7**. (LATEST VERSION) [[https://bitbucket.org/endler/contextnet-dependencies/raw/master/br/pucrio/inf/lac/contextnet/2.5/contextnet-2.5.jar|contextnet-2.5.jar]]. Use this version if you have **OpenSplice 6.4**. (OLD VERSION) Dependency code (put this in your ''pom.xml'' file). * ContextNet 2.7: br.pucrio.inf.lac contextnet 2.7 * ContextNet 2.5: br.pucrio.inf.lac contextnet 2.5 * Repository (put this in your ''pom.xml'' file): LAC PUC-Rio https://bitbucket.org/endler/contextnet-dependencies/raw/master/ ====== Running ====== To execute a ContextNet application, one needs to first create the gateway, which will instantiate the core infrastructure if none exists. You can create a gateway by running the ContextNet middleware jar file. The gateway receives three parameters: a public IP address, a given port number, and a DDS vendor implementation to be used. For example, for a local deployment, you can choose the loopback IP ''127.0.0.1'' as the gateway address, the default middleware port ''5500'', and ''OpenSplice'' as its DDS implementation. To do this, open a shell, and run the following line command: $ java -jar contextnet-2.7.jar 127.0.0.1 5500 OpenSplice ===== Lua Version (Beta) ===== We have ported the client part of ContextNet (ClientLib and MR-UDP) to the [[wp>Lua_(programming_language)|Lua programming language]]. The library enables Lua client applications to communicate through the SDDL middleware. Installation instructions can be found in the README file inside the zip file. {{:core-clientliblua.zip|Click here to download the Lua Clientlib library. }}