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

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|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)

Reply via email to