Back to top
Grahpical Language Server Platform (GLSP)

Diagram editors in the web/cloud with GLSP!

Features
Contact
Support

The Eclipse Graphical Language Server Platform

GLSP is an extensible open source framework to build custom diagram editors in the web/cloud. These editors can be deployed stand-alone or integrated into a web-based IDE such as Eclipse Theia or VS Code. GLSP defines a language server protocol (LSP) for diagrams and integrates well with your existing tool chain and business logic.

GLSP Overview

Features

Web-based Diagram Editors

Web-based Diagram Editors

GLSP provides the perfect basis for the efficient development of web-based diagram editors including edit functionality, layouting, shapes, palettes and everything else you expect from a powerful diagram editor in the web. The SVG/Sprotty based rendering provides a fast and scalable rendering experience out of the box, which is styleable via CSS.

Flexible and extensible

Flexible and extensible

GLSP enables a clear separation between a diagram client and a GLSP server which communicates using the defined protocol. This flexible approach provides a clear encapsulation of your domain-specific diagram logic on the server from the rendering part on the client. The diagram client is highly customizable and extensible to add custom shapes or editing features.

Integration and Migration

Integration and Migration

The client is based on modern web technologies and can be integrated in any web page as well as into web IDEs such as Eclipse Theia or VS Code. The server is language agnostic and can be integrated with any domain-specific logic, but more importantly with your existing modeling tool to enable a clean and efficient migration path from the desktop to the web.

Components

Diagram client

Diagram client

GLSP provides a ready-to-use diagram client, which is responsible for rendering domain-specific diagrams. It is implemented using HTML5, Typescript, Sprotty and SVG. The generic GLSP diagram client can be connected to any domain-specific GLSP server via the defined protocol to support a specific diagram type. Furthermore, the diagram client is easily customizable and extensible by domain-specific features.

Protocol

Protocol

Following the successful pattern provided by the language server protocol (LSP) for textual languages, GLSP provides a defined protocol for the communication between the GLSP client and the server. In this modular architecture, server and client are well encapsulated and can be developed in an independant way. This allows mixing in the ideal technologies on both sides and reusing existing clients and server.

Graphical Language Server

Graphical Language Server

Enabled by the flexible protocol-based architecture, a domain-specific GLSP server can be implemented in any preferred technology. Therefore, you can easily integrate a GLSP server into an existing environment and reuse the domain-specific business and diagram logic. GLSP provides a frame for the implementation of GLSP servers using Java, as well as integrations with EMF and other existing modeling technologies.