Version 0.2 - 10.11.2021/FB

a. Repository Kalamar-Plug-WformsAndGlemm contains 2 main projects:

 - GlemmServices (which returns lists of wordforms for a lemma request)
 - WformServices (which rewrites inside a KoralQuery all lemma Searches by
                  a wordform list obtained from the GlemmServices).

and several other projects which compile libraries for the Services described above.

b. GlemmServices

The GlemmServices are a Service running in the background of the WformServices. It uses
a Derby Database to store and retrieve the wordforms for a particular lemma.

The GlemmServices'status (activ or not) may also the requested. 

c. The WformServices

If the Glemm-Plugin is active, a Korall-Query may be sent to the WformServices, where
each lemma query will be rewritten (currently) as a list of corresponding word forms.

The WformServices contain the endpoint for serving the plugin.html on a plugin request.

The WformServices'status (activ or not) may also the requested. 
