Clark Dorman edited this page Feb 4, 2016 · 54 revisions


Neon is an open-source framework used to develop custom data analysis applications. It is designed to help integrate your visualizations with your data. The Neon framework can incorporate a variety of data analysis and visualization widgets in a common webtop environment to allow analysts to explore complex data sets.

What does this mean? How can Neon help my organization and my data analysts? First, let’s start with the problem.

The Problem

Analysts have the difficult task of digesting large amounts of data from sources around the world. They rely heavily on multiple data analysis and visualization widgets, often developed by different organizations. While there is no shortage of analysis widgets, developers face the challange of creating common webtop environments where disparate web tools can work and communicate together.

Ideally, such environments would allow analysts the freedom to bring in any tool and any data set they need. As data changes rapidly, this environment should allow analysts to quickly change views on their tools, in a coordinated effort, to show them the data they want, when and how they want it.

Neon provides a framework to support developers in the creation of such environments.


![Neon Framework Network Diagram](https://github.com/NextCenturyCorporation/neon/wiki/NEON Webtop Diagram-800pxW.png)

Neon is a software platform designed to help you, as a developer, to integrate your disparate visualization widgets with your data stores. Neon does not provide any user interface components. Instead, Neon shines under-the-hood by removing the pressure from developers to figure out how to make different components work together and allowing them to focus more on the fun stuff, like creating valuable data exploration applications and workflows.

The Neon framework is built on two powerful APIs:

Data Access API – Allows users to send a query to No-SQL databases using a SQL-like language. NEON does the heavy-lifting by converting the query to a format understood by the target database. For developers using NEON, this removes the need to create database-specific constructs. This API allows database queries to be specified through a JavaScript library or a RESTful endpoint. NEON supports MongoDB, ElasticSearch and Spark SQL. Check the API documentation for the neon.query.* classes for more information about data access in Neon.

Interaction API – Provides a method for inter-widget communication between disparate widgets. Using this API, widgets can coordinate actions and visualizations based on user actions. Developers can orchestrate complex, interactive visualizations using components that are completely decoupled from each other. See the API documentation for the neon.eventing.* classes for more information about inter-widget communication.

The Neon architecture is shown below. The JavaScript client library provides access to the APIs discussed above. The Neon server provides RESTful services that your application can call directly as well; to see the REST API, click here

Neon Architecture

Want to See Neon Working?

Click here. Neon helps developers create useful data exploration applications comprised of analysis and visualization widgets. The Neon Geo Temporal Dashboard is a sample analysis dashboard built upon the Neon Framework. It includes a number of geo-spatial and temporal data visualizations built as AngularJS directives that use the Neon framework to query and filter data served by MongoDB, ElasticSearch or an Apache Spark server.

Each of the widgets in the example application is independent; they do not communicate with each other directly. Instead, the power of Neon is that the widgets set filters, get data from Neon, and receive alerts that they should update their view through Neon. Code for this example is available here.

##Getting Started with Development with Neon## If you are a developer looking to get started with Neon, you can try the Quick Start and then dive into Building your First Neon Application.


Requirements - List of software that Neon uses for building and deploying.

Build Instructions - Includes instructions for building the Neon WAR file from source code and lists Neon's external dependencies.

Deploying Neon - Includes instructions for deploying the Neon application to a web server.

Building your First Neon Application - A quick tour of how to develop apps that use Neon.

Neon Geo Temporal Dashboard - A data analysis web application that deploys alongside core Neon and demonstrates how to use the Neon JavaScript libraries to explore a data set and coordinate filters amongst multiple aggregate views.

Visit the Neon Framework Website to view the APIs that Neon provides or download Neon.

For support or other questions, email the Neon team: neon-support@nextcentury.com

Copyright 2016 Next Century Corporation