Architecture

OpenFin is an environment that sits on top of an existing desktop operating system to provide additional functionality to web applications. Each app is web-deployed and uses a standard web app server. Apps are not hosted with OpenFin. The developer is in control of the app development process and how apps and OpenFin resources are hosted.

OpenFin's main architectural components are divided into two sections:

These components work together to launch and manage the lifecycle of an application. Below is a diagram of the lifecycle of an application from start event to launch. The information below the diagram is organized by Desktop or Cloud Process to help you better understand how all components work together to launch an application in OpenFin.

Desktop Processes

After installation when a desktop user clicks on the OpenFin desktop icon or a fin:// or fins:// link is clicked on, it invokes the OpenFin Runtime Version Manager (RVM) to complete a sequence of startup events for app launch. The RVM launches the Runtime by version or realm which is responsible loading the app URL. If the application is an external app using an OpenFin adapter, upon app launch the adapter will invoke the RVM to launch the Runtime.

Cloud Processes

Once this startup sequence is complete, the Runtime launches and begins to render the app into a window. If the app manifest declares OpenFin Services, the app will request these services and enable service functionality upon app launch.

OpenFin resources for apps can either be hosted through OpenFin Cloud or on-premise. The benefit of OpenFin Cloud is that there is no maintenance required for the customer and it ensures everyone is able to access the latest data instantly from any location without requiring VPN access. It is highly recommended to use OpenFin Cloud over on-premise hosting for OpenFin resources as OpenFin Cloud has built-in security features to protect data and meet compliance requirements.

OpenFin Cloud uses the Amazon Web Services Cloud Front Content Delivery Network (CDN) to host container-related resources for fast, distributed delivery across the globe. Apps using this resource-hosting method still host their app in their own app server. However, OpenFin resources are hosted in OpenFin Cloud to be easily retrieved by the RVM.

Resources hosted in the cloud include logs, icon assets, service configs, and licensing information. The RVM is responsible for managing these resources for the Runtime by delivering logs, fetching and caching app config icon assets and services configs, and reporting licensing and app usage.


Related topics

The Getting Started guide requires minimal work to get a sample app up and running with OpenFin. It’s a great way to test out the app cycle in realtime before creating a full dev environment. Try it out today!

Did this page help you?