ONAP depends on or has integration capabilities with the open source software projects or standards listed on this page.

The "Category" column may contain:

  • Component: something linked with ONAP. This includes frameworks, libraries
  • Database: a separate executable
  • Notation or Language
  • Tool: something used in the development process only, such as a Utility, Compiler



Project NameONAP ProjectsDescriptionLicenseCategory

AngularJS
A complete JavaScript-based front-end web application frameworkMITFramework (Component)

Bower
Bower is a package manager for web-based frameworks, libraries, utilities and other assetsBSDUtility (Tool)

BPEL
BPEL (Business Process Execution Language) is an XML-based language that allows Web services in a service-oriented architecture (SOA) to interconnect and share data

Notation

BPMN
Business Process Model and NotationN/ANotation

Cask,
CDAP 

The Cask Data Application Platform (CDAP) is an open source project for distributed data and applications. CDAP is a layer of software running on top of Hadoop platformsApache 2.0Database Layer

Cassandra
Apache Cassandra is a distributed (NoSQL) database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. Apache 2.0Database

Docker
Containerization (along with compose)
Component

Drools
A business rules management system (BRMS) with a forward and backward chaining inference based rules engine, using an enhanced implementation of the Rete algorithm.ASL 2Component

EELFLogging

Event and Error Logging Framework

in conjunction with the ELK stack (Elasticsearch, Logstash and Kibana)

BSDComponent

Elastic Search
A search engine based on Apache Lucene, providing a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documentsApache 2.0Database

Gerrit
A web based code review and repository management for the Git version control system.Apache 2.0Tool

Git
Distributed version control systemGPLv2Tool

Grunt
A JavaScript task runner, a tool used to automatically perform frequently used tasks such as minification, compilation, unit testing, linting, etc. It uses a command-line interface to run custom tasks defined in a file (known as a Gruntfile)MIT

Tool

Hadoop
Apache Hadoop is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storageApache 2.0Database

HBase
Apache HBase is a distributed, versioned, non-relational database modeled after Google's Bigtable. HBase provides random, realtime read/write access to Big Data, especially hosting very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.Apache 2.0Database

Hibernate
Hibernate (our JPA 2.0 provider ORM)
Component

Helm
2.8.2CNCFDeployment

Java (v7 and 8)
Version 8 of the Java OpenJDK and run-timeGPLv2 with Classpath Exception. See OpenJDK Legal pagesLanguage / Platform

Jetty
Provides a web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrationsEclipseTool

JPA
Java Persistence Architecture (JSR-317) - the specification level of the Object Relation Mapping layer.
Where EclipseLink is the RI and Hibernate is the JPA provider.

Component

JUnit
A simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.Eclipse Public License 1.0Test Framework (Tool)

Kubernetes

1.8.10 Container orchestration

https://github.com/kubernetes/kubernetes/issues/57528

CNCFDeployment

Kibana
A data visualization plugin for Elasticsearch, providing visualization capabilities on top of the content indexed on an Elasticsearch clusterApache 2.0Plug-in (Component)

MariaDB
A community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPLGPLv2, LGPLv2Database

Maven
Apache Maven is a software project management and comprehension tool. Based on a project object model (POM), Maven can manage project build, reporting and documentation from a central piece of information.Apache 2.0Tool

MySQL
A popular and widely deployed relational database management system (RDBMS)GPLv2Database

MySQL Connector/J
Provides connectivity for client applications developed in the Java programming language with MySQL Connector/J, a driver that implements the Java Database Connectivity (JDBC) API.GPLv2Database

NPM
A package manager for JavascriptArtistic License 2.0Tool


OpenStack Heat
The main project in the OpenStack Orchestration program, Heat implements an orchestration engine to launch multiple composite cloud applications based on templates.Apache 2.0Component

PostgreSQL
An object-relational database management system (ORDBMS) with an emphasis on extensibility and standards compliancePostgreSQL LicenseDatabase

Spring
An application framework and inversion of control container for the Java platform Apache 2.0Framework

Swagger
An open source framework backed by a large ecosystem of tools that helps you design, build, document, and consume your RESTful APIs. The Swagger API specification has been renamed the OpenAPI Specification.

Apache 2.0


Framework

TestNG
A testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to useApache 2.0Tool

Titan Graph DB
A scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Apache 2.0Database

Tomcat
We use version 8 of this web container that implements version 3.1 of the Servlet spec JSR-340.
Web Container

TOSCA
Topology and Orchestration Specification for Cloud Applications (TOSCA), is an OASIS standard language to describe a topology of cloud based web services, their components, relationships, and the processes that manage them. The TOSCA standard includes specifications to describe processes that create or modify web services.N/A

Standard Language

ARIASO, Modeling, VNF SDKReference implementation of the TOSCA Simple Yaml Profile 1.0.Apache 2.0Component

TypeScript
A programming language developed and maintained by Microsoft, as a strict superset of JavaScript, adding optional static typing and class-based object-oriented programming to the language.Apache 2.0Language

UML
A general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system (originated by Booch, Jacobson and Rumbaugh).
Notation

woorea
openstack-client SDKApache 2.0Component

YAML
A human-readable data serialization standard language (YAML Ain't Markup Language), used to implement Heat templates.Standard/MLMarkup Language

YANG
A data modeling language for the definition of data sent over the NETCONF network configuration protocolMultiple, by source directory. See ReadMe.mdStandard Language

TBD

https://www.consul.io/

Beijing SO workaround for Azure - https://github.com/onapdemo


  • No labels

4 Comments

  1. is these frameworks are used or these frame works are related to this project , the title of the p[age is saying something different to the description 

    1. Concerning the tools and test frameworks (Gerrit, git, maven, JUnit etc), these are used as part of the ONAP tool chain.

      Concerning the Databases (I;e. MariaDB, MySQL etc), these are not part of our ONAP Source Code deliverables but some ONAP components have been integrated with them.

      Concerning frameworks (i.e. AngularJS, Drools, Woorea, etc), these were integrated and delivered as part of the ONAP Source Code.

      ONAP is also integrated with OpenJDK

  2. Catherine: nice clarification, identifying frameworks used vs frameworks integrated & delivered. Consider whether "framework used" and "framework integrated" is needed in the Category column.

    I think OpenJDK is essentially the same as Java v8, shown in the list.

    See also: Required Tools.

  3. About the Oracle JDK/OpenJDK differences - Oracle(after the SUN acquire) incorporated the JRocket JVM (was separate default JVM for WebLogic) and JVisualVM/JRMC into the JDK.  The OpenJDK version does not ship with JMC or JVisualVM (diagnostic/instrumentation tools we could use) out of the box - it also is lacking some licensed Java EE internal optimizations we don't really require.