JGDMS Distribution

Infrastructure for providing secured micro services, that are dynamically discoverable and searchable over ipv6 networks.

License

License

Categories

Categories

Net
GroupId

GroupId

au.net.zeus.jgdms
ArtifactId

ArtifactId

dist
Last Version

Last Version

3.1.0
Release Date

Release Date

Type

Type

pom
Description

Description

JGDMS Distribution
Infrastructure for providing secured micro services, that are dynamically discoverable and searchable over ipv6 networks.
Project URL

Project URL

https://pfirmstone.github.io/JGDMS/dist/

Download dist

How to add to project

<!-- https://jarcasting.com/artifacts/au.net.zeus.jgdms/dist/ -->
<dependency>
    <groupId>au.net.zeus.jgdms</groupId>
    <artifactId>dist</artifactId>
    <version>3.1.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/au.net.zeus.jgdms/dist/
implementation 'au.net.zeus.jgdms:dist:3.1.0'
// https://jarcasting.com/artifacts/au.net.zeus.jgdms/dist/
implementation ("au.net.zeus.jgdms:dist:3.1.0")
'au.net.zeus.jgdms:dist:pom:3.1.0'
<dependency org="au.net.zeus.jgdms" name="dist" rev="3.1.0">
  <artifact name="dist" type="pom" />
</dependency>
@Grapes(
@Grab(group='au.net.zeus.jgdms', module='dist', version='3.1.0')
)
libraryDependencies += "au.net.zeus.jgdms" % "dist" % "3.1.0"
[au.net.zeus.jgdms/dist "3.1.0"]

Dependencies

compile (25)

Group / Artifact Type Version
au.net.zeus.jgdms : jgdms-discovery-providers jar 3.1.0
au.net.zeus.jgdms : service-starter jar 3.1.0
au.net.zeus.jgdms : jgdms-iiop jar 3.1.0
au.net.zeus.jgdms : jgdms-rmi-tls jar 3.1.0
au.net.zeus.jgdms : jgdms-destroy jar 3.1.0
au.net.zeus.jgdms.reggie : reggie-service jar 3.1.0
au.net.zeus.jgdms.outrigger : outrigger-snaplogstore jar 3.1.0
au.net.zeus.jgdms.mahalo : mahalo-service jar 3.1.0
au.net.zeus.jgdms.mercury : mercury-service jar 3.1.0
au.net.zeus.jgdms.norm : norm-service jar 3.1.0
au.net.zeus.jgdms.fiddler : fiddler-service jar 3.1.0
au.net.zeus.jgdms.group : group-service jar 3.1.0
au.net.zeus.jgdms : groovy-config jar 3.1.0
au.net.zeus.jgdms.phoenix-activation : phoenix jar 3.1.0
au.net.zeus.jgdms.phoenix-activation : phoenix-group jar 3.1.0
au.net.zeus.jgdms.phoenix-activation : phoenix-init jar 3.1.0
au.net.zeus.jgdms.tools : checkconfigurationfile jar 3.1.0
au.net.zeus.jgdms.tools : checkser jar 3.1.0
au.net.zeus.jgdms.tools : classdep jar 3.1.0
au.net.zeus.jgdms.tools : classserver jar 3.1.0
au.net.zeus.jgdms.tools : computedigest jar 3.1.0
au.net.zeus.jgdms.tools : computehttpmdcodebase jar 3.1.0
au.net.zeus.jgdms.tools : envcheck jar 3.1.0
au.net.zeus.jgdms.tools : jarwrapper jar 3.1.0
au.net.zeus.jgdms.tools : preferredlistgen jar 3.1.0

Project Modules

There are no modules declared in this project.

JGDMS - Java/Jini Global Distributed Micro Services.

Build instructions

From command or shell prompt:

$ mvn -f JGDMS/pom.xml package

For unit tests:

$mvn -f JGDMS/pom.xml test

After successfully testing the above, integration and regression tests can be run by:

$ cd qa

$ ant run-all

$ ant jtreg

The regression tests ($ ant run-all) take approximately 24 hours to complete.

The jtreg tests take about half an hour to complete, you'll need to manually install jtreg, refer to http://openjdk.java.net/jtreg/

This software is forked from Apache River trunk, it is designed with internet security in mind and provides:

  • ObjectInput and ObjectOutput implementations for hardening deserialization in the presence of untrusted input.
  • TLSv1.2 Encrypted endpoints for RPC communication over untrusted networks, using RSA and Ephemeral Diffie Hellman key exchange and AES with GCM, non-epheremal DH key exchanges are prohibited.
  • IPv6 Multicast Discovery using X500 distinguished names with various integrity checking hash functions provided.
  • Unicast Discovery over a TLSv1.2 connection with an SHA-224, SHA-256, SHA-384 or SHA-512 hash function to validate data sent and received at both ends prior to sending a response.
  • Dynamically granting DownloadPermission and DeSerialization permission to trusted authenticated lookup services during unicast discovery.
  • Lookup Service registrar to search services available from various arbitrary third parties.
  • Lookup method that allows authentication of third parties, using a bootstrap proxy, prior granting DownloadPermission and DeSerialization permission for service utilisation.
  • Invocation and Method constraints.

Discussion forum:

https://groups.google.com/forum/#!forum/river-secure-ipv6-discovery

Notables:

  • Worlds fastest, highly scalable, Java security policy provider.
  • RFC3986URLClassLoader is much faster than Java's built in URLClassLoader.
  • RFC3986 compliant Uri.
  • Atomic Serialization outperforms standard Java.
  • JERI (Jini Extensible Remote Invocation) outperforms java RMI.
  • Unnecessary DNS calls have been eliminated.
  • Hi performance lookup service method delays or avoids unnecessary codebase downloads.

Versions

Version
3.1.0
3.0.1-RC-07