jena-dev mailing list archives

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

    [ https://issues.apache.org/jira/browse/JENA-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16601164#comment-16601164
] 

Andy Seaborne edited comment on JENA-1597 at 9/2/18 10:37 AM:
--------------------------------------------------------------

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
running the webapp as a single jar.

{{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. {{jena-fuseki-embedded}}
has {{FusekiServer.Builder}} and is given {{DatasetGraphs}} to serve up.

 {{jena-fuseki-basic}} has a command line much like the war file version although how it works
is quite different. webapp/war initialization is not compatible with using the builder style
of {{jena-fuseki-embedded}}. {{jena-fuseki-webapp}} is quite small with 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|https://twitter.com/ewg118/status/1035262393851564033])

A possible renaming is:
{noformat}
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 
{noformat}


was (Author: andy.seaborne):
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|https://twitter.com/ewg118/status/1035262393851564033])


A possible renaming is:

{noformat}
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 
{noformat}


> Split module jena-fuseki-core into the engine and separate webapp.
> ------------------------------------------------------------------
>
>                 Key: JENA-1597
>                 URL: https://issues.apache.org/jira/browse/JENA-1597
>             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
(v7.6.3#76005)

Mime
View raw message