jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Seaborne (JIRA)" <>
Subject [jira] [Commented] (JENA-1597) Split module jena-fuseki-core into the engine and separate webapp.
Date Sun, 02 Sep 2018 10:17:00 GMT


Andy Seaborne commented on JENA-1597:

The UI is in {{jena-fuseki-webapp}} which is the input to both {{jena-fuseki-server}} (standalone
full server) and {{jena-fuseki-war}}, war file version. The standalone full server is Jetty
runing the webapp, all bundled together.

{{jena-fuseki-core}} includes the registries for which datasets are being served; this is
shared with the embedded version.

{{jena-fuseki-webapp}} is the set up code for the war initialization and {{FusekiServer.Builder}}
in {{jena-fuseki-basic}} for {{jena-fuseki-embedded}}. {{jena-fuseki-embedded}} does not have
a UI. It is given {{DatasetGraphs}} to serve up.

webapp/war initialization is not compatible with using the builder style of {{jena-fuseki-embedded}}
but the size of {{jena-fuseki-webapp}} is the UI and actions specific to the UI, and {{jena-fuseki-embedded}}
is just {{FusekiServer}} and {{Builder}}. All the service execution work is in {{jena-fuseki-core}}.


I don't like the name "jena-fuseki-server" in its current role with the different versions
of Fuseki, nor the label "embedded". Going forward, I can imagine that the non-UI server is
the one to use in enterprise and cloud/container deployments where exposing admin isn't relevant
and configuration/integration with the environment happens. e.g. The access control JENA-1594
only works with the embedded/basic server.
I think it would be better for the basic server to optionally have some query/upload UI -
with nothing that is connected to on-disk configuration and state.

WAR files are still used ([twitter/2018-Aug|])

A possible renaming is:

jena-fuseki-server -> jena-fuseki-fulljar
jena-fuseki-core -> jena-fuseki-engine (kernel?)

jena-fuseki-embedded -> jena-fuseki-core (or engine?)
jena-fuseki-basic -> jena-fuseki-server 

> Split module jena-fuseki-core into the engine and separate webapp.
> ------------------------------------------------------------------
>                 Key: JENA-1597
>                 URL:
>             Project: Apache Jena
>          Issue Type: Improvement
>          Components: Fuseki
>    Affects Versions: Jena 3.8.0
>            Reporter: Andy Seaborne
>            Assignee: Andy Seaborne
>            Priority: Major
> The module jena-fuseki-core has both the core of Fuseki (data registries, service servlets,
the servlet filter) and the webapp code needed for the full server with UI.
> The embedded Fuseki does not need the webapp.
> Separating the two aspects into separate modules is cleaner and avoids the risk of webapp
assumptions leaking into the non-webapp embedded server.
> The key difference is that the embedded/base server makes no assumptions about disk,
it is given datasets to manage, where as the webapp full/UI server has an on-disk configuration
and database area.

This message was sent by Atlassian JIRA

View raw message