Home

Awesome

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

Welcome to Apache Edgent!

Build Status

Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Apache Edgent is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device.

Please join us by subscribing to the developer mailing list dev at edgent.incubator.apache.org. To subscribe, send an email to dev-subscribe at edgent.incubator.apache.org.

We want to build a community around Edgent for analytics at the edge, so welcome contributions to any aspect of Edgent including:

Please Get Involved!

Edgent is released under the Apache License Version 2.0

Edgent

Devices and sensors are everywhere. And more are coming online every day. You need a way to analyze all of the data coming from your devices, but it can be expensive to transmit all of the data from a sensor to your central analytics engine.

Edgent is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device. When you analyze on the edge, you can:

An Edgent application uses analytics to determine when data needs to be sent to a back-end system for further analysis, action, or storage. For example, you can use Edgent to determine whether a system is running outside of normal parameters, such as an engine that is running too hot.

If the system is running normally, you don’t need to send this data to your back-end system; it’s an added cost and an additional load on your system to process and store. However, if Edgent detects an issue, you can transmit that data to your back-end system to determine why the issue is occurring or how to resolve the issue.

Edgent enables you to shift from a continuous flow of trivial data to an intermittent trickle of meaningful data. This is especially important when the cost of communication is high, such as when using a cellular network to transmit data, or when bandwidth is limited.

The following use cases describe the primary situations in which you would use Edgent:

Edge devices and back-end systems

You can send data from an Edgent application to your back-end system when you need to perform analysis that cannot be performed on the edge device, such as:

Edgent communicates with your back-end systems through the following message hubs:

Your back-end systems can also use analytics to interact with and control edge devices. For example:

Runtime environments

Edgent has a language binding for Java. See JAVA SUPPORT for information about the supported Java environments.

Getting Started

See the Edgent website for more information on all aspects of Edgent including Getting Started.

For details about the Edgent sources and contributing to Edgent runtime development see DEVELOPMENT.md

Renamed from Apache Quarks

Apache Quarks was renamed to Apache Edgent.

See the [RELEASE_NOTES](RELEASE_NOTES] for change information if you are converting from "Apache Quarks".