Glossary of key terms

TERM DEFINITION
Client API A JavaScript API that interfaces with a microservice through Router messages. Some client APIs are defined for specific microservices, like the Launcher Client API is specifically for the Launcher microservice. Other client APIs may provide composite functionality out of one or more existing microservices, like the Dialog Manager Client API which builds on the Launcher Client. Depending on the microservice, some parts of the API functionality may be implemented on the client side with the centralized functionality residing on the microservices side.
Component A Finsemble component is the basic building block of the Finsemble application. A distinction is made between presentation components, which are components that provide basic UI functionality (HTML windows styled like dialogs and toolbars), and business components, which are components that manage business logic (like chat and charts). Often, business components are integrated applications. A component may have multiple active instances within the Finsemble application, each running in its own Finsemble window (e.g., multiple chart windows, multiple toolbars, etc.).
Container Software, like Electron or NW.js, that allows web technologies to run on the desktop. Finsemble uses Electron as its default container.
Finsemble Application A desktop application built with the Finsemble platform and composed of Finsemble components. Depending on context, this term might refer to a specific application instance running on a specific computer.
Finsemble Platform Also known as just Finsemble. The Finsemble platform is a cooperating set of software components and microservices used to build HTML5 desktop applications.
Finsemble Library The Finsemble Library is our set of client APIs. These APIs connect to the Finsemble microservices.
Finsemble Window A Chromium window injected with Finsemble capabilities. These Finsemble capabilities allow the window to plug into the overall Finsemble application, cooperating with other Finsemble components and microservices. A Finsemble window always contains an instance of a Finsemble component.
FSBL The JavaScript object that contains the Finsemble Library.
Hyperfocus A type of window management that minimizes all windows that aren't a part of that window's group. You can hyperfocus a group of windows by SHIFT+CLICKING on the Linker channel color or docking icon.
Logical Integration Logically integrated components can communicate with each other. Logical integration allows you to create custom workflows. Workflows may be explicit or implicit. Implicit workflows occur automatically, either because the involved applications have been designed to work together, or because they use a shared standard for communication. Explicit workflows occur specifically because Finsemble abstracts and orchestrates the data exchange between applications. Both implicit and explicit workflows can function alongside one another, giving you speed and resilience when integrating a variety of applications.
Microservice An active, independently-threaded JavaScript module that provide functionality to components or other microservices. Microservices reside in invisible windows; they can be interacted with using a corresponding client API. All communication to and from microservices is through the Router (itself a microservice). A microservice is sometimes simply called a service.
Router A microservice that is the center point for all Finsemble communication. The Router sends and receives messages between windows, enabling communication between all components and microservices through three types of messaging: Listen/Transmit, Query/Response, and SubPub.
User-Defined Components User-defined components are HTML5 web pages that users integrate into a Finsemble window. If the HTML5 web page has no special customization or knowledge of Finsemble, it only benefits from visual integration.
Visual Integration All applications launched by Finsemble share an aesthetic. This look and feel is defined by your organization through easy white labeling. Visually integrated windows can snap, dock, group, tile, and tab. Windows launched by Finsemble are persistent between sessions, reloading in the same position and with the same content.
Workspace A workspace is the highest-level grouping of windows in the Finsemble architecture. A workspace consists of an array of windows and is tracked by a unique name. When the application is reloaded, the workspace is the first thing retrieved from storage.

Further reading

A basic overview of Finsemble is given in the Architectural Overview.