0% found this document useful (0 votes)
90 views4 pages

Fusion Architecture and Overview

The document describes Fusion, a platform built to rapidly develop application front ends, reporting, APIs, and security for existing solutions databases. Fusion creates a responsive web experience with no page reloads. This application platform has reusable components and features that can launch new initiatives quickly without significant initial development costs. The platform uses open source technologies like Angular, Node.js, Elasticsearch, and Keycloak to provide features such as authentication, datasets, search, and reporting.

Uploaded by

Owais Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views4 pages

Fusion Architecture and Overview

The document describes Fusion, a platform built to rapidly develop application front ends, reporting, APIs, and security for existing solutions databases. Fusion creates a responsive web experience with no page reloads. This application platform has reusable components and features that can launch new initiatives quickly without significant initial development costs. The platform uses open source technologies like Angular, Node.js, Elasticsearch, and Keycloak to provide features such as authentication, datasets, search, and reporting.

Uploaded by

Owais Ahmed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Fusion Architecture and Overview

Fusion was built as a platform that we could layer over our existing solutions databases to allow us to
rapidly build out the application front end, reporting, api’s, security required to provide a modern 100%
native web experience to our customers. It creates a native app-like responsive design experience on
the web with no page reloads and no extra wait time with modern clean interfaces.

This application platform has the potential to be stripped down to its core features and be re-used as a
launching pad to quickly get an initiative/MVP realized using some powerful components that have been
in development for some time. Using a platform like this has the potential to avoid significant cost
investment in those initial architecture, design and development stages of an application and allow the
focus to be on configuration and build out of the core features and pages in the application while simply
extending and augmenting gaps in the product as they come up.

Some key thoughts:

 The front end, navigation and UI are there already


 Re-usable UI components (eg: datagrids with search, sort and filter pre-integrated with datasets)
 Powerful reporting engine with dynamic visualizations, data export and exploration capabilties
 Integrated security
 Configurable dataset architecture
 Automated OpenAPI/Swagger restful services and specification
 A powerful search engine
 Easily deployed in the cloud and can be used and extended to support a SaaS platform
 Flexible and extensible
 Built on an entirely open stack* to grow and evolve services as needed without vendor restrictions
and lock in
o * Database initially proposed are SQL Server, Oracle or Postgres

Technology Stack
Core Application:

 Angular 9 (Front End Application)


o PrimeNG Components (UI elements)
o Chart.js (Reporting and visualization)
 Node.js 12.15 (Core Dataset and App Engine)
o Loopback
o NGinX
 Elastic Search (Search NoSQL Database)
 Logstash (Search Pre-Processing)
 Keycloak (Authentication and Authorization)
 OpenAPI/Swagger (API)
 Numerous other open source components

Data Store:
 Support for Postgres, Oracle and SQL Server (others can be added as needed)

Component Overview

Node Server (node.js plus others)

Logic layer and primary mechanism for API services, datasets and actions. The NodeServer provides the
following core functionality

 Authentication and Authorization services:


o Implements role based access control
o Support for fine grained access control
 Dataset Architecture:
o Datasets are basically stored database queries that the user can customize at runtime
e.g.:
 Paginate through large datasets
 Download to csv, Excel, json, xml
 Filter
 Sort
 Aggregate
o Dataset caching
o Business processes
o Support for Oracle, Postgresql and SQL Server
 Proxy System Access:
o nodeServer endpoints can be access controlled and then nodeServer can act as a safe
proxy to provide access to other systems data
o nodeServer can be extended as required – can get data from many sources and not just
databases.
 Secure Hosting of Browser Based Front End:
o Ensure that not only the restful data endpoints but also the actual UI code is only served
to Authenticated and Authorized users
 Notifications:
o nodeServer sends notifications using web sockets when a requested operation is
expected to – or takes – some time. This way, the user can continue to use the
application while their request is being fulfilled

Keycloak
This is the core component for securing the application and services and is an open source SSO server.
Integrated with NodeServer and provides the authentication pages to gain access to the application

 node.js connector
 2 factor authentication
 Single-Sign On
 Standard Protocols
o OpenID Connect, OAuth 2.0 and SAML 2.0
 Centralized Management for admins and users
 Adapters
 LDAP and Active Directory
 Social Login
 Identity Brokering
o OpenID Connect or SAML 2.0 IdPs
 High Performance
 Lightweight, fast and scalable
 Clustering
 Themes
 Extensible
 Password Policies

ElasticSearch

Lucene based search engine to allow for google like searching in the application.

 Uses logstash to connect to DB to query tables to populate search indexes and refresh in near
real time
 Configurable matching algorithm
 Support for any data point (customer,account, phone number, email, comment etc)
 Scalable architecture ( hardware efficiency )
 Search over 100 million data points under 75ms
 Ready to support over 1 billion data points-Instant results as they type ( real-time feeling )

Reporting

 Preconfigured reporting functions to allow for multiple views of data


 Exploration of data
 Static default view will call dataset and show as datagrid (table) of datagrid  (you can switch to
dynamic if you want)
 Dynamic default view will prompt for input from user for dimensions and measures and then
takes that input to rewrite the dataset (wrapper) to group by data and select specific columns
with function wrappers on them (ie sum)
 Long running reports will get handed off to a background process and notify you when the data
has been pulled together.
 Download the data to csv or excel format, export charts
 Save report and favorites

Angular Front End

Built using PrimeNG compents the front end has many features ready to go plus we have extended
features to include:

 All of the basics are there, side navigation, breadcrumbs, search, user configuration
 Easily customize CSS to style appropriately
 Reuseable component based design means build it once and use it in as many places as you can
 Extensive framework includes unit testing mechanism (in development)
 Breadcrumbs linking one page to another
 Easily add pages and forms to the application

Other Considerations
We continue to refine the product and are in the process of compartmentalizing the application into
smaller services. There will still be investment required to add services such as additional business logic,
etl capabilities, rate configurations, PDF generation or any other services but these would come out of
requirements that are more detailed. Features could easily be added as needed.

Final thought, once you lift the hood a bit the power of what is there starts to show itself and you will
quickly realize how much effort it would take to get to where this is if started from scratch. Maybe a
quick POC.

You might also like