Webapp for oskari-server
oskari-map.war in sample-server-extension.
It handles most of the server side functionality alone using GeoServer for user generated content (myplaces, userlayers, analysis). The webapp is extensible and can be compiled from oskari-server components and built on them to create your own geoportal/web mapping server.
The backend is layered as services, controls, interfaces (though only
webapp-map uses this extensively at the moment).
Service modules should be common libraries usable in any application. The actual business logic for Oskari operations should be in these modules.
service-basehas some common helpers and domain classes which are used throughout Oskari backend.
service-permissionis a generic authorization lib for deciding who gets to see/do what
service-searchis a generic search lib that can be extended by adding and registering search channels
service-maphas most (maybe a bit too much) of the business logic for servicing the Oskari functionalities
service-controldefines the control/routing structures/interfaces for control-layer to build upon.
shared-test-resourceshas some common helpers/templates to help testing
Control modules build on top of the service layer.
control-baseis the basis for all control-modules and has most of the basic AJAX handlers needed by the Oskari frontend.
control-basecontains some very specific functionalities that should be separated into separate control-extensions (for example analysis and thematic maps support)
control-myplaceshas AJAX funtionality related to myplaces functionality.
control-examplehas example implementations for AJAX functionalities required by Oskari but usually overridden by platform specific functionalities such as user and content management.
content-resourceshas tools, templates and scripts for populating and upgrading the database
- Handles AJAX requests made by Oskari frontend
- Parses request parameters for input values to be used on service invocations (ActionParameters is not )
- calls one or more services to do business logic
- format a response based on service response
The interface-modules build on top of the control-modules. Basically an HTTP interface with reference implementations for:
- HTTP Servlet:
- Handling user sessions
- Generating an ActionParameters object based on incoming request abstracting/normalizing the request for control layer
- Forwarding the request to control layer
- Oskari frontend
Application servers - Oskari-map
Case ELF (front-servlet-postgresql)
All in one:
- Proxy: Nginx
- oskari-map: Jetty
All in one:
- Proxy: Nginx
- Oskari-map + Geoserver
- Oskari frontend with custom modifications
- Custom backend with Scala
Last modified: Mon Nov 06 2023 17:46:05 GMT+0200 (Eastern European Standard Time)