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 Name||ONAP Projects||Description||License||Category|
|Bower||Bower is a package manager for web-based frameworks, libraries, utilities and other assets||BSD||Utility (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|
|BPMN||Business Process Model and Notation||N/A||Notation|
|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 platforms||Apache 2.0||Database 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.0||Database|
|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 2||Component|
Event and Error Logging Framework
in conjunction with the ELK stack (Elasticsearch, Logstash and Kibana)
|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 documents||Apache 2.0||Database|
|Gerrit||A web based code review and repository management for the Git version control system.||Apache 2.0||Tool|
|Git||Distributed version control system||GPLv2||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 storage||Apache 2.0||Database|
|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.0||Database|
|Hibernate||Hibernate (our JPA 2.0 provider ORM)||Component|
|Java (v7 and 8)||Version 8 of the Java OpenJDK and run-time||GPLv2 with Classpath Exception. See OpenJDK Legal pages||Language / Platform|
|Jetty||Provides a web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations||Eclipse||Tool|
|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.
|JUnit||A simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.||Eclipse Public License 1.0||Test Framework (Tool)|
1.8.10 Container orchestration
|Kibana||A data visualization plugin for Elasticsearch, providing visualization capabilities on top of the content indexed on an Elasticsearch cluster||Apache 2.0||Plug-in (Component)|
|MariaDB||A community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL||GPLv2, LGPLv2||Database|
|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.0||Tool|
|MySQL||A popular and widely deployed relational database management system (RDBMS)||GPLv2||Database|
|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.||GPLv2||Database|
|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.0||Component|
|PostgreSQL||An object-relational database management system (ORDBMS) with an emphasis on extensibility and standards compliance||PostgreSQL License||Database|
|Spring||An application framework and inversion of control container for the Java platform||Apache 2.0||Framework|
|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.|
|TestNG||A testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use||Apache 2.0||Tool|
|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.0||Database|
|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|
|ARIA||SO, Modeling, VNF SDK||Reference implementation of the TOSCA Simple Yaml Profile 1.0.||Apache 2.0||Component|
|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 SDK||Apache 2.0||Component|
|YAML||A human-readable data serialization standard language (YAML Ain't Markup Language), used to implement Heat templates.||Standard/ML||Markup Language|
|YANG||A data modeling language for the definition of data sent over the NETCONF network configuration protocol||Multiple, by source directory. See ReadMe.md||Standard Language|
Beijing SO workaround for Azure - https://github.com/onapdemo
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
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
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.
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.