Skip to content

WebProtégé Next Generation Overview

Matthew Horridge edited this page Oct 5, 2021 · 28 revisions

Introduction

The newest version of WebProtege is built using a microservices architecture. We are gradually transitioning WebProtege away from being a monolithic application to one that is composed as a bunch of small services. This will make WebProtege more extensible going forward and will allow it to scale better as we receive more and more projects on webprotege.stanford.edu and as ontologies and knowledge graphs get larger and larger.

Services

The table below outlines the backend services along with the default ports that they run on

Service Name Brief Description Default Port Form
webprotege-backend represents the current backend monolith. We are gradually transitioning away from this monolithic service using the strangler vine pattern (see Fowler) 7770 Executable JAR
webprotege-authorization-service Manages user roles and capabilities 7771 Executable JAR
webprotege-ontology-processing-service Processes uploaded ontologies by parsing them, resolving owl:imports and converting them to a format that can be quickly parsed and loaded into a project and revision history 7772 Executable JAR
webprotege-snapshot-generator-service Generates snapshots of a particular project revision for download or downstream processing 7773 Executable JAR
Webprotege-gwt-api-gateway Provides a unified API for the webprotege-gwt-frontend Executable JAR
webprotege-gwt-frontend Serves the user interface and translates requests from GWT, sent via GWT-RPC, to backend requests routed via the API Gate Way service 8080 WAR
Clone this wiki locally