= EDDS MMI client

EDDS MMI (Main Machine Interface) is a Java client application to connect to EDDS server,
that offers the same functionnalities thant the WEB GUI, but can be faster to use.

You may download MMI runtimes and install in one of the computers allowed to connect to EDDS servers.

== Download EDDS MMI runtimes

Download the MMI Runtimes from :

https://mmaasweb01.esoc.ops.esa.int:8443/edds/index.jsp

Choose .zip file for Windows, Linux or MacOS.

Then extract the .zip content in a given directory.

It will create a directory called EDDS in the directory where you extracted the .zip.


== Setting EDDS SSL certificates

In order to connect to EDDS server, you may first create a file truststore.ts in the EDDS directory.

=== Get EDDS primary server certificate

To display certificates from EDDS Primary server, enter the command:

----
$ open_ssl s_client -showcerts -connect mmaasweb01.esoc.ops.esa.int:8443
----

Open a text editor and copy/paste the first certificate in a text file like EDDS.primary.cert

Copy the certificate including lines :

----
-----BEGIN CERTIFICATE-----
MIIHvDCCBqSgAwIBAgIRANuqkh/saSaM1FRzVsppD9UwDQYJKoZIhvcNAQELBQAw
gZUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
etc...
-----END CERTIFICATE-------
----

=== Get EDDS secondary server certificate

Same procedure for EDDS secondary server.

----
$ open_ssl s_client -showcerts -connect mmaasweb02.esoc.ops.esa.int:8443
----

Copy/paste the first certificate content in a text file like EDDS.secondary.cert

=== Generate truststore.ts

The file truststore.ts will contain the certificates for EDDS servers

Add the 2 EDDS servers certificates to truststore.ts
----
$ keytool -keystore truststore.ts -import -alias mmaasweb01 -file EDDS.primary.cert
$ keytool -keystore truststore.ts -import -alias mmaasweb02 -file EDDS.secondary.cert
----

When asked for a password, gives : tspassw

== Configuration

Update the configuration file : EDDS/Edds.ini

You must set/update the following entries:

* EDDS_HOME +
Local directory, base of EDDS files you will manage

* edds.server.endpoint.url +
Set to URL of primary or secondary EDDS server

* javax.net.ssl.trustStore +
Point to the file previously created

* javax.net.ssl.trustStorePassword +
Set to tspasswd (or the password you give when creating the truststore.ts file)

* http.proxy[Host/Port/User/Password] +
If you are using an http proxy for outgoing connection (not tested)

=== Example of Edds.ini
----
--startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140603-1326
-clearPersistedState
-vmargs
-Duser.country=GB
-Duser.language=en
-Xms258M
-Xmx1024M
-DEDDS_HOME=//home/solar/MMI/
-Dedds.server.endpoint.url=https://mmaasweb01.esoc.ops.esa.int:8443/edds/EddsService?wsdl
-Dstatus_view_start_time_offset=-P7D
-Dstatus_view_end_time_offset=P7D
-Dhttp.proxyHost=
-Dhttp.proxyPort=
-Dhttp.proxyUser=
-Dhttp.proxyPassword=
-Dlimit=5000
-Djavax.net.ssl.trustStore=/home/solar/MMI/EDDS/truststore.ts
-Djavax.net.ssl.trustStorePassword=tspassw
----